diff --git a/.gitignore b/.gitignore
index c9cc0d5b020607eec9f53b5d87ac85c65f18cd0a..eff00ce6675b9eb7c0dae3c9f48ccb3dcd860134 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,17 @@
 
-Source/bin/
-Source/obj/
-Source/Svg.csproj.user
-Source/Svg.suo
+Source/**/bin/
+Source/**/obj/
+Source/**/*.csproj.user
+Source/**/*.suo
 Source/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
 Samples/SVGViewer/obj/
 Samples/SVGViewer/bin/
 Samples/SVGViewer/SVGViewer.OpenCover.Settings
-*.dll
-*.pdb
+Source/**/*.dll
+Source/**/*.pdb
+Tests/**/bin/
+Tests/**/obj/
+Tests/**/*.csproj.user
+Tests/**/*.suo
+*.trx
+Source/TestResults/
\ No newline at end of file
diff --git a/Samples/SvgExamples/Workflow.svg b/Samples/SvgExamples/Workflow.svg
deleted file mode 100644
index 0ecd70c982fc88b54cdc58bd7a2b5332838f6d14..0000000000000000000000000000000000000000
--- a/Samples/SvgExamples/Workflow.svg
+++ /dev/null
@@ -1,181 +0,0 @@
-<svg version="1.1" xmlns:user="urn:user-scripts" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:aras="http://www.aras.com" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<defs>
-<marker id="Triangle" viewBox="0 0 10 6" refX="22" refY="3" markerWidth="10" markerHeight="6" markerUnits="userSpaceOnUse" orient="auto" style="fill:#999;">
-<path d="M 0 0 L 10 3 L 0 6 z" />
-</marker>
-</defs>
-<rect style="fill:yellow" x="754" y="282" width="36" height="36" />
-<path id="path_A135EC81DDA143DC9D28767B2A41B31D" style="stroke: rgb(52%, 52%, 52%); fill:none; stroke-width: 2px; marker-end: url(#Triangle);" d="M45,212 L109,212" />
-<path id="path_6FF994F1BC9F4841950F977A737DDBB8" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M109,212 L246,351" />
-<path id="path_E75FD0879CE14583AFBD46320DBCC608" style="stroke: rgb(52%, 52%, 52%); fill:none; stroke-width: 2px; marker-end: url(#Triangle);" d="M109,212 L246,212" />
-<path id="path_FA30736F915A4D328A0052667C5F4CF5" style="stroke: rgb(52%, 52%, 52%); fill:none; stroke-width: 2px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M109,212 L246,212" />
-<path id="path_98C289D25D164A979817EFAEE13CFE5F" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M246,212 L217,183 L153,183 L109,212" />
-<path id="path_72A7FAFD32E048D791AC1BEFCFCEC9D0" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M246,212 L400,212" />
-<path id="path_81970D2DC1D04D529CEE9CD6D56A2976" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M246,212 L246,351" />
-<path id="path_45C39F121DE043C9897CEA599913FF18" style="stroke: rgb(52%, 52%, 52%); fill:none; stroke-width: 2px; marker-end: url(#Triangle);" d="M246,212 L372,300 L495,300" />
-<path id="path_E45EE6187D384A9888495299E8FFA180" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M246,212 L349,258 L480,258 L527,212" />
-<path id="path_5E54C1B6B03C412690130BFD4AA11C29" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M246,212 L361,426 L771,426" />
-<path id="path_493D6CD66BCB4215B64CA95613A8C4E7" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M246,212 L324,133 L692,133" />
-<path id="path_2A4C9573761F4D4082D76D3086C06D14" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M246,212 L351,69" />
-<path id="path_F4ADA3A633DA4A2BAC0D1DF37C9E974A" style="stroke: rgb(52%, 52%, 52%); fill:none; stroke-width: 2px; marker-end: url(#Triangle);" d="M495,300 L772,300" />
-<path id="path_BD335878BCD949EDA5BD676D82EE95CD" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M495,300 L461,332 L379,332 L246,212" />
-<path id="path_31A2E455215649B0955DF48098DBAFB5" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M772,300 L876,300 L969,212" />
-<path id="path_07E281627B9B4E6C88C4F416D00FB4D5" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M772,300 L719,353 L610,353" />
-<path id="path_16CEC81123CE4437A34A09B2570A513D" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M772,300 L725,392 L396,392 L246,212" />
-<path id="path_1D02F0DB7C444FD3A70B9DC2F0D76C1C" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M772,300 L725,392 L396,392 L246,212" />
-<path id="path_002289179A4B46EBA27B28323D0A54C7" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M246,212 L217,183 L153,183 L109,212" />
-<path id="path_E5E1BAFEC28A4C06BDB27AA52F4FEC6D" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M246,212 L400,212" />
-<path id="path_B786DE8A93F34F159B75B7A52D90CE97" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M246,212 L246,351" />
-<path id="path_8B5C82191A9D4D2FAD9B987A487C3BA7" style="stroke: rgb(52%, 52%, 52%); fill:none; stroke-width: 2px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M246,212 L372,300 L495,300" />
-<path id="path_107E0DAA2EB8485586C479087C1AA226" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M246,212 L349,258 L480,258 L527,212" />
-<path id="path_AD1BC5A02C8D477B8169019CAA282F99" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M246,212 L361,426 L771,426" />
-<path id="path_5B6980E8BA6D4D4790BADD421037602A" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M246,212 L324,133 L692,133" />
-<path id="path_E088B696363F4A6783322F24B4FBAAFB" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M246,212 L351,69" />
-<path id="path_4DA4A67EFEF2443FA0A4FE24FA477F11" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M351,69 L448,69 L692,133" />
-<path id="path_40867780959E496AA36A6555CD3E33D2" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M351,69 L239,69 L109,212" />
-<path id="path_89E0FF64C5734D5CBE0DEF15FCB2FC78" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M400,212 L527,212" />
-<path id="path_40ABF0BE79D845A9835EEA8946DC5E13" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M400,212 L368,181 L293,181 L246,212" />
-<path id="path_77067CF20C6941088FDC9876FD24F7A6" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);&#xA;                opacity: 0;&#xA;              " d="M400,212 L368,181 L293,181 L246,212" />
-<path id="path_C82DC92658654B059AB8CBA528667ADA" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M500,25 L203,25 L109,212" />
-<path id="path_5ABCCBB56C4046859522ED2C9ECD33AD" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M500,25 L692,133" />
-<path id="path_B91D6F28E4804A498EFBD5A3D6AF250B" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M527,212 L693,212" />
-<path id="path_7F9A959CF641418CBCD4873251B812B3" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M610,353 L548,353 L495,300" />
-<path id="path_F284CCEE2AFB4B3BAC3554145B3FD262" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M610,353 L663,300 L772,300" />
-<path id="path_2E0294E13A684EBD99F1DB80EDDB9840" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M692,133 L583,25 L500,25" />
-<path id="path_A9F0267F5B9744508B9437FE4B0200C4" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M692,133 L749,133 L815,212" />
-<path id="path_4CBFE74449654265806D8E904B6EE5BE" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M693,212 L660,180 L560,180 L527,212" />
-<path id="path_D87477BFC3BF4F909A04B05F7874846E" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M693,212 L815,212" />
-<path id="path_461D5FEE97F646DC8CD142A866D0355F" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M613,469 L202,469 L109,212" />
-<path id="path_5AE3619D67904B23B1E93CBD7D1E20D7" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M613,469 L771,426" />
-<path id="path_DC4157E0DAE84A46BB953E4BF4510ECE" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M815,212 L969,212" />
-<path id="path_330EB66D10C646ADB34B33613E516A4E" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M771,426 L1076,426 L1231,212" />
-<path id="path_13D8206671ED47AC920091F58EA1687F" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M771,426 L729,469 L613,469" />
-<path id="path_A140353DB1E34B67A51D0CD75D23CBE2" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M771,426 L809,388 L910,388 L969,212" />
-<path id="path_6670A0725101421090E5F4CA7624571A" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M969,212 L1132,212" />
-<path id="path_FB713A1FF8F9424B8612F8088E7B1F11" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M1132,212 L1231,212" />
-<path id="path_9EB82A675F344E598ED07614C26A46EA" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M1132,212 L1098,178 L1004,178 L969,212" />
-<path id="path_768FCB23D27C4749B32411A7463D54B1" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M1231,212 L1356,212" />
-<path id="path_1BF51A8E49774FDD936814D21809AEC2" style="stroke: rgb(60%, 60%, 60%); fill:none; stroke-width: 1px; marker-end: url(#Triangle);" d="M1231,212 L1167,267 L1025,267 L969,212" />
-<ellipse style="fill:white" ry="12" rx="12" cx="45" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_7FCC999FEE5248CDB90824E00D1029BB" height="16" width="16" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/16x16/16x16_arrow_right.gif" x="37" y="204" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_7FCC999FEE5248CDB90824E00D1029BB" x="45" y="238">
-<desc>Closed</desc>Start</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="109" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_0462DCDBBC314295BD899B481F911C81" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="99" y="201" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_0462DCDBBC314295BD899B481F911C81" x="109" y="238">
-<desc>Closed</desc>Submit ECO</text>
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;&#xA;              opacity: 0;&#xA;            " id="node_label_1F530B42A24F4155B06747CB8F52A8FE" x="246" y="238">
-<desc>Closed</desc>MDM Review</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="495" cy="300" />
-<image preserveAspectRatio="xMidYMid" id="node_img_946BCC8A04FA42EE8917F02183DBD576" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="485" y="289" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_946BCC8A04FA42EE8917F02183DBD576" x="495" y="326">
-<desc>Closed</desc>Need Info</text>
-<ellipse style="fill:yellow" ry="12" rx="12" cx="772" cy="300" />
-<image preserveAspectRatio="xMidYMid" id="node_img_A394CFFCEF61475ABF6F43D4AAA4F278" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="762" y="289" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_A394CFFCEF61475ABF6F43D4AAA4F278" x="772" y="326">
-<desc>Active</desc>ECO Plan Approval</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="246" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_75B56693C81D461389AA15D5C8017CBF" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="236" y="201" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_75B56693C81D461389AA15D5C8017CBF" x="246" y="238">
-<desc>Pending</desc>MDM Review</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="351" cy="69" />
-<image preserveAspectRatio="xMidYMid" id="node_img_73D771D6831A4F5EA82A766392AB091E" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="341" y="58" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_73D771D6831A4F5EA82A766392AB091E" x="351" y="95">
-<desc>Pending</desc>Print/Drawing Update</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="400" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_8AF6597A38BB41F288E4EE17F20A8B29" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="390" y="201" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_8AF6597A38BB41F288E4EE17F20A8B29" x="400" y="238">
-<desc>Pending</desc>ECO Pre-Approval</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="500" cy="25" />
-<image preserveAspectRatio="xMidYMid" id="node_img_8476C8E170DC47EA9F05AE2164CABD96" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="490" y="14" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_8476C8E170DC47EA9F05AE2164CABD96" x="500" y="51">
-<desc>Pending</desc>Interim Workflow Resolution</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="527" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_4517B7B7598A44A1969F30290153FA64" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="517" y="201" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_4517B7B7598A44A1969F30290153FA64" x="527" y="238">
-<desc>Pending</desc>Draft Changes</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="610" cy="353" />
-<image preserveAspectRatio="xMidYMid" id="node_img_7379A1A219DE468FB61D3F1E84C1B042" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="600" y="342" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_7379A1A219DE468FB61D3F1E84C1B042" x="610" y="379">
-<desc>Pending</desc>Approval Resolution</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="692" cy="133" />
-<image preserveAspectRatio="xMidYMid" id="node_img_18F401FCAACC4E8DAC4014EEA576DE51" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="682" y="122" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_18F401FCAACC4E8DAC4014EEA576DE51" x="692" y="159">
-<desc>Pending</desc>Change Review</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="693" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_014C7DD975FA4E7EB354F9B81E71CB18" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="683" y="201" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_014C7DD975FA4E7EB354F9B81E71CB18" x="693" y="238">
-<desc>Pending</desc>Change Review</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="613" cy="469" />
-<image preserveAspectRatio="xMidYMid" id="node_img_CDE9E46E164645538136D5D120D2593C" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="603" y="458" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_CDE9E46E164645538136D5D120D2593C" x="613" y="495">
-<desc>Pending</desc>Pre-Prod Approval Resolution</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="815" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_83542AA107564FAABD77DF5C61FBA354" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="805" y="201" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_83542AA107564FAABD77DF5C61FBA354" x="815" y="238">
-<desc>Pending</desc>Impl. Plan Review</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="771" cy="426" />
-<image preserveAspectRatio="xMidYMid" id="node_img_64D911B1C1AD41208373D9AF319AB38D" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="761" y="415" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_64D911B1C1AD41208373D9AF319AB38D" x="771" y="452">
-<desc>Pending</desc>Pre-Production Approval</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="969" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_43578966BE674CC9A7C0D54FE88E0C91" height="16" width="16" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/customer/16x16 Icons 1/icon_clock.gif" x="961" y="204" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_43578966BE674CC9A7C0D54FE88E0C91" x="969" y="238">
-<desc>Pending</desc>Effectivity Wait</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="1132" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_D21E5FAE6F784BB19EEE40C334473CBB" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="1122" y="201" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_D21E5FAE6F784BB19EEE40C334473CBB" x="1132" y="238">
-<desc>Pending</desc>Impl. Approval</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="1231" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_DB1C8B95B26C4069ACC03F0E3D42C249" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="1221" y="201" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_DB1C8B95B26C4069ACC03F0E3D42C249" x="1231" y="238">
-<desc>Pending</desc>Impl. Approved</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="246" cy="351" />
-<image preserveAspectRatio="xMidYMid" id="node_img_67A00DAAD58D4115A63B45049D2B3986" height="22" width="20" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/Icons/20x20/20x22_gray_ball.gif" x="236" y="340" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_67A00DAAD58D4115A63B45049D2B3986" x="246" y="377">
-<desc>Pending</desc>Cancel</text>
-<ellipse style="fill:white" ry="12" rx="12" cx="1356" cy="212" />
-<image preserveAspectRatio="xMidYMid" id="node_img_CD08C79BB931412A8C31745DF6A4910A" height="16" width="16" xlink:href="http://ct.gentex.com/gentexinnovator/Client/images/customer/16x16 Icons 1/page_favourites.gif" x="1348" y="204" />
-<text text-anchor="middle" style="font-family:Verdana;font-size:8pt;fill:Blue;" id="node_label_CD08C79BB931412A8C31745DF6A4910A" x="1356" y="238">
-<desc>Pending</desc>Close Change</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_A135EC81DDA143DC9D28767B2A41B31D" x="51" y="208">Go</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_6FF994F1BC9F4841950F977A737DDBB8" x="135" y="278">Cancel ECO</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_E75FD0879CE14583AFBD46320DBCC608" x="132" y="209">Submit</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_98C289D25D164A979817EFAEE13CFE5F" x="162" y="193">Unsubmit</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_72A7FAFD32E048D791AC1BEFCFCEC9D0" x="268" y="209">iLink - Pre-Approval</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_81970D2DC1D04D529CEE9CD6D56A2976" x="204" y="285">Cancel ECO</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_45C39F121DE043C9897CEA599913FF18" x="368" y="296">Legacy Workflow</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_E45EE6187D384A9888495299E8FFA180" x="350" y="255">iLink - Pre-Approved</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_5E54C1B6B03C412690130BFD4AA11C29" x="363" y="422">Pre-Production Workflow</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_493D6CD66BCB4215B64CA95613A8C4E7" x="324" y="143">Interim Workflow (Approval)</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_2A4C9573761F4D4082D76D3086C06D14" x="226" y="113">Interim Workflow (Prints)</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_F4ADA3A633DA4A2BAC0D1DF37C9E974A" x="508" y="296">Added Info</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_BD335878BCD949EDA5BD676D82EE95CD" x="403" y="341">Re-Review</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_31A2E455215649B0955DF48098DBAFB5" x="783" y="297">Approve ECO</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_07E281627B9B4E6C88C4F416D00FB4D5" x="634" y="362">Need more info</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_16CEC81123CE4437A34A09B2570A513D" x="757" y="342">Reject</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_4DA4A67EFEF2443FA0A4FE24FA477F11" x="358" y="65">Prints Updated</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_40867780959E496AA36A6555CD3E33D2" x="282" y="66">Unsubmit</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_89E0FF64C5734D5CBE0DEF15FCB2FC78" x="414" y="208">Approve</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_40ABF0BE79D845A9835EEA8946DC5E13" x="333" y="190">Reject</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_C82DC92658654B059AB8CBA528667ADA" x="429" y="21">Unsubmit</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_5ABCCBB56C4046859522ED2C9ECD33AD" x="513" y="68">Redo Approval</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_B91D6F28E4804A498EFBD5A3D6AF250B" x="543" y="208">Submit for Review</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_7F9A959CF641418CBCD4873251B812B3" x="496" y="364">Repeat Need Info</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_F284CCEE2AFB4B3BAC3554145B3FD262" x="601" y="323">Repeat Approval</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_2E0294E13A684EBD99F1DB80EDDB9840" x="664" y="104">Reject</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_A9F0267F5B9744508B9437FE4B0200C4" x="702" y="128">Approve</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_4CBFE74449654265806D8E904B6EE5BE" x="619" y="190">Rework</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_D87477BFC3BF4F909A04B05F7874846E" x="706" y="207">Approve</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_461D5FEE97F646DC8CD142A866D0355F" x="544" y="479">Unsubmit</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_5AE3619D67904B23B1E93CBD7D1E20D7" x="608" y="445">Redo Approval</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_DC4157E0DAE84A46BB953E4BF4510ECE" x="825" y="207">Approve Plan</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_330EB66D10C646ADB34B33613E516A4E" x="788" y="421">Approve &amp; Implement</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_13D8206671ED47AC920091F58EA1687F" x="741" y="467">Reject ECO</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_A140353DB1E34B67A51D0CD75D23CBE2" x="810" y="384">Approve &amp; Wait</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_6670A0725101421090E5F4CA7624571A" x="989" y="209">Req. Impl. Approval</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_FB713A1FF8F9424B8612F8088E7B1F11" x="1144" y="208">Ready</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_9EB82A675F344E598ED07614C26A46EA" x="1043" y="188">Not Ready</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_768FCB23D27C4749B32411A7463D54B1" x="1242" y="208">Fully Impl/Close</text>
-<text style="font-family: Verdana;font-size:8pt; fill:Black;" text-anchor="start" id="path_label_1BF51A8E49774FDD936814D21809AEC2" x="1086" y="277">Continue Wait</text>
-</svg>
diff --git a/Source/Basic Shapes/SvgCircle.cs b/Source/Basic Shapes/SvgCircle.cs
index 29979c47f98ef8dea147218e52666b3c1a751a00..93a4fcd989e174559ae5580a062fa6006fc4f334 100644
--- a/Source/Basic Shapes/SvgCircle.cs	
+++ b/Source/Basic Shapes/SvgCircle.cs	
@@ -81,7 +81,7 @@ namespace Svg
         /// <value>The rectangular bounds of the circle.</value>
         public override RectangleF Bounds
         {
-            get { return this.Path.GetBounds(); }
+            get { return this.Path(null).GetBounds(); }
         }
 
         /// <summary>
@@ -98,24 +98,19 @@ namespace Svg
         /// <summary>
         /// Gets the <see cref="GraphicsPath"/> representing this element.
         /// </summary>
-        public override GraphicsPath Path
+        public override GraphicsPath Path(SvgRenderer renderer)
         {
-            get
+            if (this._path == null || this.IsPathDirty)
             {
-                if (this._path == null || this.IsPathDirty)
-                {
-                    _path = new GraphicsPath();
-                    _path.StartFigure();
-                    _path.AddEllipse(this.Center.ToDeviceValue().X - this.Radius.ToDeviceValue(), this.Center.ToDeviceValue().Y - this.Radius.ToDeviceValue(), 2 * this.Radius.ToDeviceValue(), 2 * this.Radius.ToDeviceValue());
-                    _path.CloseFigure();
-                    this.IsPathDirty = false;
-                }
-                return _path;
-            }
-            protected set
-            {
-                _path = value;
+                _path = new GraphicsPath();
+                _path.StartFigure();
+                var center = this.Center.ToDeviceValue(renderer, this);
+                var radius = this.Radius.ToDeviceValue(renderer, UnitRenderingType.Other, this);
+                _path.AddEllipse(center.X - radius, center.Y - radius, 2 * radius, 2 * radius);
+                _path.CloseFigure();
+                this.IsPathDirty = false;
             }
+            return _path;
         }
 
         /// <summary>
diff --git a/Source/Basic Shapes/SvgEllipse.cs b/Source/Basic Shapes/SvgEllipse.cs
index 90f364157ab8c7193b6359c9d39e09fba7a72c86..07f93ad223a317131915f98be9c40e55d1df5fb0 100644
--- a/Source/Basic Shapes/SvgEllipse.cs	
+++ b/Source/Basic Shapes/SvgEllipse.cs	
@@ -95,34 +95,27 @@ namespace Svg
         /// <value>The bounds.</value>
         public override RectangleF Bounds
         {
-            get { return this.Path.GetBounds(); }
+            get { return this.Path(null).GetBounds(); }
         }
 
         /// <summary>
         /// Gets the <see cref="GraphicsPath"/> for this element.
         /// </summary>
         /// <value></value>
-        public override GraphicsPath Path
+        public override GraphicsPath Path(SvgRenderer renderer)
         {
-            get
+            if (this._path == null || this.IsPathDirty)
             {
-                if (this._path == null || this.IsPathDirty)
-                {
-                    PointF center = new PointF(this._centerX.ToDeviceValue(this), this._centerY.ToDeviceValue(this, true));
-                    PointF radius = new PointF(this._radiusX.ToDeviceValue(this), this._radiusY.ToDeviceValue(this, true));
+                var center = SvgUnit.GetDevicePoint(this._centerX, this._centerY, renderer, this);
+                var radius = SvgUnit.GetDevicePoint(this._radiusX, this._radiusY, renderer, this);
 
-                    this._path = new GraphicsPath();
-                    _path.StartFigure();
-                    _path.AddEllipse(center.X - radius.X, center.Y - radius.Y, 2 * radius.X, 2 * radius.Y);
-                    _path.CloseFigure();
-                    this.IsPathDirty = false;
-                }
-                return _path;
-            }
-            protected set
-            {
-                _path = value;
+                this._path = new GraphicsPath();
+                _path.StartFigure();
+                _path.AddEllipse(center.X - radius.X, center.Y - radius.Y, 2 * radius.X, 2 * radius.Y);
+                _path.CloseFigure();
+                this.IsPathDirty = false;
             }
+            return _path;
         }
 
         /// <summary>
diff --git a/Source/Basic Shapes/SvgImage.cs b/Source/Basic Shapes/SvgImage.cs
index eeed03a6edd64081338ff11c84bbef32d31a6b19..a8762c9b7eb02567ab528a65c92573204582c82d 100644
--- a/Source/Basic Shapes/SvgImage.cs	
+++ b/Source/Basic Shapes/SvgImage.cs	
@@ -29,6 +29,17 @@ namespace Svg
         public SvgPoint Location
         {
             get { return new SvgPoint(X, Y); }
+        }
+
+        /// <summary>
+        /// Gets or sets the aspect of the viewport.
+        /// </summary>
+        /// <value></value>
+        [SvgAttribute("preserveAspectRatio")]
+        public SvgAspectRatio AspectRatio
+        {
+            get { return this.Attributes.GetAttribute<SvgAspectRatio>("preserveAspectRatio"); }
+            set { this.Attributes["preserveAspectRatio"] = value; }
         }
 
 		[SvgAttribute("x")]
@@ -75,21 +86,17 @@ namespace Svg
         /// <value>The bounds.</value>
         public override RectangleF Bounds
         {
-			get { return new RectangleF(this.Location.ToDeviceValue(), new SizeF(this.Width, this.Height)); }
+			get { return new RectangleF(this.Location.ToDeviceValue(null, this), 
+                                        new SizeF(this.Width.ToDeviceValue(null, UnitRenderingType.Horizontal, this), 
+                                                  this.Height.ToDeviceValue(null, UnitRenderingType.Vertical, this))); }
         }
 
         /// <summary>
         /// Gets the <see cref="GraphicsPath"/> for this element.
-        /// </summary>
-        public override GraphicsPath Path
+        /// </summary>
+        public override GraphicsPath Path(SvgRenderer renderer)
         {
-            get
-            {
-				return null;
-            }
-            protected set
-            {
-            }
+		    return null;
         }
 
         /// <summary>
@@ -106,13 +113,72 @@ namespace Svg
                 {
                     if (b != null)
                     {
+                        var srcRect = new RectangleF(0, 0, b.Width, b.Height);
+                        var destClip = new RectangleF(this.Location.ToDeviceValue(renderer, this),
+                                        new SizeF(Width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), 
+                                                  Height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this)));
+                        RectangleF destRect = destClip;
+                        
                         this.PushTransforms(renderer);
+                        renderer.AddClip(new Region(destClip));
                         this.SetClip(renderer);
 
-                        RectangleF srcRect = new RectangleF(0, 0, b.Width, b.Height);
-                        var destRect = new RectangleF(this.Location.ToDeviceValue(),
-                                        new SizeF(Width.ToDeviceValue(), Height.ToDeviceValue()));
+                        if (AspectRatio != null && AspectRatio.Align != SvgPreserveAspectRatio.none)
+                        {
+                            var fScaleX = destClip.Width / srcRect.Width;
+                            var fScaleY = destClip.Height / srcRect.Height;
+                            var xOffset = 0.0f;
+                            var yOffset = 0.0f;
+
+                            if (AspectRatio.Slice)
+                            {
+                                fScaleX = Math.Max(fScaleX, fScaleY);
+                                fScaleY = Math.Max(fScaleX, fScaleY);
+                            }
+                            else
+                            {
+                                fScaleX = Math.Min(fScaleX, fScaleY);
+                                fScaleY = Math.Min(fScaleX, fScaleY);
+                            }
+
+                            switch (AspectRatio.Align)
+                            {
+                                case SvgPreserveAspectRatio.xMinYMin:
+                                    break;
+                                case SvgPreserveAspectRatio.xMidYMin:
+                                    xOffset = (destClip.Width - srcRect.Width * fScaleX) / 2;
+                                    break;
+                                case SvgPreserveAspectRatio.xMaxYMin:
+                                    xOffset = (destClip.Width - srcRect.Width * fScaleX);
+                                    break;
+                                case SvgPreserveAspectRatio.xMinYMid:
+                                    yOffset = (destClip.Height - srcRect.Height * fScaleY) / 2;
+                                    break;
+                                case SvgPreserveAspectRatio.xMidYMid:
+                                    xOffset = (destClip.Width - srcRect.Width * fScaleX) / 2;
+                                    yOffset = (destClip.Height - srcRect.Height * fScaleY) / 2;
+                                    break;
+                                case SvgPreserveAspectRatio.xMaxYMid:
+                                    xOffset = (destClip.Width - srcRect.Width * fScaleX);
+                                    yOffset = (destClip.Height - srcRect.Height * fScaleY) / 2;
+                                    break;
+                                case SvgPreserveAspectRatio.xMinYMax:
+                                    yOffset = (destClip.Height - srcRect.Height * fScaleY);
+                                    break;
+                                case SvgPreserveAspectRatio.xMidYMax:
+                                    xOffset = (destClip.Width - srcRect.Width * fScaleX) / 2;
+                                    yOffset = (destClip.Height - srcRect.Height * fScaleY);
+                                    break;
+                                case SvgPreserveAspectRatio.xMaxYMax:
+                                    xOffset = (destClip.Width - srcRect.Width * fScaleX);
+                                    yOffset = (destClip.Height - srcRect.Height * fScaleY);
+                                    break;
+                            }
 
+                            destRect = new RectangleF(destClip.X + xOffset, destClip.Y + yOffset, 
+                                                      srcRect.Width * fScaleX, srcRect.Height * fScaleY);
+                        }
+                        
                         renderer.DrawImage(b, destRect, srcRect, GraphicsUnit.Pixel);
 
                         this.ResetClip(renderer);
@@ -129,7 +195,7 @@ namespace Svg
             try
             {
                 // handle data/uri embedded images (http://en.wikipedia.org/wiki/Data_URI_scheme)
-                if (uri.Scheme == "data")
+                if (uri.IsAbsoluteUri && uri.Scheme == "data")
                 {
                     string uriString = uri.OriginalString;
                     int dataIdx = uriString.IndexOf(",") + 1;
@@ -143,14 +209,26 @@ namespace Svg
                     return image;
                 }
 
+                if (!uri.IsAbsoluteUri)
+                {
+                    uri = new Uri(OwnerDocument.BaseUri, uri);
+                }
+
                 // should work with http: and file: protocol urls
                 var httpRequest = WebRequest.Create(uri);
 
                 using (WebResponse webResponse = httpRequest.GetResponse())
                 {
                     MemoryStream ms = BufferToMemoryStream(webResponse.GetResponseStream());
-                    Image image = Bitmap.FromStream(ms);
-                    return image;
+                    if (uri.LocalPath.EndsWith(".svg", StringComparison.InvariantCultureIgnoreCase))
+                    {
+                        var doc = SvgDocument.Open<SvgDocument>(ms);
+                        return doc.Draw();
+                    }
+                    else
+                    {
+                        return Bitmap.FromStream(ms);
+                    }
                 }
             }
             catch (Exception ex)
diff --git a/Source/Basic Shapes/SvgLine.cs b/Source/Basic Shapes/SvgLine.cs
index bd24ad8b6ca9360dfa16bbc4dce05c5044f09e42..05c12a055f76d9abbd07767d2e0522f6823b057d 100644
--- a/Source/Basic Shapes/SvgLine.cs	
+++ b/Source/Basic Shapes/SvgLine.cs	
@@ -92,30 +92,25 @@ namespace Svg
         {
         }
 
-        public override System.Drawing.Drawing2D.GraphicsPath Path
+        public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer)
         {
-            get
+            if (this._path == null || this.IsPathDirty)
             {
-                if (this._path == null || this.IsPathDirty)
-                {
-                    PointF start = new PointF(this.StartX.ToDeviceValue(this), this.StartY.ToDeviceValue(this, true));
-                    PointF end = new PointF(this.EndX.ToDeviceValue(this), this.EndY.ToDeviceValue(this, true));
+                PointF start = new PointF(this.StartX.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), 
+                                          this.StartY.ToDeviceValue(renderer, UnitRenderingType.Vertical, this));
+                PointF end = new PointF(this.EndX.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), 
+                                        this.EndY.ToDeviceValue(renderer, UnitRenderingType.Vertical, this));
 
-                    this._path = new GraphicsPath();
-                    this._path.AddLine(start, end);
-                    this.IsPathDirty = false;
-                }
-                return this._path;
-            }
-            protected set
-            {
-                _path = value;
+                this._path = new GraphicsPath();
+                this._path.AddLine(start, end);
+                this.IsPathDirty = false;
             }
+            return this._path;
         }
 
         public override System.Drawing.RectangleF Bounds
         {
-            get { return this.Path.GetBounds(); }
+            get { return this.Path(null).GetBounds(); }
         }
 
 		public override SvgElement DeepCopy()
diff --git a/Source/Basic Shapes/SvgPolygon.cs b/Source/Basic Shapes/SvgPolygon.cs
index 9773c6b12937a6da587ab56c18ae2502d1b9b3aa..5c6fc24cf18275b9ffa7943af9aa14c6afd34a60 100644
--- a/Source/Basic Shapes/SvgPolygon.cs	
+++ b/Source/Basic Shapes/SvgPolygon.cs	
@@ -32,51 +32,44 @@ namespace Svg
             get { return true; }
         }
 
-        public override GraphicsPath Path
+        public override GraphicsPath Path(SvgRenderer renderer)
         {
-            get
+            if (this._path == null || this.IsPathDirty)
             {
-                if (this._path == null || this.IsPathDirty)
-                {
-                    this._path = new GraphicsPath();
-                    this._path.StartFigure();
+                this._path = new GraphicsPath();
+                this._path.StartFigure();
 
-                    try
+                try
+                {
+                    for (int i = 2; i < this._points.Count; i+=2)
                     {
-                        for (int i = 2; i < this._points.Count; i+=2)
-                        {
-                            PointF endPoint = new PointF(this._points[i].ToDeviceValue(this), this._points[i+1].ToDeviceValue(this));
+                        var endPoint = SvgUnit.GetDevicePoint(this._points[i], this._points[i+1], renderer, this);
 
-                            //first line
-                            if (_path.PointCount == 0)
-                            {
-                                _path.AddLine(new PointF(this._points[i-2].ToDeviceValue(this), this._points[i-1].ToDeviceValue(this)), endPoint);
-                            }
-                            else
-                            {
-                                _path.AddLine(_path.GetLastPoint(), endPoint);
-                            }
+                        //first line
+                        if (_path.PointCount == 0)
+                        {
+                            _path.AddLine(SvgUnit.GetDevicePoint(this._points[i - 2], this._points[i - 1], renderer, this), endPoint);
+                        }
+                        else
+                        {
+                            _path.AddLine(_path.GetLastPoint(), endPoint);
                         }
                     }
-                    catch
-                    {
-                        Trace.TraceError("Error parsing points");
-                    }
-
-                    this._path.CloseFigure();
-                    this.IsPathDirty = false;
                 }
-                return this._path;
-            }
-            protected set
-            {
-                _path = value;
+                catch
+                {
+                    Trace.TraceError("Error parsing points");
+                }
+
+                this._path.CloseFigure();
+                this.IsPathDirty = false;
             }
+            return this._path;
         }
 
         public override RectangleF Bounds
         {
-            get { return this.Path.GetBounds(); }
+            get { return this.Path(null).GetBounds(); }
         }
 
 
diff --git a/Source/Basic Shapes/SvgPolyline.cs b/Source/Basic Shapes/SvgPolyline.cs
index dd9d7051a14acf6629c7e5ee2fc0fccc8ef56fa4..c499dd6c2987f8221ddd8d0579e417d368b3d9c7 100644
--- a/Source/Basic Shapes/SvgPolyline.cs	
+++ b/Source/Basic Shapes/SvgPolyline.cs	
@@ -14,39 +14,37 @@ namespace Svg
     public class SvgPolyline : SvgPolygon
     {
         private GraphicsPath _Path;
-        public override GraphicsPath Path
+        public override GraphicsPath Path(SvgRenderer renderer)
         {
-            get
+            if (_Path == null || this.IsPathDirty)
             {
-                if (_Path == null || this.IsPathDirty)
-                {
-                    _Path = new GraphicsPath();
+                _Path = new GraphicsPath();
 
-                    try
+                try
+                {
+                    for (int i = 0; i < Points.Count; i += 2)
                     {
-                        for (int i = 0; i < Points.Count; i += 2)
-                        {
-                            PointF endPoint = new PointF(Points[i].ToDeviceValue(this), Points[i + 1].ToDeviceValue(this));
+                        PointF endPoint = new PointF(Points[i].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), 
+                                                     Points[i + 1].ToDeviceValue(renderer, UnitRenderingType.Vertical, this));
 
-                            // TODO: Remove unrequired first line
-                            if (_Path.PointCount == 0)
-                            {
-                                _Path.AddLine(endPoint, endPoint);
-                            }
-                            else
-                            {
-                                _Path.AddLine(_Path.GetLastPoint(), endPoint);
-                            }
+                        // TODO: Remove unrequired first line
+                        if (_Path.PointCount == 0)
+                        {
+                            _Path.AddLine(endPoint, endPoint);
+                        }
+                        else
+                        {
+                            _Path.AddLine(_Path.GetLastPoint(), endPoint);
                         }
                     }
-                    catch (Exception exc)
-                    {
-                        Trace.TraceError("Error rendering points: " + exc.Message);
-                    }
-                    this.IsPathDirty = false;
                 }
-                return _Path;
+                catch (Exception exc)
+                {
+                    Trace.TraceError("Error rendering points: " + exc.Message);
+                }
+                this.IsPathDirty = false;
             }
+            return _Path;
         }
     }
 }
\ No newline at end of file
diff --git a/Source/Basic Shapes/SvgRectangle.cs b/Source/Basic Shapes/SvgRectangle.cs
index a438817bb3b855097121facd99c3c5edc8fd8898..717e6c68897d6e8d2677ec94a98df96a338a44ba 100644
--- a/Source/Basic Shapes/SvgRectangle.cs	
+++ b/Source/Basic Shapes/SvgRectangle.cs	
@@ -168,101 +168,94 @@ namespace Svg
         /// <value>The bounds.</value>
         public override RectangleF Bounds
         {
-            get { return Path.GetBounds(); }
+            get { return Path(null).GetBounds(); }
         }
 
         /// <summary>
         /// Gets the <see cref="GraphicsPath"/> for this element.
         /// </summary>
-        public override GraphicsPath Path
+        public override GraphicsPath Path(SvgRenderer renderer)
         {
-            get
+            if (_path == null || IsPathDirty)
             {
-                if (_path == null || IsPathDirty)
+                // If the corners aren't to be rounded just create a rectangle
+                if (CornerRadiusX.Value == 0.0f && CornerRadiusY.Value == 0.0f)
                 {
-                    // If the corners aren't to be rounded just create a rectangle
-                    if (CornerRadiusX.Value == 0.0f && CornerRadiusY.Value == 0.0f)
-                    {
-                        var rectangle = new RectangleF(Location.ToDeviceValue(),
-                            new SizeF(Width.ToDeviceValue(), Height.ToDeviceValue()));
+                    var rectangle = new RectangleF(Location.ToDeviceValue(renderer, this),
+                        SvgUnit.GetDeviceSize(this.Width, this.Height, renderer, this));
 
-                        _path = new GraphicsPath();
-                        _path.StartFigure();
-                        _path.AddRectangle(rectangle);
-                        _path.CloseFigure();
-                    }
-                    else
-                    {
-                        _path = new GraphicsPath();
-                        var arcBounds = new RectangleF();
-                        var lineStart = new PointF();
-                        var lineEnd = new PointF();
-                        var width = Width.ToDeviceValue();
-                        var height = Height.ToDeviceValue();
-                        var rx = CornerRadiusX.ToDeviceValue() * 2;
-                        var ry = CornerRadiusY.ToDeviceValue() * 2;
-                        var location = Location.ToDeviceValue();
+                    _path = new GraphicsPath();
+                    _path.StartFigure();
+                    _path.AddRectangle(rectangle);
+                    _path.CloseFigure();
+                }
+                else
+                {
+                    _path = new GraphicsPath();
+                    var arcBounds = new RectangleF();
+                    var lineStart = new PointF();
+                    var lineEnd = new PointF();
+                    var width = Width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this);
+                    var height = Height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this);
+                    var rx = CornerRadiusX.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) * 2;
+                    var ry = CornerRadiusY.ToDeviceValue(renderer, UnitRenderingType.Vertical, this) * 2;
+                    var location = Location.ToDeviceValue(renderer, this);
 
-                        // Start
-                        _path.StartFigure();
+                    // Start
+                    _path.StartFigure();
 
-                        // Add first arc
-                        arcBounds.Location = location;
-                        arcBounds.Width = rx;
-                        arcBounds.Height = ry;
-                        _path.AddArc(arcBounds, 180, 90);
+                    // Add first arc
+                    arcBounds.Location = location;
+                    arcBounds.Width = rx;
+                    arcBounds.Height = ry;
+                    _path.AddArc(arcBounds, 180, 90);
 
-                        // Add first line
-                        lineStart.X = Math.Min(location.X + rx, location.X + width * 0.5f);
-                        lineStart.Y = location.Y;
-                        lineEnd.X = Math.Max(location.X + width - rx, location.X + width * 0.5f);
-                        lineEnd.Y = lineStart.Y;
-                        _path.AddLine(lineStart, lineEnd);
+                    // Add first line
+                    lineStart.X = Math.Min(location.X + rx, location.X + width * 0.5f);
+                    lineStart.Y = location.Y;
+                    lineEnd.X = Math.Max(location.X + width - rx, location.X + width * 0.5f);
+                    lineEnd.Y = lineStart.Y;
+                    _path.AddLine(lineStart, lineEnd);
 
-                        // Add second arc
-                        arcBounds.Location = new PointF(location.X + width - rx, location.Y);
-                        _path.AddArc(arcBounds, 270, 90);
+                    // Add second arc
+                    arcBounds.Location = new PointF(location.X + width - rx, location.Y);
+                    _path.AddArc(arcBounds, 270, 90);
 
-                        // Add second line
-                        lineStart.X = location.X + width;
-                        lineStart.Y = Math.Min(location.Y + ry, location.Y + height * 0.5f);
-                        lineEnd.X = lineStart.X;
-                        lineEnd.Y = Math.Max(location.Y + height - ry, location.Y + height * 0.5f);
-                        _path.AddLine(lineStart, lineEnd);
+                    // Add second line
+                    lineStart.X = location.X + width;
+                    lineStart.Y = Math.Min(location.Y + ry, location.Y + height * 0.5f);
+                    lineEnd.X = lineStart.X;
+                    lineEnd.Y = Math.Max(location.Y + height - ry, location.Y + height * 0.5f);
+                    _path.AddLine(lineStart, lineEnd);
 
-                        // Add third arc
-                        arcBounds.Location = new PointF(location.X + width - rx, location.Y + height - ry);
-                        _path.AddArc(arcBounds, 0, 90);
+                    // Add third arc
+                    arcBounds.Location = new PointF(location.X + width - rx, location.Y + height - ry);
+                    _path.AddArc(arcBounds, 0, 90);
 
-                        // Add third line
-                        lineStart.X = Math.Max(location.X + width - rx, location.X + width * 0.5f);
-                        lineStart.Y = location.Y + height;
-                        lineEnd.X = Math.Min(location.X + rx, location.X + width * 0.5f);
-                        lineEnd.Y = lineStart.Y;
-                        _path.AddLine(lineStart, lineEnd);
+                    // Add third line
+                    lineStart.X = Math.Max(location.X + width - rx, location.X + width * 0.5f);
+                    lineStart.Y = location.Y + height;
+                    lineEnd.X = Math.Min(location.X + rx, location.X + width * 0.5f);
+                    lineEnd.Y = lineStart.Y;
+                    _path.AddLine(lineStart, lineEnd);
 
-                        // Add third arc
-                        arcBounds.Location = new PointF(location.X, location.Y + height - ry);
-                        _path.AddArc(arcBounds, 90, 90);
+                    // Add third arc
+                    arcBounds.Location = new PointF(location.X, location.Y + height - ry);
+                    _path.AddArc(arcBounds, 90, 90);
 
-                        // Add fourth line
-                        lineStart.X = location.X;
-                        lineStart.Y = Math.Max(location.Y + height - ry, location.Y + height * 0.5f);
-                        lineEnd.X = lineStart.X;
-                        lineEnd.Y = Math.Min(location.Y + ry, location.Y + height * 0.5f);
-                        _path.AddLine(lineStart, lineEnd);
+                    // Add fourth line
+                    lineStart.X = location.X;
+                    lineStart.Y = Math.Max(location.Y + height - ry, location.Y + height * 0.5f);
+                    lineEnd.X = lineStart.X;
+                    lineEnd.Y = Math.Min(location.Y + ry, location.Y + height * 0.5f);
+                    _path.AddLine(lineStart, lineEnd);
 
-                        // Close
-                        _path.CloseFigure();
-                    }
-                    IsPathDirty = false;
+                    // Close
+                    _path.CloseFigure();
                 }
-                return _path;
-            }
-            protected set
-            {
-                _path = value;
+                IsPathDirty = false;
             }
+            return _path;
         }
 
         /// <summary>
diff --git a/Source/Basic Shapes/SvgVisualElement.cs b/Source/Basic Shapes/SvgVisualElement.cs
index fa84ceb96701ca896bb791d43b7e6047e9700169..96d19d4881a39c26a0ea83258c5b02547bbd3c75 100644
--- a/Source/Basic Shapes/SvgVisualElement.cs	
+++ b/Source/Basic Shapes/SvgVisualElement.cs	
@@ -16,7 +16,7 @@ namespace Svg
         /// <summary>
         /// Gets the <see cref="GraphicsPath"/> for this element.
         /// </summary>
-        public abstract GraphicsPath Path { get; protected set; }
+        public abstract GraphicsPath Path(SvgRenderer renderer);
 
         PointF ISvgBoundable.Location
         {
@@ -105,7 +105,7 @@ namespace Svg
         /// <param name="renderer">The <see cref="SvgRenderer"/> object to render to.</param>
         protected override void Render(SvgRenderer renderer)
         {
-            if ((this.Path != null) && this.Visible && this.Displayable)
+            if ((this.Path(renderer) != null) && this.Visible && this.Displayable)
             {
                 this.PushTransforms(renderer);
                 this.SetClip(renderer);
@@ -138,12 +138,12 @@ namespace Svg
         {
             if (this.Fill != null)
             {
-                using (Brush brush = this.Fill.GetBrush(this, Math.Min(Math.Max(this.FillOpacity * this.Opacity, 0), 1)))
+                using (Brush brush = this.Fill.GetBrush(this, renderer, Math.Min(Math.Max(this.FillOpacity * this.Opacity, 0), 1)))
                 {
                     if (brush != null)
                     {
-                        this.Path.FillMode = this.FillRule == SvgFillRule.NonZero ? FillMode.Winding : FillMode.Alternate;
-                        renderer.FillPath(brush, this.Path);
+                        this.Path(renderer).FillMode = this.FillRule == SvgFillRule.NonZero ? FillMode.Winding : FillMode.Alternate;
+                        renderer.FillPath(brush, this.Path(renderer));
                     }
                 }
             }
@@ -157,8 +157,8 @@ namespace Svg
         {
             if (this.Stroke != null)
             {
-                float strokeWidth = this.StrokeWidth.ToDeviceValue(this);
-                using (var pen = new Pen(this.Stroke.GetBrush(this, Math.Min(Math.Max(this.StrokeOpacity * this.Opacity, 0), 1)), strokeWidth))
+                float strokeWidth = this.StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this);
+                using (var pen = new Pen(this.Stroke.GetBrush(this, renderer, Math.Min(Math.Max(this.StrokeOpacity * this.Opacity, 0), 1)), strokeWidth))
                 {
                     if (this.StrokeDashArray != null && this.StrokeDashArray.Count > 0)
                     {
@@ -166,7 +166,7 @@ namespace Svg
                         pen.DashPattern = this.StrokeDashArray.ConvertAll(u => ((u.Value <= 0) ? 1 : u.Value) / ((strokeWidth <= 0) ? 1 : strokeWidth)).ToArray();
                     }
 
-                    renderer.DrawPath(pen, this.Path);
+                    renderer.DrawPath(pen, this.Path(renderer));
                 }
             }
         }
@@ -184,7 +184,7 @@ namespace Svg
 
                 if (clipPath != null)
                 {
-                    renderer.Clip = clipPath.GetClipRegion(this);
+                    renderer.AddClip(clipPath.GetClipRegion(this));
                 }
             }
         }
diff --git a/Source/Basic Shapes/SvgVisualElementStyle.cs b/Source/Basic Shapes/SvgVisualElementStyle.cs
index b151aa0d86a451014dd50551a842905568338cf1..a09fa748f71a27d2fdd06a7e0ae94931ef32c5db 100644
--- a/Source/Basic Shapes/SvgVisualElementStyle.cs	
+++ b/Source/Basic Shapes/SvgVisualElementStyle.cs	
@@ -162,11 +162,7 @@ namespace Svg
         public virtual string FontFamily
         {
             get { return this.Attributes["font-family"] as string; }
-            set
-            {
-                this.Attributes["font-family"] = value;
-                this.IsPathDirty = true;
-            }
+            set { this.Attributes["font-family"] = value; this.IsPathDirty = true; }
         }
 
         /// <summary>
@@ -179,15 +175,6 @@ namespace Svg
             set { this.Attributes["font-size"] = value; this.IsPathDirty = true; }
         }
 
-        public SvgUnit GetInheritedFontSize()
-        {
-            var fontSizeElement = (from e in this.ParentsAndSelf.OfType<SvgVisualElement>() 
-                                   where e.FontSize != SvgUnit.Empty && e.FontSize != SvgUnit.None 
-                                   select e).FirstOrDefault();
-            return (fontSizeElement == null ? SvgUnit.None : fontSizeElement.FontSize);
-        }
-
-
         /// <summary>
         /// Refers to the boldness of the font.
         /// </summary>
@@ -308,5 +295,71 @@ namespace Svg
                 this.IsPathDirty = true;
             }
         }
+
+        private const string DefaultFontFamily = "Times New Roman";
+
+        /// <summary>
+        /// Get the font information based on data stored with the text object or inherited from the parent.
+        /// </summary>
+        /// <returns></returns>
+        internal System.Drawing.Font GetFont(SvgRenderer renderer)
+        {
+            // Get the font-size
+            float fontSize;
+            var fontSizeUnit = this.FontSize;
+            if (fontSizeUnit == SvgUnit.None)
+            {
+                fontSize = 1.0f;
+            }
+            else
+            {
+                fontSize = fontSizeUnit.ToDeviceValue(renderer, UnitRenderingType.Vertical, this);
+            }
+
+            var fontStyle = System.Drawing.FontStyle.Regular;
+
+            // Get the font-weight
+            switch (this.FontWeight)
+            {
+                case SvgFontWeight.bold:
+                case SvgFontWeight.bolder:
+                case SvgFontWeight.w700:
+                case SvgFontWeight.w800:
+                case SvgFontWeight.w900:
+                    fontStyle |= System.Drawing.FontStyle.Bold;
+                    break;
+            }
+
+            // Get the font-style
+            switch (this.FontStyle)
+            {
+                case SvgFontStyle.italic:
+                case SvgFontStyle.oblique:
+                    fontStyle |= System.Drawing.FontStyle.Italic;
+                    break;
+            }
+
+            // Get the font-family
+            string family = ValidateFontFamily(this.FontFamily) ?? DefaultFontFamily;
+            return new System.Drawing.Font(family, fontSize, fontStyle, System.Drawing.GraphicsUnit.Pixel);
+        }
+
+        private static string ValidateFontFamily(string fontFamilyList)
+        {
+            // Split font family list on "," and then trim start and end spaces and quotes.
+            var fontParts = (fontFamilyList ?? "").Split(new[] { ',' }).Select(fontName => fontName.Trim(new[] { '"', ' ', '\'' }));
+
+            var families = System.Drawing.FontFamily.Families;
+
+            // Find a the first font that exists in the list of installed font families.
+            //styles from IE get sent through as lowercase.
+            foreach (var f in fontParts.Where(f => families.Any(family => family.Name.ToLower() == f.ToLower())))
+            {
+                return f;
+            }
+            // No valid font family found from the list requested.
+            return null;
+        }
+
     }
 }
\ No newline at end of file
diff --git a/Source/Clipping and Masking/SvgClipPath.cs b/Source/Clipping and Masking/SvgClipPath.cs
index 331f07a1e12b94b66c1e2367f1fa80a710783bfd..72bc101dc0104a2025a2fb311d737082da09b2ba 100644
--- a/Source/Clipping and Masking/SvgClipPath.cs	
+++ b/Source/Clipping and Masking/SvgClipPath.cs	
@@ -61,11 +61,11 @@ namespace Svg
         {
             var graphicsElement = element as SvgVisualElement;
 
-            if (graphicsElement != null && graphicsElement.Path != null)
+            if (graphicsElement != null && graphicsElement.Path(null) != null)
             {
                 path.FillMode = (graphicsElement.ClipRule == SvgClipRule.NonZero) ? FillMode.Winding : FillMode.Alternate;
 
-                GraphicsPath childPath = graphicsElement.Path;
+                GraphicsPath childPath = graphicsElement.Path(null);
 
                 if (graphicsElement.Transforms != null)
                 {
diff --git a/Source/Css/CssQuery.cs b/Source/Css/CssQuery.cs
index 911125c9ad0cb72ebe4d27c3c66bfc715b672d1d..fcb2bc00525237ea837db25f8cd245b16e9c8683 100644
--- a/Source/Css/CssQuery.cs
+++ b/Source/Css/CssQuery.cs
@@ -20,21 +20,59 @@ namespace Svg.Css
         {
             if (selector is SimpleSelector)
             {
-                var simpleCode = selector.ToString();
-                if (simpleCode.StartsWith("#"))
+                var simpleCode = selector.ToString().ToLowerInvariant();
+                if (simpleCode.StartsWith(":not("))
                 {
+                    simpleCode = simpleCode.Substring(5, simpleCode.Length - 6);
+                    return GetSpecificity(new SimpleSelector(simpleCode));
+                }
+                else if (simpleCode.StartsWith("#"))
+                {
+                    // ID selector
                     return 1 << 12;
                 }
-                else if (simpleCode.StartsWith("."))
+                else if (simpleCode.StartsWith("::") || simpleCode == ":after" || simpleCode == ":before" ||
+                    simpleCode == ":first-letter" || simpleCode == ":first-line" || simpleCode == ":selection")
                 {
+                    // pseudo-element
+                    return 1 << 4;
+                }
+                else if (simpleCode.StartsWith(".") || simpleCode.StartsWith(":") || simpleCode.StartsWith("["))
+                {
+                    // class, pseudo-class, attribute
                     return 1 << 8;
                 }
+                else if (selector == SimpleSelector.All)
+                {
+                    // all selector
+                    return 0;
+                }
                 else
                 {
+                    // element selector
                     return 1 << 4;
                 }
             }
-            return 0;
+            else
+            {
+                var list = selector as IEnumerable<BaseSelector>;
+                if (list != null)
+                {
+                    return (from s in list select GetSpecificity(s)).Aggregate((p, c) => p + c);
+                }
+                else
+                {
+                    var complex = selector as IEnumerable<CombinatorSelector>;
+                    if (complex != null)
+                    {
+                        return (from s in complex select GetSpecificity(s.Selector)).Aggregate((p, c) => p + c);
+                    }
+                    else
+                    {
+                        return 0;
+                    }
+                }
+            }
         }
     }
 }
diff --git a/Source/DataTypes/ISvgSupportsCoordinateUnits.cs b/Source/DataTypes/ISvgSupportsCoordinateUnits.cs
new file mode 100644
index 0000000000000000000000000000000000000000..21a3cad19f9ab7f7e05fb980e3dc800f65e9a7e0
--- /dev/null
+++ b/Source/DataTypes/ISvgSupportsCoordinateUnits.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Svg
+{
+    internal interface ISvgSupportsCoordinateUnits
+    {
+        SvgCoordinateUnits GetUnits();
+    }
+}
diff --git a/Source/DataTypes/SvgCoordinateUnits.cs b/Source/DataTypes/SvgCoordinateUnits.cs
index 6db0ffa2643c43fc25239bc05045d2b51ad3423f..9fdafdbc05b85e0d80a29179f923a4a3ee623317 100644
--- a/Source/DataTypes/SvgCoordinateUnits.cs
+++ b/Source/DataTypes/SvgCoordinateUnits.cs
@@ -11,12 +11,12 @@ namespace Svg
     public enum SvgCoordinateUnits
     {
         /// <summary>
-        /// Indicates that the coordinate system of the entire document is to be used.
+        /// Indicates that the coordinate system of the owner element is to be used.
         /// </summary>
-        UserSpaceOnUse,
+        ObjectBoundingBox,
         /// <summary>
-        /// Indicates that the coordinate system of the owner element is to be used.
+        /// Indicates that the coordinate system of the entire document is to be used.
         /// </summary>
-        ObjectBoundingBox
+        UserSpaceOnUse
     }
 }
diff --git a/Source/DataTypes/SvgPoint.cs b/Source/DataTypes/SvgPoint.cs
index 5673ef7635e5191a541bafda653aa50e33406916..e15358d16aa19592f762d1f9e356a2d774bbe52b 100644
--- a/Source/DataTypes/SvgPoint.cs
+++ b/Source/DataTypes/SvgPoint.cs
@@ -23,9 +23,9 @@ namespace Svg
             set { this.y = value; }
         }
 
-        public PointF ToDeviceValue()
+        public PointF ToDeviceValue(SvgRenderer renderer, SvgElement owner)
         {
-            return new PointF(this.X.ToDeviceValue(), this.Y.ToDeviceValue());
+            return SvgUnit.GetDevicePoint(this.X, this.Y, renderer, owner);
         }
 
         public bool IsEmpty()
diff --git a/Source/DataTypes/SvgUnit.cs b/Source/DataTypes/SvgUnit.cs
index 24266272b3a1956bfec0e2699ad8b633a9579420..30a7c5965ebe7967422332a766c8aed9d0b9cc4d 100644
--- a/Source/DataTypes/SvgUnit.cs
+++ b/Source/DataTypes/SvgUnit.cs
@@ -1,6 +1,8 @@
 using System;
 using System.ComponentModel;
 using System.Globalization;
+using System.Linq;
+using System.Drawing;
 
 namespace Svg
 {
@@ -60,26 +62,9 @@ namespace Svg
         /// <summary>
         /// Converts the current unit to one that can be used at render time.
         /// </summary>
+        /// <param name="boundable">The container element used as the basis for calculations</param>
         /// <returns>The representation of the current unit in a device value (usually pixels).</returns>
-        public float ToDeviceValue()
-        {
-            return this.ToDeviceValue(null);
-        }
-
-        /// <summary>
-        /// Converts the current unit to one that can be used at render time.
-        /// </summary>
-        /// <returns>The representation of the current unit in a device value (usually pixels).</returns>
-        public float ToDeviceValue(ISvgBoundable boundable)
-        {
-            return this.ToDeviceValue(boundable, false);
-        }
-
-        /// <summary>
-        /// Converts the current unit to one that can be used at render time.
-        /// </summary>
-        /// <returns>The representation of the current unit in a device value (usually pixels).</returns>
-        public float ToDeviceValue(ISvgBoundable boundable, bool vertical)
+        public float ToDeviceValue(SvgRenderer renderer, UnitRenderingType renderType, SvgElement owner)
         {
             // If it's already been calculated
             if (this._deviceValue.HasValue)
@@ -99,60 +84,135 @@ namespace Svg
             const float cmInInch = 2.54f;
             int ppi = SvgDocument.PointsPerInch;
 
-            switch (this.Type)
+            var type = this.Type;
+            var value = this.Value;
+
+            // Deal with fractional pattern units
+            var coordElem = owner as ISvgSupportsCoordinateUnits;
+            if (coordElem != null && coordElem.GetUnits() == SvgCoordinateUnits.ObjectBoundingBox && type != SvgUnitType.Percentage)
+            {
+                type = SvgUnitType.Percentage;
+                value *= 100;
+            }
+
+            var element = owner as SvgElement;
+            if (element != null)
+            {
+                var pattern = element.Parents.OfType<SvgPatternServer>().FirstOrDefault();
+                if (pattern != null && pattern.PatternContentUnits == SvgCoordinateUnits.ObjectBoundingBox && type != SvgUnitType.Percentage)
+                {
+                    type = SvgUnitType.Percentage;
+                    value *= 100;
+                }
+            }
+
+            float points;
+            Font currFont;
+
+            switch (type)
             {
                 case SvgUnitType.Em:
-                    var visualElem = boundable as SvgVisualElement;
-                    if (visualElem == null)
+                    currFont = GetFont(renderer, owner);
+                    if (currFont == null)
                     {
-                        float points = (float)(this.Value * 9);
+                        points = (float)(value * 9);
                         _deviceValue = (points / 72) * ppi;
                     }
                     else
                     {
-                        _deviceValue = this.Value * visualElem.GetInheritedFontSize().ToDeviceValue(boundable);
+                        _deviceValue = value * (currFont.SizeInPoints / 72) * ppi;
+                    }
+                    break;
+                case SvgUnitType.Ex:
+                    currFont = GetFont(renderer, owner);
+                    if (currFont == null)
+                    {
+                        points = (float)(value * 9);
+                        _deviceValue = (points / 72) * ppi / 2;
+                    }
+                    else
+                    {
+                        _deviceValue = value * (currFont.SizeInPoints / 72) * ppi * RelativeXHeight(currFont);
                     }
                     break;
                 case SvgUnitType.Centimeter:
-                    _deviceValue = (float)((this.Value / cmInInch) * ppi);
+                    _deviceValue = (float)((value / cmInInch) * ppi);
                     break;
                 case SvgUnitType.Inch:
-                    _deviceValue = this.Value * ppi;
+                    _deviceValue = value * ppi;
                     break;
                 case SvgUnitType.Millimeter:
-                    _deviceValue = (float)((this.Value / 10) / cmInInch) * ppi;
+                    _deviceValue = (float)((value / 10) / cmInInch) * ppi;
                     break;
                 case SvgUnitType.Pica:
-                    _deviceValue = ((this.Value * 12) / 72) * ppi;
+                    _deviceValue = ((value * 12) / 72) * ppi;
                     break;
                 case SvgUnitType.Point:
-                    _deviceValue = (this.Value / 72) * ppi;
+                    _deviceValue = (value / 72) * ppi;
                     break;
                 case SvgUnitType.Pixel:
-                    _deviceValue = this.Value;
+                    _deviceValue = value;
                     break;
                 case SvgUnitType.User:
-                    _deviceValue = this.Value;
+                    _deviceValue = value;
                     break;
                 case SvgUnitType.Percentage:
                     // Can't calculate if there is no style owner
+                    var boundable = (renderer == null ? (owner == null ? null : owner.OwnerDocument) : renderer.Boundable());
                     if (boundable == null)
                     {
-                        _deviceValue = this.Value;
+                        _deviceValue = value;
                         break;
                     }
 
-                    // TODO : Support height percentages
                     System.Drawing.SizeF size = boundable.Bounds.Size;
-                    _deviceValue = (((vertical) ? size.Height : size.Width) / 100) * this.Value;
+
+                    switch (renderType)
+                    {
+                        case UnitRenderingType.Horizontal:
+                            _deviceValue = (size.Width / 100) * value;
+                            break;
+                        case UnitRenderingType.HorizontalOffset:
+                            _deviceValue = (size.Width / 100) * value + boundable.Location.X;
+                            break;
+                        case UnitRenderingType.Vertical:
+                            _deviceValue = (size.Height / 100) * value;
+                            break;
+                        case UnitRenderingType.VerticalOffset:
+                            _deviceValue = (size.Height / 100) * value + boundable.Location.Y;
+                            break;
+                        default:
+                            _deviceValue = (float)(Math.Sqrt(Math.Pow(size.Width, 2) + Math.Pow(size.Height, 2)) / Math.Sqrt(2) * value / 100.0);
+                            break;
+                    }
                     break;
                 default:
-                    _deviceValue = this.Value;
+                    _deviceValue = value;
                     break;
             }
             return this._deviceValue.Value;
         }
 
+        private Font GetFont(SvgRenderer renderer, SvgElement owner)
+        {
+            if (owner == null) return null;
+
+            var visual = owner.ParentsAndSelf.OfType<SvgVisualElement>().FirstOrDefault();
+            return visual.GetFont(renderer);
+        }
+        private float RelativeXHeight(Font font)
+        {
+            var mediaFont = new System.Windows.Media.FontFamily(font.Name);
+            var sum = 0.0;
+            var cnt = 0;
+            foreach (var tf in mediaFont.FamilyTypefaces)
+            {
+                sum += tf.XHeight;
+                cnt += 1;
+            }
+            return (float)(sum / cnt);
+        }
+
         /// <summary>
         /// Converts the current unit to a percentage, if applicable.
         /// </summary>
@@ -249,7 +309,7 @@ namespace Svg
         /// <returns>The result of the conversion.</returns>
         public static implicit operator float(SvgUnit value)
         {
-            return value.ToDeviceValue();
+            return value.ToDeviceValue(null, UnitRenderingType.Other, null);
         }
 
         /// <summary>
@@ -286,6 +346,32 @@ namespace Svg
             this._isEmpty = (this._value == 0.0f);
             this._deviceValue = null;
         }
+
+        public static System.Drawing.PointF GetDevicePoint(SvgUnit x, SvgUnit y, SvgRenderer renderer, SvgElement owner)
+        {
+            return new System.Drawing.PointF(x.ToDeviceValue(renderer, UnitRenderingType.Horizontal, owner),
+                                             y.ToDeviceValue(renderer, UnitRenderingType.Vertical, owner));
+        }
+        public static System.Drawing.PointF GetDevicePointOffset(SvgUnit x, SvgUnit y, SvgRenderer renderer, SvgElement owner)
+        {
+            return new System.Drawing.PointF(x.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, owner),
+                                             y.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, owner));
+        }
+
+        public static System.Drawing.SizeF GetDeviceSize(SvgUnit width, SvgUnit height, SvgRenderer renderer, SvgElement owner)
+        {
+            return new System.Drawing.SizeF(width.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, owner),
+                                            height.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, owner));
+        }
+    }
+
+    public enum UnitRenderingType
+    {
+        Other,
+        Horizontal,
+        HorizontalOffset,
+        Vertical,
+        VerticalOffset
     }
 
     /// <summary>
@@ -306,6 +392,10 @@ namespace Svg
         /// </summary>
         Em,
         /// <summary>
+        /// Indicates that the unit is equal to the x-height of the current font.
+        /// </summary>
+        Ex,
+        /// <summary>
         /// Indicates that the unit is a percentage.
         /// </summary>
         Percentage,
diff --git a/Source/DataTypes/SvgUnitConverter.cs b/Source/DataTypes/SvgUnitConverter.cs
index d1a80a0cb5b4355a8814017b2e07a6379522a978..4787fab54a65516e906d186c64239ce13f4a9899 100644
--- a/Source/DataTypes/SvgUnitConverter.cs
+++ b/Source/DataTypes/SvgUnitConverter.cs
@@ -68,6 +68,8 @@ namespace Svg
                     return new SvgUnit(SvgUnitType.Percentage, val);
                 case "em":
                     return new SvgUnit(SvgUnitType.Em, val);
+                case "ex":
+                    return new SvgUnit(SvgUnitType.Ex, val);
                 default:
                     throw new FormatException("Unit is in an invalid format '" + unit + "'.");
             }
diff --git a/Source/Document Structure/SvgFragment.cs b/Source/Document Structure/SvgFragment.cs
index 4799646679af4ba55713a4358f0270feea47d4a4..f23081f1a22960693540967e742d4ff4c8702ea7 100644
--- a/Source/Document Structure/SvgFragment.cs	
+++ b/Source/Document Structure/SvgFragment.cs	
@@ -127,20 +127,43 @@ namespace Svg
             set { this.Attributes["preserveAspectRatio"] = value; }
         }
 
+        /// <summary>
+        /// Refers to the size of the font from baseline to baseline when multiple lines of text are set solid in a multiline layout environment.
+        /// </summary>
+        [SvgAttribute("font-size")]
+        public virtual SvgUnit FontSize
+        {
+            get { return (this.Attributes["font-size"] == null) ? SvgUnit.Empty : (SvgUnit)this.Attributes["font-size"]; }
+            set { this.Attributes["font-size"] = value; }
+        }
+
+        /// <summary>
+        /// Indicates which font family is to be used to render the text.
+        /// </summary>
+        [SvgAttribute("font-family")]
+        public virtual string FontFamily
+        {
+            get { return this.Attributes["font-family"] as string; }
+            set { this.Attributes["font-family"] = value; }
+        }
+
         /// <summary>
         /// Applies the required transforms to <see cref="SvgRenderer"/>.
         /// </summary>
         /// <param name="renderer">The <see cref="SvgRenderer"/> to be transformed.</param>
-        protected internal override void PushTransforms(SvgRenderer renderer)
+        protected internal override bool PushTransforms(SvgRenderer renderer)
         {
-            base.PushTransforms(renderer);
+            if (!base.PushTransforms(renderer)) return false;
 
             if (!this.ViewBox.Equals(SvgViewBox.Empty))
             {
-                float fScaleX = this.Width.ToDeviceValue(this, false) / this.ViewBox.Width;
-                float fScaleY = this.Height.ToDeviceValue(this, true) / this.ViewBox.Height;
-                float fMinX = -this.ViewBox.MinX;
-                float fMinY = -this.ViewBox.MinY;
+                var width = this.Width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this);
+                var height = this.Height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this);
+
+                var fScaleX = width / this.ViewBox.Width;
+                var fScaleY = height / this.ViewBox.Height;
+                var fMinX = -this.ViewBox.MinX;
+                var fMinY = -this.ViewBox.MinY;
 
                 if (AspectRatio.Align != SvgPreserveAspectRatio.none)
                 {
@@ -156,50 +179,56 @@ namespace Svg
                     }
                     float fViewMidX = (this.ViewBox.Width / 2) * fScaleX;
                     float fViewMidY = (this.ViewBox.Height / 2) * fScaleY;
-                    float fMidX = this.Width.ToDeviceValue(this, false) / 2;
-                    float fMidY = this.Height.ToDeviceValue(this, true) / 2;
+                    float fMidX = width / 2;
+                    float fMidY = height / 2;
 
                     switch (AspectRatio.Align)
                     {
                         case SvgPreserveAspectRatio.xMinYMin:
                             break;
                         case SvgPreserveAspectRatio.xMidYMin:
-                            fMinX += (fMidX - fViewMidX) / fScaleX;
+                            fMinX += fMidX - fViewMidX;
                             break;
                         case SvgPreserveAspectRatio.xMaxYMin:
-                            fMinX += (this.Width.ToDeviceValue(this, false) / fScaleX) - this.ViewBox.Width;
+                            fMinX += width - this.ViewBox.Width * fScaleX;
                             break;
                         case SvgPreserveAspectRatio.xMinYMid:
-                            fMinY += (fMidY - fViewMidY) / fScaleY;
+                            fMinY += fMidY - fViewMidY;
                             break;
                         case SvgPreserveAspectRatio.xMidYMid:
-                            fMinX += (fMidX - fViewMidX) / fScaleX;
-                            fMinY += (fMidY - fViewMidY) / fScaleY;
+                            fMinX += fMidX - fViewMidX;
+                            fMinY += fMidY - fViewMidY;
                             break;
                         case SvgPreserveAspectRatio.xMaxYMid:
-                            fMinX += (this.Width.ToDeviceValue(this, false) / fScaleX) - this.ViewBox.Width;
-                            fMinY += (fMidY - fViewMidY) / fScaleY;
+                            fMinX += width - this.ViewBox.Width * fScaleX;
+                            fMinY += fMidY - fViewMidY;
                             break;
                         case SvgPreserveAspectRatio.xMinYMax:
-                            fMinY += (this.Height.ToDeviceValue(this, true) / fScaleY) - this.ViewBox.Height;
+                            fMinY += height - this.ViewBox.Height * fScaleY;
                             break;
                         case SvgPreserveAspectRatio.xMidYMax:
-                            fMinX += (fMidX - fViewMidX) / fScaleX;
-                            fMinY += (this.Height.ToDeviceValue(this, true) / fScaleY) - this.ViewBox.Height;
+                            fMinX += fMidX - fViewMidX;
+                            fMinY += height - this.ViewBox.Height * fScaleY;
                             break;
                         case SvgPreserveAspectRatio.xMaxYMax:
-                            fMinX += (this.Width.ToDeviceValue(this, false) / fScaleX) - this.ViewBox.Width;
-                            fMinY += (this.Height.ToDeviceValue(this, true) / fScaleY) - this.ViewBox.Height;
+                            fMinX += width - this.ViewBox.Width * fScaleX;
+                            fMinY += height - this.ViewBox.Height * fScaleY;
                             break;
                         default:
                             break;
                     }
                 }
 
-                renderer.TranslateTransform(_x, _y);
+                var x = _x.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this);
+                var y = _y.ToDeviceValue(renderer, UnitRenderingType.Vertical, this);
+
+                renderer.AddClip(new Region(new RectangleF(x, y, width, height)));
+                renderer.ScaleTransform(fScaleX, fScaleY, MatrixOrder.Prepend);
+                renderer.TranslateTransform(x,y);
                 renderer.TranslateTransform(fMinX, fMinY);
-                renderer.ScaleTransform(fScaleX, fScaleY);
             }
+
+            return true;
         }
         
         /// <summary>
@@ -245,18 +274,38 @@ namespace Svg
 
         public SizeF GetDimensions()
         {
-            var w = Width.ToDeviceValue();
-            var h = Height.ToDeviceValue();
-
-            RectangleF bounds = new RectangleF();
+            float w, h;
             var isWidthperc = Width.Type == SvgUnitType.Percentage;
             var isHeightperc = Height.Type == SvgUnitType.Percentage;
 
+            RectangleF bounds = new RectangleF();
             if (isWidthperc || isHeightperc)
             {
-                bounds = this.Bounds; //do just one call to the recursive bounds property
-                if (isWidthperc) w = (bounds.Width + bounds.X) * (w * 0.01f);
-                if (isHeightperc) h = (bounds.Height + bounds.Y) * (h * 0.01f);
+                if (ViewBox.Width > 0 && ViewBox.Height > 0)
+                {
+                    bounds = new RectangleF(ViewBox.MinX, ViewBox.MinY, ViewBox.Width, ViewBox.Height);
+                }
+                else
+                {
+                    bounds = this.Bounds; //do just one call to the recursive bounds property
+                }
+            }
+
+            if (isWidthperc) 
+            {
+                w = (bounds.Width + bounds.X) * (Width.Value * 0.01f);
+            }
+            else
+            {
+                w = Width.ToDeviceValue(null, UnitRenderingType.Horizontal, this);
+            }
+            if (isHeightperc) 
+            {
+                h = (bounds.Height + bounds.Y) * (Height.Value * 0.01f);
+            }
+            else 
+            {
+                h = Height.ToDeviceValue(null, UnitRenderingType.Vertical, this);
             }
 
             return new SizeF(w, h);
diff --git a/Source/Document Structure/SvgGroup.cs b/Source/Document Structure/SvgGroup.cs
index ce52270ab6b31e35ceace3b0984bb92de70435d2..3dfc691f6f772c5a5e42f32deef0ce6316596390 100644
--- a/Source/Document Structure/SvgGroup.cs	
+++ b/Source/Document Structure/SvgGroup.cs	
@@ -17,17 +17,9 @@ namespace Svg
         /// Gets the <see cref="GraphicsPath"/> for this element.
         /// </summary>
         /// <value></value>
-        public override System.Drawing.Drawing2D.GraphicsPath Path
+        public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer)
         {
-            get 
-            { 
-                //var path = new GraphicsPath();
-                //AddPaths(this, path);
-  
-                return GetPaths(this);
-            }
-            protected set
-            { }
+            return GetPaths(this, renderer);
         }
 
         /// <summary>
@@ -73,11 +65,13 @@ namespace Svg
             if (!Visible || !Displayable)
                 return;
 
-            this.PushTransforms(renderer);
-            this.SetClip(renderer);
-            base.RenderChildren(renderer);
-            this.ResetClip(renderer);
-            this.PopTransforms(renderer);
+            if (this.PushTransforms(renderer))
+            {
+                this.SetClip(renderer);
+                base.RenderChildren(renderer);
+                this.ResetClip(renderer);
+                this.PopTransforms(renderer);
+            }
         }
 
         
diff --git a/Source/Document Structure/SvgSwitch.cs b/Source/Document Structure/SvgSwitch.cs
index e9af587a868c788cb042c4a0bfc18ba04505167f..d3700306e19ce0de75605d3a590256f47cc50582 100644
--- a/Source/Document Structure/SvgSwitch.cs	
+++ b/Source/Document Structure/SvgSwitch.cs	
@@ -17,17 +17,9 @@ namespace Svg
         /// Gets the <see cref="GraphicsPath"/> for this element.
         /// </summary>
         /// <value></value>
-        public override System.Drawing.Drawing2D.GraphicsPath Path
+        public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer)
         {
-            get
-            {
-                //var path = new GraphicsPath();
-                //AddPaths(this, path);
-
-                return GetPaths(this);
-            }
-            protected set
-            { }
+            return GetPaths(this, renderer);
         }
 
         /// <summary>
diff --git a/Source/Document Structure/SvgUse.cs b/Source/Document Structure/SvgUse.cs
index 6fe3d2e485f7ed0299b9e35e52b42aaed4eafc55..147d0b915adef2685cf6e7acf2ee01d6242cc252 100644
--- a/Source/Document Structure/SvgUse.cs	
+++ b/Source/Document Structure/SvgUse.cs	
@@ -38,10 +38,12 @@ namespace Svg
         /// Applies the required transforms to <see cref="SvgRenderer"/>.
         /// </summary>
         /// <param name="renderer">The <see cref="SvgRenderer"/> to be transformed.</param>
-        protected internal override void PushTransforms(SvgRenderer renderer)
+        protected internal override bool PushTransforms(SvgRenderer renderer)
         {
-            base.PushTransforms(renderer);
-            renderer.TranslateTransform(this.X.ToDeviceValue(this), this.Y.ToDeviceValue(this, true));
+            if (!base.PushTransforms(renderer)) return false;
+            renderer.TranslateTransform(this.X.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), 
+                                        this.Y.ToDeviceValue(renderer, UnitRenderingType.Vertical, this));
+            return true;
         }
 
         /// <summary>
@@ -53,15 +55,10 @@ namespace Svg
             this.Y = 0;
         }
 
-        public override System.Drawing.Drawing2D.GraphicsPath Path
+        public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer)
         {
-            get
-            {
-                SvgVisualElement element = (SvgVisualElement)this.OwnerDocument.IdManager.GetElementById(this.ReferencedElement);
-                return (element != null) ? element.Path : null;
-            }
-            protected set
-            { }
+            SvgVisualElement element = (SvgVisualElement)this.OwnerDocument.IdManager.GetElementById(this.ReferencedElement);
+            return (element != null) ? element.Path(renderer) : null;
         }
 
         public override System.Drawing.RectangleF Bounds
diff --git a/Source/Extensibility/SvgForeignObject.cs b/Source/Extensibility/SvgForeignObject.cs
index afe0ed0f8cbb223aca9e3b7f8235fe44a324f768..3fc4cdd485c95b3eb6950a98d0af67a3cc2fd134 100644
--- a/Source/Extensibility/SvgForeignObject.cs
+++ b/Source/Extensibility/SvgForeignObject.cs
@@ -17,17 +17,9 @@ namespace Svg
         /// Gets the <see cref="GraphicsPath"/> for this element.
         /// </summary>
         /// <value></value>
-        public override System.Drawing.Drawing2D.GraphicsPath Path
+        public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer)
         {
-            get
-            {
-                //var path = new GraphicsPath();
-                //AddPaths(this, path);
-
-                return GetPaths(this);
-            }
-            protected set
-            { }
+            return GetPaths(this, renderer);
         }
 
         /// <summary>
diff --git a/Source/Filter Effects/SvgFilter.cs b/Source/Filter Effects/SvgFilter.cs
index a1946b2694a7e1e7d4184d2f23de4f8434dbeccf..2ac722d17f4d952c3fa45beb773a39dff5413de6 100644
--- a/Source/Filter Effects/SvgFilter.cs	
+++ b/Source/Filter Effects/SvgFilter.cs	
@@ -151,7 +151,7 @@ namespace Svg.FilterEffects
         {
             if (this.sourceGraphic == null)
             {
-                RectangleF bounds = element.Path.GetBounds();
+                RectangleF bounds = element.Path(renderer).GetBounds();
                 this.sourceGraphic = new Bitmap((int)bounds.Width, (int)bounds.Height);
 
                 using (var graphics = Graphics.FromImage(this.sourceGraphic))
diff --git a/Source/Local.testsettings b/Source/Local.testsettings
new file mode 100644
index 0000000000000000000000000000000000000000..167cb2df1416e57f4941eed093e9d4e5a5403dbc
--- /dev/null
+++ b/Source/Local.testsettings
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestSettings name="Local" id="616d39c5-86e4-40f8-97e9-b8a423ce7322" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
+  <Description>These are default test settings for a local test run.</Description>
+  <Deployment enabled="false" />
+  <Execution>
+    <TestTypeSpecific />
+    <AgentRule name="Execution Agents">
+    </AgentRule>
+  </Execution>
+</TestSettings>
\ No newline at end of file
diff --git a/Source/Painting/GenericBoundable.cs b/Source/Painting/GenericBoundable.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5073d9d7c2242acfa2af87cf1536821b6097f0bb
--- /dev/null
+++ b/Source/Painting/GenericBoundable.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Drawing;
+
+namespace Svg
+{
+    internal class GenericBoundable : ISvgBoundable
+    {
+        private RectangleF _rect;
+
+        public GenericBoundable(RectangleF rect)
+        {
+            _rect = rect;
+        }
+        public GenericBoundable(float x, float y, float width, float height)
+        {
+            _rect = new RectangleF(x, y, width, height);
+        }
+
+        public System.Drawing.PointF Location
+        {
+            get { return _rect.Location; }
+        }
+
+        public System.Drawing.SizeF Size
+        {
+            get { return _rect.Size; }
+        }
+
+        public System.Drawing.RectangleF Bounds
+        {
+            get { return _rect; }
+        }
+    }
+}
diff --git a/Source/Painting/ISvgStylable.cs b/Source/Painting/ISvgStylable.cs
index 841fcc05f39c5536bb101dddf41f0024a57d795d..47274168bb89245f98e496c0bed2d3466e41b574 100644
--- a/Source/Painting/ISvgStylable.cs
+++ b/Source/Painting/ISvgStylable.cs
@@ -19,6 +19,6 @@ namespace Svg
         float StrokeMiterLimit { get; set; }
         SvgUnitCollection StrokeDashArray { get; set; }
         SvgUnit StrokeDashOffset { get; set; }
-        GraphicsPath Path { get; }
+        GraphicsPath Path(SvgRenderer renderer);
     }
 }
\ No newline at end of file
diff --git a/Source/Painting/SvgColourConverter.cs b/Source/Painting/SvgColourConverter.cs
index 1ab383736b82afbaa69ed18e952c8d2f461ec8f4..0f381c1df29a7adbbd5686411a458d14d97fbea2 100644
--- a/Source/Painting/SvgColourConverter.cs
+++ b/Source/Painting/SvgColourConverter.cs
@@ -95,6 +95,37 @@ namespace Svg
                     return base.ConvertFrom(context, culture, colour);
                 }
                 
+                switch (colour.ToLowerInvariant())
+                {
+                    case "activeborder": return SystemColors.ActiveBorder;
+                    case "activecaption": return SystemColors.ActiveCaption;
+                    case "appworkspace": return SystemColors.AppWorkspace;
+                    case "background": return SystemColors.Desktop;
+                    case "buttonface": return SystemColors.Control;
+                    case "buttonhighlight": return SystemColors.ControlLightLight;
+                    case "buttonshadow": return SystemColors.ControlDark;
+                    case "buttontext": return SystemColors.ControlText;
+                    case "captiontext": return SystemColors.ActiveCaptionText;
+                    case "graytext": return SystemColors.GrayText;
+                    case "highlight": return SystemColors.Highlight;
+                    case "highlighttext": return SystemColors.HighlightText;
+                    case "inactiveborder": return SystemColors.InactiveBorder;
+                    case "inactivecaption": return SystemColors.InactiveCaption;
+                    case "inactivecaptiontext": return SystemColors.InactiveCaptionText;
+                    case "infobackground": return SystemColors.Info;
+                    case "infotext": return SystemColors.InfoText;
+                    case "menu": return SystemColors.Menu;
+                    case "menutext": return SystemColors.MenuText;
+                    case "scrollbar": return SystemColors.ScrollBar;
+                    case "threeddarkshadow": return SystemColors.ControlDarkDark;
+                    case "threedface": return SystemColors.Control;
+                    case "threedhighlight": return SystemColors.ControlLight;
+                    case "threedlightshadow": return SystemColors.ControlLightLight;
+                    case "window": return SystemColors.Window;
+                    case "windowframe": return SystemColors.WindowFrame;
+                    case "windowtext": return SystemColors.WindowText;
+                }
+
             	Thread.CurrentThread.CurrentCulture = oldCulture;
             }
 
diff --git a/Source/Painting/SvgColourServer.cs b/Source/Painting/SvgColourServer.cs
index 2c09d8ed93818302e8054f5411cd9493db1a6c9a..99fdf7c7b67aa5d1c92f1b837b961ee9919541c8 100644
--- a/Source/Painting/SvgColourServer.cs
+++ b/Source/Painting/SvgColourServer.cs
@@ -11,9 +11,14 @@ namespace Svg
     	/// <summary>
         /// An unspecified <see cref="SvgPaintServer"/>.
         /// </summary>
-        public static readonly SvgPaintServer NotSet = new SvgColourServer();
-    	
-        public SvgColourServer() : this(Color.Black)
+        public static readonly SvgPaintServer NotSet = new SvgColourServer(System.Drawing.Color.Black);
+        /// <summary>
+        /// A <see cref="SvgPaintServer"/> that should inherit from its parent.
+        /// </summary>
+        public static readonly SvgPaintServer Inherit = new SvgColourServer(System.Drawing.Color.Black);
+
+        public SvgColourServer()
+            : this(System.Drawing.Color.Black)
         {
         }
 
@@ -30,13 +35,13 @@ namespace Svg
             set { this._colour = value; }
         }
 
-        public override Brush GetBrush(SvgVisualElement styleOwner, float opacity)
+        public override Brush GetBrush(SvgVisualElement styleOwner, SvgRenderer renderer, float opacity)
         {
             //is none?
-            if (this == SvgPaintServer.None) return new SolidBrush(Color.Transparent);
+            if (this == SvgPaintServer.None) return new SolidBrush(System.Drawing.Color.Transparent);
 
             int alpha = (int)((opacity * (this.Colour.A/255.0f) ) * 255);
-            Color colour = Color.FromArgb(alpha, this.Colour);
+            Color colour = System.Drawing.Color.FromArgb(alpha, this.Colour);
 
             return new SolidBrush(colour);
         }
diff --git a/Source/Painting/SvgDeferredPaintServer.cs b/Source/Painting/SvgDeferredPaintServer.cs
index cbd46053a53fb42c7ce0428187ef3ca211e700d5..22adfc87cfa53f823892c890e98423000a8d2a22 100644
--- a/Source/Painting/SvgDeferredPaintServer.cs
+++ b/Source/Painting/SvgDeferredPaintServer.cs
@@ -24,19 +24,30 @@ namespace Svg
             this.DeferredId = id;
         }
 
-        private void EnsureServer()
+        public void EnsureServer(SvgElement styleOwner)
         {
             if (!_serverLoaded)
             {
-                _concreteServer = this.Document.IdManager.GetElementById(this.DeferredId) as SvgPaintServer;
+                if (this.DeferredId == "currentColor" && styleOwner != null) 
+                {
+                    var colorElement = (from e in styleOwner.ParentsAndSelf.OfType<SvgElement>()
+                                        where e.Color != SvgPaintServer.None && e.Color != SvgColourServer.NotSet && 
+                                              e.Color != SvgColourServer.Inherit && e.Color != SvgColourServer.None
+                                        select e).FirstOrDefault();
+                    _concreteServer = (colorElement == null ? SvgPaintServer.None : colorElement.Color);
+                }
+                else 
+                {
+                    _concreteServer = this.Document.IdManager.GetElementById(this.DeferredId) as SvgPaintServer;
+                }
                 _serverLoaded = true;
             }
         }
 
-        public override System.Drawing.Brush GetBrush(SvgVisualElement styleOwner, float opacity)
+        public override System.Drawing.Brush GetBrush(SvgVisualElement styleOwner, SvgRenderer renderer, float opacity)
         {
-            EnsureServer();
-            return _concreteServer.GetBrush(styleOwner, opacity);
+            EnsureServer(styleOwner);
+            return _concreteServer.GetBrush(styleOwner, renderer, opacity);
         }
 
         public override SvgElement DeepCopy()
@@ -72,7 +83,7 @@ namespace Svg
             return (_serverLoaded ? _serverLoaded.ToString() : string.Format("deferred: {0}", this.DeferredId));
         }
 
-        public static T TryGet<T>(SvgPaintServer server) where T : SvgPaintServer
+        public static T TryGet<T>(SvgPaintServer server, SvgElement parent) where T : SvgPaintServer
         {
             var deferred = server as SvgDeferredPaintServer;
             if (deferred == null)
@@ -81,7 +92,7 @@ namespace Svg
             }
             else
             {
-                deferred.EnsureServer();
+                deferred.EnsureServer(parent);
                 return deferred._concreteServer as T;
             }
         }
diff --git a/Source/Painting/SvgGradientServer.cs b/Source/Painting/SvgGradientServer.cs
index e904a17ba7c1682ba42e320607b9c1159bc0c6c9..f5c36617b1d64edcbc2a3fee4ca5a8cf3dfb4186 100644
--- a/Source/Painting/SvgGradientServer.cs
+++ b/Source/Painting/SvgGradientServer.cs
@@ -9,7 +9,7 @@ namespace Svg
     /// <summary>
     /// Provides the base class for all paint servers that wish to render a gradient.
     /// </summary>
-    public abstract class SvgGradientServer : SvgPaintServer
+    public abstract class SvgGradientServer : SvgPaintServer, ISvgSupportsCoordinateUnits
     {
         private SvgCoordinateUnits _gradientUnits;
         private SvgGradientSpreadMethod _spreadMethod;
@@ -130,7 +130,7 @@ namespace Svg
         /// </summary>
         /// <param name="owner">The parent <see cref="SvgVisualElement"/>.</param>
         /// <param name="opacity">The opacity of the colour blend.</param>
-        protected ColorBlend GetColorBlend(SvgVisualElement owner, float opacity, bool radial)
+        protected ColorBlend GetColorBlend(SvgRenderer renderer, float opacity, bool radial)
         {
             int colourBlends = this.Stops.Count;
             bool insertStart = false;
@@ -179,18 +179,19 @@ namespace Svg
             int actualStops = 0;
             float mergedOpacity = 0.0f;
             float position = 0.0f;
-            Color colour = Color.Black;
+            Color colour = System.Drawing.Color.Black;
 
             for (int i = 0; i < colourBlends; i++)
             {
                 var currentStop = this.Stops[radial ? this.Stops.Count - 1 - actualStops : actualStops];
+                var boundWidth = renderer.Boundable().Bounds.Width;
 
                 mergedOpacity = opacity * currentStop.Opacity;
                 position =
                     radial
-                    ? 1 - (currentStop.Offset.ToDeviceValue(owner) / owner.Bounds.Width)
-                    : (currentStop.Offset.ToDeviceValue(owner) / owner.Bounds.Width);
-                colour = Color.FromArgb((int)(mergedOpacity * 255), currentStop.Colour);
+                    ? 1 - (currentStop.Offset.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) / boundWidth)
+                    : (currentStop.Offset.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) / boundWidth);
+                colour = System.Drawing.Color.FromArgb((int)(mergedOpacity * 255), currentStop.GetColor(this));
 
                 actualStops++;
 
@@ -219,20 +220,15 @@ namespace Svg
             return blend;
         }
 
-        protected void LoadStops()
+        protected void LoadStops(SvgVisualElement parent)
         {
-            var core = SvgDeferredPaintServer.TryGet<SvgGradientServer>(_inheritGradient);
+            var core = SvgDeferredPaintServer.TryGet<SvgGradientServer>(_inheritGradient, parent);
             if (this.Stops.Count == 0 && core != null)
             {
                 _stops.AddRange(core.Stops);
             }
         }
 
-        protected ISvgBoundable CalculateBoundable(SvgVisualElement renderingElement)
-        {
-            return (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) ? (ISvgBoundable)renderingElement : renderingElement.OwnerDocument;
-        }
-
         protected PointF TransformPoint(PointF originalPoint)
         {
             var newPoint = new[] { originalPoint };
@@ -272,5 +268,10 @@ namespace Svg
 
             return newObj;
         }
+
+        public SvgCoordinateUnits GetUnits()
+        {
+            return _gradientUnits;
+        }
     }
 }
\ No newline at end of file
diff --git a/Source/Painting/SvgGradientStop.cs b/Source/Painting/SvgGradientStop.cs
index 0269ff2b3dd849479062ab0b615472ea72d00836..9980b345c9a37cd148288673305412ba809f91e8 100644
--- a/Source/Painting/SvgGradientStop.cs
+++ b/Source/Painting/SvgGradientStop.cs
@@ -13,7 +13,7 @@ namespace Svg
     public class SvgGradientStop : SvgElement
     {
         private SvgUnit _offset;
-        private Color _colour;
+        private SvgPaintServer _colour;
         private float _opacity;
 
         /// <summary>
@@ -58,8 +58,8 @@ namespace Svg
         /// Gets or sets the colour of the gradient stop.
         /// </summary>
         [SvgAttribute("stop-color")]
-        [TypeConverter(typeof(SvgColourConverter))]
-        public Color Colour
+        [TypeConverter(typeof(SvgPaintServerFactory))]
+        public SvgPaintServer Colour
         {
             get { return this._colour; }
             set { this._colour = value; }
@@ -81,7 +81,7 @@ namespace Svg
         public SvgGradientStop()
         {
             this._offset = new SvgUnit(0.0f);
-            this._colour = Color.Transparent;
+            this._colour = SvgColourServer.NotSet;
             this._opacity = 1.0f;
         }
 
@@ -93,10 +93,16 @@ namespace Svg
         public SvgGradientStop(SvgUnit offset, Color colour)
         {
             this._offset = offset;
-            this._colour = colour;
+            this._colour = new SvgColourServer(colour);
             this._opacity = 1.0f;
         }
 
+        public Color GetColor(SvgElement parent)
+        {
+            var core = SvgDeferredPaintServer.TryGet<SvgColourServer>(_colour, parent);
+            if (core == null) throw new InvalidOperationException("Invalid paint server for gradient stop detected.");
+            return core.Colour;
+        }
 
 		public override SvgElement DeepCopy()
 		{
diff --git a/Source/Painting/SvgLinearGradientServer.cs b/Source/Painting/SvgLinearGradientServer.cs
index 72724da682cf936dd565c5e8f1cc1c4b5b2d9254..d2356fd354bdff0cbb7139d8ea5a56f911f08a14 100644
--- a/Source/Painting/SvgLinearGradientServer.cs
+++ b/Source/Painting/SvgLinearGradientServer.cs
@@ -79,44 +79,51 @@ namespace Svg
             Y2 = new SvgUnit(SvgUnitType.Percentage, 0F);
         }
 
-        public override Brush GetBrush(SvgVisualElement renderingElement, float opacity)
+        public override Brush GetBrush(SvgVisualElement renderingElement, SvgRenderer renderer, float opacity)
         {
-            LoadStops();
+            LoadStops(renderingElement);
             if (IsInvalid)
             {
                 return null;
             }
 
-            var boundable = CalculateBoundable(renderingElement);
+            try
+            {
+                if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.Boundable(renderingElement);
 
-            var specifiedStart = CalculateStart(boundable);
-            var specifiedEnd = CalculateEnd(boundable);
+                var specifiedStart = CalculateStart(renderer);
+                var specifiedEnd = CalculateEnd(renderer);
 
-            var effectiveStart = specifiedStart;
-            var effectiveEnd = specifiedEnd;
+                var effectiveStart = specifiedStart;
+                var effectiveEnd = specifiedEnd;
 
-            if (NeedToExpandGradient(renderingElement, specifiedStart, specifiedEnd))
-            {
-                var expansion = ExpandGradient(renderingElement, specifiedStart, specifiedEnd);
-                effectiveStart = expansion.StartPoint;
-                effectiveEnd = expansion.EndPoint;
-            }
+                if (NeedToExpandGradient(renderingElement, specifiedStart, specifiedEnd))
+                {
+                    var expansion = ExpandGradient(renderingElement, specifiedStart, specifiedEnd);
+                    effectiveStart = expansion.StartPoint;
+                    effectiveEnd = expansion.EndPoint;
+                }
 
-            return new LinearGradientBrush(effectiveStart, effectiveEnd, Color.Transparent, Color.Transparent)
+                return new LinearGradientBrush(effectiveStart, effectiveEnd, System.Drawing.Color.Transparent, System.Drawing.Color.Transparent)
+                {
+                    InterpolationColors = CalculateColorBlend(renderer, opacity, specifiedStart, effectiveStart, specifiedEnd, effectiveEnd),
+                    WrapMode = WrapMode.TileFlipX
+                };
+            }
+            finally
             {
-                InterpolationColors = CalculateColorBlend(renderingElement, opacity, specifiedStart, effectiveStart, specifiedEnd, effectiveEnd),
-                WrapMode = WrapMode.TileFlipX
-            };
+                if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.PopBoundable();
+            }
         }
 
-        private PointF CalculateStart(ISvgBoundable boundable)
+        private PointF CalculateStart(SvgRenderer renderer)
         {
-            return TransformPoint(new PointF(this.X1.ToDeviceValue(boundable), this.Y1.ToDeviceValue(boundable, true)));
+            return TransformPoint(SvgUnit.GetDevicePointOffset(this.X1, this.Y1, renderer, this));
         }
 
-        private PointF CalculateEnd(ISvgBoundable boundable)
+        private PointF CalculateEnd(SvgRenderer renderer)
         {
-            return TransformPoint(new PointF(this.X2.ToDeviceValue(boundable), this.Y2.ToDeviceValue(boundable, true)));
+            return TransformPoint(SvgUnit.GetDevicePointOffset(this.X2, this.Y2, renderer, this));
         }
 
         private bool NeedToExpandGradient(ISvgBoundable boundable, PointF specifiedStart, PointF specifiedEnd)
@@ -174,9 +181,9 @@ namespace Svg
             return new GradientPoints(effectiveStart, effectiveEnd);
         }
 
-        private ColorBlend CalculateColorBlend(SvgVisualElement owner, float opacity, PointF specifiedStart, PointF effectiveStart, PointF specifiedEnd, PointF effectiveEnd)
+        private ColorBlend CalculateColorBlend(SvgRenderer renderer, float opacity, PointF specifiedStart, PointF effectiveStart, PointF specifiedEnd, PointF effectiveEnd)
         {
-            var colorBlend = GetColorBlend(owner, opacity, false);
+            var colorBlend = GetColorBlend(renderer, opacity, false);
 
             var startDelta = CalculateDistance(specifiedStart, effectiveStart);
             var endDelta = CalculateDistance(specifiedEnd, effectiveEnd);
diff --git a/Source/Painting/SvgMarker.cs b/Source/Painting/SvgMarker.cs
index 31bd8ba6743b173cd49eb94536b705ea2d998b79..12b4f80e9ed096eeffbf8d06f73a1efccb6f429d 100644
--- a/Source/Painting/SvgMarker.cs
+++ b/Source/Painting/SvgMarker.cs
@@ -87,26 +87,19 @@ namespace Svg
             Overflow = SvgOverflow.hidden;
         }
 
-        public override System.Drawing.Drawing2D.GraphicsPath Path
+        public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer)
         {
-            get
-            {
-                var path = this.Children.FirstOrDefault(x => x is SvgPath);
-                if (path != null)
-                    return (path as SvgPath).Path;
-                return null;
-            }
-            protected set
-            {
-                // No-op
-            }
+            var path = this.Children.FirstOrDefault(x => x is SvgPath);
+            if (path != null)
+                return (path as SvgPath).Path(renderer);
+            return null;
         }
 
         public override System.Drawing.RectangleF Bounds
         {
             get
             {
-                var path = this.Path;
+                var path = this.Path(null);
                 if (path != null)
                     return path.GetBounds();
                 return new System.Drawing.RectangleF();
@@ -177,7 +170,7 @@ namespace Svg
         /// <param name="pMarkerPoint"></param>
         private void RenderPart2(float fAngle, SvgRenderer pRenderer, SvgPath pOwner, PointF pMarkerPoint)
         {
-            Pen pRenderPen = CreatePen(pOwner);
+            Pen pRenderPen = CreatePen(pOwner, pRenderer);
 
             GraphicsPath markerPath = GetClone(pOwner);
 
@@ -190,10 +183,14 @@ namespace Svg
             switch (MarkerUnits)
             {
                 case SvgMarkerUnits.strokeWidth:
-                    transMatrix.Translate(AdjustForViewBoxWidth(-RefX * pOwner.StrokeWidth), AdjustForViewBoxHeight(-RefY * pOwner.StrokeWidth));
+                    transMatrix.Translate(AdjustForViewBoxWidth(-RefX.ToDeviceValue(pRenderer, UnitRenderingType.Horizontal, this) * 
+                                            pOwner.StrokeWidth.ToDeviceValue(pRenderer, UnitRenderingType.Other, this)),
+                                          AdjustForViewBoxHeight(-RefY.ToDeviceValue(pRenderer, UnitRenderingType.Vertical, this) *
+                                            pOwner.StrokeWidth.ToDeviceValue(pRenderer, UnitRenderingType.Other, this)));
                     break;
                 case SvgMarkerUnits.userSpaceOnUse:
-                    transMatrix.Translate(-RefX, -RefY);
+                    transMatrix.Translate(-RefX.ToDeviceValue(pRenderer, UnitRenderingType.Horizontal, this),
+                                          -RefY.ToDeviceValue(pRenderer, UnitRenderingType.Vertical, this));
                     break;
             }
             markerPath.Transform(transMatrix);
@@ -205,7 +202,7 @@ namespace Svg
 
             if (pFill != null)
             {
-                Brush pBrush = pFill.GetBrush(this, fOpacity);
+                Brush pBrush = pFill.GetBrush(this, pRenderer, fOpacity);
                 pRenderer.FillPath(pBrush, markerPath);
                 pBrush.Dispose();
             }
@@ -219,17 +216,18 @@ namespace Svg
         /// </summary>
         /// <param name="pStroke"></param>
         /// <returns></returns>
-        private Pen CreatePen(SvgPath pPath)
+        private Pen CreatePen(SvgPath pPath, SvgRenderer renderer)
         {
-            Brush pBrush = pPath.Stroke.GetBrush(this, Opacity);
+            Brush pBrush = pPath.Stroke.GetBrush(this, renderer, Opacity);
             switch (MarkerUnits)
             {
                 case SvgMarkerUnits.strokeWidth:
-                    return (new Pen(pBrush, StrokeWidth * pPath.StrokeWidth));
+                    return (new Pen(pBrush, StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this) * 
+                                            pPath.StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this)));
                 case SvgMarkerUnits.userSpaceOnUse:
-                    return (new Pen(pBrush, StrokeWidth));
+                    return (new Pen(pBrush, StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this)));
             }
-            return (new Pen(pBrush, StrokeWidth));
+            return (new Pen(pBrush, StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this)));
         }
 
         /// <summary>
@@ -238,7 +236,7 @@ namespace Svg
         /// <returns></returns>
         private GraphicsPath GetClone(SvgPath pPath)
         {
-            GraphicsPath pRet = Path.Clone() as GraphicsPath;
+            GraphicsPath pRet = Path(null).Clone() as GraphicsPath;
             switch (MarkerUnits)
             {
                 case SvgMarkerUnits.strokeWidth:
diff --git a/Source/Painting/SvgPaintServer.cs b/Source/Painting/SvgPaintServer.cs
index 2c2f7022cea1b684d5897d956cdaf2340943ec82..11c342e5045f6e06d23fcb716a88dfd07c385291 100644
--- a/Source/Painting/SvgPaintServer.cs
+++ b/Source/Painting/SvgPaintServer.cs
@@ -39,7 +39,7 @@ namespace Svg
         /// </summary>
         /// <param name="styleOwner">The owner <see cref="SvgVisualElement"/>.</param>
         /// <param name="opacity">The opacity of the brush.</param>
-        public abstract Brush GetBrush(SvgVisualElement styleOwner, float opacity);
+        public abstract Brush GetBrush(SvgVisualElement styleOwner, SvgRenderer renderer, float opacity);
 
         /// <summary>
         /// Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
diff --git a/Source/Painting/SvgPaintServerFactory.cs b/Source/Painting/SvgPaintServerFactory.cs
index 448e100df50f43d0a614a41ef5024e31d4a3431e..54a4ea53881483b1f649c6dccbfe343fc5c7e8c3 100644
--- a/Source/Painting/SvgPaintServerFactory.cs
+++ b/Source/Painting/SvgPaintServerFactory.cs
@@ -27,6 +27,14 @@ namespace Svg
             {
                 return SvgColourServer.NotSet;
             }
+            else if (value == "inherit")
+            {
+                return SvgColourServer.Inherit;
+            }
+            else if (value == "currentColor")
+            {
+                return new SvgDeferredPaintServer(document, value);
+            }
             else if (value.IndexOf("url(#") > -1)
             {
                 Match match = _urlRefPattern.Match(value);
diff --git a/Source/Painting/SvgPatternServer.cs b/Source/Painting/SvgPatternServer.cs
index 384fc1936b8690fb598f7510274eb6d97437d536..9afa695d35c2b6ad84e0fe6cbec142068eab203f 100644
--- a/Source/Painting/SvgPatternServer.cs
+++ b/Source/Painting/SvgPatternServer.cs
@@ -13,13 +13,15 @@ namespace Svg
     /// A pattern is used to fill or stroke an object using a pre-defined graphic object which can be replicated ("tiled") at fixed intervals in x and y to cover the areas to be painted.
     /// </summary>
     [SvgElement("pattern")]
-    public sealed class SvgPatternServer : SvgPaintServer, ISvgViewPort
+    public sealed class SvgPatternServer : SvgPaintServer, ISvgViewPort, ISvgSupportsCoordinateUnits
     {
         private SvgUnit _width;
         private SvgUnit _height;
         private SvgUnit _x;
         private SvgUnit _y;
         private SvgViewBox _viewBox;
+        private SvgCoordinateUnits _patternUnits;
+        private SvgCoordinateUnits _patternContentUnits;
 
 		[SvgAttribute("overflow")]
 		public SvgOverflow Overflow
@@ -61,6 +63,26 @@ namespace Svg
             set { this._width = value; }
         }
 
+        /// <summary>
+        /// Gets or sets the width of the pattern.
+        /// </summary>
+        [SvgAttribute("patternUnits")]
+        public SvgCoordinateUnits PatternUnits
+        {
+            get { return this._patternUnits; }
+            set { this._patternUnits = value; }
+        }
+
+        /// <summary>
+        /// Gets or sets the width of the pattern.
+        /// </summary>
+        [SvgAttribute("patternUnits")]
+        public SvgCoordinateUnits PatternContentUnits
+        {
+            get { return this._patternContentUnits; }
+            set { this._patternContentUnits = value; }
+        }
+
         /// <summary>
         /// Gets or sets the height of the pattern.
         /// </summary>
@@ -107,7 +129,7 @@ namespace Svg
         /// </summary>
         /// <param name="renderingElement">The owner <see cref="SvgVisualElement"/>.</param>
         /// <param name="opacity">The opacity of the brush.</param>
-        public override Brush GetBrush(SvgVisualElement renderingElement, float opacity)
+        public override Brush GetBrush(SvgVisualElement renderingElement, SvgRenderer renderer, float opacity)
         {
             // If there aren't any children, return null
             if (this.Children.Count == 0)
@@ -117,18 +139,21 @@ namespace Svg
             if (this._width.Value == 0.0f || this._height.Value == 0.0f)
                 return null;
 
-            float width = this._width.ToDeviceValue(renderingElement);
-            float height = this._height.ToDeviceValue(renderingElement, true);
-
-            Bitmap image = new Bitmap((int)width, (int)height);
-            using (SvgRenderer renderer = SvgRenderer.FromImage(image))
+            try
             {
-                Matrix patternMatrix = new Matrix();
+                if (this.PatternUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.Boundable(renderingElement);
+
+                float width = this._width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this);
+                float height = this._height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this);
 
+                Matrix patternMatrix = new Matrix();
                 // Apply a translate if needed
                 if (this._x.Value > 0.0f || this._y.Value > 0.0f)
                 {
-                    patternMatrix.Translate(this._x.ToDeviceValue(renderingElement) + -1.0f, this._y.ToDeviceValue(renderingElement, true) + -1.0f);
+                    float x = this._x.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, this);
+                    float y = this._y.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, this);
+
+                    patternMatrix.Translate(x + -1.0f, y + -1.0f);
                 }
                 else
                 {
@@ -137,27 +162,40 @@ namespace Svg
 
                 if (this.ViewBox.Height > 0 || this.ViewBox.Width > 0)
                 {
-                    patternMatrix.Scale(this.Width.ToDeviceValue() / this.ViewBox.Width, this.Height.ToDeviceValue() / this.ViewBox.Height);
+                    patternMatrix.Scale(this.Width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) / this.ViewBox.Width,
+                                        this.Height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this) / this.ViewBox.Height);
                 }
 
-                renderer.Transform = patternMatrix;
-                renderer.CompositingQuality = CompositingQuality.HighQuality;
-                renderer.SmoothingMode = SmoothingMode.AntiAlias;
-                renderer.PixelOffsetMode = PixelOffsetMode.Half;
-
-                foreach (SvgElement child in this.Children)
+                Bitmap image = new Bitmap((int)width, (int)height);
+                using (SvgRenderer iRenderer = SvgRenderer.FromImage(image))
                 {
-                    child.RenderElement(renderer);
+                    iRenderer.Boundable((_patternContentUnits == SvgCoordinateUnits.ObjectBoundingBox) ? new GenericBoundable(0, 0, width, height) : renderer.Boundable());
+                    iRenderer.Transform = patternMatrix;
+                    iRenderer.CompositingQuality = CompositingQuality.HighQuality;
+                    iRenderer.SmoothingMode = SmoothingMode.AntiAlias;
+                    iRenderer.PixelOffsetMode = PixelOffsetMode.Half;
+
+                    foreach (SvgElement child in this.Children)
+                    {
+                        child.RenderElement(iRenderer);
+                    }
+
+                    iRenderer.Save();
                 }
 
-                renderer.Save();
-            }
+                image.Save(string.Format(@"C:\test{0:D3}.png", imgNumber++));
 
-            TextureBrush textureBrush = new TextureBrush(image);
+                TextureBrush textureBrush = new TextureBrush(image);
 
-            return textureBrush;
+                return textureBrush;
+            }
+            finally
+            {
+                if (this.PatternUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.PopBoundable();
+            }
         }
 
+        private static int imgNumber = 0;
 
 
 
@@ -180,5 +218,10 @@ namespace Svg
 			return newObj;
 
 		}
+
+        public SvgCoordinateUnits GetUnits()
+        {
+            return _patternUnits;
+        }
     }
 }
\ No newline at end of file
diff --git a/Source/Painting/SvgRadialGradientServer.cs b/Source/Painting/SvgRadialGradientServer.cs
index fafb951f743458206d62a882a589d99ffa306a7a..349c5dc1d4e20ffd2bf21874586dcf5a393be815 100644
--- a/Source/Painting/SvgRadialGradientServer.cs
+++ b/Source/Painting/SvgRadialGradientServer.cs
@@ -95,53 +95,55 @@ namespace Svg
             Radius = new SvgUnit(SvgUnitType.Percentage, 50F);
         }
 
-        public override Brush GetBrush(SvgVisualElement renderingElement, float opacity)
+        public override Brush GetBrush(SvgVisualElement renderingElement, SvgRenderer renderer, float opacity)
         {
-            LoadStops();
-            var origin = CalculateOrigin(renderingElement);
+            LoadStops(renderingElement);
 
-            var centerPoint = CalculateCenterPoint(renderingElement, origin);
-
-            var focalPoint = CalculateFocalPoint(renderingElement, origin);
-
-            var specifiedRadius = CalculateRadius(renderingElement);
-            var effectiveRadius = CalculateEffectiveRadius(renderingElement, centerPoint, specifiedRadius);
-
-            var brush = new PathGradientBrush(CreateGraphicsPath(origin, centerPoint, effectiveRadius))
+            try
             {
-                InterpolationColors = CalculateColorBlend(renderingElement, opacity, specifiedRadius, effectiveRadius),
-                CenterPoint = focalPoint
-            };
+                if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.Boundable(renderingElement);
+                var origin = renderer.Boundable().Location;
+                var centerPoint = CalculateCenterPoint(renderer, origin);
+                var focalPoint = CalculateFocalPoint(renderer, origin);
 
-            Debug.Assert(brush.Rectangle.Contains(renderingElement.Bounds), "Brush rectangle does not contain rendering element bounds!");
+                var specifiedRadius = CalculateRadius(renderer);
+                var effectiveRadius = CalculateEffectiveRadius(renderingElement, centerPoint, specifiedRadius);
 
-            return brush;
-        }
+                var brush = new PathGradientBrush(CreateGraphicsPath(origin, centerPoint, effectiveRadius))
+                {
+                    InterpolationColors = CalculateColorBlend(renderer, opacity, specifiedRadius, effectiveRadius),
+                    CenterPoint = focalPoint
+                };
 
-        private PointF CalculateOrigin(SvgVisualElement renderingElement)
-        {
-            return CalculateBoundable(renderingElement).Location;
+                Debug.Assert(brush.Rectangle.Contains(renderingElement.Bounds), "Brush rectangle does not contain rendering element bounds!");
+
+                return brush;
+            }
+            finally
+            {
+                if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.PopBoundable();
+            }
         }
 
-        private PointF CalculateCenterPoint(ISvgBoundable boundable, PointF origin)
+        private PointF CalculateCenterPoint(SvgRenderer renderer, PointF origin)
         {
-            var deviceCenterX = origin.X + CenterX.ToDeviceValue(boundable);
-            var deviceCenterY = origin.Y + CenterY.ToDeviceValue(boundable, true);
+            var deviceCenterX = origin.X + CenterX.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, this);
+            var deviceCenterY = origin.Y + CenterY.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, this);
             var transformedCenterPoint = TransformPoint(new PointF(deviceCenterX, deviceCenterY));
             return transformedCenterPoint;
         }
 
-        private PointF CalculateFocalPoint(ISvgBoundable boundable, PointF origin)
+        private PointF CalculateFocalPoint(SvgRenderer renderer, PointF origin)
         {
-            var deviceFocalX = origin.X + FocalX.ToDeviceValue(boundable);
-            var deviceFocalY = origin.Y + FocalY.ToDeviceValue(boundable, true);
+            var deviceFocalX = origin.X + FocalX.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, this);
+            var deviceFocalY = origin.Y + FocalY.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, this);
             var transformedFocalPoint = TransformPoint(new PointF(deviceFocalX, deviceFocalY));
             return transformedFocalPoint;
         }
 
-        private float CalculateRadius(ISvgBoundable boundable)
+        private float CalculateRadius(SvgRenderer renderer)
         {
-            var radius = Radius.ToDeviceValue(boundable);
+            var radius = Radius.ToDeviceValue(renderer, UnitRenderingType.Other, this);
             var transformRadiusVector = TransformVector(new PointF(radius, 0));
             var transformedRadius = CalculateLength(transformRadiusVector);
             return transformedRadius;
@@ -191,9 +193,9 @@ namespace Svg
             return path;
         }
 
-        private ColorBlend CalculateColorBlend(SvgVisualElement renderingElement, float opacity, float specifiedRadius, float effectiveRadius)
+        private ColorBlend CalculateColorBlend(SvgRenderer renderer, float opacity, float specifiedRadius, float effectiveRadius)
         {
-            var colorBlend = GetColorBlend(renderingElement, opacity, true);
+            var colorBlend = GetColorBlend(renderer, opacity, true);
 
             if (specifiedRadius >= effectiveRadius)
             {
diff --git a/Source/Paths/SvgPath.cs b/Source/Paths/SvgPath.cs
index 2ff21da665ea04770afa4445609fa3575633d6d1..95757d2b98b8cb80a29f7e9b4dead90595a6aea1 100644
--- a/Source/Paths/SvgPath.cs
+++ b/Source/Paths/SvgPath.cs
@@ -81,27 +81,20 @@ namespace Svg
         /// <summary>
         /// Gets the <see cref="GraphicsPath"/> for this element.
         /// </summary>
-        public override GraphicsPath Path
+        public override GraphicsPath Path(SvgRenderer renderer)
         {
-            get
+            if (this._path == null || this.IsPathDirty)
             {
-                if (this._path == null || this.IsPathDirty)
-                {
-                    _path = new GraphicsPath();
-
-                    foreach (SvgPathSegment segment in this.PathData)
-                    {
-                        segment.AddToPath(_path);
-                    }
+                _path = new GraphicsPath();
 
-                    this.IsPathDirty = false;
+                foreach (SvgPathSegment segment in this.PathData)
+                {
+                    segment.AddToPath(_path);
                 }
-                return _path;
-            }
-            protected set
-            {
-                _path = value;
+
+                this.IsPathDirty = false;
             }
+            return _path;
         }
 
         internal void OnPathUpdated()
@@ -124,7 +117,7 @@ namespace Svg
         /// <value>The bounds.</value>
         public override System.Drawing.RectangleF Bounds
         {
-            get { return this.Path.GetBounds(); }
+            get { return this.Path(null).GetBounds(); }
         }
 
         /// <summary>
@@ -145,8 +138,8 @@ namespace Svg
 		{
  			if (this.Stroke != null)
 			{
-				float strokeWidth = this.StrokeWidth.ToDeviceValue(this);
-				using (Pen pen = new Pen(this.Stroke.GetBrush(this, this.StrokeOpacity), strokeWidth))
+				float strokeWidth = this.StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this);
+				using (Pen pen = new Pen(this.Stroke.GetBrush(this, renderer, this.StrokeOpacity), strokeWidth))
 				{
 					if (this.StrokeDashArray != null && this.StrokeDashArray.Count > 0)
 					{
@@ -154,25 +147,26 @@ namespace Svg
 						pen.DashPattern = this.StrokeDashArray.ConvertAll(u => u.Value / ((strokeWidth <= 0) ? 1 : strokeWidth)).ToArray();
 					}
 
-					renderer.DrawPath(pen, this.Path);
+                    var path = this.Path(renderer);
+                    renderer.DrawPath(pen, path);
 
 					if (this.MarkerStart != null)
 					{
 						SvgMarker marker = this.OwnerDocument.GetElementById<SvgMarker>(this.MarkerStart.ToString());
-						marker.RenderMarker(renderer, this, Path.PathPoints[0], Path.PathPoints[0], Path.PathPoints[1]);
+                        marker.RenderMarker(renderer, this, path.PathPoints[0], path.PathPoints[0], path.PathPoints[1]);
 					}
 
 					if (this.MarkerMid != null)
 					{
 						SvgMarker marker = this.OwnerDocument.GetElementById<SvgMarker>(this.MarkerMid.ToString());
-						for (int i = 1; i <= Path.PathPoints.Length - 2; i++)
-							marker.RenderMarker(renderer, this, Path.PathPoints[i], Path.PathPoints[i - 1], Path.PathPoints[i], Path.PathPoints[i + 1]);
+                        for (int i = 1; i <= path.PathPoints.Length - 2; i++)
+                            marker.RenderMarker(renderer, this, path.PathPoints[i], path.PathPoints[i - 1], path.PathPoints[i], path.PathPoints[i + 1]);
 					}
 
 					if (this.MarkerEnd != null)
 					{
 						SvgMarker marker = this.OwnerDocument.GetElementById<SvgMarker>(this.MarkerEnd.ToString());
-						marker.RenderMarker(renderer, this, Path.PathPoints[Path.PathPoints.Length - 1], Path.PathPoints[Path.PathPoints.Length - 2], Path.PathPoints[Path.PathPoints.Length - 1]);
+                        marker.RenderMarker(renderer, this, path.PathPoints[path.PathPoints.Length - 1], path.PathPoints[path.PathPoints.Length - 2], path.PathPoints[path.PathPoints.Length - 1]);
 					}
 				}
 			}
diff --git a/Source/Properties/AssemblyInfo.cs b/Source/Properties/AssemblyInfo.cs
index b4d5deda9e9d72324b62754d34011af8823a99b5..24315354ce74136f0d04f6b796baa430ba0ff588 100644
--- a/Source/Properties/AssemblyInfo.cs
+++ b/Source/Properties/AssemblyInfo.cs
@@ -36,3 +36,5 @@ using System.Runtime.InteropServices;
 //[assembly: AssemblyFileVersion("1.0.1.*")]
 
 [assembly: CLSCompliant(true)]
+
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Svg.UnitTests")]
\ No newline at end of file
diff --git a/Source/Svg.csproj b/Source/Svg.csproj
index 1b00cbb5ce1e55b14525c509e6a3400035079b1e..c344e84bba1aa78e244d281e91374e3c2b325558 100644
--- a/Source/Svg.csproj
+++ b/Source/Svg.csproj
@@ -82,6 +82,7 @@
     <AssemblyOriginatorKeyFile>svgkey.snk</AssemblyOriginatorKeyFile>
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="PresentationCore" />
     <Reference Include="System" />
     <Reference Include="System.Drawing" />
     <Reference Include="System.Web" />
@@ -99,6 +100,9 @@
     <Compile Include="Clipping and Masking\SvgClipRule.cs" />
     <Compile Include="Clipping and Masking\SvgClipPath.cs" />
     <Compile Include="Clipping and Masking\SvgMask.cs" />
+    <Compile Include="DataTypes\ISvgSupportsCoordinateUnits.cs" />
+    <Compile Include="Painting\GenericBoundable.cs" />
+    <Compile Include="SvgNodeReader.cs" />
     <Compile Include="Css\CssQuery.cs" />
     <Compile Include="Css\SvgElementOps.cs" />
     <Compile Include="DataTypes\SvgAspectRatioConverter.cs" />
@@ -227,6 +231,7 @@
     <Compile Include="SvgContentNode.cs" />
     <Compile Include="SvgDefinitionDefaults.cs" />
     <Compile Include="NonSvgElement.cs" />
+    <Compile Include="SvgReader.cs" />
     <Compile Include="SvgUnknownElement.cs" />
     <Compile Include="SvgElementAttribute.cs" />
     <Compile Include="SvgExtentions.cs" />
diff --git a/Source/Svg.sln b/Source/Svg.sln
index b42362a7b489bb8ceee0210506719ac08c338fd5..5837eeec3830033a2979fa6659fe372f5823cba4 100644
--- a/Source/Svg.sln
+++ b/Source/Svg.sln
@@ -1,33 +1,76 @@
 
 Microsoft Visual Studio Solution File, Format Version 11.00
 # Visual Studio 2010
-# SharpDevelop 4.4
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svg", "Svg.csproj", "{886A98C5-37C0-4E8B-885E-30C1D2F98B47}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVGViewer", "..\Samples\SVGViewer\SVGViewer.csproj", "{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svg.UnitTests", "..\Tests\Svg.UnitTests\Svg.UnitTests.csproj", "{E702EB7D-D01D-438A-BADD-E72D4E49109F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A417AF1E-BEDB-4715-B4FD-D795579217F9}"
+	ProjectSection(SolutionItems) = preProject
+		Local.testsettings = Local.testsettings
+		Svg.vsmdi = Svg.vsmdi
+		TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SvgW3CTestRunner", "..\Tests\SvgW3CTestRunner\SvgW3CTestRunner.csproj", "{8ED74C39-6CFF-421E-952A-30F9E6957108}"
+EndProject
 Global
+	GlobalSection(TestCaseManagementSettings) = postSolution
+		CategoryFile = Svg.vsmdi
+	EndGlobalSection
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
+		Debug|Mixed Platforms = Debug|Mixed Platforms
 		Debug|x86 = Debug|x86
 		Release|Any CPU = Release|Any CPU
+		Release|Mixed Platforms = Release|Mixed Platforms
 		Release|x86 = Release|x86
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|x86.ActiveCfg = Debug|Any CPU
 		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|Any CPU.Build.0 = Release|Any CPU
+		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 		{886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|x86.ActiveCfg = Release|Any CPU
-		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|x86.Build.0 = Debug|Any CPU
+		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Mixed Platforms.Build.0 = Debug|x86
 		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|x86.ActiveCfg = Debug|x86
-		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|x86.Build.0 = Debug|Any CPU
 		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|x86.Build.0 = Release|Any CPU
+		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Mixed Platforms.ActiveCfg = Release|x86
+		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Mixed Platforms.Build.0 = Release|x86
 		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|x86.ActiveCfg = Release|Any CPU
+		{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|x86.Build.0 = Release|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+		{E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|x86.ActiveCfg = Release|Any CPU
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|Any CPU.ActiveCfg = Debug|x86
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|Mixed Platforms.Build.0 = Debug|x86
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|x86.ActiveCfg = Debug|x86
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|x86.Build.0 = Debug|x86
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|Any CPU.ActiveCfg = Release|x86
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|Mixed Platforms.ActiveCfg = Release|x86
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|Mixed Platforms.Build.0 = Release|x86
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|x86.ActiveCfg = Release|x86
+		{8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|x86.Build.0 = Release|x86
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/Source/Svg.vsmdi b/Source/Svg.vsmdi
new file mode 100644
index 0000000000000000000000000000000000000000..2a4df24c981700208f8d1bc0116c4c0196dc6b79
--- /dev/null
+++ b/Source/Svg.vsmdi
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestLists xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
+  <TestList name="Lists of Tests" id="8c43106b-9dc1-4907-a29f-aa66a61bf5b6">
+    <RunConfiguration id="616d39c5-86e4-40f8-97e9-b8a423ce7322" name="Local" storage="local.testsettings" type="Microsoft.VisualStudio.TestTools.Common.TestRunConfiguration, Microsoft.VisualStudio.QualityTools.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  </TestList>
+</TestLists>
\ No newline at end of file
diff --git a/Source/SvgAttributeCollection.cs b/Source/SvgAttributeCollection.cs
index 42b0550d3787ff31089027787a45495bd903479f..aaf910cbc8001d8b3ca05afcc5fc7a781db2031c 100644
--- a/Source/SvgAttributeCollection.cs
+++ b/Source/SvgAttributeCollection.cs
@@ -63,9 +63,12 @@ namespace Svg
         /// <returns>The attribute value if available; otherwise the ancestors value for the same attribute; otherwise the default value of <typeparamref name="TAttributeType"/>.</returns>
         public TAttributeType GetInheritedAttribute<TAttributeType>(string attributeName)
         {
-            if (this.ContainsKey(attributeName) /*&& base[attributeName] != null*/)
+            if (this.ContainsKey(attributeName) && !IsInheritValue(base[attributeName]))
             {
-                return (TAttributeType)base[attributeName];
+                var result = (TAttributeType)base[attributeName];
+                var deferred = result as SvgDeferredPaintServer;
+                if (deferred != null) deferred.EnsureServer(_owner);
+                return result;
             }
 
             if (this._owner.Parent != null)
@@ -79,6 +82,16 @@ namespace Svg
             return default(TAttributeType);
         }
 
+        private bool IsInheritValue(object value)
+        {
+            return (value == null ||
+                    (value is SvgFontStyle && (SvgFontStyle)value == SvgFontStyle.inherit) ||
+                    (value is SvgFontWeight && (SvgFontWeight)value == SvgFontWeight.inherit) ||
+                    (value is SvgTextAnchor && (SvgTextAnchor)value == SvgTextAnchor.inherit) || 
+                    (value == "inherit")
+                   );
+        }
+
         /// <summary>
         /// Gets the attribute with the specified name.
         /// </summary>
diff --git a/Source/SvgDocument.cs b/Source/SvgDocument.cs
index fca66984e98e2cccbc005edf883d0c14e022b5b1..9dc6303d31e19c93ebb14c879e9786616944d525 100644
--- a/Source/SvgDocument.cs
+++ b/Source/SvgDocument.cs
@@ -30,6 +30,8 @@ namespace Svg
             Ppi = PointsPerInch;
         }
 
+        public Uri BaseUri { get; set; }
+
         /// <summary>
         /// Gets an <see cref="SvgElementIdManager"/> for this document.
         /// </summary>
@@ -157,7 +159,9 @@ namespace Svg
                 throw new FileNotFoundException("The specified document cannot be found.", path);
             }
 
-            return Open<T>(File.OpenRead(path), entities);
+            var doc = Open<T>(File.OpenRead(path), entities);
+            doc.BaseUri = new Uri(System.IO.Path.GetFullPath(path));
+            return doc;
         }
 
         /// <summary>
@@ -305,22 +309,37 @@ namespace Svg
                 var cssTotal = styles.Select((s) => s.Content).Aggregate((p, c) => p + Environment.NewLine + c);
                 var cssParser = new Parser();
                 var sheet = cssParser.Parse(cssTotal);
+                AggregateSelectorList aggList;
+                IEnumerable<BaseSelector> selectors;
                 IEnumerable<SvgElement> elemsToStyle;
 
                 foreach (var rule in sheet.StyleRules)
                 {
-                    elemsToStyle = svgDocument.QuerySelectorAll(rule.Selector.ToString());
-                    foreach (var elem in elemsToStyle)
+                    aggList = rule.Selector as AggregateSelectorList;
+                    if (aggList != null && aggList.Delimiter == ",")
+                    {
+                        selectors = aggList;
+                    }
+                    else
+                    {
+                        selectors = Enumerable.Repeat(rule.Selector, 1);
+                    }
+
+                    foreach (var selector in selectors)
                     {
-                        foreach (var decl in rule.Declarations)
+                        elemsToStyle = svgDocument.QuerySelectorAll(rule.Selector.ToString());
+                        foreach (var elem in elemsToStyle)
                         {
-                            elem.AddStyle(decl.Name, decl.Term.ToString(), rule.Selector.GetSpecificity());
+                            foreach (var decl in rule.Declarations)
+                            {
+                                elem.AddStyle(decl.Name, decl.Term.ToString(), rule.Selector.GetSpecificity());
+                            }
                         }
                     }
                 }
             }
 
-            FlushStyles(svgDocument);
+            if (svgDocument != null) FlushStyles(svgDocument);
             return svgDocument;
         }
 
@@ -345,10 +364,8 @@ namespace Svg
                 throw new ArgumentNullException("document");
             }
 
-            using (var stream = new MemoryStream(UTF8Encoding.Default.GetBytes(document.InnerXml)))
-            {
-                return Open<SvgDocument>(stream, null);
-            }
+            var reader = new SvgNodeReader(document.DocumentElement, null);
+            return Open<SvgDocument>(reader);
         }
 
         public static Bitmap OpenAsBitmap(string path)
@@ -373,6 +390,7 @@ namespace Svg
                 throw new ArgumentNullException("renderer");
             }
 
+            renderer.Boundable(this);
             this.Render(renderer);
         }
 
@@ -388,7 +406,9 @@ namespace Svg
                 throw new ArgumentNullException("graphics");
             }
 
-            this.Render(SvgRenderer.FromGraphics(graphics));
+            var renderer = SvgRenderer.FromGraphics(graphics);
+            renderer.Boundable(this);
+            this.Render(renderer);
         }
 
         /// <summary>
@@ -427,6 +447,7 @@ namespace Svg
             {
                 using (var renderer = SvgRenderer.FromImage(bitmap))
                 {
+                    renderer.Boundable(this);
                     renderer.TextRenderingHint = TextRenderingHint.AntiAlias;
                     renderer.TextContrast = 1;
                     renderer.PixelOffsetMode = PixelOffsetMode.Half;
diff --git a/Source/SvgElement.cs b/Source/SvgElement.cs
index 594559b3ba3f96ab53913edae33b685712dfc4a8..b2ceb6cb40f85970602ffb76879981fe3d3834c0 100644
--- a/Source/SvgElement.cs
+++ b/Source/SvgElement.cs
@@ -40,6 +40,7 @@ namespace Svg
         private EventHandlerList _eventHandlers;
         private SvgElementCollection _children;
         private static readonly object _loadEventKey = new object();
+        private Region _graphicsClip;
         private Matrix _graphicsMatrix;
         private SvgCustomAttributeCollection _customAttributes;
         private List<ISvgNode> _nodes = new List<ISvgNode>();
@@ -89,6 +90,16 @@ namespace Svg
             internal set { this._elementName = value; }
         }
 
+        /// <summary>
+        /// Gets or sets the color <see cref="SvgPaintServer"/> of this element which drives the currentColor property.
+        /// </summary>
+        [SvgAttribute("color")]
+        public virtual SvgPaintServer Color
+        {
+            get { return (this.Attributes["color"] == null) ? SvgColourServer.NotSet : (SvgPaintServer)this.Attributes["color"]; }
+            set { this.Attributes["color"] = value; }
+        }
+
         /// <summary>
         /// Gets or sets the content of the element.
         /// </summary>
@@ -247,15 +258,17 @@ namespace Svg
         /// Applies the required transforms to <see cref="SvgRenderer"/>.
         /// </summary>
         /// <param name="renderer">The <see cref="SvgRenderer"/> to be transformed.</param>
-        protected internal virtual void PushTransforms(SvgRenderer renderer)
+        protected internal virtual bool PushTransforms(SvgRenderer renderer)
         {
             _graphicsMatrix = renderer.Transform;
+            _graphicsClip = renderer.Clip;
 
             // Return if there are no transforms
             if (this.Transforms == null || this.Transforms.Count == 0)
             {
-                return;
+                return true;
             }
+            if (this.Transforms.Count == 1 && this.Transforms[0].Matrix.Equals(new Matrix(0, 0, 0, 0, 0, 0))) return false;
 
             Matrix transformMatrix = renderer.Transform;
 
@@ -265,6 +278,8 @@ namespace Svg
             }
 
             renderer.Transform = transformMatrix;
+
+            return true;
         }
 
         /// <summary>
@@ -275,6 +290,8 @@ namespace Svg
         {
             renderer.Transform = _graphicsMatrix;
             _graphicsMatrix = null;
+            renderer.SetClip(_graphicsClip);
+            _graphicsClip = null;
         }
 
         /// <summary>
@@ -659,7 +676,7 @@ namespace Svg
         		{
         			if(!(child is SvgGroup))
         			{
-        				var childPath = ((SvgVisualElement)child).Path;
+        				var childPath = ((SvgVisualElement)child).Path(null);
         				
         				if (childPath != null)
         				{
@@ -671,8 +688,8 @@ namespace Svg
         				}
         			}
         		}
-        			
-        		AddPaths(child, path);
+
+                if (!(child is SvgPaintServer)) AddPaths(child, path);
         	}
         }
         
@@ -681,7 +698,7 @@ namespace Svg
         /// </summary>
         /// <param name="elem"></param>
         /// <param name="path"></param>
-        protected GraphicsPath GetPaths(SvgElement elem)
+        protected GraphicsPath GetPaths(SvgElement elem, SvgRenderer renderer)
         {
         	var ret = new GraphicsPath();
         	
@@ -691,7 +708,7 @@ namespace Svg
         		{
         			if(!(child is SvgGroup))
         			{
-        				var childPath = ((SvgVisualElement)child).Path;
+                        var childPath = ((SvgVisualElement)child).Path(renderer);
         				
         				if (childPath != null)
         				{
@@ -704,7 +721,7 @@ namespace Svg
         			}
         			else
         			{
-        				var childPath = GetPaths(child);
+                        var childPath = GetPaths(child, renderer);
         				if(child.Transforms != null)
         					childPath.Transform(child.Transforms.GetMatrix());
         			}
diff --git a/Source/SvgElementFactory.cs b/Source/SvgElementFactory.cs
index 22fe86267b8234cd60b5b85adc834b3e4e2700cd..8f812bf25234184fccf77ef6f2e5f7737268ed95 100644
--- a/Source/SvgElementFactory.cs
+++ b/Source/SvgElementFactory.cs
@@ -130,40 +130,6 @@ namespace Svg
 
             while (reader.MoveToNextAttribute())
             {
-                //// Special treatment for "style"
-                //if (reader.LocalName.Equals("style") && !(element is NonSvgElement))
-                //{
-                //    styles = reader.Value.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
-
-                //    for (i = 0; i < styles.Length; i++)
-                //    {
-                //        if (!styles[i].Contains(":"))
-                //        {
-                //            continue;
-                //        }
-
-                //        style = styles[i].Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
-                //        SetPropertyValue(element, style[0].Trim(), style[1].Trim(), document);
-                //    }
-
-                //    //defaults for text can come from the document
-                //    if (element.ElementName == "text")
-                //    {
-                //        if (!styles.Contains("font-size") && document.CustomAttributes.ContainsKey("font-size") && document.CustomAttributes["font-size"] != null)
-                //        {
-                //            SetPropertyValue(element, "font-size", document.CustomAttributes["font-size"], document);
-                //        }
-                //        if (!styles.Contains("font-family") && document.CustomAttributes.ContainsKey("font-family") && document.CustomAttributes["font-family"] != null)
-                //        {
-                //            SetPropertyValue(element, "font-family", document.CustomAttributes["font-family"], document);
-                //        }
-						
-                //    }
-                //    continue; 
-                //}
-
-                //SetPropertyValue(element, reader.LocalName, reader.Value, document);
-
                 if (reader.LocalName.Equals("style") && !(element is NonSvgElement)) 
                 {
                     var inlineSheet = cssParser.Parse("#a{" + reader.Value + "}");
@@ -175,15 +141,89 @@ namespace Svg
                         }
                     }
                 }
-                else 
+                else if (IsStyleAttribute(reader.LocalName))
                 {
                     element.AddStyle(reader.LocalName, reader.Value, 2 << 16);
                 }
+                else
+                {
+                    SetPropertyValue(element, reader.LocalName, reader.Value, document);
+                }
             }
 
             //Trace.TraceInformation("End SetAttributes");
         }
 
+        private static bool IsStyleAttribute(string name)
+        {
+            switch (name)
+            {
+                case "alignment-baseline":
+                case "baseline-shift":
+                case "clip":
+                case "clip-path":
+                case "clip-rule":
+                case "color":
+                case "color-interpolation":
+                case "color-interpolation-filters":
+                case "color-profile":
+                case "color-rendering":
+                case "cursor":
+                case "direction":
+                case "display":
+                case "dominant-baseline":
+                case "enable-background":
+                case "fill":
+                case "fill-opacity":
+                case "fill-rule":
+                case "filter":
+                case "flood-color":
+                case "flood-opacity":
+                case "font":
+                case "font-family":
+                case "font-size":
+                case "font-size-adjust":
+                case "font-stretch":
+                case "font-style":
+                case "font-variant":
+                case "font-weight":
+                case "glyph-orientation-horizontal":
+                case "glyph-orientation-vertical":
+                case "image-rendering":
+                case "kerning":
+                case "letter-spacing":
+                case "lighting-color":
+                case "marker":
+                case "marker-end":
+                case "marker-mid":
+                case "marker-start":
+                case "mask":
+                case "opacity":
+                case "overflow":
+                case "pointer-events":
+                case "shape-rendering":
+                case "stop-color":
+                case "stop-opacity":
+                case "stroke":
+                case "stroke-dasharray":
+                case "stroke-dashoffset":
+                case "stroke-linecap":
+                case "stroke-linejoin":
+                case "stroke-miterlimit":
+                case "stroke-opacity":
+                case "stroke-width":
+                case "text-anchor":
+                case "text-decoration":
+                case "text-rendering":
+                case "unicode-bidi":
+                case "visibility":
+                case "word-spacing":
+                case "writing-mode":
+                    return true;
+            }
+            return false;
+        }
+
         private static Dictionary<Type, Dictionary<string, PropertyDescriptorCollection>> _propertyDescriptors = new Dictionary<Type, Dictionary<string, PropertyDescriptorCollection>>();
         private static object syncLock = new object();
 
diff --git a/Source/SvgNodeReader.cs b/Source/SvgNodeReader.cs
new file mode 100644
index 0000000000000000000000000000000000000000..05c2666b714eb5a549e703494f4286f48ef2ef61
--- /dev/null
+++ b/Source/SvgNodeReader.cs
@@ -0,0 +1,157 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Xml;
+using System.IO;
+using System.Collections.Specialized;
+
+namespace Svg
+{
+    internal sealed class SvgNodeReader : XmlNodeReader
+    {
+        private Dictionary<string, string> _entities;
+        private string _value;
+        private bool _customValue = false;
+        private string _localName;
+
+        public SvgNodeReader(XmlNode node, Dictionary<string, string> entities)
+            : base(node)
+        {
+            this._entities = entities;
+        }
+
+        /// <summary>
+        /// Gets the text value of the current node.
+        /// </summary>
+        /// <value></value>
+        /// <returns>The value returned depends on the <see cref="P:System.Xml.XmlTextReader.NodeType"/> of the node. The following table lists node types that have a value to return. All other node types return String.Empty.Node Type Value AttributeThe value of the attribute. CDATAThe content of the CDATA section. CommentThe content of the comment. DocumentTypeThe internal subset. ProcessingInstructionThe entire content, excluding the target. SignificantWhitespaceThe white space within an xml:space= 'preserve' scope. TextThe content of the text node. WhitespaceThe white space between markup. XmlDeclarationThe content of the declaration. </returns>
+        public override string Value
+        {
+            get
+            {
+                return (this._customValue) ? this._value : base.Value;
+            }
+        }
+
+        /// <summary>
+        /// Gets the local name of the current node.
+        /// </summary>
+        /// <value></value>
+        /// <returns>The name of the current node with the prefix removed. For example, LocalName is book for the element &lt;bk:book&gt;.For node types that do not have a name (like Text, Comment, and so on), this property returns String.Empty.</returns>
+        public override string LocalName
+        {
+            get
+            {
+                return (this._customValue) ? this._localName : base.LocalName;
+            }
+        }
+
+        private IDictionary<string, string> Entities
+        {
+            get
+            {
+                if (this._entities == null)
+                {
+                    this._entities = new Dictionary<string, string>();
+                }
+
+                return this._entities;
+            }
+        }
+
+        /// <summary>
+        /// Moves to the next attribute.
+        /// </summary>
+        /// <returns>
+        /// true if there is a next attribute; false if there are no more attributes.
+        /// </returns>
+        public override bool MoveToNextAttribute()
+        {
+            bool moved = base.MoveToNextAttribute();
+
+            if (moved)
+            {
+                this._localName = base.LocalName;
+
+                if (this.ReadAttributeValue())
+                {
+                    if (this.NodeType == XmlNodeType.EntityReference)
+                    {
+                        this.ResolveEntity();
+                    }
+                    else
+                    {
+                        this._value = base.Value;
+                    }
+                }
+                this._customValue = true;
+            }
+
+            return moved;
+        }
+
+        /// <summary>
+        /// Reads the next node from the stream.
+        /// </summary>
+        /// <returns>
+        /// true if the next node was read successfully; false if there are no more nodes to read.
+        /// </returns>
+        /// <exception cref="T:System.Xml.XmlException">An error occurred while parsing the XML. </exception>
+        public override bool Read()
+        {
+            this._customValue = false;
+            bool read = base.Read();
+
+            if (this.NodeType == XmlNodeType.DocumentType)
+            {
+                this.ParseEntities();
+            }
+
+            return read;
+        }
+
+        private void ParseEntities()
+        {
+            const string entityText = "<!ENTITY";
+            string[] entities = this.Value.Split(new string[]{entityText}, StringSplitOptions.None);
+            string[] parts = null;
+            string name = null;
+            string value = null;
+
+            foreach (string entity in entities)
+            {
+                if (string.IsNullOrEmpty(entity.Trim()))
+                {
+                    continue;
+                }
+
+                parts = entity.Trim().Split(new char[]{' ', '\t'},  StringSplitOptions.RemoveEmptyEntries);
+                name = parts[0];
+                value = parts[1].Split(new char[] { this.QuoteChar }, StringSplitOptions.RemoveEmptyEntries)[0];
+
+                this.Entities.Add(name, value);
+            }
+        }
+
+        /// <summary>
+        /// Resolves the entity reference for EntityReference nodes.
+        /// </summary>
+        public override void ResolveEntity()
+        {
+            if (this.NodeType == XmlNodeType.EntityReference)
+            {
+                if (this._entities.ContainsKey(this.Name))
+                {
+                    this._value = this._entities[this.Name];
+                }
+                else
+                {
+                    this._value = string.Empty;
+                }
+
+                this._customValue = true;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/Source/SvgRenderer.cs b/Source/SvgRenderer.cs
index 40417de9d8ef4f5342dd8329e275f2a031abb297..8ed934cb55d190cd7f94cff09941efd0e15b6a4c 100644
--- a/Source/SvgRenderer.cs
+++ b/Source/SvgRenderer.cs
@@ -8,9 +8,26 @@ using System.Drawing.Text;
 
 namespace Svg
 {
+    /// <summary>
+    /// Convenience wrapper around a graphics object
+    /// </summary>
     public sealed class SvgRenderer : IDisposable
     {
         private Graphics _innerGraphics;
+        private Stack<ISvgBoundable> _boundables = new Stack<ISvgBoundable>();
+
+        public void Boundable(ISvgBoundable boundable)
+        {
+            _boundables.Push(boundable);
+        }
+        public ISvgBoundable Boundable()
+        {
+            return _boundables.Peek();
+        }
+        public ISvgBoundable PopBoundable()
+        {
+            return _boundables.Pop();
+        }
 
         /// <summary>
         /// Initializes a new instance of the <see cref="SvgRenderer"/> class.
@@ -47,6 +64,14 @@ namespace Svg
             return renderer;
         }
 
+        public static SvgRenderer FromNull()
+        {
+            SvgRenderer renderer = new SvgRenderer();
+            var img = new Bitmap(1, 1);
+            renderer._innerGraphics = Graphics.FromImage(img);
+            return renderer;
+        }
+
         public void DrawImageUnscaled(Image image, Point location)
         {
             this._innerGraphics.DrawImageUnscaled(image, location);
@@ -57,9 +82,13 @@ namespace Svg
             _innerGraphics.DrawImage(image, destRect, srcRect, graphicsUnit);
         }
 
+        public void AddClip(Region region)
+        {
+            this._innerGraphics.SetClip(region, CombineMode.Intersect);
+        }
         public void SetClip(Region region)
         {
-            this._innerGraphics.SetClip(region, CombineMode.Complement);
+            this._innerGraphics.SetClip(region, CombineMode.Replace);
         }
 
         public void FillPath(Brush brush, GraphicsPath path)
@@ -151,17 +180,18 @@ namespace Svg
         public SizeF MeasureString(string text, Font font)
         {
         	var ff = font.FontFamily;
-        	float lineSpace = ff.GetLineSpacing(font.Style);
+            //Baseline calculation to match http://bobpowell.net/formattingtext.aspx
         	float ascent = ff.GetCellAscent(font.Style);
-        	float baseline =  font.GetHeight(this._innerGraphics) * ascent / lineSpace;
+            float baselineOffset = font.SizeInPoints / ff.GetEmHeight(font.Style) * ascent;
+            float baselineOffsetPixels = this._innerGraphics.DpiY / 72f * baselineOffset;
         	
         	StringFormat format = StringFormat.GenericTypographic;
         	format.SetMeasurableCharacterRanges(new CharacterRange[]{new CharacterRange(0, text.Length)});
             format.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces;
         	Region[] r = this._innerGraphics.MeasureCharacterRanges(text, font, new Rectangle(0, 0, 1000, 1000), format);
         	RectangleF rect = r[0].GetBounds(this._innerGraphics);
-        	
-        	return new SizeF(rect.Width, baseline);
+
+            return new SizeF(rect.Width, baselineOffsetPixels);
         }
     }
 }
\ No newline at end of file
diff --git a/Source/SvgTextReader.cs b/Source/SvgTextReader.cs
index 41ce58feb7495ee898174bdf22edf9b9e069b2da..7ef556cb6f48222de0963acd7891059ab74b9a14 100644
--- a/Source/SvgTextReader.cs
+++ b/Source/SvgTextReader.cs
@@ -18,14 +18,14 @@ namespace Svg
         public SvgTextReader(Stream stream, Dictionary<string, string> entities)
             : base(stream)
         {
-            this.EntityHandling = EntityHandling.ExpandCharEntities;
+            this.EntityHandling = EntityHandling.ExpandEntities;
             this._entities = entities;
         }
 
         public SvgTextReader(TextReader reader, Dictionary<string, string> entities)
             : base(reader)
         {
-            this.EntityHandling = EntityHandling.ExpandCharEntities;
+            this.EntityHandling = EntityHandling.ExpandEntities;
             this._entities = entities;
         }
 
@@ -126,6 +126,7 @@ namespace Svg
             string[] parts = null;
             string name = null;
             string value = null;
+            int quoteIndex;
 
             foreach (string entity in entities)
             {
@@ -134,11 +135,14 @@ namespace Svg
                     continue;
                 }
 
-                parts = entity.Trim().Split(new char[]{' ', '\t'},  StringSplitOptions.RemoveEmptyEntries);
-                name = parts[0];
-                value = parts[1].Split(new char[] { this.QuoteChar }, StringSplitOptions.RemoveEmptyEntries)[0];
-
-                this.Entities.Add(name, value);
+                name = entity.Trim();
+                quoteIndex = name.IndexOf(this.QuoteChar);
+                if (quoteIndex > 0)
+                {
+                    value = name.Substring(quoteIndex + 1, name.LastIndexOf(this.QuoteChar) - quoteIndex - 1);
+                    name = name.Substring(0, quoteIndex).Trim();
+                    this.Entities.Add(name, value);
+                }
             }
         }
 
diff --git a/Source/Text/SvgTextBase.cs b/Source/Text/SvgTextBase.cs
index 34a7fbe84b1bdfe06df4ff8054448ed33c352e7b..f1315d720f27cedcb60f7d008ffe499c9584ec78 100644
--- a/Source/Text/SvgTextBase.cs
+++ b/Source/Text/SvgTextBase.cs
@@ -25,10 +25,8 @@ namespace Svg
         private SvgUnitCollection _dx = new SvgUnitCollection();
         private SvgUnit _letterSpacing;
         private SvgUnit _wordSpacing;
-        private SvgTextAnchor _textAnchor = SvgTextAnchor.inherit;
         private static readonly SvgRenderer _stringMeasure;
-        private const string DefaultFontFamily = "Times New Roman";
-
+        
         private XmlSpaceHandling _space = XmlSpaceHandling.@default;
 
         /// <summary>
@@ -57,8 +55,15 @@ namespace Svg
         [SvgAttribute("text-anchor")]
         public virtual SvgTextAnchor TextAnchor
         {
-            get { return this._textAnchor; }
-            set { this._textAnchor = value; this.IsPathDirty = true; }
+            get { return (this.Attributes["text-anchor"] == null) ? SvgTextAnchor.inherit : (SvgTextAnchor)this.Attributes["text-anchor"]; }
+            set { this.Attributes["text-anchor"] = value; this.IsPathDirty = true; }
+        }
+
+        [SvgAttribute("baseline-shift")]
+        public virtual string BaselineShift
+        {
+            get { return this.Attributes["baseline-shift"] as string; }
+            set { this.Attributes["baseline-shift"] = value; this.IsPathDirty = true; }
         }
 
         /// <summary>
@@ -166,7 +171,7 @@ namespace Svg
         /// <value>The fill.</value>
         public override SvgPaintServer Fill
         {
-            get { return (this.Attributes["fill"] == null) ? new SvgColourServer(Color.Black) : (SvgPaintServer)this.Attributes["fill"]; }
+            get { return (this.Attributes["fill"] == null) ? new SvgColourServer(System.Drawing.Color.Black) : (SvgPaintServer)this.Attributes["fill"]; }
             set { this.Attributes["fill"] = value; }
         }
 
@@ -198,33 +203,15 @@ namespace Svg
         {
             get 
             {
-                var path = this.Path;
+                var path = this.Path(null);
                 foreach (var elem in this.Children.OfType<SvgVisualElement>())
                 {
-                    path.AddPath(elem.Path, false);
+                    path.AddPath(elem.Path(null), false);
                 }
                 return path.GetBounds(); 
             }
         }
 
-        private static string ValidateFontFamily(string fontFamilyList)
-        {
-            // Split font family list on "," and then trim start and end spaces and quotes.
-            var fontParts = fontFamilyList.Split(new[] { ',' }).Select(fontName => fontName.Trim(new[] { '"', ' ', '\'' }));
-
-            var families = System.Drawing.FontFamily.Families;
-
-            // Find a the first font that exists in the list of installed font families.
-            //styles from IE get sent through as lowercase.
-            foreach (var f in fontParts.Where(f => families.Any(family => family.Name.ToLower() == f.ToLower())))
-            {
-                return f;
-            }
-            // No valid font family found from the list requested.
-            return null;
-        }
-
-
         /// <summary>
         /// Renders the <see cref="SvgElement"/> and contents to the specified <see cref="Graphics"/> object.
         /// </summary>
@@ -232,7 +219,7 @@ namespace Svg
         /// <remarks>Necessary to make sure that any internal tspan elements get rendered as well</remarks>
         protected override void Render(SvgRenderer renderer)
         {
-            if ((this.Path != null) && this.Visible && this.Displayable)
+            if ((this.Path(renderer) != null) && this.Visible && this.Displayable)
             {
                 this.PushTransforms(renderer);
                 this.SetClip(renderer);
@@ -275,9 +262,9 @@ namespace Svg
             }
             public SizeF Bounds { get; set; }
         }
-        protected BoundsData GetTextBounds()
+        protected BoundsData GetTextBounds(SvgRenderer renderer)
         {
-            var font = GetFont();
+            var font = GetFont(renderer);
             SvgTextBase innerText;
             SizeF stringBounds;
             float totalHeight = 0;
@@ -305,7 +292,8 @@ namespace Svg
                     {
                         Bounds = stringBounds,
                         Node = new SvgContentNode() { Content = ch },
-                        xOffset = (i == 0 ? 0 : _x[i].ToDeviceValue(this) - _x[0].ToDeviceValue(this))
+                        xOffset = (i == 0 ? 0 : _x[i].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) -
+                                                _x[0].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this))
                     });
                 }
             }
@@ -326,9 +314,9 @@ namespace Svg
                     }
                     else
                     {
-                        stringBounds = innerText.GetTextBounds().Bounds;
+                        stringBounds = innerText.GetTextBounds(renderer).Bounds;
                         result.Nodes.Add(new NodeBounds() { Bounds = stringBounds, Node = node, xOffset = totalWidth });
-                        if (innerText.Dx.Count == 1) totalWidth += innerText.Dx[0].ToDeviceValue(this);
+                        if (innerText.Dx.Count == 1) totalWidth += innerText.Dx[0].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this);
                     }
                     totalHeight = Math.Max(totalHeight, stringBounds.Height);
                     totalWidth += stringBounds.Width;
@@ -345,75 +333,100 @@ namespace Svg
         /// Gets the <see cref="GraphicsPath"/> for this element.
         /// </summary>
         /// <value></value>
-        public override System.Drawing.Drawing2D.GraphicsPath Path
+        public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer)
         {
-            get
+            // Make sure the path is always null if there is no text
+            //if there is a TSpan inside of this text element then path should not be null (even if this text is empty!)
+            if ((string.IsNullOrEmpty(this.Text) || this.Text.Trim().Length < 1) && this.Children.Where(x => x is SvgTextSpan).Select(x => x as SvgTextSpan).Count() == 0)
+                return _path = null;
+            //NOT SURE WHAT THIS IS ABOUT - Path gets created again anyway - WTF?
+            // When an empty string is passed to GraphicsPath, it rises an InvalidArgumentException...
+
+            if (_path == null || this.IsPathDirty)
             {
-                // Make sure the path is always null if there is no text
-                //if there is a TSpan inside of this text element then path should not be null (even if this text is empty!)
-                if ((string.IsNullOrEmpty(this.Text) || this.Text.Trim().Length < 1) && this.Children.Where(x => x is SvgTextSpan).Select(x => x as SvgTextSpan).Count() == 0)
-                    return _path = null;
-                //NOT SURE WHAT THIS IS ABOUT - Path gets created again anyway - WTF?
-                // When an empty string is passed to GraphicsPath, it rises an InvalidArgumentException...
-
-                if (_path == null || this.IsPathDirty)
+                renderer = (renderer ?? SvgRenderer.FromNull());
+                // Measure the overall bounds of all the text
+                var boundsData = GetTextBounds(renderer);
+
+                var font = GetFont(renderer);
+                SvgTextBase innerText;
+                float x = (_x.Count < 1 ? _calcX : _x[0].ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, this)) +
+                                                   (_dx.Count < 1 ? 0 : _dx[0].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this));
+                float y = (_y.Count < 1 ? _calcY : _y[0].ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, this)) +
+                                                   (_dy.Count < 1 ? 0 : _dy[0].ToDeviceValue(renderer, UnitRenderingType.Vertical, this));
+
+                _path = new GraphicsPath();
+                _path.StartFigure();
+
+                // Determine the location of the start point
+                switch (this.TextAnchor)
                 {
-                    // Measure the overall bounds of all the text
-                    var boundsData = GetTextBounds();
-
-                    var font = GetFont();
-                    SvgTextBase innerText;
-                    float x = (_x.Count < 1 ? _calcX : _x[0].ToDeviceValue(this)) + (_dx.Count < 1 ? 0 : _dx[0].ToDeviceValue(this));
-                    float y = (_y.Count < 1 ? _calcY : _y[0].ToDeviceValue(this, true)) + (_dy.Count < 1 ? 0 : _dy[0].ToDeviceValue(this, true));
-
-                    _path = new GraphicsPath();
-                    _path.StartFigure();
-
-                    var anchorElem = (from e in this.ParentsAndSelf.OfType<SvgTextBase>() where e.TextAnchor != SvgTextAnchor.inherit select e).FirstOrDefault();
+                    case SvgTextAnchor.Middle:
+                        x -= (boundsData.Bounds.Width / 2);
+                        break;
+                    case SvgTextAnchor.End:
+                        x -= boundsData.Bounds.Width;
+                        break;
+                }
 
-                    // Determine the location of the start point
-                    switch (anchorElem == null ? this.TextAnchor : anchorElem.TextAnchor)
+                try
+                {
+                    renderer.Boundable(new FontBoundable(font));
+                    switch (this.BaselineShift)
                     {
-                        case SvgTextAnchor.Middle:
-                            x -= (boundsData.Bounds.Width / 2);
+                        case null:
+                        case "":
+                        case "baseline":
+                        case "inherit":
+                            // do nothing
+                            break;
+                        case "sub":
+                            y += new SvgUnit(SvgUnitType.Ex, 1).ToDeviceValue(renderer, UnitRenderingType.Vertical, this);
                             break;
-                        case SvgTextAnchor.End:
-                            x -= boundsData.Bounds.Width;
+                        case "super":
+                            y -= new SvgUnit(SvgUnitType.Ex, 1).ToDeviceValue(renderer, UnitRenderingType.Vertical, this);
+                            break;
+                        default:
+                            var convert = new SvgUnitConverter();
+                            var shift = (SvgUnit)convert.ConvertFromInvariantString(this.BaselineShift);
+                            y -= shift.ToDeviceValue(renderer, UnitRenderingType.Vertical, this);
                             break;
                     }
+                }
+                finally
+                {
+                    renderer.PopBoundable();
+                }
 
-                    NodeBounds data;
-                    var yCummOffset = 0.0f;
-                    for (var i = 0; i < boundsData.Nodes.Count; i++)
+                NodeBounds data;
+                var yCummOffset = 0.0f;
+                for (var i = 0; i < boundsData.Nodes.Count; i++)
+                {
+                    data = boundsData.Nodes[i];
+                    innerText = data.Node as SvgTextBase;
+                    if (innerText == null)
                     {
-                        data = boundsData.Nodes[i];
-                        innerText = data.Node as SvgTextBase;
-                        if (innerText == null)
-                        {
-                            // Minus FontSize because the x/y coords mark the bottom left, not bottom top.
-                            DrawString(_path, x + data.xOffset, y - boundsData.Bounds.Height, font,
-                                       PrepareText(data.Node.Content, i > 0 && boundsData.Nodes[i - 1].Node is SvgTextBase,
-                                                                      i < boundsData.Nodes.Count - 1 && boundsData.Nodes[i + 1].Node is SvgTextBase));
-                        }
-                        else
-                        {
-                            innerText._calcX = x + data.xOffset;
-                            innerText._calcY = y + yCummOffset;
-                            if (innerText.Dy.Count == 1) yCummOffset += innerText.Dy[0].ToDeviceValue(this);
-                        }
+                        // Minus FontSize because the x/y coords mark the bottom left, not bottom top.
+                        DrawString(renderer, _path, x + data.xOffset, y - boundsData.Bounds.Height, font,
+                                    PrepareText(data.Node.Content, i > 0 && boundsData.Nodes[i - 1].Node is SvgTextBase,
+                                                                    i < boundsData.Nodes.Count - 1 && boundsData.Nodes[i + 1].Node is SvgTextBase));
+                    }
+                    else
+                    {
+                        innerText._calcX = x + data.xOffset;
+                        innerText._calcY = y + yCummOffset;
+                        if (innerText.Dy.Count == 1) yCummOffset += innerText.Dy[0].ToDeviceValue(renderer, UnitRenderingType.Vertical, this);
                     }
-
-                    _path.CloseFigure();
-                    this.IsPathDirty = false;
                 }
-                return _path;
-            }
-            protected set
-            {
-                _path = value;
+
+                _path.CloseFigure();
+                this.IsPathDirty = false;
             }
+            return _path;
         }
 
+        private static readonly Regex MultipleSpaces = new Regex(@" {2,}", RegexOptions.Compiled);
+
         /// <summary>
         /// Prepare the text according to the whitespace handling rules.  <see href="http://www.w3.org/TR/SVG/text.html">SVG Spec</see>.
         /// </summary>
@@ -423,82 +436,21 @@ namespace Svg
         {
             if (_space == XmlSpaceHandling.preserve)
             {
-                return (leadingSpace ? " " : "") + value.Replace('\t', ' ').Replace("\r\n", " ").Replace('\r', ' ').Replace('\n', ' ') + (trailingSpace ? " " : "");
+                return value.Replace('\t', ' ').Replace("\r\n", " ").Replace('\r', ' ').Replace('\n', ' ');
             }
             else
             {
-                return (leadingSpace ? " " : "") + value.Replace("\r", "").Replace("\n", "").Replace('\t', ' ').Trim().Replace("  ", " ") + (trailingSpace ? " " : "");
+                var convValue = MultipleSpaces.Replace(value.Replace("\r", "").Replace("\n", "").Replace('\t', ' '), " ");
+                if (!leadingSpace) convValue = convValue.TrimStart();
+                if (!trailingSpace) convValue = convValue.TrimEnd();
+                return convValue;
             }
         }
-        /// <summary>
-        /// Get the font information based on data stored with the text object or inherited from the parent.
-        /// </summary>
-        /// <returns></returns>
-        internal Font GetFont()
-        {
-            var parentList = this.ParentsAndSelf.OfType<SvgVisualElement>().ToList();
-
-            // Get the font-size
-            float fontSize;
-            var fontSizeUnit = GetInheritedFontSize();
-            if (fontSizeUnit == SvgUnit.None)
-            {
-                fontSize = 1.0f;
-            }
-            else
-            {
-                fontSize = fontSizeUnit.ToDeviceValue(this);
-            }
-
-            var fontStyle = System.Drawing.FontStyle.Regular;
-
-            // Get the font-weight
-            var weightElement = (from e in parentList where e.FontWeight != SvgFontWeight.inherit select e).FirstOrDefault();
-            if (weightElement != null)
-            {
-                switch (weightElement.FontWeight)
-                {
-                    case SvgFontWeight.bold:
-                    case SvgFontWeight.bolder:
-                    case SvgFontWeight.w700:
-                    case SvgFontWeight.w800:
-                    case SvgFontWeight.w900:
-                        fontStyle |= System.Drawing.FontStyle.Bold;
-                        break;
-                }
-            }
-
-            // Get the font-style
-            var styleElement = (from e in parentList where e.FontStyle != SvgFontStyle.inherit select e).FirstOrDefault();
-            if (styleElement != null)
-            {
-                switch (styleElement.FontStyle)
-                {
-                    case SvgFontStyle.italic:
-                    case SvgFontStyle.oblique:
-                        fontStyle |= System.Drawing.FontStyle.Italic;
-                        break;
-                }
-            }
-
-            // Get the font-family
-            var fontFamilyElement = (from e in parentList where e.FontFamily != null && e.FontFamily != "inherit" select e).FirstOrDefault();
-            string family;
-            if (fontFamilyElement == null)
-            {
-                family = DefaultFontFamily;
-            }
-            else
-            {
-                family = ValidateFontFamily(fontFamilyElement.FontFamily) ?? DefaultFontFamily;
-            }
-            return new Font(family, fontSize, fontStyle, GraphicsUnit.Pixel);
-        }
 
         /// <summary>
         /// Draws a string on a path at a specified location and with a specified font.
         /// </summary>
-        internal void DrawString(GraphicsPath path, float x, float y, Font font, string text)
+        internal void DrawString(SvgRenderer renderer, GraphicsPath path, float x, float y, Font font, string text)
         {
             PointF location = new PointF(x, y);
 
@@ -507,8 +459,8 @@ namespace Svg
             {
                 // Cut up into words, or just leave as required
                 string[] words = (this.WordSpacing.Value > 0.0f) ? text.Split(' ') : new string[] { text };
-                float wordSpacing = this.WordSpacing.ToDeviceValue(this);
-                float letterSpacing = this.LetterSpacing.ToDeviceValue(this);
+                float wordSpacing = this.WordSpacing.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this);
+                float letterSpacing = this.LetterSpacing.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this);
                 float start = x;
 
                 foreach (string word in words)
@@ -579,5 +531,30 @@ namespace Svg
             
         }
 #endif
+
+        private class FontBoundable : ISvgBoundable
+        {
+            private Font _font;
+
+            public FontBoundable(Font font)
+            {
+                _font = font;
+            }
+
+            public PointF Location
+            {
+                get { return PointF.Empty; }
+            }
+
+            public SizeF Size
+            {
+                get { return new SizeF(1, _font.Size); }
+            }
+
+            public RectangleF Bounds
+            {
+                get { return new RectangleF(this.Location, this.Size); }
+            }
+        }
     }
 }
diff --git a/Source/TraceAndTestImpact.testsettings b/Source/TraceAndTestImpact.testsettings
new file mode 100644
index 0000000000000000000000000000000000000000..f7b94b8925b8985b6198044565e6b94b6f1cdc1a
--- /dev/null
+++ b/Source/TraceAndTestImpact.testsettings
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<TestSettings name="Trace and Test Impact" id="23149ffc-ac6c-4c10-b846-c450c14dcd05" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
+  <Description>These are test settings for Trace and Test Impact.</Description>
+  <Execution>
+    <TestTypeSpecific />
+    <AgentRule name="Execution Agents">
+    </AgentRule>
+  </Execution>
+</TestSettings>
\ No newline at end of file
diff --git a/Source/Transforms/SvgTransformConverter.cs b/Source/Transforms/SvgTransformConverter.cs
index 2a9e1d26ffbfd88d135fc1c5b4534bb2fd1f9755..8c228ac2a11fed5d20e8a044d080d69e1337d9dd 100644
--- a/Source/Transforms/SvgTransformConverter.cs
+++ b/Source/Transforms/SvgTransformConverter.cs
@@ -21,7 +21,8 @@ namespace Svg.Transforms
                 if (transforms[i] == ')')
                 {
                     yield return transforms.Substring(transformEnd, i - transformEnd + 1).Trim();
-                    transformEnd = i + 1;
+                    while (i < transforms.Length && !char.IsLetter(transforms[i])) i++;
+                    transformEnd = i;
                 }
             }
         }
diff --git a/Tests/Svg.UnitTests/CssQueryTest.cs b/Tests/Svg.UnitTests/CssQueryTest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..110714fd2e3c98d28846cc1ca89c9a26ed5a6661
--- /dev/null
+++ b/Tests/Svg.UnitTests/CssQueryTest.cs
@@ -0,0 +1,104 @@
+using Svg.Css;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System;
+using ExCSS;
+
+namespace Svg.UnitTests
+{
+    
+    
+    /// <summary>
+    ///This is a test class for CssQueryTest and is intended
+    ///to contain all CssQueryTest Unit Tests
+    ///</summary>
+    [TestClass()]
+    public class CssQueryTest
+    {
+
+
+        private TestContext testContextInstance;
+
+        /// <summary>
+        ///Gets or sets the test context which provides
+        ///information about and functionality for the current test run.
+        ///</summary>
+        public TestContext TestContext
+        {
+            get
+            {
+                return testContextInstance;
+            }
+            set
+            {
+                testContextInstance = value;
+            }
+        }
+
+        #region Additional test attributes
+        // 
+        //You can use the following additional attributes as you write your tests:
+        //
+        //Use ClassInitialize to run code before running the first test in the class
+        //[ClassInitialize()]
+        //public static void MyClassInitialize(TestContext testContext)
+        //{
+        //}
+        //
+        //Use ClassCleanup to run code after all tests in a class have run
+        //[ClassCleanup()]
+        //public static void MyClassCleanup()
+        //{
+        //}
+        //
+        //Use TestInitialize to run code before running each test
+        //[TestInitialize()]
+        //public void MyTestInitialize()
+        //{
+        //}
+        //
+        //Use TestCleanup to run code after each test has run
+        //[TestCleanup()]
+        //public void MyTestCleanup()
+        //{
+        //}
+        //
+        #endregion
+        
+        private void TestSelectorSpecificity(string selector, int specificity)
+        {
+            var parser = new ExCSS.Parser();
+            var sheet = parser.Parse(selector + " {color:black}");
+            Assert.AreEqual(specificity, CssQuery.GetSpecificity(sheet.StyleRules[0].Selector));
+        }
+
+        /// <summary>
+        ///A test for GetSpecificity
+        ///</summary>
+        ///<remarks>Lifted from http://www.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/, and http://css-tricks.com/specifics-on-css-specificity/ </remarks>
+        [TestMethod()]
+        public void RunSpecificityTests()
+        {
+            TestSelectorSpecificity("*", 0x0);
+            TestSelectorSpecificity("li", 0x10);
+            TestSelectorSpecificity("li:first-line", 0x20);
+            TestSelectorSpecificity("ul li", 0x20);
+            TestSelectorSpecificity("ul ol+li", 0x30);
+            TestSelectorSpecificity("h1 + *[rel=up]", 0x110);
+            TestSelectorSpecificity("ul ol li.red", 0x130);
+            TestSelectorSpecificity("li.red.level", 0x210);
+            TestSelectorSpecificity("p", 0x010);
+            TestSelectorSpecificity("div p", 0x020);
+            TestSelectorSpecificity(".sith", 0x100);
+            TestSelectorSpecificity("div p.sith", 0x120);
+            TestSelectorSpecificity("#sith", 0x1000);
+            TestSelectorSpecificity("body #darkside .sith p", 0x1120);
+            TestSelectorSpecificity("body #content .data img:hover", 0x1220);
+            TestSelectorSpecificity("a#a-02", 0x1010);
+            TestSelectorSpecificity("a[id=\"a-02\"]", 0x0110);
+            TestSelectorSpecificity("ul#nav li.active a", 0x1130);
+            TestSelectorSpecificity("body.ie7 .col_3 h2 ~ h2", 0x0230);
+            TestSelectorSpecificity("#footer *:not(nav) li", 0x1020);
+            TestSelectorSpecificity("ul > li ul li ol li:first-letter", 0x0070);
+        }
+    }
+}
diff --git a/Tests/Svg.UnitTests/Properties/AssemblyInfo.cs b/Tests/Svg.UnitTests/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d55fff5b236bda7eead4c3c50ab389f7ee512981
--- /dev/null
+++ b/Tests/Svg.UnitTests/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Svg.UnitTests")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Svg.UnitTests")]
+[assembly: AssemblyCopyright("Copyright ©  2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("6ab1d266-f201-46c0-9d14-523768eb18db")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Tests/Svg.UnitTests/Svg.UnitTests.csproj b/Tests/Svg.UnitTests/Svg.UnitTests.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..0cfcb0b9932762790b8bdb8f38272d0a9ca36589
--- /dev/null
+++ b/Tests/Svg.UnitTests/Svg.UnitTests.csproj
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>
+    </ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{E702EB7D-D01D-438A-BADD-E72D4E49109F}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>Svg.UnitTests</RootNamespace>
+    <AssemblyName>Svg.UnitTests</AssemblyName>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies">
+      <Visible>False</Visible>
+    </CodeAnalysisDependentAssemblyPaths>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="CssQueryTest.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\Source\Svg.csproj">
+      <Project>{886A98C5-37C0-4E8B-885E-30C1D2F98B47}</Project>
+      <Name>Svg</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/Tests/SvgW3CTestRunner/Program.cs b/Tests/SvgW3CTestRunner/Program.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6238c0ae86b4fb52e847acca305071c3cf20baa8
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/Program.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+
+namespace SvgW3CTestRunner
+{
+    static class Program
+    {
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+            Application.Run(new View());
+        }
+    }
+}
diff --git a/Tests/SvgW3CTestRunner/Properties/AssemblyInfo.cs b/Tests/SvgW3CTestRunner/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ed10e589eb4c0cfb05e3adbaa2ef8adb3755927b
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("SvgW3CTestRunner")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("SvgW3CTestRunner")]
+[assembly: AssemblyCopyright("Copyright ©  2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("bf75ea0d-e099-432c-bad5-7fd6cf53d5ee")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Tests/SvgW3CTestRunner/Properties/Resources.Designer.cs b/Tests/SvgW3CTestRunner/Properties/Resources.Designer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..7b83c291db10f2cda46c5aebfd6f2a094cb57f53
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.18444
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace SvgW3CTestRunner.Properties
+{
+
+
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources
+    {
+
+        private static global::System.Resources.ResourceManager resourceMan;
+
+        private static global::System.Globalization.CultureInfo resourceCulture;
+
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources()
+        {
+        }
+
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager
+        {
+            get
+            {
+                if ((resourceMan == null))
+                {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SvgW3CTestRunner.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}
diff --git a/Tests/SvgW3CTestRunner/Properties/Resources.resx b/Tests/SvgW3CTestRunner/Properties/Resources.resx
new file mode 100644
index 0000000000000000000000000000000000000000..af7dbebbacef595e3089c01c05671016c21a8304
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/Properties/Resources.resx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/Tests/SvgW3CTestRunner/Properties/Settings.Designer.cs b/Tests/SvgW3CTestRunner/Properties/Settings.Designer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..5fef99146cf91f178b8906434835f9188af85031
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.18444
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace SvgW3CTestRunner.Properties
+{
+
+
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+    {
+
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+        public static Settings Default
+        {
+            get
+            {
+                return defaultInstance;
+            }
+        }
+    }
+}
diff --git a/Tests/SvgW3CTestRunner/Properties/Settings.settings b/Tests/SvgW3CTestRunner/Properties/Settings.settings
new file mode 100644
index 0000000000000000000000000000000000000000..39645652af62950ebf3b28ec3a5400dcec30b1c4
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
diff --git a/Tests/SvgW3CTestRunner/SvgW3CTestRunner.csproj b/Tests/SvgW3CTestRunner/SvgW3CTestRunner.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..917b8dbe670e8524c1a1a784a0bec176753abbb8
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/SvgW3CTestRunner.csproj
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{8ED74C39-6CFF-421E-952A-30F9E6957108}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>SvgW3CTestRunner</RootNamespace>
+    <AssemblyName>SvgW3CTestRunner</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="View.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="View.Designer.cs">
+      <DependentUpon>View.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <EmbeddedResource Include="View.resx">
+      <DependentUpon>View.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\Source\Svg.csproj">
+      <Project>{886A98C5-37C0-4E8B-885E-30C1D2F98B47}</Project>
+      <Name>Svg</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/Tests/SvgW3CTestRunner/View.Designer.cs b/Tests/SvgW3CTestRunner/View.Designer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..bd05a7836f946c9057ab693144cab32bb3e919b4
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/View.Designer.cs
@@ -0,0 +1,197 @@
+namespace SvgW3CTestRunner
+{
+    partial class View
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.lstFiles = new System.Windows.Forms.ListBox();
+            this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+            this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+            this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
+            this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel();
+            this.label1 = new System.Windows.Forms.Label();
+            this.label2 = new System.Windows.Forms.Label();
+            this.picSvg = new System.Windows.Forms.PictureBox();
+            this.picPng = new System.Windows.Forms.PictureBox();
+            this.tableLayoutPanel1.SuspendLayout();
+            this.splitContainer1.Panel1.SuspendLayout();
+            this.splitContainer1.Panel2.SuspendLayout();
+            this.splitContainer1.SuspendLayout();
+            this.tableLayoutPanel2.SuspendLayout();
+            this.tableLayoutPanel3.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.picSvg)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.picPng)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // lstFiles
+            // 
+            this.lstFiles.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.lstFiles.FormattingEnabled = true;
+            this.lstFiles.Location = new System.Drawing.Point(3, 3);
+            this.lstFiles.Name = "lstFiles";
+            this.lstFiles.Size = new System.Drawing.Size(144, 376);
+            this.lstFiles.TabIndex = 0;
+            this.lstFiles.SelectedIndexChanged += new System.EventHandler(this.lstFiles_SelectedIndexChanged);
+            // 
+            // tableLayoutPanel1
+            // 
+            this.tableLayoutPanel1.ColumnCount = 2;
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 150F));
+            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.tableLayoutPanel1.Controls.Add(this.splitContainer1, 1, 0);
+            this.tableLayoutPanel1.Controls.Add(this.lstFiles, 0, 0);
+            this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
+            this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+            this.tableLayoutPanel1.RowCount = 1;
+            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
+            this.tableLayoutPanel1.Size = new System.Drawing.Size(977, 382);
+            this.tableLayoutPanel1.TabIndex = 1;
+            // 
+            // splitContainer1
+            // 
+            this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.splitContainer1.Location = new System.Drawing.Point(153, 3);
+            this.splitContainer1.Name = "splitContainer1";
+            // 
+            // splitContainer1.Panel1
+            // 
+            this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel2);
+            // 
+            // splitContainer1.Panel2
+            // 
+            this.splitContainer1.Panel2.Controls.Add(this.tableLayoutPanel3);
+            this.splitContainer1.Size = new System.Drawing.Size(821, 376);
+            this.splitContainer1.SplitterDistance = 424;
+            this.splitContainer1.TabIndex = 0;
+            // 
+            // tableLayoutPanel2
+            // 
+            this.tableLayoutPanel2.ColumnCount = 1;
+            this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
+            this.tableLayoutPanel2.Controls.Add(this.label1, 0, 0);
+            this.tableLayoutPanel2.Controls.Add(this.picSvg, 0, 1);
+            this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0);
+            this.tableLayoutPanel2.Name = "tableLayoutPanel2";
+            this.tableLayoutPanel2.RowCount = 2;
+            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle());
+            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
+            this.tableLayoutPanel2.Size = new System.Drawing.Size(424, 376);
+            this.tableLayoutPanel2.TabIndex = 0;
+            // 
+            // tableLayoutPanel3
+            // 
+            this.tableLayoutPanel3.ColumnCount = 1;
+            this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
+            this.tableLayoutPanel3.Controls.Add(this.picPng, 0, 1);
+            this.tableLayoutPanel3.Controls.Add(this.label2, 0, 0);
+            this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tableLayoutPanel3.Location = new System.Drawing.Point(0, 0);
+            this.tableLayoutPanel3.Name = "tableLayoutPanel3";
+            this.tableLayoutPanel3.RowCount = 2;
+            this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle());
+            this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
+            this.tableLayoutPanel3.Size = new System.Drawing.Size(393, 376);
+            this.tableLayoutPanel3.TabIndex = 0;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Location = new System.Drawing.Point(3, 0);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(67, 13);
+            this.label1.TabIndex = 0;
+            this.label1.Text = "SVG Render";
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Location = new System.Drawing.Point(3, 0);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(68, 13);
+            this.label2.TabIndex = 0;
+            this.label2.Text = "PNG Render";
+            // 
+            // picSvg
+            // 
+            this.picSvg.BackColor = System.Drawing.Color.White;
+            this.picSvg.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.picSvg.Location = new System.Drawing.Point(0, 13);
+            this.picSvg.Margin = new System.Windows.Forms.Padding(0);
+            this.picSvg.Name = "picSvg";
+            this.picSvg.Size = new System.Drawing.Size(424, 363);
+            this.picSvg.TabIndex = 1;
+            this.picSvg.TabStop = false;
+            // 
+            // picPng
+            // 
+            this.picPng.BackColor = System.Drawing.Color.White;
+            this.picPng.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.picPng.Location = new System.Drawing.Point(0, 13);
+            this.picPng.Margin = new System.Windows.Forms.Padding(0);
+            this.picPng.Name = "picPng";
+            this.picPng.Size = new System.Drawing.Size(393, 363);
+            this.picPng.TabIndex = 2;
+            this.picPng.TabStop = false;
+            // 
+            // frmView
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(977, 382);
+            this.Controls.Add(this.tableLayoutPanel1);
+            this.Name = "frmView";
+            this.Text = "Form1";
+            this.tableLayoutPanel1.ResumeLayout(false);
+            this.splitContainer1.Panel1.ResumeLayout(false);
+            this.splitContainer1.Panel2.ResumeLayout(false);
+            this.splitContainer1.ResumeLayout(false);
+            this.tableLayoutPanel2.ResumeLayout(false);
+            this.tableLayoutPanel2.PerformLayout();
+            this.tableLayoutPanel3.ResumeLayout(false);
+            this.tableLayoutPanel3.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.picSvg)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.picPng)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.ListBox lstFiles;
+        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
+        private System.Windows.Forms.SplitContainer splitContainer1;
+        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.PictureBox picSvg;
+        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3;
+        private System.Windows.Forms.PictureBox picPng;
+        private System.Windows.Forms.Label label2;
+    }
+}
+
diff --git a/Tests/SvgW3CTestRunner/View.cs b/Tests/SvgW3CTestRunner/View.cs
new file mode 100644
index 0000000000000000000000000000000000000000..786325f8a72e40026e5d41a8a922acba3f477d33
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/View.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+using System.Drawing;
+using System.IO;
+using Svg;
+
+namespace SvgW3CTestRunner
+{
+    public partial class View : Form
+    {
+        private const string _svgBasePath = @"..\..\..\W3CTestSuite\svg\";
+        private const string _pngBasePath = @"..\..\..\W3CTestSuite\png\";
+
+        public View()
+        {
+            InitializeComponent();
+            // ignore tests pertaining to javascript or xml reading
+            var files = (from f in (from g in Directory.GetFiles(_svgBasePath)
+                                    select Path.GetFileName(g))
+                         where !f.StartsWith("animate-") && !f.StartsWith("conform-viewer") &&
+                            !f.Contains("-dom-") && !f.StartsWith("linking-") && !f.StartsWith("interact-")
+                         orderby f
+                         select (object)f);
+            lstFiles.Items.AddRange(files.ToArray());
+        }
+
+        private void lstFiles_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            var fileName = lstFiles.SelectedItem.ToString();
+            var doc = SvgDocument.Open(_svgBasePath + fileName);
+            picSvg.Image = doc.Draw();
+            var png = Image.FromFile(_pngBasePath + Path.GetFileNameWithoutExtension(fileName) + ".png");
+            picPng.Image = png;
+        }
+    }
+}
diff --git a/Tests/SvgW3CTestRunner/View.resx b/Tests/SvgW3CTestRunner/View.resx
new file mode 100644
index 0000000000000000000000000000000000000000..7080a7d118e8cd7ec668e9bb0d8e90767e0c7a3c
--- /dev/null
+++ b/Tests/SvgW3CTestRunner/View.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/images/20x20.png b/Tests/W3CTestSuite/images/20x20.png
new file mode 100644
index 0000000000000000000000000000000000000000..32399c62188a818977bb488d430ce1b8231c8ce2
Binary files /dev/null and b/Tests/W3CTestSuite/images/20x20.png differ
diff --git a/Tests/W3CTestSuite/images/50x50-viewbox-greencircle.svg b/Tests/W3CTestSuite/images/50x50-viewbox-greencircle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..306c52e4ea4da345a315888b414728aed29e7081
--- /dev/null
+++ b/Tests/W3CTestSuite/images/50x50-viewbox-greencircle.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="50" height="50" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100">
+  <circle cx="50" cy="50" r="40" stroke="lime" fill="lime"/>
+</svg>
diff --git a/Tests/W3CTestSuite/images/50x50greencircle.svg b/Tests/W3CTestSuite/images/50x50greencircle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cc7aa04ddffeebd4aefcbd3ef407cd796c5af31b
--- /dev/null
+++ b/Tests/W3CTestSuite/images/50x50greencircle.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="50" height="50" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <circle cx="25" cy="25" r="20" stroke="lime" fill="lime"/>
+</svg>
diff --git a/Tests/W3CTestSuite/images/DisplaceChecker.png b/Tests/W3CTestSuite/images/DisplaceChecker.png
new file mode 100644
index 0000000000000000000000000000000000000000..25c77d0a9d4f9b6cf50da1e8977319aa2b181f4c
Binary files /dev/null and b/Tests/W3CTestSuite/images/DisplaceChecker.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g01.png b/Tests/W3CTestSuite/images/PngSuite/basi0g01.png
new file mode 100644
index 0000000000000000000000000000000000000000..556fa72704084920c07066054bb57adc5a250b27
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g02.png b/Tests/W3CTestSuite/images/PngSuite/basi0g02.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce09821ef101b65b2aa653931416c72923ccab09
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g04.png b/Tests/W3CTestSuite/images/PngSuite/basi0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..3853273f93e5960e0642ca62f6d6ce7433654928
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g08.png b/Tests/W3CTestSuite/images/PngSuite/basi0g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..faed8bec445f282d68534af38ceb4006a55c3e86
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g16.png b/Tests/W3CTestSuite/images/PngSuite/basi0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9f28165efd4a6eaab890f3f46eaab0812614046
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi2c08.png b/Tests/W3CTestSuite/images/PngSuite/basi2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..2aab44d42b23d59d48601b109a795d9ba70d6ab8
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi2c16.png b/Tests/W3CTestSuite/images/PngSuite/basi2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd7e50f91402240a419ba4792d52f6f481d46afa
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi3p01.png b/Tests/W3CTestSuite/images/PngSuite/basi3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..00a7cea6c2d3c36627718a502eb14c812b0b7c46
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi3p02.png b/Tests/W3CTestSuite/images/PngSuite/basi3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb16b44b30907b832b678a3b441278df340edb9f
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi3p04.png b/Tests/W3CTestSuite/images/PngSuite/basi3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4e888e2477d4fbaa3c8ed16a8007d40e58cd52c
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi3p08.png b/Tests/W3CTestSuite/images/PngSuite/basi3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..50a6d1cac7a111d53cd3aec0d35dc4d09311baab
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi4a08.png b/Tests/W3CTestSuite/images/PngSuite/basi4a08.png
new file mode 100644
index 0000000000000000000000000000000000000000..398132be5faadf83e159ac59c212213bcd43a894
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi4a08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi4a16.png b/Tests/W3CTestSuite/images/PngSuite/basi4a16.png
new file mode 100644
index 0000000000000000000000000000000000000000..51192e731106e77cec52a3acda3d0c3cd54a16d5
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi4a16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi6a08.png b/Tests/W3CTestSuite/images/PngSuite/basi6a08.png
new file mode 100644
index 0000000000000000000000000000000000000000..aecb32e0d9e347ccdcab5d7fdad2dde7aef9da8a
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi6a08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basi6a16.png b/Tests/W3CTestSuite/images/PngSuite/basi6a16.png
new file mode 100644
index 0000000000000000000000000000000000000000..4181533ad81b739fb7b4f3b024f632cd7baa85c5
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi6a16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g01.png b/Tests/W3CTestSuite/images/PngSuite/basn0g01.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d722423aa5157fe2b029af4e2bb07f478ebe8bb
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g02.png b/Tests/W3CTestSuite/images/PngSuite/basn0g02.png
new file mode 100644
index 0000000000000000000000000000000000000000..508332418fa86637d39e95268ec1d3658d120cae
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g04.png b/Tests/W3CTestSuite/images/PngSuite/basn0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..0bf3687863d8a1f53bef0aa24b841b21b0e04d9e
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g08.png b/Tests/W3CTestSuite/images/PngSuite/basn0g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..23c82379a29ff4b99806bbbd2e2342c8fd97ee67
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g16.png b/Tests/W3CTestSuite/images/PngSuite/basn0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7c82f78eb954be5be51c35bd287e00018c69d82
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn2c08.png b/Tests/W3CTestSuite/images/PngSuite/basn2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..db5ad15865f56e48e4bae5b43661d2dbc4e847e3
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn2c16.png b/Tests/W3CTestSuite/images/PngSuite/basn2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..50c1cb91a0171e9f34991b079fe932f5f0bb16d6
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn3p01.png b/Tests/W3CTestSuite/images/PngSuite/basn3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..b145c2b8eff1f4298e540bfae5c1351d015a3592
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn3p02.png b/Tests/W3CTestSuite/images/PngSuite/basn3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..8985b3d818e391502c4d05b93db26b046bc57bd9
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn3p04.png b/Tests/W3CTestSuite/images/PngSuite/basn3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..0fbf9e827b467d65dc252db937d6590478bbf88e
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn3p08.png b/Tests/W3CTestSuite/images/PngSuite/basn3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ddad07e5f5de86a61bf43d8b89e138d7f1ea8ad
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn4a08.png b/Tests/W3CTestSuite/images/PngSuite/basn4a08.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e13052201c9f8b90172ea2491b18d6d121c2786
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn4a08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn4a16.png b/Tests/W3CTestSuite/images/PngSuite/basn4a16.png
new file mode 100644
index 0000000000000000000000000000000000000000..8243644d0743ebd1fdacb7923069fefbb01dab0e
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn4a16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn6a08.png b/Tests/W3CTestSuite/images/PngSuite/basn6a08.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6087387639b9cefaaafb696e29a8bd910ee0680
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn6a08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/basn6a16.png b/Tests/W3CTestSuite/images/PngSuite/basn6a16.png
new file mode 100644
index 0000000000000000000000000000000000000000..984a99525f5246cbc5d7083dd79006c7efa0ab0b
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn6a16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/bgai4a08.png b/Tests/W3CTestSuite/images/PngSuite/bgai4a08.png
new file mode 100644
index 0000000000000000000000000000000000000000..398132be5faadf83e159ac59c212213bcd43a894
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgai4a08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/bgai4a16.png b/Tests/W3CTestSuite/images/PngSuite/bgai4a16.png
new file mode 100644
index 0000000000000000000000000000000000000000..51192e731106e77cec52a3acda3d0c3cd54a16d5
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgai4a16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/bgan6a08.png b/Tests/W3CTestSuite/images/PngSuite/bgan6a08.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6087387639b9cefaaafb696e29a8bd910ee0680
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgan6a08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/bgan6a16.png b/Tests/W3CTestSuite/images/PngSuite/bgan6a16.png
new file mode 100644
index 0000000000000000000000000000000000000000..984a99525f5246cbc5d7083dd79006c7efa0ab0b
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgan6a16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/bgbn4a08.png b/Tests/W3CTestSuite/images/PngSuite/bgbn4a08.png
new file mode 100644
index 0000000000000000000000000000000000000000..7cbefc3bff08a9d91666d6b0f8b5cb1c896b7987
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgbn4a08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/bggn4a16.png b/Tests/W3CTestSuite/images/PngSuite/bggn4a16.png
new file mode 100644
index 0000000000000000000000000000000000000000..13fd85ba193369dbd84a0dc07f73d3340485fa6a
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bggn4a16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/bgwn6a08.png b/Tests/W3CTestSuite/images/PngSuite/bgwn6a08.png
new file mode 100644
index 0000000000000000000000000000000000000000..a67ff205bba91cc8f391a0b59110ae6c038539ac
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgwn6a08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/bgyn6a16.png b/Tests/W3CTestSuite/images/PngSuite/bgyn6a16.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae3e9be58a823cf7c6535b1cadd96c45f15cca8b
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgyn6a16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ccwn2c08.png b/Tests/W3CTestSuite/images/PngSuite/ccwn2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..47c24817b79c1e2df8eb3f4fe43798f249a063d6
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ccwn2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ccwn3p08.png b/Tests/W3CTestSuite/images/PngSuite/ccwn3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bb2c10981594a83b7a8981436225d0b2241d27b
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ccwn3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cdfn2c08.png b/Tests/W3CTestSuite/images/PngSuite/cdfn2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..559e5261e705daf7a562a18eee445ccc35990e97
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cdfn2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cdhn2c08.png b/Tests/W3CTestSuite/images/PngSuite/cdhn2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e07e8ecbd08b38031432052c4f8a4b02f866b8d
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cdhn2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cdsn2c08.png b/Tests/W3CTestSuite/images/PngSuite/cdsn2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..076c32cc082066dc870e1282b97c15ec22192407
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cdsn2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cdun2c08.png b/Tests/W3CTestSuite/images/PngSuite/cdun2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..846033be6b4fdec08cc010aa0abb35428b6659d0
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cdun2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ch1n3p04.png b/Tests/W3CTestSuite/images/PngSuite/ch1n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..17cd12dfc9169036898b84dfcd8d7c547c8dfde0
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ch1n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ch2n3p08.png b/Tests/W3CTestSuite/images/PngSuite/ch2n3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..25c17987a778ffd5317f9f0f3ce948a05b056239
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ch2n3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cm0n0g04.png b/Tests/W3CTestSuite/images/PngSuite/cm0n0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fba5db3b82ca7725816efca47adfb44d61292f0
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cm0n0g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cm7n0g04.png b/Tests/W3CTestSuite/images/PngSuite/cm7n0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7dc46e6853b28f0cd61437a8fc7e208310b1afe
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cm7n0g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cm9n0g04.png b/Tests/W3CTestSuite/images/PngSuite/cm9n0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd70911adce17b3432d178e69c2911618ef9e482
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cm9n0g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cs3n2c16.png b/Tests/W3CTestSuite/images/PngSuite/cs3n2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf5fd20a20445fb7c9cf5d38a6ac4cd0fb28de29
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs3n2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cs3n3p08.png b/Tests/W3CTestSuite/images/PngSuite/cs3n3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4a66237bfb3a113b7874d569367932762cd0ba8
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs3n3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cs5n2c08.png b/Tests/W3CTestSuite/images/PngSuite/cs5n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..40f947c33e477af3d4c13e3a56efcf32e6871be2
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs5n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cs5n3p08.png b/Tests/W3CTestSuite/images/PngSuite/cs5n3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfd6e6e6ecfcf1d0be69730fb34292c8b6561376
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs5n3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cs8n2c08.png b/Tests/W3CTestSuite/images/PngSuite/cs8n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..8e01d3294ff71ea83918aa7f99589c7f88da81c4
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs8n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/cs8n3p08.png b/Tests/W3CTestSuite/images/PngSuite/cs8n3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..a44066eb6edf7e7c45720aed393b64efa2381847
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs8n3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ct0n0g04.png b/Tests/W3CTestSuite/images/PngSuite/ct0n0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..40d1e062f8cd792950cbc4307c8eebde62ab5ada
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ct0n0g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ct1n0g04.png b/Tests/W3CTestSuite/images/PngSuite/ct1n0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ba110aa764ff4e5ee642b7c0788229a4924d383
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ct1n0g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ctzn0g04.png b/Tests/W3CTestSuite/images/PngSuite/ctzn0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4401c9cfca842537838cec131e416ce9d7b0c26
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ctzn0g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f00n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f00n0g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..45a007596753f6627224931755c073a3362be88c
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f00n0g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f00n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f00n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6a1ffff62eb0f1f1dcdb4ba2b1d30473d3adacd
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f00n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f01n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f01n0g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a1107b4637642335b8ec7b8e1856dc0ba7dab70
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f01n0g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f01n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f01n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..26fee958ce7e62a59843205ad34f86a525718595
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f01n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f02n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f02n0g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfe410c5e7caaa19aa9f3294da29847720362d16
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f02n0g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f02n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f02n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..e590f1234816946731c677d0b353e2db5a08d71b
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f02n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f03n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f03n0g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed01e2923c92fd8b8786524c6d6841365a44b9de
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f03n0g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f03n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f03n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..758115059d78260f7485521b83a864d4a930be84
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f03n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f04n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f04n0g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..663fdae3e7d906df7379d92621a7a951313705cc
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f04n0g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/f04n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f04n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c8b5116e72a63a3de8e0c1892c147071d0269e7
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f04n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g03n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g03n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..41083ca80f964707b6b89e1cc1266e381710175e
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g03n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g03n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g03n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9354dbee6f36cf88f7b6277d3fd43b6cabfd84a
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g03n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g03n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g03n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..60396c95af19fc5f14aff9f83d391331a32b3dab
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g03n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g04n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g04n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..32395b76c9c0e1cb962743e8a9c8c41f319a26bd
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g04n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g04n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g04n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..a652b0ce87ed2824e2320154aeeb92915dab7be4
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g04n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g04n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g04n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..5661cc31318e161851f187195610f7b6e0e1df6e
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g04n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g05n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g05n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..70b37f01e2b9e13a30a6e9d3c51a114a2f0953ca
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g05n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g05n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g05n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..932c1365364fead1166e4772f29dcb7657f73f39
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g05n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g05n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g05n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..9619930585eb3798db54058d41c09f6cd195c723
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g05n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g07n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g07n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6a47c2d5746fc93d252900c0b2286878b14a71b
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g07n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g07n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g07n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..597346460f1999fb225a46c941751a063ce744f4
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g07n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g07n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g07n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..c73fb613650d59c9f17a86e3a2b3888094d1586a
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g07n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g10n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g10n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..85f2c958e9a29e0f478aed93975456ec4bfffd1b
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g10n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g10n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g10n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..b3039970c10e786659f9752913c41b8a26b1179a
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g10n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g10n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g10n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b6a6be2ca571956ce45bae5470c03cd2266fd89
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g10n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g25n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g25n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9f6787c7ab50968e37514529f53a6249762ca17
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g25n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g25n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g25n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..03f505a64b57293034b16cc1030c61e9f3a810fd
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g25n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/g25n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g25n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f943c6175f31c3609bf4458fff9d3c591f112f7
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g25n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/oi1n0g16.png b/Tests/W3CTestSuite/images/PngSuite/oi1n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7c82f78eb954be5be51c35bd287e00018c69d82
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi1n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/oi1n2c16.png b/Tests/W3CTestSuite/images/PngSuite/oi1n2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..50c1cb91a0171e9f34991b079fe932f5f0bb16d6
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi1n2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/oi2n0g16.png b/Tests/W3CTestSuite/images/PngSuite/oi2n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..14d64c583db347908d4e107b49bdaf88e3857b8d
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi2n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/oi2n2c16.png b/Tests/W3CTestSuite/images/PngSuite/oi2n2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c2e3e3352babf7ab7b83c65bbd334a3e14f0632
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi2n2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/oi4n0g16.png b/Tests/W3CTestSuite/images/PngSuite/oi4n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..69e73ede311c4a846a8f818330708658a1e0fe77
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi4n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/oi4n2c16.png b/Tests/W3CTestSuite/images/PngSuite/oi4n2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..93691e373aa49fc22be1f4bb27b28475cdc23a38
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi4n2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/oi9n0g16.png b/Tests/W3CTestSuite/images/PngSuite/oi9n0g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..9248413576d964953c7c15ee5f62c7ea5cfbb5e5
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi9n0g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/oi9n2c16.png b/Tests/W3CTestSuite/images/PngSuite/oi9n2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0512e49f2306f1969bc9fcafedcb77f748b54f8
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi9n2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/pngsuite.doc b/Tests/W3CTestSuite/images/PngSuite/pngsuite.doc
new file mode 100644
index 0000000000000000000000000000000000000000..7da918b4e9645c0a4e5eda1ed30bd6fc0eaeab23
--- /dev/null
+++ b/Tests/W3CTestSuite/images/PngSuite/pngsuite.doc
@@ -0,0 +1,520 @@
+        PNGSUITE
+----------------
+
+        testset for PNG-(de)coders
+        created by Willem van Schaik
+------------------------------------
+
+This is a collection of graphics images created to test the png applications
+like viewers, converters and editors. All (as far as that is possible)
+formats supported by the PNG standard are represented.
+
+
+1.      INTRODUCTION
+--------------------
+
+1.1     PNG capabilities
+------------------------
+
+Supported color-types are:
+
+        -   grayscale
+        -   grayscale + alpha-channel
+        -   color palettes
+        -   rgb
+        -   rgb + alpha-channel
+
+Allowed bitdepths are depending on the color-type, but are in the range
+of 1-bit (grayscale, which is b&w) upto 16-bits.
+
+Special features are:
+
+        -   interlacing (Adam-7)
+        -   gamma-support
+        -   transparency (a poor-man's alpha solution)
+
+
+1.2     File naming
+-------------------
+
+Where possible, the testfiles are 32x32 bits icons. This results in a still
+reasonable size of the suite even with a large number of tests. The name
+of each test-file reflects thetype in the following way:
+
+        g04i2c08.png
+        || |||+---- bit-depth
+        || ||+----- color-type (descriptive)
+        || |+------ color-type (numerical)
+        || +------- interlaced or non-interlaced
+        |+--------- parameter of test (in this case gamma-value)
+        +---------- test feature (in this case gamma)
+
+
+1.3     PNG formats
+-------------------
+
+color-type:
+        0g          -   grayscale
+        2c          -   rgb color
+        3p          -   paletted
+        4a          -   grayscale + alpha channel
+        6a          -   rgb color + alpha channel
+
+bit-depth:
+        01          -   with color-type 0, 3
+        02          -   with color-type 0, 3
+        04          -   with color-type 0, 3
+        08          -   with color-type 0, 2, 3, 4, 6
+        16          -   with color-type 0, 2, 4, 6
+
+interlacing:
+        n           -   non-interlaced
+        i           -   interlaced
+
+
+2.      THE TESTS
+-----------------
+
+2.1     Sizes
+-------------
+
+These tests are there to check if your software handles pictures well, with
+picture sizes that are not a multiple of 8. This is particularly important
+with Adam-7 type interlacing. In the same way these tests check if pictures
+size 1x1 and similar are ok.
+
+        s01         -   1x1 pixel picture
+        s02         -   2x2 pixel picture
+        s03         -   3x3 pixel picture
+        s04         -   4x4 pixel picture
+        s05         -   5x5 pixel picture
+        s06         -   6x6 pixel picture
+        s07         -   7x7 pixel picture
+        s08         -   8x8 pixel picture
+        s09         -   9x9 pixel picture
+        s32         -   32x32 pixel picture
+        s33         -   33x33 pixel picture
+        s34         -   34x34 pixel picture
+        s35         -   35x35 pixel picture
+        s36         -   36x36 pixel picture
+        s37         -   37x37 pixel picture
+        s38         -   38x38 pixel picture
+        s39         -   39x39 pixel picture
+        s40         -   40x40 pixel picture
+
+
+2.2     Background
+------------------
+
+When the PNG file contains a background chunck, this should be used for
+pictures with alpha-channel or pictures with a transparency chunck. For
+pictures without this background-chunk, but with alpha, this testset
+assumes a black background.
+
+For the images in this test, the left-side should be 100% the background
+color, where moving to the right the color should gradually become the
+image pattern.
+
+        bga         -   alpha + no background
+        bgw         -   alpha + white background
+        bgg         -   alpha + gray background
+        bgb         -   alpha + black background
+        bgy         -   alpha + yellow background
+
+
+2.3     Transparency
+--------------------
+
+Transparency should be used together with a background chunk. To test the
+combination of the two the latter 4 tests are there. How to handle pictures
+with transparancy, but without a background, opinions can differ. Here we
+use black, but especially in the case of paletted images, the normal color
+would maybe even be better.
+
+        tp0         -   not transparent for reference
+        tp1         -   transparent, but no background chunk
+        tbw         -   transparent + white background
+        tbg         -   transparent + gray background
+        tbb         -   transparent + black background
+        tby         -   transparent + yellow background
+
+
+2.4     Gamma
+-------------
+
+To test if your viewer handles gamma-correction, 6 testfiles are available.
+They contain corrected color-ramps and a corresponding gamma-chunk with the
+file-gamma value. These are created in such a way that when the viewer does
+the gamma correction right, all 6 should be displayed identical.
+
+If they are different, probably the gamma correction is omitted. In that
+case, have a look at the two right coloumns in the 6 pictures. The image
+where those two look the same (when looked from far) reflects the gamma of
+your system. However, because of the limited size of the image, you should
+do more elaborate tests to determine your display gamma.
+
+        g03         -   file-gamma = 0.35, for display with gamma = 2.8
+        g04         -   file-gamma = 0.45, for display with gamma = 2.2 (PC)
+        g05         -   file-gamma = 0.55, for display with gamma = 1.8 (Mac)
+        g07         -   file-gamma = 0.70, for display with gamma = 1.4
+        g10         -   file-gamma = 1.00, for display with gamma = 1.0 (NeXT)
+        g25         -   file-gamma = 2.50, for display with gamma = 0.4
+
+
+2.5     Filtering
+-----------------
+
+PNG uses file-filtering, for optimal compression. Normally the type is of
+filtering is adjusted to the contents of the picture, but here each file
+has the same picture, with a different filtering.
+
+        f0          -   no filtering
+        f1          -   sub filtering
+        f2          -   up filtering
+        f3          -   average filtering
+        f4          -   paeth filtering
+
+
+2.6     Additional palettes
+---------------------------
+
+Besides the normal use of paletted images, palette chunks can in combination
+with true-color (and other) images also be used to select color lookup-tables
+when the video system is of limited capabilities. The suggested palette chunk
+is specially created for this purpose.
+
+        pp          -   normal palette chunk
+        ps          -   suggested palette chunk
+
+
+2.7     Ancillary chunks (under construction)
+------------------------
+
+To test the correct decoding of ancillary chunks, these test-files contain
+one or more examples of these chunkcs. Depending on the type of chunk, a
+number of typical values are selected to test. Unluckily, the testset can
+not contain all combinations, because that would be an endless set.
+
+The significant bits are used in files with the next higher bit-depth. They
+indicate howmany bits are valid.
+
+        cs3         -   3 significant bits
+        cs5         -   5 significant bits
+        cs8         -   8 significant bits (reference)
+        cs3         -   13 significant bits
+
+For the physical pixel dimensions, the result of each decoding should be
+a sqare picture. The first (cdf) image is an example of flat (horizontal)
+pixels, where the pHYS chunk (x is 1 per unit, y = 4 per unit) must take
+care of the correction. The second is just the other way round. The last
+example uses the unit specifier, for 1000 pixels per meter. This should
+result in a picture of 3.2 cm square.
+
+        cdf         -   physical pixel dimensions, 8x32 flat pixels
+        cdh         -   physical pixel dimensions, 32x8 high pixels
+        cds         -   physical pixel dimensions, 8x8 square pixels
+        cdu         -   physical pixel dimensions, with unit-specifier
+
+        ccw         -   primary chromaticities and white point
+
+        ch1         -   histogram 15 colors
+        ch2         -   histogram 256 colors
+
+        cm7         -   modification time, 01-jan-1970
+        cm9         -   modification time, 31-dec-1999
+        cm0         -   modification time, 01-jan-2000
+
+In the textual chunk, a number of the standard, and some non-standard
+text items are included.
+
+        ct0         -   no textual data
+        ct1         -   with textual data
+        ctz         -   with compressed textual data
+
+
+2.8     Chunk ordering (still under construction)
+----------------------
+
+These testfiles will test the obligatory ordering relations between various
+chunk types (not yet) as well as the number of data chunks used for the image.
+
+        oi1         -   mother image with 1 idat-chunk
+        oi2         -   image with 2 idat-chunks
+        oi4         -   image with 4 unequal sized idat-chunks
+        oi9         -   all idat-chunks of length one
+
+
+2.9     Compression level
+-------------------------
+
+Here you will find a set of images compressed by zlib, ranging from level 0 
+for no compression at maximum speed upto level 9 for maximum compression.
+
+        z00         -   zlib compression level 0 - none
+        z03         -   zlib compression level 3
+        z06         -   zlib compression level 6 - default
+        z09         -   zlib compression level 9 - maximum
+
+
+2.10     Corrupted files (under construction)
+-----------------------
+
+All these files are illegal. When decoding they should generate appropriate
+error-messages.
+
+        x00         -   empty IDAT chunk
+        xcr         -   added cr bytes
+        xlf         -   added lf bytes
+        xc0         -   color type 0
+        xc9         -   color type 9
+        xd0         -   bit-depth 0
+        xd3         -   bit-depth 3
+        xd9         -   bit-depth 99
+        xcs         -   incorrect IDAT checksum
+
+
+3.      TEST FILES
+------------------
+
+For each of the tests listed above, one or more test-files are created. A
+selection is made (for each test) for the color-type and bitdepth to be used
+for the tests. Further for a number of tests, both a non-interlaced as well
+as an interlaced version is available.
+
+
+3.1     Basic format test files (non-interlaced)
+------------------------------------------------
+
+        basn0g01    -   black & white
+        basn0g02    -   2 bit (4 level) grayscale
+        basn0g04    -   4 bit (16 level) grayscale
+        basn0g08    -   8 bit (256 level) grayscale
+        basn0g16    -   16 bit (64k level) grayscale
+        basn2c08    -   3x8 bits rgb color
+        basn2c16    -   3x16 bits rgb color
+        basn3p01    -   1 bit (2 color) paletted
+        basn3p02    -   2 bit (4 color) paletted
+        basn3p04    -   4 bit (16 color) paletted
+        basn3p08    -   8 bit (256 color) paletted
+        basn4a08    -   8 bit grayscale + 8 bit alpha-channel
+        basn4a16    -   16 bit grayscale + 16 bit alpha-channel
+        basn6a08    -   3x8 bits rgb color + 8 bit alpha-channel
+        basn6a16    -   3x16 bits rgb color + 16 bit alpha-channel
+
+
+3.2     Basic format test files (Adam-7 interlaced)
+---------------------------------------------------
+
+        basi0g01    -   black & white
+        basi0g02    -   2 bit (4 level) grayscale
+        basi0g04    -   4 bit (16 level) grayscale
+        basi0g08    -   8 bit (256 level) grayscale
+        basi0g16    -   16 bit (64k level) grayscale
+        basi2c08    -   3x8 bits rgb color
+        basi2c16    -   3x16 bits rgb color
+        basi3p01    -   1 bit (2 color) paletted
+        basi3p02    -   2 bit (4 color) paletted
+        basi3p04    -   4 bit (16 color) paletted
+        basi3p08    -   8 bit (256 color) paletted
+        basi4a08    -   8 bit grayscale + 8 bit alpha-channel
+        basi4a16    -   16 bit grayscale + 16 bit alpha-channel
+        basi6a08    -   3x8 bits rgb color + 8 bit alpha-channel
+        basi6a16    -   3x16 bits rgb color + 16 bit alpha-channel
+
+
+3.3     Sizes test files
+-----------------------
+
+        s01n3p01    -   1x1 paletted file, no interlacing
+        s02n3p01    -   2x2 paletted file, no interlacing
+        s03n3p01    -   3x3 paletted file, no interlacing
+        s04n3p01    -   4x4 paletted file, no interlacing
+        s05n3p02    -   5x5 paletted file, no interlacing
+        s06n3p02    -   6x6 paletted file, no interlacing
+        s07n3p02    -   7x7 paletted file, no interlacing
+        s08n3p02    -   8x8 paletted file, no interlacing
+        s09n3p02    -   9x9 paletted file, no interlacing
+        s32n3p04    -   32x32 paletted file, no interlacing
+        s33n3p04    -   33x33 paletted file, no interlacing
+        s34n3p04    -   34x34 paletted file, no interlacing
+        s35n3p04    -   35x35 paletted file, no interlacing
+        s36n3p04    -   36x36 paletted file, no interlacing
+        s37n3p04    -   37x37 paletted file, no interlacing
+        s38n3p04    -   38x38 paletted file, no interlacing
+        s39n3p04    -   39x39 paletted file, no interlacing
+        s40n3p04    -   40x40 paletted file, no interlacing
+
+        s01i3p01    -   1x1 paletted file, interlaced
+        s02i3p01    -   2x2 paletted file, interlaced
+        s03i3p01    -   3x3 paletted file, interlaced
+        s04i3p01    -   4x4 paletted file, interlaced
+        s05i3p02    -   5x5 paletted file, interlaced
+        s06i3p02    -   6x6 paletted file, interlaced
+        s07i3p02    -   7x7 paletted file, interlaced
+        s08i3p02    -   8x8 paletted file, interlaced
+        s09i3p02    -   9x9 paletted file, interlaced
+        s32i3p04    -   32x32 paletted file, interlaced
+        s33i3p04    -   33x33 paletted file, interlaced
+        s34i3p04    -   34x34 paletted file, interlaced
+        s35i3p04    -   35x35 paletted file, interlaced
+        s36i3p04    -   36x36 paletted file, interlaced
+        s37i3p04    -   37x37 paletted file, interlaced
+        s38i3p04    -   38x38 paletted file, interlaced
+        s39i3p04    -   39x39 paletted file, interlaced
+        s40i3p04    -   40x40 paletted file, interlaced
+
+
+3.4     Background test files (with alpha)
+------------------------------------------
+
+        bgai4a08    -   8 bit grayscale, alpha, no background chunk, interlaced
+        bgai4a16    -   16 bit grayscale, alpha, no background chunk, interlaced
+        bgan6a08    -   3x8 bits rgb color, alpha, no background chunk
+        bgan6a16    -   3x16 bits rgb color, alpha, no background chunk
+
+        bgbn4a08    -   8 bit grayscale, alpha, black background chunk
+        bggn4a16    -   16 bit grayscale, alpha, gray background chunk
+        bgwn6a08    -   3x8 bits rgb color, alpha, white background chunk
+        bgyn6a16    -   3x16 bits rgb color, alpha, yellow background chunk
+
+
+3.5     Transparency (and background) test files
+------------------------------------------------
+
+        tp0n1g08    -   not transparent for reference (logo on gray)
+        tbbn1g04    -   transparent, black background chunk
+        tbwn1g16    -   transparent, white background chunk
+        tp0n2c08    -   not transparent for reference (logo on gray)
+        tbrn2c08    -   transparent, red background chunk
+        tbgn2c16    -   transparent, green background chunk
+        tbbn2c16    -   transparent, blue background chunk
+        tp0n3p08    -   not transparent for reference (logo on gray)
+        tp1n3p08    -   transparent, but no background chunk
+        tbbn3p08    -   transparent, black background chunk
+        tbgn3p08    -   transparent, light-gray background chunk
+        tbwn3p08    -   transparent, white background chunk
+        tbyn3p08    -   transparent, yellow background chunk
+
+
+3.6     Gamma test files
+------------------------
+
+        g03n0g16    -   grayscale, file-gamma = 0.35
+        g04n0g16    -   grayscale, file-gamma = 0.45
+        g05n0g16    -   grayscale, file-gamma = 0.55
+        g07n0g16    -   grayscale, file-gamma = 0.70
+        g10n0g16    -   grayscale, file-gamma = 1.00
+        g25n0g16    -   grayscale, file-gamma = 2.50
+        g03n2c08    -   color, file-gamma = 0.35
+        g04n2c08    -   color, file-gamma = 0.45
+        g05n2c08    -   color, file-gamma = 0.55
+        g07n2c08    -   color, file-gamma = 0.70
+        g10n2c08    -   color, file-gamma = 1.00
+        g25n2c08    -   color, file-gamma = 2.50
+        g03n3p04    -   paletted, file-gamma = 0.35
+        g04n3p04    -   paletted, file-gamma = 0.45
+        g05n3p04    -   paletted, file-gamma = 0.55
+        g07n3p04    -   paletted, file-gamma = 0.70
+        g10n3p04    -   paletted, file-gamma = 1.00
+        g25n3p04    -   paletted, file-gamma = 2.50
+
+
+3.7     Filtering test files
+----------------------------
+
+        f00n0g08    -   grayscale, no interlacing, filter-type 0
+        f01n0g08    -   grayscale, no interlacing, filter-type 1
+        f02n0g08    -   grayscale, no interlacing, filter-type 2
+        f03n0g08    -   grayscale, no interlacing, filter-type 3
+        f04n0g08    -   grayscale, no interlacing, filter-type 4
+        f00n2c08    -   color, no interlacing, filter-type 0
+        f01n2c08    -   color, no interlacing, filter-type 1
+        f02n2c08    -   color, no interlacing, filter-type 2
+        f03n2c08    -   color, no interlacing, filter-type 3
+        f04n2c08    -   color, no interlacing, filter-type 4
+
+
+3.8     Additional palette chunk test files
+-------------------------------------------
+
+        pp0n2c16    -   six-cube palette-chunk in true-color image
+        pp0n6a08    -   six-cube palette-chunk in true-color+alpha image
+        ps1n0g08    -   six-cube suggested palette (1 byte) in grayscale image
+        ps1n2c16    -   six-cube suggested palette (1 byte) in true-color image
+        ps2n0g08    -   six-cube suggested palette (2 bytes) in grayscale image
+        ps2n2c16    -   six-cube suggested palette (2 bytes) in true-color image
+
+
+3.9     Ancillary chunks test files
+-----------------------------------
+
+        cs5n2c08    -   color, 5 significant bits
+        cs8n2c08    -   color, 8 significant bits (reference)
+        cs3n2c16    -   color, 13 significant bits
+        cs3n3p08    -   paletted, 3 significant bits
+        cs5n3p08    -   paletted, 5 significant bits
+        cs8n3p08    -   paletted, 8 significant bits (reference)
+
+        cdfn2c08    -   physical pixel dimensions, 8x32 flat pixels
+        cdhn2c08    -   physical pixel dimensions, 32x8 high pixels
+        cdsn2c08    -   physical pixel dimensions, 8x8 square pixels
+        cdun2c08    -   physical pixel dimensions, 1000 pixels per 1 meter
+
+        ccwn2c08    -   chroma chunk w:0.3127,0.3290 r:0.64,0.33 g:0.30,0.60 b:0.15,0.06
+        ccwn3p08    -   chroma chunk w:0.3127,0.3290 r:0.64,0.33 g:0.30,0.60 b:0.15,0.06
+
+        ch1n3p04    -   histogram 15 colors
+        ch2n3p08    -   histogram 256 colors
+
+        cm7n0g04    -   modification time, 01-jan-1970 00:00:00
+        cm9n0g04    -   modification time, 31-dec-1999 23:59:59
+        cm0n0g04    -   modification time, 01-jan-2000 12:34:56
+
+        ct0n0g04    -   no textual data
+        ct1n0g04    -   with textual data
+        ctzn0g04    -   with compressed textual data
+
+
+
+3.10    Chunk ordering
+----------------------
+
+        oi1n0g16    -   grayscale mother image with 1 idat-chunk
+        oi2n0g16    -   grayscale image with 2 idat-chunks
+        oi4n0g16    -   grayscale image with 4 unequal sized idat-chunks
+        oi9n0g16    -   grayscale image with all idat-chunks length one
+        oi1n2c16    -   color mother image with 1 idat-chunk
+        oi2n2c16    -   color image with 2 idat-chunks
+        oi4n2c16    -   color image with 4 unequal sized idat-chunks
+        oi9n2c16    -   color image with all idat-chunks length one
+
+
+
+3.11    Compression level
+-------------------------
+
+        z00n2c08    -   color, no interlacing, compression level 0 (none)
+        z03n2c08    -   color, no interlacing, compression level 3
+        z06n2c08    -   color, no interlacing, compression level 6 (default)
+        z09n2c08    -   color, no interlacing, compression level 9 (maximum)
+
+
+
+3.12     Currupted files
+-----------------------
+
+        x00n0g01    -   empty 0x0 grayscale file
+        xcrn0g04    -   added cr bytes
+        xlfn0g04    -   added lf bytes
+        xc0n0c08    -   color type 0
+        xc9n0c08    -   color type 9
+        xd0n2c00    -   bit-depth 0
+        xd3n2c03    -   bit-depth 3
+        xd9n2c99    -   bit-depth 99
+        xcsn2c08    -   incorrect IDAT checksum
+
+
+--------
+    (c) Willem van Schaik
+        willem@schaik.com
+        Singapore, October 1996
diff --git a/Tests/W3CTestSuite/images/PngSuite/pngsuite_logo.png b/Tests/W3CTestSuite/images/PngSuite/pngsuite_logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..205460d8287a90ab9c9b7372354d8b7a8b5317da
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/pngsuite_logo.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/pp0n2c16.png b/Tests/W3CTestSuite/images/PngSuite/pp0n2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f2aad7335206d0563ec5e8546bae83e16565080
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/pp0n2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/pp0n6a08.png b/Tests/W3CTestSuite/images/PngSuite/pp0n6a08.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ed7a30e4d16e0527c2695bf0493ec1ba156d8c4
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/pp0n6a08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ps1n0g08.png b/Tests/W3CTestSuite/images/PngSuite/ps1n0g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..2053df2ba3aef44cc8cb3d1405a97f1f0b916767
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ps1n0g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ps1n2c16.png b/Tests/W3CTestSuite/images/PngSuite/ps1n2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..b03ecfc669fde49f9db8b48f655665357675b121
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ps1n2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ps2n0g08.png b/Tests/W3CTestSuite/images/PngSuite/ps2n0g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..beeab8ff3d70e4570ae780c62404f0abb376abdc
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ps2n0g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/ps2n2c16.png b/Tests/W3CTestSuite/images/PngSuite/ps2n2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..c256f9091b225bad679fa39cad703da386d45ee7
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ps2n2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s01i3p01.png b/Tests/W3CTestSuite/images/PngSuite/s01i3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..6c0fad1fc982e54aea994e12efd3fe3584cabdbc
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s01i3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s01n3p01.png b/Tests/W3CTestSuite/images/PngSuite/s01n3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb2c8c78261e509e7ef2c352306618963954a84a
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s01n3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s02i3p01.png b/Tests/W3CTestSuite/images/PngSuite/s02i3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..2defaed911a29507f745bd7183a9819b29cc53de
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s02i3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s02n3p01.png b/Tests/W3CTestSuite/images/PngSuite/s02n3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b1b669643540f182c425fb67869b7f97fe75f10
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s02n3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s03i3p01.png b/Tests/W3CTestSuite/images/PngSuite/s03i3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..c23fdc463170faf97e53fccb4799386700b21a15
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s03i3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s03n3p01.png b/Tests/W3CTestSuite/images/PngSuite/s03n3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d96ee4f873baf1df3652a8d70994eeea799c30b
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s03n3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s04i3p01.png b/Tests/W3CTestSuite/images/PngSuite/s04i3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e710c2c397e371e4feab66add6a9f9763ce0c27
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s04i3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s04n3p01.png b/Tests/W3CTestSuite/images/PngSuite/s04n3p01.png
new file mode 100644
index 0000000000000000000000000000000000000000..956396c45b5103d3c38dd8906be14002e5bee48f
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s04n3p01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s05i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s05i3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..d14cbd351ac11022eefcfa3bb2af528c3aadae41
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s05i3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s05n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s05n3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf940f057678363347961bbc920a0603b500d70d
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s05n3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s06i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s06i3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..456ada3200643ae917af3ea3f9fa0df7471c0660
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s06i3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s06n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s06n3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..501064dc25cffaa03049daa6a4295d31d2820e2c
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s06n3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s07i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s07i3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..44b66bab9e4ff6f2af2bd2f8c3c0a95c3b28e45c
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s07i3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s07n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s07n3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a582593d654c8d43aa8c8dfa8f6516e4f24c8c4
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s07n3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s08i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s08i3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..acf74f3fc4132609443b0555d56e5b314644bf23
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s08i3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s08n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s08n3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7094e1b4f19ab9c2022b303bc79e00e986f925d
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s08n3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s09i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s09i3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..0bfae8e45678282b23bed2760c0dbbd736be9df8
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s09i3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s09n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s09n3p02.png
new file mode 100644
index 0000000000000000000000000000000000000000..711ab8245189b4d5118b4dcd49ef9771bf924fb8
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s09n3p02.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s32i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s32i3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..0841910b72779aa7571cce45e56447eeb3de4520
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s32i3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s32n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s32n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa58e3e3f69b3ad3cf92d96bc17b030d0fafbcb5
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s32n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s33i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s33i3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab0dc14aba444d3f59f0bf77808ee7ee78ab5a48
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s33i3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s33n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s33n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..764f1a3dc71f0aae5785c00d1563e309a7d3bc13
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s33n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s34i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s34i3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd99039be4a6c3a7a2a6048541436892bc4fd5ae
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s34i3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s34n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s34n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..9cbc68b3b9d5f263eb64bca9ad8bdfeae8205f63
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s34n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s35i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s35i3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2a5e0a6595f100edc1f79a3e0864ad6ea0d0121
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s35i3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s35n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s35n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..90b892ebafc5b5318b2c4dd257eaca9377692ac5
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s35n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s36i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s36i3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb61b6f9a325db7d967bd796d3a65494bf6b7754
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s36i3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s36n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s36n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..b38d179774ce64d3da2a9c3ab1e8c0fc5ce54771
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s36n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s37i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s37i3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e2b1e9b79ba8ded32f713506b543f95c8720615
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s37i3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s37n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s37n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..4d3054da516a3fc671bf5d2c4a401abe6886414a
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s37n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s38i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s38i3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0a8a140ad7ec7f78f5b8cb398f54233e790fe7c
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s38i3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s38n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s38n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..1233ed048e504292bef13d0a96d291914d12c858
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s38n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s39i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s39i3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..04fee93eae400e745534756b48f5420cbe4a1d91
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s39i3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s39n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s39n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..c750100d55fbd07d216bcc5af538a83b9f7772a3
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s39n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s40i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s40i3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..68f358b822b92784fe065e4656061443a63795e1
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s40i3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/s40n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s40n3p04.png
new file mode 100644
index 0000000000000000000000000000000000000000..864b6b9673b3b331f2956ad2299b7854210cdb41
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s40n3p04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tbbn1g04.png b/Tests/W3CTestSuite/images/PngSuite/tbbn1g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc8002053a39d720cec152a82a97ab068e14a366
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbbn1g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tbbn2c16.png b/Tests/W3CTestSuite/images/PngSuite/tbbn2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..5abfbbb3a22dd31dd032db371468d76418369334
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbbn2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tbbn3p08.png b/Tests/W3CTestSuite/images/PngSuite/tbbn3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..4210d168321f08f48858470c690aa433aeb88abc
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbbn3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tbgn2c16.png b/Tests/W3CTestSuite/images/PngSuite/tbgn2c16.png
new file mode 100644
index 0000000000000000000000000000000000000000..236c81dcf389f9e577494d8e4b82067e2087d6d6
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbgn2c16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tbgn3p08.png b/Tests/W3CTestSuite/images/PngSuite/tbgn3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..42db2325b1fd049de8ad529c45afd4c6a077c1d1
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbgn3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tbrn2c08.png b/Tests/W3CTestSuite/images/PngSuite/tbrn2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c214746d5b9424137601faaeb2ab90d479a3e89
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbrn2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tbwn1g16.png b/Tests/W3CTestSuite/images/PngSuite/tbwn1g16.png
new file mode 100644
index 0000000000000000000000000000000000000000..dba2cbb6c300e3699eecf8410234e5394ed2161d
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbwn1g16.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tbwn3p08.png b/Tests/W3CTestSuite/images/PngSuite/tbwn3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..7922135aa7b7c09f32be946bfe711e72cbaf4a41
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbwn3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tbyn3p08.png b/Tests/W3CTestSuite/images/PngSuite/tbyn3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b2c6cbbaa6689fd89132fc7568acf8e791393d1
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbyn3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tp0n1g08.png b/Tests/W3CTestSuite/images/PngSuite/tp0n1g08.png
new file mode 100644
index 0000000000000000000000000000000000000000..caad31deae31759bbdb4a4e7091179a160d04a23
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tp0n1g08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tp0n2c08.png b/Tests/W3CTestSuite/images/PngSuite/tp0n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..f26be44679c7613670ce3a895972db572be11cb9
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tp0n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tp0n3p08.png b/Tests/W3CTestSuite/images/PngSuite/tp0n3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..4d6cf9e44c2eab2ce78201d1ee1d1486a8cb5299
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tp0n3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/tp1n3p08.png b/Tests/W3CTestSuite/images/PngSuite/tp1n3p08.png
new file mode 100644
index 0000000000000000000000000000000000000000..6c5fd6ec32b3f74e1af000f88b18f1771174d2c0
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tp1n3p08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/x00n0g01.png b/Tests/W3CTestSuite/images/PngSuite/x00n0g01.png
new file mode 100644
index 0000000000000000000000000000000000000000..db3a5fda7ed52e31e18821afa803ff8d46c78966
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/x00n0g01.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/xcrn0g04.png b/Tests/W3CTestSuite/images/PngSuite/xcrn0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..5bce9f3ada0dd29a907356dec8710f02924a4241
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/xcrn0g04.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/xlfn0g04.png b/Tests/W3CTestSuite/images/PngSuite/xlfn0g04.png
new file mode 100644
index 0000000000000000000000000000000000000000..1fd104ba61226d05ec1001d9711d565ea97cef32
--- /dev/null
+++ b/Tests/W3CTestSuite/images/PngSuite/xlfn0g04.png
@@ -0,0 +1,13 @@
+�PNG
+
+
+
+
+
+IHDR  ���)�IDATx�]��
+�0P*@��#�
+
+#T��10lPF`ؠF=���IQ�*��u�`%qk�
+H�񚈩�m�����ߟ	э=,�f�OK
+
+���t��(������F;�P����{xp�]9�/p�*$(�*�y�Ճ�������@�C� 	c�q��N�U#�)11�.��r��f�0���gh(��t���E���kIEND�B`�
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/images/PngSuite/z00n2c08.png b/Tests/W3CTestSuite/images/PngSuite/z00n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..7669eb8385172325c399f3229cfe834f886fecb2
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/z00n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/z03n2c08.png b/Tests/W3CTestSuite/images/PngSuite/z03n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfb10de8de4f842b03efb9ea45798a67bc72d4c6
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/z03n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/z06n2c08.png b/Tests/W3CTestSuite/images/PngSuite/z06n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..b90ebc10f5b01829fe5e322c5b585b8c27090641
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/z06n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/PngSuite/z09n2c08.png b/Tests/W3CTestSuite/images/PngSuite/z09n2c08.png
new file mode 100644
index 0000000000000000000000000000000000000000..5f191a78ee5601a45f1add2a3ad7a77b7b1ae0f1
Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/z09n2c08.png differ
diff --git a/Tests/W3CTestSuite/images/SVG-1.1-monolithic-fixed.dtd b/Tests/W3CTestSuite/images/SVG-1.1-monolithic-fixed.dtd
new file mode 100644
index 0000000000000000000000000000000000000000..7ddd73b9b1f2b0850670e91b45af814c34a995ff
--- /dev/null
+++ b/Tests/W3CTestSuite/images/SVG-1.1-monolithic-fixed.dtd
@@ -0,0 +1,1622 @@
+<!-- =====================================================================
+  This is the DTD for SVG 1.1.
+
+  The specification for SVG that corresponds to this DTD is available at:
+
+    http://www.w3.org/TR/2002/WD-SVG11-20020215/
+
+  Copyright (c) 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+  For SVG 1.1:
+
+    Namespace:
+      http://www.w3.org/2000/svg  
+
+    Public identifier:
+      PUBLIC "-//W3C//DTD SVG 1.1//EN"
+
+    URI for the DTD:
+      http://www.w3.org/TR/2002/WD-SVG11-20020215/DTD/svg11.dtd
+============================================================================= -->
+<!-- ==============================================================
+     ENTITY DECLARATIONS: Data types 
+     ============================================================== -->
+<!ENTITY % BaselineShiftValue "CDATA">
+<!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->
+<!ENTITY % Boolean "(false | true)">
+<!-- feature specification -->
+<!ENTITY % ClassList "CDATA">
+<!-- list of classes -->
+<!ENTITY % ClipValue "CDATA">
+<!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
+<!ENTITY % ClipPathValue "CDATA">
+<!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
+<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
+<!-- 'clip-rule' or fill-rule property/attribute value -->
+<!ENTITY % ContentType "CDATA">
+<!-- media type, as per [RFC2045] -->
+<!ENTITY % Coordinate "CDATA">
+<!-- a <coordinate> -->
+<!ENTITY % Coordinates "CDATA">
+<!-- a list of <coordinate>s -->
+<!ENTITY % Color "CDATA">
+<!-- a <color> value -->
+<!ENTITY % CursorValue "CDATA">
+<!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
+<!ENTITY % EnableBackgroundValue "CDATA">
+<!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->
+<!ENTITY % ExtensionList "CDATA">
+<!-- extension list specification -->
+<!ENTITY % FeatureList "CDATA">
+<!-- feature list specification -->
+<!ENTITY % FilterValue "CDATA">
+<!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
+<!ENTITY % FontFamilyValue "CDATA">
+<!-- 'font-family' property/attribute value (i.e., list of fonts) -->
+<!ENTITY % FontSizeValue "CDATA">
+<!-- 'font-size' property/attribute value -->
+<!ENTITY % FontSizeAdjustValue "CDATA">
+<!-- 'font-size-adjust' property/attribute value -->
+<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
+<!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->
+<!ENTITY % GlyphOrientationVerticalValue "CDATA">
+<!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->
+<!ENTITY % Integer "CDATA">
+<!-- a <integer> -->
+<!ENTITY % KerningValue "CDATA">
+<!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
+<!ENTITY % LanguageCode "NMTOKEN">
+<!-- a language code, as per [RFC3066] -->
+<!ENTITY % LanguageCodes "CDATA">
+<!-- comma-separated list of language codes, as per [RFC3066] -->
+<!ENTITY % Length "CDATA">
+<!-- a <length> -->
+<!ENTITY % Lengths "CDATA">
+<!-- a list of <length>s -->
+<!ENTITY % LinkTarget "NMTOKEN">
+<!-- link to this target -->
+<!ENTITY % MarkerValue "CDATA">
+<!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
+<!ENTITY % MaskValue "CDATA">
+<!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
+<!ENTITY % MediaDesc "CDATA">
+<!-- comma-separated list of media descriptors. -->
+<!ENTITY % Number "CDATA">
+<!-- a <number> -->
+<!ENTITY % NumberOptionalNumber "CDATA">
+<!-- list of <number>s, but at least one and at most two -->
+<!ENTITY % NumberOrPercentage "CDATA">
+<!-- a <number> or a  <percentage> -->
+<!ENTITY % Numbers "CDATA">
+<!-- a list of <number>s -->
+<!ENTITY % OpacityValue "CDATA">
+<!-- opacity value (e.g., <number>) -->
+<!ENTITY % Paint "CDATA">
+<!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
+<!ENTITY % PathData "CDATA">
+<!-- a path data specification -->
+<!ENTITY % Points "CDATA">
+<!-- a list of points -->
+<!ENTITY % PreserveAspectRatioSpec "CDATA">
+<!-- 'preserveAspectRatio' attribute specification -->
+<!ENTITY % Script "CDATA">
+<!-- script expression -->
+<!ENTITY % SpacingValue "CDATA">
+<!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) -->
+<!ENTITY % StrokeDashArrayValue "CDATA">
+<!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->
+<!ENTITY % StrokeDashOffsetValue "CDATA">
+<!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->
+<!ENTITY % StrokeMiterLimitValue "CDATA">
+<!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
+<!ENTITY % StrokeWidthValue "CDATA">
+<!-- 'stroke-width' property/attribute value (e.g., <length>) -->
+<!ENTITY % StructuredText "content CDATA #FIXED 'structured text'">
+<!ENTITY % StyleSheet "CDATA">
+<!-- style sheet data -->
+<!ENTITY % SVGColor "CDATA">
+<!-- An SVG color value (RGB plus optional ICC) -->
+<!ENTITY % Text "CDATA">
+<!-- arbitrary text string -->
+<!ENTITY % TextDecorationValue "CDATA">
+<!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->
+<!ENTITY % TransformList "CDATA">
+<!-- list of transforms -->
+<!ENTITY % URI "CDATA">
+<!-- a Uniform Resource Identifier, see [URI] -->
+<!ENTITY % ViewBoxSpec "CDATA">
+<!-- 'viewBox' attribute specification -->
+<!-- ==============================================================
+     ENTITY DECLARATIONS: Collections of common attributes 
+     ============================================================== -->
+<!-- All elements have an ID. -->
+<!ENTITY % stdAttrs "id ID #IMPLIED
+  xml:base %URI; #IMPLIED">
+<!-- Common attributes for elements that might contain character data content. -->
+<!ENTITY % langSpaceAttrs "xml:lang %LanguageCode; #IMPLIED
+  xml:space (default|preserve) #IMPLIED">
+<!-- Common attributes to check for system capabilities. -->
+<!ENTITY % testAttrs "requiredFeatures %FeatureList; #IMPLIED
+  requiredExtensions %ExtensionList; #IMPLIED
+  systemLanguage %LanguageCodes; #IMPLIED">
+<!-- For most uses of URI referencing:
+        standard XLink attributes other than xlink:href. -->
+<!ENTITY % xlinkRefAttrs "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
+  xlink:type (simple) #FIXED 'simple' 
+  xlink:role %URI; #IMPLIED
+  xlink:arcrole %URI; #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (other) 'other'
+  xlink:actuate (onLoad) #FIXED 'onLoad'">
+<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->
+<!ENTITY % xlinkRefAttrsEmbed "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
+  xlink:type (simple) #FIXED 'simple' 
+  xlink:role %URI; #IMPLIED
+  xlink:arcrole %URI; #IMPLIED
+  xlink:title CDATA #IMPLIED
+  xlink:show (embed) 'embed'
+  xlink:actuate (onLoad) #FIXED 'onLoad'">
+<!ENTITY % graphicsElementEvents "onfocusin %Script; #IMPLIED
+   onfocusout %Script; #IMPLIED
+   onactivate %Script; #IMPLIED
+   onclick %Script; #IMPLIED
+   onmousedown %Script; #IMPLIED
+   onmouseup %Script; #IMPLIED
+   onmouseover %Script; #IMPLIED
+   onmousemove %Script; #IMPLIED
+   onmouseout %Script; #IMPLIED
+   onload %Script; #IMPLIED">
+<!ENTITY % documentEvents "onunload %Script; #IMPLIED
+   onabort %Script; #IMPLIED
+   onerror %Script; #IMPLIED
+   onresize %Script; #IMPLIED
+   onscroll %Script; #IMPLIED
+   onzoom %Script; #IMPLIED">
+<!ENTITY % animationEvents "onbegin %Script; #IMPLIED
+   onend %Script; #IMPLIED
+   onrepeat %Script; #IMPLIED">
+<!-- This entity allows for at most one of desc, title and metadata,
+     supplied in any order -->
+<!ENTITY % descTitleMetadata "(((desc,((title,metadata?)|(metadata,title?))?)|
+          (title,((desc,metadata?)|(metadata,desc?))?)|
+          (metadata,((desc,title?)|(title,desc?))?))?)">
+<!-- ==============================================================
+     ENTITY DECLARATIONS: Collections of presentation attributes 
+     ============================================================== -->
+<!-- The following presentation attributes have to do with specifying color. -->
+<!ENTITY % PresentationAttributes-Color "color %Color; #IMPLIED
+   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
+   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED ">
+<!-- The following presentation attributes apply to container elements. -->
+<!ENTITY % PresentationAttributes-Containers "enable-background %EnableBackgroundValue; #IMPLIED ">
+<!-- The following presentation attributes apply to 'feFlood' elements. -->
+<!ENTITY % PresentationAttributes-feFlood "flood-color %SVGColor; #IMPLIED
+   flood-opacity %OpacityValue; #IMPLIED ">
+<!-- The following presentation attributes apply to filling and stroking operations. -->
+<!ENTITY % PresentationAttributes-FillStroke "fill %Paint; #IMPLIED
+   fill-opacity %OpacityValue; #IMPLIED
+   fill-rule %ClipFillRule; #IMPLIED
+   stroke %Paint; #IMPLIED
+   stroke-dasharray %StrokeDashArrayValue; #IMPLIED
+   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
+   stroke-linecap (butt | round | square | inherit) #IMPLIED
+   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
+   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
+   stroke-opacity %OpacityValue; #IMPLIED
+   stroke-width %StrokeWidthValue; #IMPLIED ">
+<!-- The following presentation attributes apply to filter primitives. -->
+<!ENTITY % PresentationAttributes-FilterPrimitives "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED ">
+<!-- The following presentation attributes have to do with selecting a font to use. -->
+<!ENTITY % PresentationAttributes-FontSpecification "font-family %FontFamilyValue; #IMPLIED
+   font-size %FontSizeValue; #IMPLIED
+   font-size-adjust %FontSizeAdjustValue; #IMPLIED
+   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |
+                 condensed | semi-condensed | semi-expanded | expanded |
+                 extra-expanded | ultra-expanded | inherit) #IMPLIED
+   font-style (normal | italic | oblique | inherit) #IMPLIED
+   font-variant (normal | small-caps | inherit) #IMPLIED
+   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
+               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED ">
+<!-- The following presentation attributes apply to gradient 'stop' elements. -->
+<!ENTITY % PresentationAttributes-Gradients "stop-color %SVGColor; #IMPLIED
+   stop-opacity %OpacityValue; #IMPLIED ">
+<!-- The following presentation attributes apply to 'solid-color' elements. -->
+<!ENTITY % PresentationAttributes-SolidColor "solid-color %SVGColor; #IMPLIED
+   solid-opacity %OpacityValue; #IMPLIED ">
+<!-- The following presentation attributes apply to graphics elements. -->
+<!ENTITY % PresentationAttributes-Graphics "clip-path %ClipPathValue; #IMPLIED
+   clip-rule %ClipFillRule; #IMPLIED
+   cursor %CursorValue; #IMPLIED
+   display (inline | block | list-item | run-in | compact | marker |
+            table | inline-table | table-row-group | table-header-group |
+            table-footer-group | table-row | table-column-group | table-column |
+            table-cell | table-caption | none | inherit) #IMPLIED
+   filter %FilterValue; #IMPLIED
+   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
+   mask %MaskValue; #IMPLIED
+   opacity %OpacityValue; #IMPLIED
+   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
+                   painted | fill | stroke | all | none | inherit) #IMPLIED
+   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED
+   text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED
+   visibility (visible | hidden | inherit) #IMPLIED ">
+<!-- The following presentation attributes apply to 'image' elements. -->
+<!ENTITY % PresentationAttributes-Images "color-profile CDATA #IMPLIED ">
+<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->
+<!ENTITY % PresentationAttributes-LightingEffects "lighting-color %SVGColor; #IMPLIED ">
+<!-- The following presentation attributes apply to marker operations. -->
+<!ENTITY % PresentationAttributes-Markers "marker-start %MarkerValue; #IMPLIED
+   marker-mid %MarkerValue; #IMPLIED
+   marker-end %MarkerValue; #IMPLIED ">
+<!-- The following presentation attributes apply to text content elements. -->
+<!ENTITY % PresentationAttributes-TextContentElements "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |
+                        middle | bottom | after-edge | text-bottom | text-after-edge |
+                        ideographic | lower | hanging | mathematical | inherit) #IMPLIED
+   baseline-shift %BaselineShiftValue; #IMPLIED
+   direction (ltr | rtl | inherit) #IMPLIED
+   dominant-baseline (auto | autosense-script | no-change | reset|
+                      ideographic | lower | hanging | mathematical | inherit ) #IMPLIED
+   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
+   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
+   kerning %KerningValue; #IMPLIED
+   letter-spacing %SpacingValue; #IMPLIED
+   text-anchor (start | middle | end | inherit) #IMPLIED
+   text-decoration %TextDecorationValue; #IMPLIED
+   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
+   word-spacing %SpacingValue; #IMPLIED ">
+<!-- The following presentation attributes apply to 'text' elements. -->
+<!ENTITY % PresentationAttributes-TextElements "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED ">
+<!-- The following presentation attributes apply to elements that establish viewports. -->
+<!ENTITY % PresentationAttributes-Viewports "clip %ClipValue; #IMPLIED
+   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED ">
+<!--The following represents the complete list of presentation attributes. -->
+<!ENTITY % PresentationAttributes-All "%PresentationAttributes-Color;
+   %PresentationAttributes-Containers;
+   %PresentationAttributes-feFlood;
+   %PresentationAttributes-FillStroke;
+   %PresentationAttributes-FilterPrimitives;
+   %PresentationAttributes-FontSpecification;
+   %PresentationAttributes-Gradients;
+   %PresentationAttributes-Graphics;
+   %PresentationAttributes-Images;
+   %PresentationAttributes-LightingEffects;
+   %PresentationAttributes-Markers;
+   %PresentationAttributes-TextContentElements;
+   %PresentationAttributes-TextElements;
+   %PresentationAttributes-Viewports;">
+<!-- ==============================================================
+     ENTITY DECLARATIONS: DTD extensions 
+     ============================================================== -->
+<!-- Allow for extending the DTD with internal subset for 
+     container and graphics elements -->
+<!ENTITY % ceExt "">
+<!ENTITY % geExt "">
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Document Structure 
+     ============================================================== -->
+<!ENTITY % svgExt "">
+<!ELEMENT svg (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%svgExt;)* >
+<!ATTLIST svg
+	xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	viewBox %ViewBoxSpec; #IMPLIED
+	preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
+	zoomAndPan (disable | magnify) "magnify"
+	%graphicsElementEvents; 
+	%documentEvents; 
+	version %Number; #FIXED "1.0"
+	x %Coordinate; #IMPLIED
+	y %Coordinate; #IMPLIED
+	width %Length; #IMPLIED
+	height %Length; #IMPLIED
+	contentScriptType %ContentType; "text/ecmascript"
+	contentStyleType %ContentType; "text/css"
+>
+<!ENTITY % gExt "">
+<!ELEMENT g (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%gExt;)* >
+<!ATTLIST g
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+>
+<!ENTITY % defsExt "">
+<!ELEMENT defs (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%defsExt;)* >
+<!ATTLIST defs
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+>
+<!ENTITY % descExt "">
+<!ELEMENT desc (#PCDATA %descExt;)* >
+<!ATTLIST desc
+	%stdAttrs; 
+	%langSpaceAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%StructuredText; 
+>
+<!ENTITY % titleExt "">
+<!ELEMENT title (#PCDATA %titleExt;)* >
+<!ATTLIST title
+	%stdAttrs; 
+	%langSpaceAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%StructuredText; 
+>
+<!ENTITY % symbolExt "">
+<!ELEMENT symbol (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%symbolExt;)* >
+<!ATTLIST symbol
+	%stdAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	viewBox %ViewBoxSpec; #IMPLIED
+	preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
+	%graphicsElementEvents; 
+>
+<!ENTITY % useExt "">
+<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%useExt;)*) >
+<!ATTLIST use
+	%stdAttrs; 
+	%xlinkRefAttrsEmbed; 
+	xlink:href %URI; #REQUIRED
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	x %Coordinate; #IMPLIED
+	y %Coordinate; #IMPLIED
+	width %Length; #IMPLIED
+	height %Length; #IMPLIED
+>
+<!ENTITY % imageExt "">
+<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                   %geExt;%imageExt;)*) >
+<!ATTLIST image
+	%stdAttrs; 
+	%xlinkRefAttrsEmbed; 
+	xlink:href %URI; #REQUIRED
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-Images; 
+	%PresentationAttributes-Viewports; 
+	transform %TransformList; #IMPLIED
+	preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
+	%graphicsElementEvents; 
+	x %Coordinate; #IMPLIED
+	y %Coordinate; #IMPLIED
+	width %Length; #REQUIRED
+	height %Length; #REQUIRED
+>
+<!ENTITY % switchExt "">
+<!ELEMENT switch (%descTitleMetadata;,
+                  (path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|switch|a|foreignObject|
+                   animate|set|animateMotion|animateColor|animateTransform
+                   %ceExt;%switchExt;)*) >
+<!ATTLIST switch
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Styling 
+     ============================================================== -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+	%stdAttrs; 
+	xml:space (preserve) #FIXED "preserve"
+	type %ContentType; #REQUIRED
+	media %MediaDesc; #IMPLIED
+	title %Text; #IMPLIED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Paths
+     ============================================================== -->
+<!ENTITY % pathExt "">
+<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%pathExt;)*) >
+<!ATTLIST path
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-Markers; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	d %PathData; #REQUIRED
+	pathLength %Number; #IMPLIED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Basic Shapes
+     ============================================================== -->
+<!ENTITY % rectExt "">
+<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%rectExt;)*) >
+<!ATTLIST rect
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-Graphics; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	x %Coordinate; #IMPLIED
+	y %Coordinate; #IMPLIED
+	width %Length; #REQUIRED
+	height %Length; #REQUIRED
+	rx %Length; #IMPLIED
+	ry %Length; #IMPLIED
+>
+<!ENTITY % circleExt "">
+<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%circleExt;)*) >
+<!ATTLIST circle
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-Graphics; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	cx %Coordinate; #IMPLIED
+	cy %Coordinate; #IMPLIED
+	r %Length; #REQUIRED
+>
+<!ENTITY % ellipseExt "">
+<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%ellipseExt;)*) >
+<!ATTLIST ellipse
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-Graphics; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	cx %Coordinate; #IMPLIED
+	cy %Coordinate; #IMPLIED
+	rx %Length; #REQUIRED
+	ry %Length; #REQUIRED
+>
+<!ENTITY % lineExt "">
+<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%lineExt;)*) >
+<!ATTLIST line
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-Markers; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	x1 %Coordinate; #IMPLIED
+	y1 %Coordinate; #IMPLIED
+	x2 %Coordinate; #IMPLIED
+	y2 %Coordinate; #IMPLIED
+>
+<!ENTITY % polylineExt "">
+<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polylineExt;)*) >
+<!ATTLIST polyline
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-Markers; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	points %Points; #REQUIRED
+>
+<!ENTITY % polygonExt "">
+<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
+                %geExt;%polygonExt;)*) >
+<!ATTLIST polygon
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-Markers; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	points %Points; #REQUIRED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Text
+     ============================================================== -->
+<!ENTITY % textExt "">
+<!ELEMENT text (#PCDATA|desc|title|metadata|
+                tspan|tref|textPath|altGlyph|a|animate|set|
+                animateMotion|animateColor|animateTransform
+                %geExt;%textExt;)* >
+<!ATTLIST text
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-FontSpecification; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-TextContentElements; 
+	%PresentationAttributes-TextElements; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	x %Coordinates; #IMPLIED
+	y %Coordinates; #IMPLIED
+	dx %Lengths; #IMPLIED
+	dy %Lengths; #IMPLIED
+	rotate %Numbers; #IMPLIED
+	textLength %Length; #IMPLIED
+	lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED
+>
+<!ENTITY % tspanExt "">
+<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
+                %tspanExt;)* >
+<!ATTLIST tspan
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-FontSpecification; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-TextContentElements; 
+	%graphicsElementEvents; 
+	x %Coordinates; #IMPLIED
+	y %Coordinates; #IMPLIED
+	dx %Lengths; #IMPLIED
+	dy %Lengths; #IMPLIED
+	rotate %Numbers; #IMPLIED
+	textLength %Length; #IMPLIED
+	lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED
+>
+<!ENTITY % trefExt "">
+<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
+                %trefExt;)* >
+<!ATTLIST tref
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #REQUIRED
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-FontSpecification; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-TextContentElements; 
+	%graphicsElementEvents; 
+	x %Coordinates; #IMPLIED
+	y %Coordinates; #IMPLIED
+	dx %Lengths; #IMPLIED
+	dy %Lengths; #IMPLIED
+	rotate %Numbers; #IMPLIED
+	textLength %Length; #IMPLIED
+	lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED
+>
+<!ENTITY % divExt "">
+<!--ELEMENT div (#PCDATA | region | div | p | span | animate | set | animateMotion | animateColor | animateTransform | %divExt;)*-->
+<!ELEMENT div (#PCDATA | region | div | p | span | animate | set | animateMotion | animateColor | animateTransform  %ceExt;%divExt;)*>
+
+<!ATTLIST div
+	%stdAttrs; 
+	%langSpaceAttrs; 
+	%testAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-FontSpecification; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-TextContentElements; 
+	%graphicsElementEvents; 
+	spacing (auto | exact) #IMPLIED
+>
+<!ENTITY % pExt "">
+<!--ELEMENT p (#PCDATA | p | div | span | animate | set | animateMotion | animateColor | animateTransform | %pExt;)*-->
+<!ELEMENT p (#PCDATA | p | div | span | animate | set | animateMotion | animateColor | animateTransform %ceExt;%pExt;)*>
+<!ATTLIST p
+	%stdAttrs; 
+	%langSpaceAttrs; 
+	%testAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-FontSpecification; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-TextContentElements; 
+	%graphicsElementEvents; 
+>
+<!ENTITY % spanExt "">
+<!ELEMENT span (#PCDATA | animate | set | animateMotion | animateColor | animateTransform %ceExt;%spanExt;)*>
+<!--ELEMENT span (#PCDATA | animate | set | animateMotion | animateColor | animateTransform | %spanExt;)*-->
+
+<!ATTLIST span
+	%stdAttrs; 
+	%langSpaceAttrs; 
+	%testAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-FontSpecification; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-TextContentElements; 
+	%graphicsElementEvents; 
+>
+<!ENTITY % regionExt "">
+<!--ELEMENT region (rect | use | %regionExt;)*-->
+<!ELEMENT region (rect | use %ceExt;%regionExt;)*>
+<!ATTLIST region
+	%stdAttrs; 
+	%langSpaceAttrs; 
+	%testAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	%graphicsElementEvents; 
+>
+<!ENTITY % brExt "">
+<!-- dont think this can be extended from EMPTY to having coontent 
+<!ELEMENT br (%ceExt;%brExt;)*-->
+<!ELEMENT br EMPTY >
+<!ATTLIST br
+	%stdAttrs; 
+	%testAttrs; 
+>
+<!ENTITY % textPathExt "">
+<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
+                %textPathExt;)* >
+<!ATTLIST textPath
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #REQUIRED
+	%langSpaceAttrs; 
+	%testAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-FontSpecification; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-TextContentElements; 
+	%graphicsElementEvents; 
+	startOffset %Length; #IMPLIED
+	textLength %Length; #IMPLIED
+	lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED
+	method (align | stretch) #IMPLIED
+	spacing (auto | exact) #IMPLIED
+>
+<!ENTITY % altGlyphExt "">
+<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
+<!ATTLIST altGlyph
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #IMPLIED
+	glyphRef CDATA #IMPLIED
+	format CDATA #IMPLIED
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-FontSpecification; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-TextContentElements; 
+	%graphicsElementEvents; 
+	x %Coordinates; #IMPLIED
+	y %Coordinates; #IMPLIED
+	dx %Lengths; #IMPLIED
+	dy %Lengths; #IMPLIED
+	rotate %Numbers; #IMPLIED
+>
+<!ENTITY % altGlyphDefExt "">
+<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
+<!ATTLIST altGlyphDef
+	%stdAttrs; 
+>
+<!ENTITY % altGlyphItemExt "">
+<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
+<!ATTLIST altGlyphItem
+	%stdAttrs; 
+>
+<!ELEMENT glyphRef EMPTY>
+<!ATTLIST glyphRef
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-FontSpecification; 
+	glyphRef CDATA #IMPLIED
+	format CDATA #IMPLIED
+	x %Number; #IMPLIED
+	y %Number; #IMPLIED
+	dx %Number; #IMPLIED
+	dy %Number; #IMPLIED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols 
+     ============================================================== -->
+<!ENTITY % markerExt "">
+<!ELEMENT marker (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%markerExt;)* >
+<!ATTLIST marker
+	%stdAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	viewBox %ViewBoxSpec; #IMPLIED
+	preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
+	refX %Coordinate; #IMPLIED
+	refY %Coordinate; #IMPLIED
+	markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
+	markerWidth %Length; #IMPLIED
+	markerHeight %Length; #IMPLIED
+	orient CDATA #IMPLIED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Color 
+     ============================================================== -->
+<!ELEMENT color-profile (%descTitleMetadata;)>
+<!ATTLIST color-profile
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #IMPLIED
+	local CDATA #IMPLIED
+	name CDATA #REQUIRED
+	rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto"
+>
+<!ENTITY % solidColorExt "">
+<!--ELEMENT solidColor (%descTitleMetadata;, (stop | animate | set | animateTransform | animateColor | animateMotion | %solidExt;)*)-->
+<!ELEMENT solidColor (%descTitleMetadata;, (stop | animate | set | animateTransform | animateColor | animateMotion %ceExt;%solidColorExt;)*)>
+
+<!ATTLIST solidColor
+	%stdAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-SolidColor; 
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 
+     ============================================================== -->
+<!ENTITY % linearGradientExt "">
+<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
+                   %linearGradientExt;)*) >
+<!ATTLIST linearGradient
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #IMPLIED
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-Gradients; 
+	gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+	gradientTransform %TransformList; #IMPLIED
+	x1 %Coordinate; #IMPLIED
+	y1 %Coordinate; #IMPLIED
+	x2 %Coordinate; #IMPLIED
+	y2 %Coordinate; #IMPLIED
+	spreadMethod (pad | reflect | repeat) #IMPLIED
+>
+<!ENTITY % radialGradientExt "">
+<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
+                   %radialGradientExt;)*) >
+<!ATTLIST radialGradient
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #IMPLIED
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-Gradients; 
+	gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+	gradientTransform %TransformList; #IMPLIED
+	cx %Coordinate; #IMPLIED
+	cy %Coordinate; #IMPLIED
+	r %Length; #IMPLIED
+	fx %Coordinate; #IMPLIED
+	fy %Coordinate; #IMPLIED
+	spreadMethod (pad | reflect | repeat) #IMPLIED
+>
+<!ENTITY % stopExt "">
+<!ELEMENT stop (animate|set|animateColor
+                   %stopExt;)* >
+<!ATTLIST stop
+	%stdAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-Gradients; 
+	offset %NumberOrPercentage; #REQUIRED
+>
+<!ENTITY % patternExt "">
+<!ELEMENT pattern (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%patternExt;)* >
+<!ATTLIST pattern
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #IMPLIED
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	viewBox %ViewBoxSpec; #IMPLIED
+	preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
+	patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+	patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+	patternTransform %TransformList; #IMPLIED
+	x %Coordinate; #IMPLIED
+	y %Coordinate; #IMPLIED
+	width %Length; #IMPLIED
+	height %Length; #IMPLIED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 
+     ============================================================== -->
+<!ENTITY % clipPathExt "">
+<!ELEMENT clipPath (%descTitleMetadata;,
+                    (path|text|rect|circle|ellipse|line|polyline|polygon|
+                     use|animate|set|animateMotion|animateColor|animateTransform
+                     %ceExt;%clipPathExt;)*) >
+<!ATTLIST clipPath
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FillStroke; 
+	%PresentationAttributes-FontSpecification; 
+	%PresentationAttributes-Graphics; 
+	%PresentationAttributes-TextContentElements; 
+	%PresentationAttributes-TextElements; 
+	transform %TransformList; #IMPLIED
+	clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+>
+<!ENTITY % maskExt "">
+<!ELEMENT mask (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%maskExt;)*  >
+<!ATTLIST mask
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+	maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+	x %Coordinate; #IMPLIED
+	y %Coordinate; #IMPLIED
+	width %Length; #IMPLIED
+	height %Length; #IMPLIED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Filter Effects
+     ============================================================== -->
+<!ENTITY % filterExt "">
+<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
+  feColorMatrix|feComponentTransfer|
+  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
+  feGaussianBlur|feImage|feMerge|
+  feMorphology|feOffset|feSpecularLighting|
+  feTile|feTurbulence|
+  animate|set
+  %filterExt;)*) >
+<!ATTLIST filter
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #IMPLIED
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+	primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
+	x %Coordinate; #IMPLIED
+	y %Coordinate; #IMPLIED
+	width %Length; #IMPLIED
+	height %Length; #IMPLIED
+	filterRes %NumberOptionalNumber; #IMPLIED
+>
+<!ENTITY % filter_primitive_attributes "x %Coordinate; #IMPLIED
+   y %Coordinate; #IMPLIED
+   width %Length; #IMPLIED
+   height %Length; #IMPLIED
+   result CDATA #IMPLIED">
+<!ENTITY % filter_primitive_attributes_with_in "%filter_primitive_attributes;
+   in CDATA #IMPLIED">
+<!ELEMENT feDistantLight (animate | set)*>
+<!ATTLIST feDistantLight
+	%stdAttrs; 
+	azimuth %Number; #IMPLIED
+	elevation %Number; #IMPLIED
+>
+<!ELEMENT fePointLight (animate | set)*>
+<!ATTLIST fePointLight
+	%stdAttrs; 
+	x %Number; #IMPLIED
+	y %Number; #IMPLIED
+	z %Number; #IMPLIED
+>
+<!ELEMENT feSpotLight (animate | set)*>
+<!ATTLIST feSpotLight
+	%stdAttrs; 
+	x %Number; #IMPLIED
+	y %Number; #IMPLIED
+	z %Number; #IMPLIED
+	pointsAtX %Number; #IMPLIED
+	pointsAtY %Number; #IMPLIED
+	pointsAtZ %Number; #IMPLIED
+	specularExponent %Number; #IMPLIED
+	limitingConeAngle %Number; #IMPLIED
+>
+<!ELEMENT feBlend (animate | set)*>
+<!ATTLIST feBlend
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+	in2 CDATA #REQUIRED
+	mode (normal | multiply | screen | darken | lighten) "normal"
+>
+<!ELEMENT feColorMatrix (animate | set)*>
+<!ATTLIST feColorMatrix
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+	type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
+	values CDATA #IMPLIED
+>
+<!ELEMENT feComponentTransfer (feFuncR?, feFuncG?, feFuncB?, feFuncA?)>
+<!ATTLIST feComponentTransfer
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+>
+<!ENTITY % component_transfer_function_attributes "type (identity | table | discrete | linear | gamma) #REQUIRED
+   tableValues CDATA #IMPLIED
+   slope %Number; #IMPLIED
+   intercept %Number; #IMPLIED
+   amplitude %Number; #IMPLIED
+   exponent %Number; #IMPLIED
+   offset %Number; #IMPLIED">
+<!ELEMENT feFuncR (animate | set)*>
+<!ATTLIST feFuncR
+	%stdAttrs; 
+	%component_transfer_function_attributes; 
+>
+<!ELEMENT feFuncG (animate | set)*>
+<!ATTLIST feFuncG
+	%stdAttrs; 
+	%component_transfer_function_attributes; 
+>
+<!ELEMENT feFuncB (animate | set)*>
+<!ATTLIST feFuncB
+	%stdAttrs; 
+	%component_transfer_function_attributes; 
+>
+<!ELEMENT feFuncA (animate | set)*>
+<!ATTLIST feFuncA
+	%stdAttrs; 
+	%component_transfer_function_attributes; 
+>
+<!ELEMENT feComposite (animate | set)*>
+<!ATTLIST feComposite
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+	in2 CDATA #REQUIRED
+	operator (over | in | out | atop | xor | arithmetic) "over"
+	k1 %Number; #IMPLIED
+	k2 %Number; #IMPLIED
+	k3 %Number; #IMPLIED
+	k4 %Number; #IMPLIED
+>
+<!ELEMENT feConvolveMatrix (animate | set)*>
+<!ATTLIST feConvolveMatrix
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+	order %NumberOptionalNumber; #REQUIRED
+	kernelMatrix CDATA #REQUIRED
+	divisor %Number; #IMPLIED
+	bias %Number; #IMPLIED
+	targetX %Integer; #IMPLIED
+	targetY %Integer; #IMPLIED
+	edgeMode (duplicate | wrap | none) "duplicate"
+	kernelUnitLength %NumberOptionalNumber; #IMPLIED
+	preserveAlpha %Boolean; #IMPLIED
+>
+<!ELEMENT feDiffuseLighting ((feDistantLight | fePointLight | feSpotLight), (animate | set | animateColor)*)>
+<!ATTLIST feDiffuseLighting
+	%stdAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FilterPrimitives; 
+	%PresentationAttributes-LightingEffects; 
+	%filter_primitive_attributes_with_in; 
+	surfaceScale %Number; #IMPLIED
+	diffuseConstant %Number; #IMPLIED
+	kernelUnitLength %NumberOptionalNumber; #IMPLIED
+>
+<!ELEMENT feDisplacementMap (animate | set)*>
+<!ATTLIST feDisplacementMap
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+	in2 CDATA #REQUIRED
+	scale %Number; #IMPLIED
+	xChannelSelector (R | G | B | A) "A"
+	yChannelSelector (R | G | B | A) "A"
+>
+<!ELEMENT feFlood (animate | set | animateColor)*>
+<!ATTLIST feFlood
+	%stdAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-feFlood; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+>
+<!ELEMENT feGaussianBlur (animate | set)*>
+<!ATTLIST feGaussianBlur
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+	stdDeviation %NumberOptionalNumber; #IMPLIED
+>
+<!ELEMENT feImage (animate | set | animateTransform)*>
+<!ATTLIST feImage
+	%stdAttrs; 
+	%xlinkRefAttrsEmbed; 
+	xlink:href %URI; #REQUIRED
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%filter_primitive_attributes; 
+	%PresentationAttributes-All; 
+>
+<!ELEMENT feMerge (feMergeNode)*>
+<!ATTLIST feMerge
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes; 
+>
+<!ELEMENT feMergeNode (animate | set)*>
+<!ATTLIST feMergeNode
+	%stdAttrs; 
+	in CDATA #IMPLIED
+>
+<!ELEMENT feMorphology (animate | set)*>
+<!ATTLIST feMorphology
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+	operator (erode | dilate) "erode"
+	radius %NumberOptionalNumber; #IMPLIED
+>
+<!ELEMENT feOffset (animate | set)*>
+<!ATTLIST feOffset
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+	dx %Number; #IMPLIED
+	dy %Number; #IMPLIED
+>
+<!ELEMENT feSpecularLighting ((feDistantLight | fePointLight | feSpotLight), (animate | set | animateColor)*)>
+<!ATTLIST feSpecularLighting
+	%stdAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-Color; 
+	%PresentationAttributes-FilterPrimitives; 
+	%PresentationAttributes-LightingEffects; 
+	%filter_primitive_attributes_with_in; 
+	surfaceScale %Number; #IMPLIED
+	specularConstant %Number; #IMPLIED
+	specularExponent %Number; #IMPLIED
+	kernelUnitLength %NumberOptionalNumber; #IMPLIED
+>
+<!ELEMENT feTile (animate | set)*>
+<!ATTLIST feTile
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes_with_in; 
+>
+<!ELEMENT feTurbulence (animate | set)*>
+<!ATTLIST feTurbulence
+	%stdAttrs; 
+	%PresentationAttributes-FilterPrimitives; 
+	%filter_primitive_attributes; 
+	baseFrequency %NumberOptionalNumber; #IMPLIED
+	numOctaves %Integer; #IMPLIED
+	seed %Number; #IMPLIED
+	stitchTiles (stitch | noStitch) "noStitch"
+	type (fractalNoise | turbulence) "turbulence"
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Interactivity 
+     ============================================================== -->
+<!ELEMENT cursor (%descTitleMetadata;)>
+<!ATTLIST cursor
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #REQUIRED
+	%testAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	x %Coordinate; #IMPLIED
+	y %Coordinate; #IMPLIED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Linking
+     ============================================================== -->
+<!ENTITY % aExt "">
+<!ELEMENT a (#PCDATA|desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %ceExt;%aExt;)* >
+<!ATTLIST a
+	%stdAttrs; 
+	xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
+	xlink:type (simple) #FIXED "simple"
+	xlink:role %URI; #IMPLIED
+	xlink:arcrole %URI; #IMPLIED
+	xlink:title CDATA #IMPLIED
+	xlink:show (new | replace) "replace"
+	xlink:actuate (onRequest) #FIXED "onRequest"
+	xlink:href %URI; #REQUIRED
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	target %LinkTarget; #IMPLIED
+>
+<!ENTITY % viewExt "">
+<!ELEMENT view (%descTitleMetadata;%viewExt;) >
+<!ATTLIST view
+	%stdAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	viewBox %ViewBoxSpec; #IMPLIED
+	preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
+	zoomAndPan (disable | magnify) "magnify"
+	viewTarget CDATA #IMPLIED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Scripting 
+     ============================================================== -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #IMPLIED
+	externalResourcesRequired %Boolean; #IMPLIED
+	type %ContentType; #REQUIRED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Animation 
+     ============================================================== -->
+<!ENTITY % animElementAttrs "%xlinkRefAttrs;
+  xlink:href %URI; #IMPLIED">
+<!ENTITY % animAttributeAttrs "attributeName  CDATA  #REQUIRED
+  attributeType  CDATA  #IMPLIED">
+<!ENTITY % animTimingAttrs "begin CDATA #IMPLIED 
+  dur CDATA #IMPLIED
+  end CDATA #IMPLIED
+  min CDATA #IMPLIED
+  max CDATA #IMPLIED
+  restart (always | never | whenNotActive) 'always'
+  repeatCount CDATA #IMPLIED 
+  repeatDur CDATA #IMPLIED
+  fill (remove | freeze) 'remove'">
+<!ENTITY % animValueAttrs "calcMode (discrete | linear | paced | spline) 'linear'
+  values CDATA #IMPLIED
+  keyTimes CDATA #IMPLIED
+  keySplines CDATA #IMPLIED
+  from CDATA #IMPLIED
+  to CDATA #IMPLIED
+  by CDATA #IMPLIED">
+<!ENTITY % animAdditionAttrs "additive       (replace | sum) 'replace'
+  accumulate     (none | sum) 'none'">
+<!ENTITY % animateExt "">
+<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
+<!ATTLIST animate
+	%stdAttrs; 
+	%testAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	%animationEvents; 
+	%animElementAttrs; 
+	%animAttributeAttrs; 
+	%animTimingAttrs; 
+	%animValueAttrs; 
+	%animAdditionAttrs; 
+>
+<!ENTITY % setExt "">
+<!ELEMENT set (%descTitleMetadata;%setExt;) >
+<!ATTLIST set
+	%stdAttrs; 
+	%testAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	%animationEvents; 
+	%animElementAttrs; 
+	%animAttributeAttrs; 
+	%animTimingAttrs; 
+	to CDATA #IMPLIED
+>
+<!ENTITY % animateMotionExt "">
+<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
+<!ATTLIST animateMotion
+	%stdAttrs; 
+	%testAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	%animationEvents; 
+	%animElementAttrs; 
+	%animTimingAttrs; 
+	calcMode (discrete | linear | paced | spline) "paced"
+	values CDATA #IMPLIED
+	keyTimes CDATA #IMPLIED
+	keySplines CDATA #IMPLIED
+	from CDATA #IMPLIED
+	to CDATA #IMPLIED
+	by CDATA #IMPLIED
+	%animAdditionAttrs; 
+	path CDATA #IMPLIED
+	keyPoints CDATA #IMPLIED
+	rotate CDATA #IMPLIED
+	origin CDATA #IMPLIED
+>
+<!ENTITY % mpathExt "">
+<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
+<!ATTLIST mpath
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #REQUIRED
+	externalResourcesRequired %Boolean; #IMPLIED
+>
+<!ENTITY % animateColorExt "">
+<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
+<!ATTLIST animateColor
+	%stdAttrs; 
+	%testAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	%animationEvents; 
+	%animElementAttrs; 
+	%animAttributeAttrs; 
+	%animTimingAttrs; 
+	%animValueAttrs; 
+	%animAdditionAttrs; 
+>
+<!ENTITY % animateTransformExt "">
+<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
+<!ATTLIST animateTransform
+	%stdAttrs; 
+	%testAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	%animationEvents; 
+	%animElementAttrs; 
+	%animAttributeAttrs; 
+	%animTimingAttrs; 
+	%animValueAttrs; 
+	%animAdditionAttrs; 
+	type (translate | scale | rotate | skewX | skewY) "translate"
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Fonts 
+     ============================================================== -->
+<!ENTITY % fontExt "">
+<!ELEMENT font (%descTitleMetadata;,font-face,
+                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
+<!ATTLIST font
+	%stdAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	horiz-origin-x %Number; #IMPLIED
+	horiz-origin-y %Number; #IMPLIED
+	horiz-adv-x %Number; #REQUIRED
+	vert-origin-x %Number; #IMPLIED
+	vert-origin-y %Number; #IMPLIED
+	vert-adv-y %Number; #IMPLIED
+>
+<!ENTITY % glyphExt "">
+<!ELEMENT glyph (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %glyphExt;)* >
+<!ATTLIST glyph
+	%stdAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	unicode CDATA #IMPLIED
+	glyph-name CDATA #IMPLIED
+	d %PathData; #IMPLIED
+	orientation CDATA #IMPLIED
+	arabic-form CDATA #IMPLIED
+	lang %LanguageCodes; #IMPLIED
+	horiz-adv-x %Number; #IMPLIED
+	vert-origin-x %Number; #IMPLIED
+	vert-origin-y %Number; #IMPLIED
+	vert-adv-y %Number; #IMPLIED
+>
+<!ENTITY % missing-glyphExt "">
+<!ELEMENT missing-glyph (desc|title|metadata|defs|
+                   path|text|rect|circle|ellipse|line|polyline|polygon|
+                   use|image|svg|g|view|switch|a|altGlyphDef|
+                   script|style|symbol|marker|clipPath|mask|
+                   linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
+                   animate|set|animateMotion|animateColor|animateTransform|
+                   color-profile|font-face
+                   %missing-glyphExt;)* >
+<!ATTLIST missing-glyph
+	%stdAttrs; 
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	d %PathData; #IMPLIED
+	horiz-adv-x %Number; #IMPLIED
+	vert-origin-x %Number; #IMPLIED
+	vert-origin-y %Number; #IMPLIED
+	vert-adv-y %Number; #IMPLIED
+>
+<!ELEMENT hkern EMPTY>
+<!ATTLIST hkern
+	%stdAttrs; 
+	u1 CDATA #IMPLIED
+	g1 CDATA #IMPLIED
+	u2 CDATA #IMPLIED
+	g2 CDATA #IMPLIED
+	k %Number; #REQUIRED
+>
+<!ELEMENT vkern EMPTY>
+<!ATTLIST vkern
+	%stdAttrs; 
+	u1 CDATA #IMPLIED
+	g1 CDATA #IMPLIED
+	u2 CDATA #IMPLIED
+	g2 CDATA #IMPLIED
+	k %Number; #REQUIRED
+>
+<!ELEMENT font-face (%descTitleMetadata;, font-face-src?, definition-src?)>
+<!ATTLIST font-face
+	%stdAttrs; 
+	font-family CDATA #IMPLIED
+	font-style CDATA #IMPLIED
+	font-variant CDATA #IMPLIED
+	font-weight CDATA #IMPLIED
+	font-stretch CDATA #IMPLIED
+	font-size CDATA #IMPLIED
+	unicode-range CDATA #IMPLIED
+	units-per-em %Number; #IMPLIED
+	panose-1 CDATA #IMPLIED
+	stemv %Number; #IMPLIED
+	stemh %Number; #IMPLIED
+	slope %Number; #IMPLIED
+	cap-height %Number; #IMPLIED
+	x-height %Number; #IMPLIED
+	accent-height %Number; #IMPLIED
+	ascent %Number; #IMPLIED
+	descent %Number; #IMPLIED
+	widths CDATA #IMPLIED
+	bbox CDATA #IMPLIED
+	ideographic %Number; #IMPLIED
+	alphabetic %Number; #IMPLIED
+	mathematical %Number; #IMPLIED
+	hanging %Number; #IMPLIED
+	v-ideographic %Number; #IMPLIED
+	v-alphabetic %Number; #IMPLIED
+	v-mathematical %Number; #IMPLIED
+	v-hanging %Number; #IMPLIED
+	underline-position %Number; #IMPLIED
+	underline-thickness %Number; #IMPLIED
+	strikethrough-position %Number; #IMPLIED
+	strikethrough-thickness %Number; #IMPLIED
+	overline-position %Number; #IMPLIED
+	overline-thickness %Number; #IMPLIED
+>
+<!ELEMENT font-face-src (font-face-uri | font-face-name)+>
+<!ATTLIST font-face-src
+	%stdAttrs; 
+>
+<!ELEMENT font-face-uri (font-face-format*)>
+<!ATTLIST font-face-uri
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #REQUIRED
+>
+<!ELEMENT font-face-format EMPTY>
+<!ATTLIST font-face-format
+	%stdAttrs; 
+	string CDATA #IMPLIED
+>
+<!ELEMENT font-face-name EMPTY>
+<!ATTLIST font-face-name
+	%stdAttrs; 
+	name CDATA #IMPLIED
+>
+<!ELEMENT definition-src EMPTY>
+<!ATTLIST definition-src
+	%stdAttrs; 
+	%xlinkRefAttrs; 
+	xlink:href %URI; #REQUIRED
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Metadata 
+     ============================================================== -->
+<!ENTITY % metadataExt "">
+<!ELEMENT metadata (#PCDATA %metadataExt;)* >
+<!ATTLIST metadata
+	%stdAttrs; 
+>
+<!-- ==============================================================
+     DECLARATIONS CORRESPONDING TO: Extensibility 
+     ============================================================== -->
+<!ENTITY % foreignObjectExt "">
+<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
+<!ATTLIST foreignObject
+	%stdAttrs; 
+	%testAttrs; 
+	%langSpaceAttrs; 
+	externalResourcesRequired %Boolean; #IMPLIED
+	class %ClassList; #IMPLIED
+	style %StyleSheet; #IMPLIED
+	%PresentationAttributes-All; 
+	transform %TransformList; #IMPLIED
+	%graphicsElementEvents; 
+	x %Coordinate; #IMPLIED
+	y %Coordinate; #IMPLIED
+	width %Length; #REQUIRED
+	height %Length; #REQUIRED
+	%StructuredText; 
+>
diff --git a/Tests/W3CTestSuite/images/SVGImageTest.svg b/Tests/W3CTestSuite/images/SVGImageTest.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f20c9d80469e9ebac66edf14c1bef115b0d47491
--- /dev/null
+++ b/Tests/W3CTestSuite/images/SVGImageTest.svg
@@ -0,0 +1,36 @@
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" 
+xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  >
+
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" >
+    <OperatorScript version="$Revision: 1.3 $" testname="" >
+      <Paragraph>
+      </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+
+  <title id="test-title" > </title>
+  <desc id="test-desc" > </desc>
+	<defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+		  <!--======================================================================-->
+		  <!--Content of Test Case follows...                  =====================-->
+		  <!--======================================================================-->
+		  <rect x="001" y="001" width="239" height="179" fill="gold" stroke="none" />
+		  <rect x="240" y="001" width="239" height="179" fill="blue" stroke="none" />
+		  <rect x="001" y="180" width="239" height="179" fill="blue" stroke="none" />
+		  <rect x="240" y="180" width="239" height="179" fill="gold" stroke="none" />
+		
+		  <text font-size="35" x="240" y="35" text-anchor="middle" >SVGImageTest.svg</text>
+		  <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.3 $</text>
+		  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  </g>
+</svg>
+
+
diff --git a/Tests/W3CTestSuite/images/animation-add-BE-09.svg b/Tests/W3CTestSuite/images/animation-add-BE-09.svg
new file mode 100644
index 0000000000000000000000000000000000000000..70234568e266b8574eb0198309a35d4bf571b251
--- /dev/null
+++ b/Tests/W3CTestSuite/images/animation-add-BE-09.svg
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- animation-add-BE-09.svg                                               -->
+<!--                                                                       -->
+<!-- Test 'additive' and 'accumulate' attributes.                          -->
+<!--                                                                       -->
+<!-- Author : Jon Ferraiolo 11-Aug-2000                                    -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  11-Aug-2000, JF: Serial#1 created.                                   -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="450" height="450">
+
+<SVGTestCase xmlns="http://www.w3.org/2000/svg/test" chapter="animation" focus="add" testType="BE" BENumber="09" >
+
+<!-- For the BE-01 case, 'Previous' elt. should target previous chapter-focus. -->
+ 
+  <Previous chapter="animation" focus="values" BENumber="08" />
+  <Next chapter="animation" focus="inherit" BENumber="10" />
+  <Parent chapter="toc" />
+  <Child testType="DT" DTNumber="01" />
+
+  <OperatorScript>
+    <Paragraph>
+Test 'additive' and 'accumulate' attributes.
+</Paragraph>
+<Paragraph>
+Eight animations have been defined.
+For each animation, ruler lines and text are provided to help show
+what the correct behavior is. 
+The red text shows the values for attributes 'additive' and 'accumulate'.
+The black text and ruler lines help show the change in height of
+the rectangles over time.
+</Paragraph>
+<Paragraph>
+In the first row, a single animation which changes the height of the rectangle
+is defined for each picture.
+The height changes from 10 to 25, and the animation repeats (total of two loops).
+The four pictures show the effect with the four possible combinations of
+'additive' (either 'replace' or 'sum') and 'accumulate' (either 'none' or 'sum').
+</Paragraph>
+<Paragraph>
+In the second row, two identical animations change the height of the rectangle,
+with each animation exactly the same as the corresponding animation in the first row.
+Again, the four pictures show the effect with the four possible combinations of
+'additive' (either 'replace' or 'sum') and 'accumulate' (either 'none' or 'sum').
+Because two animations are animating the height, the effects of 'additive' and
+'accumulate' are sometimes different than when there is only a single animation.
+</Paragraph>
+  </OperatorScript>
+
+</SVGTestCase>
+
+	<title id="test-title">animation-add-BE-09</title>
+	<desc id="test-desc">Test 'additive' and 'accumulate' attributes.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<text font-family="Helvetica" font-size="14" text-anchor="middle"  x="225" y="25">Test 'additive' and 'accumulate' attributes.</text>
+		<g xml:space="preserve" font-family="Helvetica" font-size="13.5" text-anchor="end"             stroke-width="3" >
+			<g transform="translate(75,60)">
+				<text x="-10" y="14">0,4 sec. </text>
+				<line x1="-10" y1="10" x2="20" y2="10" fill="none" stroke="#880000" />
+				<text x="-10" y="29">4,8+ sec. </text>
+				<line x1="-10" y1="25" x2="20" y2="25" fill="none" stroke="#880000" />
+				<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
+					<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+				</rect>
+				<text x="-15" y="100" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='replace'</text>
+				<text x="-15" y="115" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='none'</text>
+			</g>
+			<g transform="translate(185,60)">
+				<text x="-10" y="39">0,4 sec. </text>
+				<line x1="-10" y1="35" x2="20" y2="35" fill="none" stroke="#880000" />
+				<text x="-10" y="54">4,8+ sec. </text>
+				<line x1="-10" y1="50" x2="20" y2="50" fill="none" stroke="#880000" />
+				<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
+					<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+				</rect>
+				<text x="-15" y="100" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='sum'</text>
+				<text x="-15" y="115" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='none'</text>
+			</g>
+			<g transform="translate(295,60)">
+				<text x="-10" y="14">0 sec. </text>
+				<line x1="-10" y1="10" x2="20" y2="10" fill="none" stroke="#880000" />
+				<text x="-10" y="29">4 sec. </text>
+				<line x1="-10" y1="25" x2="20" y2="25" fill="none" stroke="#880000" />
+				<text x="-10" y="39">4 sec. </text>
+				<line x1="-10" y1="35" x2="20" y2="35" fill="none" stroke="#880000" />
+				<text x="-10" y="54">8+ sec. </text>
+				<line x1="-10" y1="50" x2="20" y2="50" fill="none" stroke="#880000" />
+				<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
+					<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+				</rect>
+				<text x="-15" y="100" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='replace'</text>
+				<text x="-15" y="115" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='sum'</text>
+			</g>
+			<g transform="translate(405,60)">
+				<text x="-10" y="39">0 sec. </text>
+				<line x1="-10" y1="35" x2="20" y2="35" fill="none" stroke="#880000" />
+				<text x="-10" y="54">4 sec. </text>
+				<line x1="-10" y1="50" x2="20" y2="50" fill="none" stroke="#880000" />
+				<text x="-10" y="64">4 sec. </text>
+				<line x1="-10" y1="60" x2="20" y2="60" fill="none" stroke="#880000" />
+				<text x="-10" y="79">8+ sec. </text>
+				<line x1="-10" y1="75" x2="20" y2="75" fill="none" stroke="#880000" />
+				<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
+					<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+				</rect>
+				<text x="-15" y="100" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='sum'</text>
+				<text x="-15" y="115" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='sum'</text>
+			</g>
+			<g transform="translate(75,220)">
+				<text x="-10" y="14">0,4 sec. </text>
+				<line x1="-10" y1="10" x2="20" y2="10" fill="none" stroke="#880000" />
+				<text x="-10" y="29">4,8+ sec. </text>
+				<line x1="-10" y1="25" x2="20" y2="25" fill="none" stroke="#880000" />
+				<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
+					<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+					<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+				</rect>
+				<text x="-15" y="140" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='replace'</text>
+				<text x="-15" y="155" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='none'</text>
+			</g>
+			<g transform="translate(185,220)">
+				<text x="-10" y="49">0,4 sec. </text>
+				<line x1="-10" y1="45" x2="20" y2="45" fill="none" stroke="#880000" />
+				<text x="-10" y="79">4,8+ sec. </text>
+				<line x1="-10" y1="75" x2="20" y2="75" fill="none" stroke="#880000" />
+				<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
+					<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+					<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+				</rect>
+				<text x="-15" y="140" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='sum'</text>
+				<text x="-15" y="155" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='none'</text>
+			</g>
+			<g transform="translate(295,220)">
+				<text x="-10" y="14">0 sec. </text>
+				<line x1="-10" y1="10" x2="20" y2="10" fill="none" stroke="#880000" />
+				<text x="-10" y="29">4 sec. </text>
+				<line x1="-10" y1="25" x2="20" y2="25" fill="none" stroke="#880000" />
+				<text x="-10" y="39">4 sec. </text>
+				<line x1="-10" y1="35" x2="20" y2="35" fill="none" stroke="#880000" />
+				<text x="-10" y="54">8+ sec. </text>
+				<line x1="-10" y1="50" x2="20" y2="50" fill="none" stroke="#880000" />
+				<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
+					<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+					<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+				</rect>
+				<text x="-15" y="140" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='replace'</text>
+				<text x="-15" y="155" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='sum'</text>
+			</g>
+			<g transform="translate(405,220)">
+				<text x="-10" y="49">0 sec. </text>
+				<line x1="-10" y1="45" x2="20" y2="45" fill="none" stroke="#880000" />
+				<text x="-10" y="79">4 sec. </text>
+				<line x1="-10" y1="75" x2="20" y2="75" fill="none" stroke="#880000" />
+				<text x="-10" y="99">4 sec. </text>
+				<line x1="-10" y1="95" x2="20" y2="95" fill="none" stroke="#880000" />
+				<text x="-10" y="129">8+ sec. </text>
+				<line x1="-10" y1="125" x2="20" y2="125" fill="none" stroke="#880000" />
+				<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
+					<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+					<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
+				</rect>
+				<text x="-15" y="140" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='sum'</text>
+				<text x="-15" y="155" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='sum'</text>
+			</g>
+		</g>
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+	<g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+		<rect x="10" y="390" width="275" height="50" fill="none" stroke="#000000" />
+		<path fill="none" stroke="#000000"  d="M10 405 h275 M205 405 v35 M10 426 h195 M205 422 h80"/>
+		<text x="25" y="401">Scalable Vector Graphics (SVG) Conformance Suite</text>
+		<a xlink:href="copyright-documents-19990405.html">
+			<text x="12" y="437" fill="blue" >Copyright 2000 W3C. All Rights Reserved.</text>
+		</a>
+		<text font-size="12"  x="35" y="420">animation-add-BE-09</text>
+		<text font-size="10"  x="210" y="417">$Revision: 1.1 $</text>
+		<text font-size="10"  x="210" y="435">Release 3.0</text>
+		<rect id="test-frame" x="1" y="1" width="448" height="448" fill="none" stroke="#000000" />
+	</g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/animation-extRef-image1.svg b/Tests/W3CTestSuite/images/animation-extRef-image1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0651f69dbff955a0b575ed226214e5aee2d65390
--- /dev/null
+++ b/Tests/W3CTestSuite/images/animation-extRef-image1.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "SVG-1.1-monolithic-fixed.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="animation-extRef-image1" width="360" height="120" viewBox="0 0 360 120">
+	<g style="stroke: black; stroke-width:2">
+		<rect x="2" y="10" width="0" height="20" style="fill: lightgreen">
+			<animate attributeName="width" attributeType="XML" from="0" to="120" begin="1s" dur="5s" fill="freeze"/>
+		</rect>
+		<rect x="2" y="50" width="0" height="20" style="fill: blue">
+			<animate attributeName="width" attributeType="XML" from="0" to="120" begin="1s" dur="5s" fill="freeze"/>
+		</rect>
+		<rect x="2" y="90" width="0" height="20" style="fill: red">
+			<animate attributeName="width" attributeType="XML" from="0" to="120" begin="1s" dur="5s" fill="freeze"/>
+		</rect>
+	</g>
+	<g>
+		<text x="280" y="30" style="font-size:20">Image 1</text>
+	</g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/animation-extRef-image2.svg b/Tests/W3CTestSuite/images/animation-extRef-image2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d10ee806a15f85ca1f30b63a1e34d0646ad57349
--- /dev/null
+++ b/Tests/W3CTestSuite/images/animation-extRef-image2.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "SVG-1.1-monolithic-fixed.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="animation-extRef-image2" width="360" height="120" viewBox="0 0 360 120">
+	<g style="stroke: black; stroke-width:2">
+		<rect x="2" y="10" width="120" height="20" style="fill: lightgreen"/>
+		<rect x="2" y="50" width="120" height="20" style="fill: blue">
+			<animate attributeName="width" attributeType="XML" from="120" to="240" begin="1s" dur="5s" fill="freeze"/>
+		</rect>
+		<rect x="2" y="90" width="120" height="20" style="fill: red">
+			<animate attributeName="width" attributeType="XML" from="120" to="240" begin="1s" dur="5s" fill="freeze"/>
+		</rect>
+	</g>
+	<g>
+		<text x="280" y="30" style="font-size:20">Image 2</text>
+	</g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/animation-extRef-image3.svg b/Tests/W3CTestSuite/images/animation-extRef-image3.svg
new file mode 100644
index 0000000000000000000000000000000000000000..408a4793d2d7268d9c7692f880823652018f0ca0
--- /dev/null
+++ b/Tests/W3CTestSuite/images/animation-extRef-image3.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "SVG-1.1-monolithic-fixed.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="animation-extRef-image3" width="360" height="120" viewBox="0 0 360 120">
+	<g style="stroke: black; stroke-width:2">
+		<rect x="2" y="10" width="120" height="20" style="fill: lightgreen"/>
+		<rect x="2" y="50" width="240" height="20" style="fill: blue"/>
+		<rect x="2" y="90" width="240" height="20" style="fill: red">
+			<animate attributeName="width" attributeType="XML" from="240" to="356" begin="1s" dur="5s" fill="freeze"/>
+		</rect>
+	</g>
+	<g>
+		<text x="280" y="30" style="font-size:20">Image 3</text>
+	</g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/black10x10.png b/Tests/W3CTestSuite/images/black10x10.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e95303a9d7667c15349a92a786d3afd142a509e
Binary files /dev/null and b/Tests/W3CTestSuite/images/black10x10.png differ
diff --git a/Tests/W3CTestSuite/images/blue1x1.png b/Tests/W3CTestSuite/images/blue1x1.png
new file mode 100644
index 0000000000000000000000000000000000000000..648583295a7af9a8290b844532e4f92175de9859
Binary files /dev/null and b/Tests/W3CTestSuite/images/blue1x1.png differ
diff --git a/Tests/W3CTestSuite/images/blue_10x10.png b/Tests/W3CTestSuite/images/blue_10x10.png
new file mode 100644
index 0000000000000000000000000000000000000000..21955dab6791b94910122bfec1e487fae1f25aef
Binary files /dev/null and b/Tests/W3CTestSuite/images/blue_10x10.png differ
diff --git a/Tests/W3CTestSuite/images/blue_10x10.ppm b/Tests/W3CTestSuite/images/blue_10x10.ppm
new file mode 100644
index 0000000000000000000000000000000000000000..1cb38746c44571bc2994167578ef47af0671749d
--- /dev/null
+++ b/Tests/W3CTestSuite/images/blue_10x10.ppm
@@ -0,0 +1,23 @@
+P3
+10 10
+255
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
+0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 
diff --git a/Tests/W3CTestSuite/images/bluesquidj.png b/Tests/W3CTestSuite/images/bluesquidj.png
new file mode 100644
index 0000000000000000000000000000000000000000..9f5c55878b02259bb15863aa1e305bec985cde49
Binary files /dev/null and b/Tests/W3CTestSuite/images/bluesquidj.png differ
diff --git a/Tests/W3CTestSuite/images/bullet-small.png b/Tests/W3CTestSuite/images/bullet-small.png
new file mode 100644
index 0000000000000000000000000000000000000000..2f92cc61507b0a57243e556e0a889bf8183e320e
Binary files /dev/null and b/Tests/W3CTestSuite/images/bullet-small.png differ
diff --git a/Tests/W3CTestSuite/images/bullet-white.png b/Tests/W3CTestSuite/images/bullet-white.png
new file mode 100644
index 0000000000000000000000000000000000000000..d4c4abfd8215b4d479f6b813aa7f4cf50a02f3d4
Binary files /dev/null and b/Tests/W3CTestSuite/images/bullet-white.png differ
diff --git a/Tests/W3CTestSuite/images/bullet.png b/Tests/W3CTestSuite/images/bullet.png
new file mode 100644
index 0000000000000000000000000000000000000000..e1495d984a975bdf2e4a148adf60e7a3282b7203
Binary files /dev/null and b/Tests/W3CTestSuite/images/bullet.png differ
diff --git a/Tests/W3CTestSuite/images/bumpMap.png b/Tests/W3CTestSuite/images/bumpMap.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ac02a8da4f24b694fc9d92c854b6f9315f15e14
Binary files /dev/null and b/Tests/W3CTestSuite/images/bumpMap.png differ
diff --git a/Tests/W3CTestSuite/images/bumpMap2.png b/Tests/W3CTestSuite/images/bumpMap2.png
new file mode 100644
index 0000000000000000000000000000000000000000..1609323d461c897e95d34a54e1f4efb520b385db
Binary files /dev/null and b/Tests/W3CTestSuite/images/bumpMap2.png differ
diff --git a/Tests/W3CTestSuite/images/bumpMap3.png b/Tests/W3CTestSuite/images/bumpMap3.png
new file mode 100644
index 0000000000000000000000000000000000000000..646f5de57be198b4c6aecb64af0f5a2c2ff5fe7d
Binary files /dev/null and b/Tests/W3CTestSuite/images/bumpMap3.png differ
diff --git a/Tests/W3CTestSuite/images/case-insensitivity.css b/Tests/W3CTestSuite/images/case-insensitivity.css
new file mode 100644
index 0000000000000000000000000000000000000000..ce508ff8de1dd6950d306dfde9c90cb30bdd5dac
--- /dev/null
+++ b/Tests/W3CTestSuite/images/case-insensitivity.css
@@ -0,0 +1,2 @@
+#d {fill: red }
+#d {FiLl: oRaNgE }
diff --git a/Tests/W3CTestSuite/images/changeColor.ICM b/Tests/W3CTestSuite/images/changeColor.ICM
new file mode 100644
index 0000000000000000000000000000000000000000..dc99698e4a14112094326e4f362ea227c07555ac
Binary files /dev/null and b/Tests/W3CTestSuite/images/changeColor.ICM differ
diff --git a/Tests/W3CTestSuite/images/colorprof.png b/Tests/W3CTestSuite/images/colorprof.png
new file mode 100644
index 0000000000000000000000000000000000000000..c03ab9cf393bfda53bf5d9498fa8d1d2579164e6
Binary files /dev/null and b/Tests/W3CTestSuite/images/colorprof.png differ
diff --git a/Tests/W3CTestSuite/images/convolveImage.png b/Tests/W3CTestSuite/images/convolveImage.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8fb85230a34c5a48fc30a3cf8264ab23925d0fb
Binary files /dev/null and b/Tests/W3CTestSuite/images/convolveImage.png differ
diff --git a/Tests/W3CTestSuite/images/coords-units-01-f.png b/Tests/W3CTestSuite/images/coords-units-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a075c71727246c17fbbf91577398a0ee0dffe0d
Binary files /dev/null and b/Tests/W3CTestSuite/images/coords-units-01-f.png differ
diff --git a/Tests/W3CTestSuite/images/coords-units-01-f.svg b/Tests/W3CTestSuite/images/coords-units-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fbb57ce3ddb1183cdb60c9697e70d1ee4883cb75
--- /dev/null
+++ b/Tests/W3CTestSuite/images/coords-units-01-f.svg
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!--======================================================================-->
+<!--=  Copyright 2002 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- coords-units-01-f.svg                                                 -->
+<!-- 1.1 revision by Christophe Jolif                                      -->
+<!--                                                                       -->
+<!-- Validate the processing rules for converting coordinates and          -->
+<!-- lengths defined in fractions of the current object's bounding box     -->
+<!-- to user space coordinates and length.                                 -->
+<!--                                                                       -->
+<!-- Author : Vincent Hardy, 29-Feb-2000                                   -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  29-Feb-2000, VH: Created.  Matches 20000302 SVG spec.                -->
+<!--  09-Mar-2000, LH: suite integration (name, editorial, ..), ser#2      -->
+<!--  09-Mar-2000, LH: fix framing rect,  ser#3.                           -->
+<!--  24-Apr-2000, LH: remove text-anchor,  ser#4.                         -->
+<!--  02-Jun-2000, LH: fix fx,fy on radial grads" stroke lines;  ser#5.    -->
+<!--  04-Jun-2000, LH: mark "NA" (in -patch) on PNG, for patterns"  ser#6  -->
+<!--  03-Aug-2000, LH: update DOCTYPE for CR DTD, 20000802" ser# .         -->
+<!--  16-Aug-2000, LH: rename ser#7.                                       -->
+<!--  29-Sep-2000, VH: fixed pattern reference problems" ser#8.            -->
+<!--  07-Dec-2000, JF: update to Nov. 2 spec, fix other errors.            -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+    <OperatorScript>
+      <Paragraph>
+Verify the conversion processing of percentage and fraction values relative to 
+object bounding boxes. This is used when defining linear and radial gradients
+as well as patterns.
+      </Paragraph>
+      <Paragraph>
+The test validates conversion for coordinates, width, height and length. The first
+test defines three corresponding linear gradients, which specify coordinates 
+using percentages for one, fractions for the second and user coordinates for the 
+third. The second test defines three corresponding radial gradients, which specify
+a length (radius) using percentages for the first, fractions for the second and 
+user space for the third. Finally, the third test defines three corresponding patterns,
+which specify their width and height using percentages for the first, fractions for the
+second and user space coordinates for the last one.
+      </Paragraph>
+      <Paragraph>
+The rendered image should match the reference image.  Also, the text may
+show minor differences, per CSS2 rules for font selection and matching.
+      </Paragraph>
+      <Paragraph>
+The test also assumes that linear and radial gradients, 
+as well as patterns are implemented.
+      </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+  <title id="test-title">coords-units-01-f</title>
+  <desc id="test-desc">This test validates the processing rules for converting coordinates and length defined in fractions of the current object's bounding box to user space coordinates and length. Note that this test assumes that linear and radial gradients, as well as patterns are implemented.</desc>
+  <!--======================================================================-->
+  <!--Content of Test Case follows...                  =====================-->
+  <!--======================================================================-->
+  <g id="test-body-content">
+    <!-- ==================================================================== -->
+    <!-- The following gradients will be used to fill a rectangle with the    -->
+    <!-- following geometry in User space: x=0, y=0, width=50 height=20       -->
+    <!-- The gradient vector, in linearBoundingBox, is defined as: (0%, 0%)   -->
+    <!-- to (100%, 0%).                                                       -->
+    <!-- The gradient vector, in linearBoundingBoxFraction, is defined as:    -->
+    <!-- (0, 0) to (1, 0), which is equivalent.                               -->
+    <!-- According to the spec, for our rectangle, this corresponds to the    -->
+    <!-- following user space coordinates:                                    -->
+    <!-- (0%, 0%) becomes (0, 0) and (100%, 0%) becomes (20, 0)               -->
+    <!-- These values are used to define the linearUserSpace gradient.        -->
+    <!-- If the test succeeds, all the gradient should fill the rectangles    -->
+    <!-- the same way                                                         -->
+    <!-- ==================================================================== -->
+    <linearGradient id="linearBoundingBoxPercentage" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%">
+      <stop stop-color="red" offset="0"/>
+      <stop stop-color="blue" offset="1"/>
+    </linearGradient>
+    <linearGradient id="linearBoundingBoxFraction" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="0">
+      <stop stop-color="red" offset="0"/>
+      <stop stop-color="blue" offset="1"/>
+    </linearGradient>
+    <linearGradient id="linearUserSpace" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="50" y2="0">
+      <stop stop-color="red" offset="0"/>
+      <stop stop-color="blue" offset="1"/>
+    </linearGradient>
+    <!-- Draw Text Comment -->
+    <text x="30" y="30">Bounding box relative coordinates (percentage and fraction)</text>
+    <g transform="translate(30, 40)">
+      <rect x="0" y="0" width="50" height="20" fill="url(#linearBoundingBoxPercentage)"/>
+      <rect x="0" y="0" width="50" height="20" transform="translate(0, 20)" fill="url(#linearBoundingBoxFraction)"/>
+      <rect x="0" y="0" width="50" height="20" transform="translate(0, 40)" fill="url(#linearUserSpace)"/>
+      <line x1="0" y1="20" x2="50" y2="20" stroke="#cccccc" stroke-width="1"/>
+      <line x1="0" y1="40" x2="50" y2="40" stroke="#cccccc" stroke-width="1"/>
+      <text x="60" y="15">Percentage</text>
+      <text x="60" y="35">Fraction</text>
+      <text x="60" y="55">User Space</text>
+    </g>
+    <!-- ==================================================================== -->
+    <!-- The following gradients will be used to fill a rectangle with the    -->
+    <!-- following geometry in User space: x=0, y=0, width=60 height=60       -->
+    <!-- The radial gradient outmost circle, in radialBoundingBox, is defined -->
+    <!-- as: cx=25% cy=25% r=25%                                              -->
+    <!-- The radial gradient outmost circle, in radialBoundingBoxFraction, is -->
+    <!-- defined as: cx=0.25 cy=0.25 and r=0.25                               -->
+    <!-- These two definition, for our rectangle, should be identical to the  -->
+    <!-- following radial gradient outmost circle, in radialUserSpace:        -->
+    <!-- cx=15 cy=15 r=15                                                     -->
+    <!-- ==================================================================== -->
+    <radialGradient id="radialBoundingBoxPercentage" gradientUnits="objectBoundingBox" cx="25%" cy="25%" r="25%" fx="25%" fy="25%">
+      <stop stop-color="red" offset="0"/>
+      <stop stop-color="blue" offset="1"/>
+    </radialGradient>
+    <radialGradient id="radialBoundingBoxFraction" gradientUnits="objectBoundingBox" cx="0.25" cy="0.25" r="0.25" fx="0.25" fy="0.25">
+      <stop stop-color="red" offset="0"/>
+      <stop stop-color="blue" offset="1"/>
+    </radialGradient>
+    <radialGradient id="radialUserSpace" gradientUnits="userSpaceOnUse" cx="15" cy="15" r="15" fx="15" fy="15">
+      <stop stop-color="red" offset="0"/>
+      <stop stop-color="blue" offset="1"/>
+    </radialGradient>
+    <!-- Draw Text Comment -->
+    <text x="30" y="130">Bounding box relative length (percentage and fraction)</text>
+    <g transform="translate(30, 140)">
+      <rect x="0" y="0" width="60" height="60" fill="url(#radialBoundingBoxPercentage)"/>
+      <rect x="0" y="0" width="60" height="60" transform="translate(61, 0)" fill="url(#radialBoundingBoxFraction)"/>
+      <rect x="0" y="0" width="60" height="60" transform="translate(122, 0)" fill="url(#radialUserSpace)"/>
+      <text x="0" y="70">Percent.</text>
+      <text x="61" y="70">Fraction</text>
+      <text x="122" y="70">User Space</text>
+    </g>
+    <!-- ==================================================================== -->
+    <!-- The following patterns will be used to fill a rectangle, with the    -->
+    <!-- following geometry in User space: x=0, y=0, width=50 height=30       -->
+    <!-- The pattern tile, in patterBoundingBoxPercentage, is defined as:     -->
+    <!-- x=25% y=25% width=50% height=50%                                     -->
+    <!-- The pattern tile, in patternBoundingBoxFraction, is defined as:      -->
+    <!-- x=0.25 y=0.25 width=0.50 height=0.50                                 -->
+    <!-- For our test rectangle, both correspond to the following User space  -->
+    <!-- coordinates: x=12.5 y=7.5 width=25 height=15                         -->
+    <!-- These coordinates are use to define the patternUserSpace tile        -->
+    <!-- ==================================================================== -->
+    <pattern id="patternBoundingBoxPercentage" patternUnits="objectBoundingBox" patternContentUnits="objectBoundingBox" x="25%" y="25%" width="50%" height="50%">
+      <circle cx="0.50" cy="0.50" r="0.25" fill="red"/>
+      <rect x="0.4" y="0.4" width=".2" height=".2" fill="blue"/>
+    </pattern>
+    <pattern id="patternBoundingBoxFraction" patternUnits="objectBoundingBox" patternContentUnits="objectBoundingBox" x="0.25" y="0.25" width="0.50" height="0.50">
+      <circle cx="0.50" cy="0.50" r="0.25" fill="red"/>
+      <rect x="0.4" y="0.4" width=".2" height=".2" fill="blue"/>
+    </pattern>
+    <pattern id="patternUserSpace" patternUnits="userSpaceOnUse" patternContentUnits="userSpaceOnUse" x="12.5" y="7.5" width="25" height="15">
+      <circle id="patternContent" cx="25" cy="15" r="10" fill="red"/>
+      <rect x="20" y="12" width="10" height="6" fill="blue"/>
+    </pattern>
+    <!-- Draw Text Comment -->
+    <text x="30" y="240">Bounding box relative width/height (percentage and fraction)</text>
+    <g transform="translate(30, 250)">
+      <rect x="0" y="0" width="50" height="30" fill="url(#patternBoundingBoxPercentage)" stroke="black"/>
+      <rect x="0" y="0" width="50" height="30" transform="translate(150, 0)" fill="url(#patternBoundingBoxFraction)" stroke="black"/>
+      <rect x="0" y="0" width="50" height="30" transform="translate(300, 0)" fill="url(#patternUserSpace)" stroke="black"/>
+      <text x="60" y="20">Percentage</text>
+      <text x="210" y="20">Fraction</text>
+      <text x="360" y="20">User Space</text>
+    </g>
+    <!-- Test framing rectangle, drawn just inside viewport boundary. -->
+    <rect x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  </g>
+  <!--======================================================================-->
+  <!--Legend and frame:      Title, suite and SVG document serialization====-->
+  <!--======================================================================-->
+  <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+    <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+    <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+    <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+    <a xlink:href="copyright-documents-19990405.html">
+      <text x="12" y="347" fill="blue">Copyright 2002 W3C. All Rights Reserved.</text>
+    </a>
+    <text font-size="12" x="35" y="330">coords-units-01-f</text>
+    <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+    <text font-size="10" x="210" y="345">Release 1.0</text>
+    <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/copyright-documents-19990405.html b/Tests/W3CTestSuite/images/copyright-documents-19990405.html
new file mode 100644
index 0000000000000000000000000000000000000000..e65f61f9c44d59a43c96b06de7341cdbb6944f2a
--- /dev/null
+++ b/Tests/W3CTestSuite/images/copyright-documents-19990405.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
+                      "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html">
+<title>DOCUMENT NOTICE</title>
+<link rel="stylesheet" type="text/css" href="/StyleSheets/base.css">
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+
+<h1>W3C<sup>�</sup> DOCUMENT NOTICE AND LICENSE</h1>
+
+<h3>Copyright � 1994-2000 <a href="http://www.w3.org/">World Wide Web Consortium</a>, (<a
+href="http://www.lcs.mit.edu/">Massachusetts Institute of Technology</a>, <a
+href="http://www.inria.fr/">Institut National de Recherche en Informatique et en
+Automatique</a>, <a href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+Reserved.<br>
+http://www.w3.org/Consortium/Legal/</h3>
+
+<p>Public documents on the W3C site are provided by the copyright holders under the
+following license. The software or Document Type Definitions (DTDs) associated with W3C
+specifications are governed by the <a
+href="http://www.w3.org/Consortium/Legal/copyright-software.html">Software Notice</a>. By
+using and/or copying this document, or the W3C document from which this statement is
+linked, you (the licensee) agree that you have read, understood, and will comply with the
+following terms and conditions:</p>
+
+<p>Permission to use, copy, and distribute the contents of this document, or the W3C
+document from which this statement is linked, in any medium for any purpose and without
+fee or royalty is hereby granted, provided that you include the following on <i>ALL</i>
+copies of the document, or portions thereof, that you use: 
+
+<ol>
+  <li>A link or URL to the original W3C document.</li>
+  <li>The pre-existing copyright notice of the original author, or if it doesn't exist, a
+    notice of the form: &quot;Copyright � [$date-of-document] <a href="http://www.w3.org/">World
+    Wide Web Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts Institute of
+    Technology</a>, <a href="http://www.inria.fr/">Institut National de Recherche en
+    Informatique et en Automatique</a>, <a href="http://www.keio.ac.jp/">Keio University</a>).
+    All Rights Reserved. http://www.w3.org/Consortium/Legal/&quot; (Hypertext is preferred,
+    but a textual representation is permitted.)</li>
+  <li><em>If it exists</em>, the STATUS of the W3C document.</li>
+</ol>
+
+<p>When space permits, inclusion of the full text of this <b>NOTICE </b>should be
+provided. We request that authorship attribution be provided in any software, documents,
+or other items or products that you create pursuant to the implementation of the contents
+of this document, or any portion thereof.</p>
+
+<p>No right to create modifications or derivatives of W3C documents is granted pursuant to
+this license. However, if additional requirements (documented in the <a
+href="IPR-FAQ.html">Copyright FAQ</a>) are satisfied, the right to create modifications or
+derivatives is&nbsp;sometimes granted by the W3C to individuals complying with those
+requirements.</p>
+
+<p>THIS DOCUMENT IS PROVIDED &quot;AS IS,&quot; AND COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR
+TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE
+IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+TRADEMARKS OR OTHER RIGHTS.</p>
+
+<p>COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL
+DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE
+CONTENTS THEREOF.</p>
+
+<p>The name and trademarks of copyright holders may NOT be used in advertising or
+publicity pertaining to this document or its contents without specific, written prior
+permission. Title to copyright in this document will at all times remain with copyright
+holders.</p>
+
+<p>----------------------------------------------------------------------------</p>
+
+<p>This formulation of W3C's notice and license became active on April 05 1999 so as to
+account for the treatment of DTDs, schema's and bindings. See the <a
+href="copyright-documents-19990218.html">older formulation</a> for the policy prior to
+this date. Please see our <a href="IPR-FAQ.html">Copyright FAQ</a> for common questions
+about using materials from our site, including specific terms and conditions for packages
+like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to <a
+href="mailto:site-policy@w3.org">site-policy@w3.org</a>.</p>
+
+<address>
+  <a href="http://w3.org/Help/Webmaster.html">webmaster</a><br>
+  (last updated by reagle on 1999/04/99.) 
+</address>
+</body>
+</html>
diff --git a/Tests/W3CTestSuite/images/diagarrow.png b/Tests/W3CTestSuite/images/diagarrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..4cd284e810545d7a2dce6419157dbb59a6863b27
Binary files /dev/null and b/Tests/W3CTestSuite/images/diagarrow.png differ
diff --git a/Tests/W3CTestSuite/images/empty.js b/Tests/W3CTestSuite/images/empty.js
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/Tests/W3CTestSuite/images/ext-TestComic.svg b/Tests/W3CTestSuite/images/ext-TestComic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..84e207350b222762e0ce5c13e528a99f4a1b4f15
--- /dev/null
+++ b/Tests/W3CTestSuite/images/ext-TestComic.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+	<defs>
+		<!-- ===================================================================== -->
+		<!-- Define the font for embedding - using Microsoft's "Comic Sans MS"     -->
+		<!-- This is an SVG Font version of Comic. The Comic font license          -->
+		<!-- allows editable and installable font embedding.                       -->
+		<!-- Only need to embed the characters that are used in the test           -->
+		<!-- ===================================================================== -->
+			<font horiz-adv-x="959" id="Font">
+				<font-face font-family="TestComic" units-per-em="2048" panose-1="3 15 7 2 3 3 2 2 2 4" ascent="2257" descent="-597" alphabetic="0"/>
+				<missing-glyph horiz-adv-x="1024" d="M128 0V1638H896V0H128zM256 128H768V1510H256V128z"/>
+				<glyph unicode="@" horiz-adv-x="1907" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+				<glyph unicode="A" horiz-adv-x="1498" d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+				<glyph unicode="y" horiz-adv-x="1066" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+				<glyph unicode="Ö" horiz-adv-x="1635" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+				<glyph unicode="ç" horiz-adv-x="1052" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+			</font>
+		</defs>
+</svg>
diff --git a/Tests/W3CTestSuite/images/f.js b/Tests/W3CTestSuite/images/f.js
new file mode 100644
index 0000000000000000000000000000000000000000..a19096b572ed8dab6bb8b565294b78f5da9d24b9
--- /dev/null
+++ b/Tests/W3CTestSuite/images/f.js
@@ -0,0 +1 @@
+f()
diff --git a/Tests/W3CTestSuite/images/fillChangeColor.ICM b/Tests/W3CTestSuite/images/fillChangeColor.ICM
new file mode 100644
index 0000000000000000000000000000000000000000..dc99698e4a14112094326e4f362ea227c07555ac
Binary files /dev/null and b/Tests/W3CTestSuite/images/fillChangeColor.ICM differ
diff --git a/Tests/W3CTestSuite/images/filters-blend-01-f.svg b/Tests/W3CTestSuite/images/filters-blend-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bd56639d3ca8657caacbf49b6d5314e2781378da
--- /dev/null
+++ b/Tests/W3CTestSuite/images/filters-blend-01-f.svg
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--                                                                      -->
+<!-- filters-blend-BE-02.svg                                              -->
+<!-- renamed to filters-blend-01-f.svg                                    -->
+<!--                                                                      -->
+<!-- Verify correct operation of the five compositing modes of the        -->
+<!-- feBlend filter primitive.                                            -->
+<!--                                                                      -->
+<!-- Author : Jon Ferraiolo, 15 March 2000                                -->
+<!-- Revised for 1.1 : Mike Bultrowicz, 4 February 2002                   -->
+<!--                                                                      -->
+<!-- History:                                                             -->
+<!--  15-Mar-2000, JF: Serial#1 created.  Matches 20000303 SVG spec.      -->
+<!--  16-Mar-2000, LH="editorials" fix name (-02); fix Legend, ser#2.     -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .       -->
+<!--  16-Aug-2000, LH="rename" ser#3.                                     -->
+<!--                                                                      -->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+			<Paragraph>
+				Verify correct operation of the five compositing modes 
+				of the feBlend filter primitive. Five text strings 
+				blended into a gradient, with one text string for each of 
+				the five feBlend modes. The string indicates the blend 
+				mode.
+			</Paragraph> 
+			<Paragraph>
+				The rendered picture should match the reference image 
+				exactly, except for possible variations in the 
+				labelling text (per CSS2 rules).
+			</Paragraph> 
+			<Paragraph>
+				The test uses a nested 'svg' element, 'text' element, 
+				the 'enable-background' property, and linear gradients.as 
+				well as basic fill (solid primary colors), stroke (solid 
+				primary colors with stroke-width lines), font-family 
+				(Helvetica) and font-size properties.
+			</Paragraph> 
+        </OperatorScript>
+    </SVGTestCase>
+   	<title id="test-title">filters-blend-01-f</title>
+	<desc id="test-desc">Overall filter effects test case. Extracted from example filters00 in the March 3, 2000 spec.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<!-- Sample Content:  framing rectangle drawn just inside viewport boundary. -->
+		<g font-size="12" font-family="Verdana" >
+			<text x="20" y="30" font-weight="bold">Examples of the five</text>
+			<text x="20" y="45" font-weight="bold">feBlend modes.</text>
+			<text x="30" y="75">Five text strings blended</text>
+			<text x="30" y="90">into a gradient, with one</text>
+			<text x="30" y="105">text string for each of the</text>
+			<text x="30" y="120">five feBlend modes. The </text>
+			<text x="30" y="135">string indicates the blend</text>
+			<text x="30" y="150">mode.</text>
+		</g>
+		<!-- Here is the test case -->
+		<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="200" y="20" width="260" height="260" viewBox="0 0 500 500">
+			<title>Example feBlend - Examples of feBlend modes</title>
+			<desc>Five text strings blended into a gradient, with one text string for each of the five feBlend modes.</desc>
+			<defs>
+				<linearGradient id="MyGradient" gradientUnits="userSpaceOnUse" x1="100" y1="0" x2="300" y2="0">
+					<stop offset="0" stop-color="#000000" />
+					<stop offset=".33" stop-color="#ffffff" />
+					<stop offset=".67" stop-color="#ff0000" />
+					<stop offset="1" stop-color="#808080" />
+				</linearGradient>
+				<filter id="Normal">
+					<feBlend mode="normal" in2="BackgroundImage" in="SourceGraphic"/>
+				</filter>
+				<filter id="Multiply">
+					<feBlend mode="multiply" in2="BackgroundImage" in="SourceGraphic"/>
+				</filter>
+				<filter id="Screen">
+					<feBlend mode="screen" in2="BackgroundImage" in="SourceGraphic"/>
+				</filter>
+				<filter id="Darken">
+					<feBlend mode="darken" in2="BackgroundImage" in="SourceGraphic"/>
+				</filter>
+				<filter id="Lighten">
+					<feBlend mode="lighten" in2="BackgroundImage" in="SourceGraphic"/>
+				</filter>
+			</defs>
+			<rect fill="none" stroke="blue" x="1" y="1" width="498" height="498"/>
+			<g enable-background="new" >
+				<rect x="100" y="20" width="300" height="460" fill="url(#MyGradient)" />
+				<g font-family="Verdana" font-size="75" fill="#888888" fill-opacity=".6" >
+					<text x="50" y="90" filter="url(#Normal)" >Normal</text>
+					<text x="50" y="180" filter="url(#Multiply)" >Multiply</text>
+					<text x="50" y="270" filter="url(#Screen)" >Screen</text>
+					<text x="50" y="360" filter="url(#Darken)" >Darken</text>
+					<text x="50" y="450" filter="url(#Lighten)" >Lighten</text>
+				</g>
+			</g>
+		</svg>
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+        <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12" x="35" y="330">filters-blend-01</text>
+        <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10" x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/images/filters-color-01-f.svg b/Tests/W3CTestSuite/images/filters-color-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b70ca61c4601251459891fb8b786a61103114c9e
--- /dev/null
+++ b/Tests/W3CTestSuite/images/filters-color-01-f.svg
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--                                                                      -->
+<!-- filters-colorMtrx-BE-03.svg                                          -->
+<!-- renamed for 1.1 suite to filters-color-01-f.svg                      -->
+<!--                                                                      -->
+<!-- Test which verifies the basic facilities of feColorMatrix.           -->
+<!--                                                                      -->
+<!-- Author : Jon Ferraiolo 03-Apr-2000                                   -->
+<!-- Revised for 1.1 : Mike Bultrowicz, 4 February 2002                   -->
+<!--                                                                      -->
+<!-- History:                                                             -->
+<!--  04-Apr-2000, JF: Serial#1 created.                                  -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .       -->
+<!--  16-Aug-2000, LH="rename" ser#2.                                     -->
+<!--  10-Dec-2000, JF: Make reference gradient darker to compensate       -->
+<!--                   for lightnexx of linearRGB filter calculations.    -->
+<!--                   Adjust saturation to make it more obvious.         -->
+<!--                                                                      -->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+			<Paragraph>
+				Test which verifies the basic facilities of 
+				feColorMatrix.
+			</Paragraph> 
+			<Paragraph>
+				This test uses the following elements : a nested 
+				&lt;svg&gt; with a viewBox attribute, &lt;linearGradient&gt;, 
+				&lt;filter&gt;, &lt;feColorMatrix&gt;, &lt;feComposite&gt;
+			</Paragraph> 
+			<Paragraph>
+				The test case shows five rectangles filled with a 
+				gradient showing the effects of feColorMatrix: an 
+				unfiltered rectangle acting as a reference, use of the 
+				feColorMatrix matrix option to convert to grayscale, 
+				use of the feColorMatrix saturate option, use of the 
+				feColorMatrix hueRotate option, and use of the 
+				feColorMatrix luminanceToAlpha option.
+			</Paragraph> 
+			<Paragraph>
+				The test is somewhat self-explanatory as the strings 
+				document the type of feColorMatrix operation that is 
+				being used.
+			</Paragraph> 
+        </OperatorScript>
+    </SVGTestCase>
+	<title id="test-title">filters-color-01-f</title>
+	<desc id="test-desc">Test which verifies the basic facilities of feColorMatrix.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="40" y="25" width="400" height="252" viewBox="0 0 800 500">
+			<title>Example feColorMatrix - Examples of feColorMatrix operations</title>
+			<desc>Five rectangles filled with a gradient showing the effects of feColorMatrix: an unfiltered rectangle acting as a reference, use of the feColorMatrix matrix option to convert to grayscale, use of the feColorMatrix saturate option, use of the feColorMatrix hueRotate option, and use of the feColorMatrix luminanceToAlpha option.</desc>
+			<defs>
+				<linearGradient id="MyGradient" gradientUnits="userSpaceOnUse" x1="100" y1="0" x2="500" y2="0">
+					<stop offset="0" stop-color="#dd00dd" />
+					<stop offset=".33" stop-color="#22cc22" />
+					<stop offset=".67" stop-color="#400000" />
+					<stop offset="1" stop-color="#a0a0ff" />
+				</linearGradient>
+				<filter id="Matrix" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feColorMatrix type="matrix" in="SourceGraphic" values=".33 .33 .33 0 0                       .33 .33 .33 0 0                       .33 .33 .33 0 0                       .33 .33 .33 0 0"/>
+				</filter>
+				<filter id="Saturate40" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+					<feColorMatrix type="saturate" in="SourceGraphic" values=".25"/>
+				</filter>
+				<filter id="HueRotate90" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+					<feColorMatrix type="hueRotate" in="SourceGraphic" values="90"/>
+				</filter>
+				<filter id="LuminanceToAlpha" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+					<feColorMatrix type="luminanceToAlpha" in="SourceGraphic" result="a"/>
+					<feComposite in="SourceGraphic" in2="a" operator="in"/>
+				</filter>
+			</defs>
+			<g font-size="25" font-family="Verdana" >
+				<rect fill="none" stroke="blue"  x="1" y="1" width="798" height="498"/>
+				<rect x="100" y="20" width="500" height="40" fill="url(#MyGradient)" />
+				<text x="100" y="85">Unfiltered</text>
+				<rect x="100" y="120" width="500" height="40" fill="url(#MyGradient)" filter="url(#Matrix)" />
+				<text x="100" y="185">type="matrix" (grayscale matrix)</text>
+				<rect x="100" y="220" width="500" height="40" fill="url(#MyGradient)" filter="url(#Saturate40)" />
+				<text x="100" y="285">type="saturate" values=".4"</text>
+				<rect x="100" y="320" width="500" height="40" fill="url(#MyGradient)" filter="url(#HueRotate90)" />
+				<text x="100" y="385">type="hueRotate" values="90"</text>
+				<rect x="100" y="420" width="500" height="40" fill="url(#MyGradient)" filter="url(#LuminanceToAlpha)" />
+				<text x="100" y="485">type="luminanceToAlpha"</text>
+			</g>
+		</svg>
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+        <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12" x="35" y="330">filters-color-01</text>
+        <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10" x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/filters-composite-01-f.svg b/Tests/W3CTestSuite/images/filters-composite-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ca1433bf842f93d0d8b3e76e4b4b12fd76ebb3bb
--- /dev/null
+++ b/Tests/W3CTestSuite/images/filters-composite-01-f.svg
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--                                                                      -->
+<!-- filters-composite-BE-05.svg                                          -->
+<!-- renamed for 1.1 suite to filters-composite-01-f.svg                  -->
+<!--                                                                      -->
+<!-- Test which verifies the basic facilities of feComposite.             -->
+<!--                                                                      -->
+<!-- Author : Jon Ferraiolo 03-Apr-2000                                   -->
+<!-- Revised for 1.1 : Mike Bultrowicz, 4 February 2002                   -->
+<!--                                                                      -->
+<!-- History:                                                             -->
+<!--  04-Apr-2000, JF: Serial#1 created.                                  -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .       -->
+<!--  16-Aug-2000, LH="rename" ser#2.                                     -->
+<!--                                                                      -->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+			<Paragraph>
+				Test which verifies the basic facilities of feComposite.
+			</Paragraph> 
+			<Paragraph>
+				This test uses the following elements: &lt;path&gt;, &lt;use&gt;, 
+				&lt;linearGradient&gt;, &lt;filter&gt; with, an enable-background 
+				attribute, &lt;feFlood&gt;, &lt;feComposite&gt;, &lt;feMerge&gt;
+			</Paragraph> 
+			<Paragraph>
+				The test case shows six pairs of overlapping triangles 
+				depicting the six different feComposite operators. The 
+				first row shows compositing when both triangles have 
+				opacity=1. The second row shows compositing when both 
+				triangles have opacity=.5. The six columns illustrate the 
+				six types of compositing operations.
+			</Paragraph> 
+        </OperatorScript>
+    </SVGTestCase>
+	<title id="test-title">filters-composite-01-f</title>
+	<desc id="test-desc">Test which verifies the basic facilities of feComposite.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content" transform="translate(15 -60)">
+		<title>Example feComposite - Examples of feComposite operations</title>
+		<desc>Six pairs of overlapping triangles depicting the six different feComposite operators.</desc>
+		<defs>
+			<path id="Blue100" d="M 0 0 L 100 0 L 100 100 z" fill="#00ffff" />
+			<path id="Red100" d="M 0 0 L 0 100 L 100 0 z" fill="#ff00ff" />
+			<path id="Blue50" d="M 0 125 L 100 125 L 100 225 z" fill="#00ffff" fill-opacity=".5" />
+			<path id="Red50" d="M 0 125 L 0 225 L 100 125 z" fill="#ff00ff" fill-opacity=".5" />
+			<filter id="over" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+				<feFlood flood-color="#ffffff" flood-opacity="1"  result="flood"/>
+				<feComposite in="SourceGraphic" in2="BackgroundImage" operator="over" result="comp"/>
+				<feMerge>
+					<feMergeNode in="flood"/>
+					<feMergeNode in="comp"/>
+				</feMerge>
+			</filter>
+			<filter id="in" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+				<feFlood flood-color="#ffffff" flood-opacity="1"  result="flood"/>
+				<feComposite in="SourceGraphic" in2="BackgroundImage" operator="in" result="comp"/>
+				<feMerge>
+					<feMergeNode in="flood"/>
+					<feMergeNode in="comp"/>
+				</feMerge>
+			</filter>
+			<filter id="out" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+				<feFlood flood-color="#ffffff" flood-opacity="1"  result="flood"/>
+				<feComposite in="SourceGraphic" in2="BackgroundImage" operator="out" result="comp"/>
+				<feMerge>
+					<feMergeNode in="flood"/>
+					<feMergeNode in="comp"/>
+				</feMerge>
+			</filter>
+			<filter id="atop" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+				<feFlood flood-color="#ffffff" flood-opacity="1"  result="flood"/>
+				<feComposite in="SourceGraphic" in2="BackgroundImage" operator="atop" result="comp"/>
+				<feMerge>
+					<feMergeNode in="flood"/>
+					<feMergeNode in="comp"/>
+				</feMerge>
+			</filter>
+			<filter id="xor" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+				<feFlood flood-color="#ffffff" flood-opacity="1"  result="flood"/>
+				<feComposite in="SourceGraphic" in2="BackgroundImage" operator="xor" result="comp"/>
+				<feMerge>
+					<feMergeNode in="flood"/>
+					<feMergeNode in="comp"/>
+				</feMerge>
+			</filter>
+			<filter id="arithmetic" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+				<feFlood flood-color="#ffffff" flood-opacity="1"  result="flood"/>
+				<feComposite in="SourceGraphic" in2="BackgroundImage" result="comp" operator="arithmetic" k1=".5" k2=".5" k3=".5" k4=".5"/>
+				<feMerge>
+					<feMergeNode in="flood"/>
+					<feMergeNode in="comp"/>
+				</feMerge>
+			</filter>
+		</defs>
+		<g font-family="Verdana" font-size="40" shape-rendering="crispEdges"  transform="translate(5,150) scale(.4)">
+			<rect fill="none" stroke="blue"  x="1" y="1" width="1098" height="323"/>
+			<text x="15" y="75">opacity 1.0</text>
+			<text x="15" y="200">opacity 0.5</text>
+			<g transform="translate(275,25)" enable-background="new" >
+				<use xlink:href="#Blue100"/>
+				<use xlink:href="#Red100" filter="url(#over)" />
+			</g>
+			<g transform="translate(275,25)" enable-background="new" >
+				<use xlink:href="#Blue50"/>
+				<use xlink:href="#Red50" filter="url(#over)" />
+				<text x="5" y="275">over</text>
+			</g>
+			<g transform="translate(400,25)" enable-background="new" >
+				<use xlink:href="#Blue100"/>
+				<use xlink:href="#Red100" filter="url(#in)" />
+			</g>
+			<g transform="translate(400,25)" enable-background="new" >
+				<use xlink:href="#Blue50"/>
+				<use xlink:href="#Red50" filter="url(#in)" />
+				<text x="35" y="275">in</text>
+			</g>
+			<g transform="translate(525,25)" enable-background="new" >
+				<use xlink:href="#Blue100"/>
+				<use xlink:href="#Red100" filter="url(#out)" />
+			</g>
+			<g transform="translate(525,25)" enable-background="new" >
+				<use xlink:href="#Blue50"/>
+				<use xlink:href="#Red50" filter="url(#out)" />
+				<text x="15" y="275">out</text>
+			</g>
+			<g transform="translate(650,25)" enable-background="new" >
+				<use xlink:href="#Blue100"/>
+				<use xlink:href="#Red100" filter="url(#atop)" />
+			</g>
+			<g transform="translate(650,25)" enable-background="new" >
+				<use xlink:href="#Blue50"/>
+				<use xlink:href="#Red50" filter="url(#atop)" />
+				<text x="10" y="275">atop</text>
+			</g>
+			<g transform="translate(775,25)" enable-background="new" >
+				<use xlink:href="#Blue100"/>
+				<use xlink:href="#Red100" filter="url(#xor)" />
+			</g>
+			<g transform="translate(775,25)" enable-background="new" >
+				<use xlink:href="#Blue50"/>
+				<use xlink:href="#Red50" filter="url(#xor)" />
+				<text x="15" y="275">xor</text>
+			</g>
+			<g transform="translate(900,25)" enable-background="new" >
+				<use xlink:href="#Blue100"/>
+				<use xlink:href="#Red100" filter="url(#arithmetic)" />
+			</g>
+			<g transform="translate(900,25)" enable-background="new" >
+				<use xlink:href="#Blue50"/>
+				<use xlink:href="#Red50" filter="url(#arithmetic)" />
+				<text x="-25" y="275">arithmetic</text>
+			</g>
+		</g>
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+        <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12" x="35" y="330">filters-composite-01</text>
+        <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10" x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/filters-comptran-01-f.svg b/Tests/W3CTestSuite/images/filters-comptran-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3fbbf73715b926330f93fac2098afef085addf62
--- /dev/null
+++ b/Tests/W3CTestSuite/images/filters-comptran-01-f.svg
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--                                                                      -->
+<!-- filters-transfer-BE-04.svg                                           -->
+<!-- renamed for 1.1 suite to filters-comptran-01-f.svg                   -->
+<!--                                                                      -->
+<!-- Test which verifies the basic facilities of feComponentTransfer.     -->
+<!--                                                                      -->
+<!-- Author : Jon Ferraiolo 03-Apr-2000                                   -->
+<!-- Revised for 1.1 : Mike Bultrowicz, 4 February 2002                   -->
+<!--                                                                      -->
+<!-- History:                                                             -->
+<!--  04-Apr-2000, JF: Serial#1 created.                                  -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .       -->
+<!--  16-Aug-2000, LH="rename" ser#2.                                     -->
+<!--                                                                      -->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+			<Paragraph>
+				Test which verifies the basic facilities of 
+				feComponentTransfer.
+			</Paragraph> 
+			<Paragraph>
+				This test uses the following elements : a nested &lt;svg&gt; 
+				with a viewBox attribute, &lt;linearGradient&gt;, &lt;filter&gt;, 
+				&lt;feComponentTransfer&gt;
+			</Paragraph> 
+			<Paragraph>
+				The test case shows four rectangles filled with a 
+				gradient showing the effects of feComponentTransfer: an 
+				identity function acting as a reference, use of the 
+				feComponentTransfer table option, use of the 
+				feComponentTransfer linear option, and use of the 
+				feComponentTransfer gamma option.
+			</Paragraph> 
+			<Paragraph>
+				The test is somewhat self-explanatory as the strings 
+				document the type of feComponentTransfer operation that 
+				is being used.
+			</Paragraph> 
+        </OperatorScript>
+    </SVGTestCase>
+	<title id="test-title">filters-comptran-01-f</title>
+	<desc id="test-desc">Test which verifies the basic facilities of feComponentTransfer.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="35" y="50" width="400" height="200" viewBox="0 0 800 400">
+			<title>Example feComponentTransfer - Examples of feComponentTransfer operations</title>
+			<desc>Four rectangles filled with a gradient showing the effects of feComponentTransfer: an identity function acting as a reference, use of the feComponentTransfer table option, use of the feComponentTransfer linear option, and use of the feComponentTransfer gamma option.</desc>
+			<defs>
+				<linearGradient id="MyGradient" gradientUnits="userSpaceOnUse" x1="100" y1="0" x2="600" y2="0">
+					<stop offset="0" stop-color="#ff0000" />
+					<stop offset=".33" stop-color="#00ff00" />
+					<stop offset=".67" stop-color="#0000ff" />
+					<stop offset="1" stop-color="#000000" />
+				</linearGradient>
+				<filter id="Identity" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feComponentTransfer>
+						<feFuncR type="identity"/>
+						<feFuncG type="identity"/>
+						<feFuncB type="identity"/>
+						<feFuncA type="identity"/>
+					</feComponentTransfer>
+				</filter>
+				<filter id="Table" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feComponentTransfer>
+						<feFuncR type="table" tableValues="0 0 1 1"/>
+						<feFuncG type="table" tableValues="1 1 0 0"/>
+						<feFuncB type="table" tableValues="0 1 1 0"/>
+					</feComponentTransfer>
+				</filter>
+				<filter id="Linear" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feComponentTransfer>
+						<feFuncR type="linear" slope=".5" intercept=".25"/>
+						<feFuncG type="linear" slope=".5" intercept="0"/>
+						<feFuncB type="linear" slope=".5" intercept=".5"/>
+					</feComponentTransfer>
+				</filter>
+				<filter id="Gamma" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feComponentTransfer>
+						<feFuncR type="gamma" amplitude="2" exponent="5" offset="0"/>
+						<feFuncG type="gamma" amplitude="2" exponent="3" offset="0"/>
+						<feFuncB type="gamma" amplitude="2" exponent="1" offset="0"/>
+					</feComponentTransfer>
+				</filter>
+			</defs>
+			<rect fill="none" stroke="blue"  x="1" y="1" width="798" height="398"/>
+			<g font-size="25" font-family="Verdana" >
+				<rect fill="none" stroke="blue"  x="1" y="1" width="798" height="398"/>
+				<rect x="100" y="20" width="500" height="40" fill="url(#MyGradient)" filter="url(#Identity)" />
+				<text x="100" y="85">type="identity"</text>
+				<rect x="100" y="120" width="500" height="40" fill="url(#MyGradient)" filter="url(#Table)" />
+				<text x="100" y="185">type="table"</text>
+				<rect x="100" y="220" width="500" height="40" fill="url(#MyGradient)" filter="url(#Linear)" />
+				<text x="100" y="285">type="linear" slope=".5" intercepts:.25/0/.5</text>
+				<rect x="100" y="320" width="500" height="40" fill="url(#MyGradient)" filter="url(#Gamma)" />
+				<text x="100" y="385">type="gamma" amplitude="2" exponents:5/3/1</text>
+			</g>
+		</svg>
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+        <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12" x="35" y="330">filters-comptran-01</text>
+        <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10" x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/filters-conv-01-f.includeimage.png b/Tests/W3CTestSuite/images/filters-conv-01-f.includeimage.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8fb85230a34c5a48fc30a3cf8264ab23925d0fb
Binary files /dev/null and b/Tests/W3CTestSuite/images/filters-conv-01-f.includeimage.png differ
diff --git a/Tests/W3CTestSuite/images/filters-conv-01-f.svg b/Tests/W3CTestSuite/images/filters-conv-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..927e9927f218ffebd9c8e8dd7e796770b412d389
--- /dev/null
+++ b/Tests/W3CTestSuite/images/filters-conv-01-f.svg
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+ 
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--                                                                      -->
+<!-- filters-convolve-BE-06.svg                                           -->
+<!-- renamed for 1.1 suite to filters-conv-01-f.svg                       -->
+<!--                                                                      -->
+<!-- Test which verifies the basic facilities of feConvolveMatrix.        -->
+<!--                                                                      -->
+<!-- Author : Vincent Hardy 24-Apr-2000                                   -->
+<!-- Revised for 1.1 : Mike Bultrowicz, 4 February 2002                   -->
+<!--                                                                      -->
+<!-- History:                                                             -->
+<!--  24-Apr-2000, VH: Serial#1 created.                                  -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .       -->
+<!--  16-Aug-2000, LH="rename" ser#2.                                     -->
+<!--  17-Aug-2000, JF: Fix validation error. edgemode->edgeMode.          -->
+<!--  21-Aug-2000, VH: Added filterUnits and filter effect region to each -->
+<!--                   filter definition. ser#3                           -->
+<!--                                                                      -->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+			<Paragraph>
+				Test which verifies the basic facilities of 
+				feConvolveMatrix.
+			</Paragraph> 
+			<Paragraph>
+				This test defines six filters that exercise traditional 
+				convolutions: uniform blur, vertical and horizontal 
+				blurs, edge detection, embossing and sharpening. Note 
+				that the edge detection filter produces a fully 
+				transparent image because the alpha chanel is convolved 
+				and produces 0 values.
+			</Paragraph> 
+        </OperatorScript>
+    </SVGTestCase>
+	<title id="test-title">filters-conv-01-f</title>
+	<desc id="test-desc">Test which verifies the basic facilities of feConvolveMatrix.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<!--Generated by the Java 2D API Graphics2D SVG Generator, Sun Microsystems Inc.-->
+		<g transform="translate(20, 40)">
+			<defs id="defs1">
+				<filter id="convolve1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feConvolveMatrix order="3 3" kernelMatrix="0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111" edgeMode="none"/>
+				</filter>
+				<filter id="convolve2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feConvolveMatrix order="3 3" kernelMatrix="-1 -1 -1 -1 8 -1 -1 -1 -1" edgeMode="none"/>
+				</filter>
+				<filter id="convolve3" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feConvolveMatrix order="3 3" kernelMatrix="-1 -1 -1 -1 9 -1 -1 -1 -1" edgeMode="none"/>
+				</filter>
+				<filter id="convolve4" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feConvolveMatrix order="3 3" kernelMatrix="-2 0 0 0 1 0 0 0 2" edgeMode="none"/>
+				</filter>
+				<filter id="convolve5" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feConvolveMatrix order="3 1" kernelMatrix="0.3333 0.3333 0.3333" edgeMode="none"/>
+				</filter>
+				<filter id="convolve6" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+					<feConvolveMatrix order="1 3" kernelMatrix="0.3333 0.3333 0.3333" edgeMode="none"/>
+				</filter>
+			</defs>
+			<g shape-rendering="geometricPrecision" text-rendering="geometricPrecision" >
+				<text x="10" y="20" stroke="none" opacity="1" filter="none" >Blur (3x3)</text>
+				<g opacity="1" filter="none" >
+					<image width="50" height="63" xlink:href="filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve1)" />
+				</g>
+				<text x="10" y="20" transform="translate(150,0)" stroke="none" opacity="1" filter="none" >Edge Detection (3x3)</text>
+				<g transform="translate(150,0)" opacity="1" filter="none" >
+					<image width="50" height="63" xlink:href="filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve2)" />
+				</g>
+				<text x="10" y="20" transform="translate(300,0)" stroke="none" opacity="1" filter="none" >Sharpening (3x3)</text>
+				<g transform="translate(300,0)" opacity="1" filter="none" >
+					<image width="50" height="63" xlink:href="filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve3)" />
+				</g>
+				<text x="10" y="20" transform="translate(0,93)" stroke="none" opacity="1" filter="none" >Embossing (3x3)</text>
+				<g transform="translate(0,93)" opacity="1" filter="none" >
+					<image width="50" height="63" xlink:href="filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve4)" />
+				</g>
+				<text x="10" y="20" transform="translate(150,93)" stroke="none" opacity="1" filter="none" >Horizontal blur (3x1)</text>
+				<g transform="translate(150,93)" opacity="1" filter="none" >
+					<image width="50" height="63" xlink:href="filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve5)" />
+				</g>
+				<text x="10" y="20" transform="translate(300,93)" stroke="none" opacity="1" filter="none" >Vertical blur (1x3)</text>
+				<g transform="translate(300,93)" opacity="1" filter="none" >
+					<image width="50" height="63" xlink:href="filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve6)" />
+				</g>
+			</g>
+		</g>
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+        <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12" x="35" y="330">filters-conv-01</text>
+        <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10" x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/filters-diffuse-01-f.svg b/Tests/W3CTestSuite/images/filters-diffuse-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c08fbccc1ba181c24e93fdc444ae54a8f59b0d31
--- /dev/null
+++ b/Tests/W3CTestSuite/images/filters-diffuse-01-f.svg
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--                                                                      -->
+<!-- filters-diffuseLt-BE-07.svg                                          -->
+<!-- renamed for 1.1 suite to filters-diffuse-01-f.svg                    -->
+<!--                                                                      -->
+<!-- Tests operation of the feDiffuseLighting filter.                     -->
+<!--                                                                      -->
+<!-- Author : Vincent Hardy  06-08-2000                                   -->
+<!-- Revised for 1.1 : Mike Bultrowicz, 4 February 2002                   -->
+<!--                                                                      -->
+<!-- History:                                                             -->
+<!--  06 08 2000, VH, created                                             -->
+<!--  09-aug-2000, LH, minor edits for integration; ser#2.                -->
+<!--  16-Aug-2000, LH="rename" ser#3.                                     -->
+<!--                                                                      -->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+			<Paragraph>
+				Verify the basic operation of the feDiffuseLighting 
+				element. The test shows three rows of 3 images. Each 
+				rows tests a different aspect of the filter and shows 
+				the result of the filtering operation.
+			</Paragraph> 
+			<Paragraph>
+				The first row shows the result of varying the 
+				surfaceScale attribute. The second row shows the result 
+				of varying the diffuse constant (kd) attribute. The last 
+				row shows the result of varying the lighting-color 
+				property.
+			</Paragraph> 
+			<Paragraph>
+				The rendered picture should match the reference image.
+			</Paragraph> 
+        </OperatorScript>
+    </SVGTestCase>
+	<title id="test-title">filters-diffuse-01-f</title>
+	<desc id="test-desc">Validates operation of the feDiffuseLighting filter</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<!-- Title -->
+		<text x="145" y="30" fill="black" font-size="12" font-family="Helvetica" font-weight="bold">Filters: feDiffuseLighting</text>
+		<!-- ===================================================================== -->
+		<!-- Filter definitions                                                    -->
+		<!-- ===================================================================== -->
+		<defs>
+			<!-- ================================================= -->
+			<!-- Surface scale                                     -->
+			<!-- ================================================= -->
+			<filter id="surfaceScaleA" filterUnits="objectBoundingBox"
+              x="0%" y="0%" width="100%" height="100%">
+				<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="1">
+					<feDistantLight azimuth="45" elevation="45"/>
+				</feDiffuseLighting>
+			</filter>
+			<filter id="surfaceScaleB" filterUnits="objectBoundingBox"
+              x="0%" y="0%" width="100%" height="100%">
+				<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10">
+					<feDistantLight azimuth="45" elevation="45"/>
+				</feDiffuseLighting>
+			</filter>
+			<filter id="surfaceScaleC" filterUnits="objectBoundingBox"
+              x="0%" y="0%" width="100%" height="100%">
+				<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="-10">
+					<feDistantLight azimuth="45" elevation="45"/>
+				</feDiffuseLighting>
+			</filter>
+			<!-- ================================================= -->
+			<!-- Diffuse Constants                                 -->
+			<!-- ================================================= -->
+			<filter id="diffuseConstantA" filterUnits="objectBoundingBox"
+              x="0%" y="0%" width="100%" height="100%">
+				<feDiffuseLighting in="SourceGraphic" diffuseConstant="0" surfaceScale="10">
+					<feDistantLight azimuth="45" elevation="45"/>
+				</feDiffuseLighting>
+			</filter>
+			<filter id="diffuseConstantB" filterUnits="objectBoundingBox"
+              x="0%" y="0%" width="100%" height="100%">
+				<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10">
+					<feDistantLight azimuth="45" elevation="45"/>
+				</feDiffuseLighting>
+			</filter>
+			<filter id="diffuseConstantC" filterUnits="objectBoundingBox"
+              x="0%" y="0%" width="100%" height="100%">
+				<feDiffuseLighting in="SourceGraphic" diffuseConstant="2" surfaceScale="10">
+					<feDistantLight azimuth="45" elevation="45"/>
+				</feDiffuseLighting>
+			</filter>
+			<!-- ================================================= -->
+			<!-- Lighting colors                                   -->
+			<!-- ================================================= -->
+			<filter id="lightingColorA" filterUnits="objectBoundingBox"
+              x="0%" y="0%" width="100%" height="100%">
+				<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="red" >
+					<feDistantLight azimuth="45" elevation="45"/>
+				</feDiffuseLighting>
+			</filter>
+			<filter id="lightingColorB" filterUnits="objectBoundingBox"
+              x="0%" y="0%" width="100%" height="100%">
+				<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="yellow" >
+					<feDistantLight azimuth="45" elevation="45"/>
+				</feDiffuseLighting>
+			</filter>
+			<filter id="lightingColorC" filterUnits="objectBoundingBox"
+              x="0%" y="0%" width="100%" height="100%">
+				<feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="blue" >
+					<feDistantLight azimuth="45" elevation="45"/>
+				</feDiffuseLighting>
+			</filter>
+		</defs>
+		<!-- ==================================================== -->
+		<!-- The same image is rendered multiple times with using -->
+		<!-- different filters.                                   -->
+		<!-- ==================================================== -->
+		<!-- Various Surface Scales -->
+		<g transform="translate(0, 50)">
+			<text x="90" y="25">Various values for surfaceScale: 1, 10 and -10</text>
+			<image xlink:href="bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#surfaceScaleA)" />
+			<image xlink:href="bumpMap2.png" x="160" y="30" width="50" height="30" filter="url(#surfaceScaleB)" />
+			<image xlink:href="bumpMap2.png" x="230" y="30" width="50" height="30" filter="url(#surfaceScaleC)" />
+		</g>
+		<!-- Various Diffuse Constants -->
+		<g transform="translate(0, 120)">
+			<text x="90" y="25">Various values for diffuseConstants: 0, 1 and 2</text>
+			<image xlink:href="bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#diffuseConstantA)" />
+			<image xlink:href="bumpMap2.png" x="160" y="30" width="50" height="30" filter="url(#diffuseConstantB)" />
+			<image xlink:href="bumpMap2.png" x="230" y="30" width="50" height="30" filter="url(#diffuseConstantC)" />
+		</g>
+		<!-- Various Light Colors -->
+		<g transform="translate(0, 190)">
+			<text x="90" y="25">Various values for lighting color: red, yellow and blue</text>
+			<image xlink:href="bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#lightingColorA)" />
+			<image xlink:href="bumpMap2.png" x="160" y="30" width="50" height="30" filter="url(#lightingColorB)" />
+			<image xlink:href="bumpMap2.png" x="230" y="30" width="50" height="30" filter="url(#lightingColorC)" />
+		</g>
+		<!-- ===================================================== -->
+		<!-- Legends                                               -->
+		<!-- ===================================================== -->
+		<!-- Surface Scale -->
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+        <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12" x="35" y="330">filters-diffuse-01</text>
+        <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10" x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/filters-example-01-f.svg b/Tests/W3CTestSuite/images/filters-example-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..49437325fb08b2a227322052edebd930039c64fb
--- /dev/null
+++ b/Tests/W3CTestSuite/images/filters-example-01-f.svg
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--                                                                      -->
+<!-- filters-many-BE-01.svg                                               -->
+<!-- renamed for 1.1 suite to filters-example-01-f.svg                    -->
+<!--                                                                      -->
+<!-- Overall filter effects test case. Extracted from example filters00   -->
+<!-- in the March 3, 2000 spec.  Uses many filter effects in one image.   -->
+<!--                                                                      -->
+<!-- Author : Jon Ferraiolo, 15 March 2000                                -->
+<!-- Revised for 1.1 : Mike Bultrowicz, 4 February 2002                   -->
+<!--                                                                      -->
+<!-- History:                                                             -->
+<!--  15-Mar-2000, JF: Serial#1 created.  Matches 20000303 SVG spec.      -->
+<!--  16-Mar-2000, LH="editorials" fix name (-02); fix Legend, ser#2.     -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .       -->
+<!--  16-Aug-2000, LH="rename" ser#3.                                     -->
+<!--  28-oct-2000, JF, change attr 'lightColor' to prop 'lighting-color'  -->
+<!--                   new version: #4.                                   -->
+<!--  10-Dec-2000, JF, fixed previous version merge problems, adjusted    -->
+<!--                   specular lighting parameters to make linearRGB     -->
+<!--                   result approximate previous reference image, which -->
+<!--                   was done using sRGB.                               -->
+<!--                                                                      -->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+       <OperatorScript>
+			<Paragraph>
+				Verify that a typical usage of filtering is operation. 
+				This test case creates a 3D lightiing effect and requires 
+				that several filters are working: feGaussianBlur, feOffset, 
+				feSpecularLighting, feComposite and feMerge. The graphic 
+				consisting of the string "SVG" sitting on top of oval 
+				filled in red and surrounded by an oval outlined in red.
+			</Paragraph> 
+			<Paragraph>
+				The rendered picture should match the reference image 
+				exactly, except for possible variations in the labelling 
+				text (per CSS2 rules).
+			</Paragraph> 
+			<Paragraph>
+				The test uses a nested 'svg' element, 'rect' element, 
+				'path' element, as well as basic fill (solid primary 
+				colors), stroke (solid primary colors with stroke-width 
+				lines), font-family (Helvetica) and font-size properties.
+			</Paragraph> 
+        </OperatorScript>
+    </SVGTestCase>
+	<title id="test-title">filters-example-01-f</title>
+	<desc id="test-desc">Overall filter effects test case. Extracted from example filters00 in the March 3, 2000 spec.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<g font-size="12" font-family="Verdana" >
+			<text x="20" y="30">A single filter that uses a combination of filter primitives. You should see</text>
+			<text x="20" y="45">a gray rectangle. Inside, there is an outer ring and an inner button with </text>
+			<text x="20" y="60">"SVG" on it, both in red with a 3D appearance and a lighting effect.</text>
+			<text x="20" y="75"></text>
+		</g>
+		<!-- Here is the test case -->
+		<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="80" y="80" width="300" height="180" viewBox="0 0 200 120">
+			<title>Example filters01.svg - introducing filter effects</title>
+			<desc>An example which combines multiple filter primitives to produce a 3D lighting effect on a graphic consisting of the string "SVG" sitting on top of oval filled in red and surrounded by an oval outlined in red.</desc>
+			<defs>
+				<filter id="MyFilter" filterUnits="userSpaceOnUse" x="0" y="0" width="450" height="450">
+					<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>
+					<feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
+					<feSpecularLighting in="blur" surfaceScale="5" specularConstant=".75" specularExponent="20" lighting-color="white"  result="specOut">
+						<fePointLight x="-5000" y="-10000" z="20000"/>
+					</feSpecularLighting>
+					<feComposite in="specOut" in2="SourceAlpha" operator="in" result="specOut"/>
+					<feComposite in="SourceGraphic" in2="specOut" operator="arithmetic" k1="0" k2="1" k3="1" k4="0" result="litPaint"/>
+					<feMerge>
+						<feMergeNode in="offsetBlur"/>
+						<feMergeNode in="litPaint"/>
+					</feMerge>
+				</filter>
+			</defs>
+			<rect x="1" y="1" width="198" height="118" fill="#888888" stroke="blue" />
+			<g filter="url(#MyFilter)" >
+				<g>
+					<path fill="none" stroke="#D90000" stroke-width="10"  d="M50,90 C0,90 0,30 50,30 L150,30 C200,30 200,90 150,90 z"/>
+					<path fill="#D90000"  d="M60,80 C30,80 30,40 60,40 L140,40 C170,40 170,80 140,80 z"/>
+					<g fill="#FFFFFF" stroke="black" font-size="45" font-family="Verdana" >
+						<text x="52" y="76">SVG</text>
+					</g>
+				</g>
+			</g>
+		</svg>
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+        <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12" x="35" y="330">filters-example-01</text>
+        <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10" x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/footprints.jpg b/Tests/W3CTestSuite/images/footprints.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3ae7a69d3434cf273cef34a241db54fee0030a6a
Binary files /dev/null and b/Tests/W3CTestSuite/images/footprints.jpg differ
diff --git a/Tests/W3CTestSuite/images/footprints2.jpg b/Tests/W3CTestSuite/images/footprints2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..56083481254e095aa0152179af9940da45e74791
Binary files /dev/null and b/Tests/W3CTestSuite/images/footprints2.jpg differ
diff --git a/Tests/W3CTestSuite/images/galpha.png b/Tests/W3CTestSuite/images/galpha.png
new file mode 100644
index 0000000000000000000000000000000000000000..0698cdf8313e02c89191ca089026a78120d84e9b
Binary files /dev/null and b/Tests/W3CTestSuite/images/galpha.png differ
diff --git a/Tests/W3CTestSuite/images/gam030.png b/Tests/W3CTestSuite/images/gam030.png
new file mode 100644
index 0000000000000000000000000000000000000000..904c9721bd743bc54bc76b3ce7c482b2edffdb1e
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam030.png differ
diff --git a/Tests/W3CTestSuite/images/gam030b.png b/Tests/W3CTestSuite/images/gam030b.png
new file mode 100644
index 0000000000000000000000000000000000000000..90e7184793575b1c6f6582c149436211a0619254
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam030b.png differ
diff --git a/Tests/W3CTestSuite/images/gam045.png b/Tests/W3CTestSuite/images/gam045.png
new file mode 100644
index 0000000000000000000000000000000000000000..b649a8a54f21d52ab0e1b156b15f2bc667575e68
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam045.png differ
diff --git a/Tests/W3CTestSuite/images/gam045b.png b/Tests/W3CTestSuite/images/gam045b.png
new file mode 100644
index 0000000000000000000000000000000000000000..9885e3392a5170e220a2e76c4834496d9c28ff16
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam045b.png differ
diff --git a/Tests/W3CTestSuite/images/gam056.png b/Tests/W3CTestSuite/images/gam056.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5f959dc96c851522b1421d8b9509433bddb0c24
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam056.png differ
diff --git a/Tests/W3CTestSuite/images/gam056b.png b/Tests/W3CTestSuite/images/gam056b.png
new file mode 100644
index 0000000000000000000000000000000000000000..32af5b3a93af7393d42e25ca1df0264fa66b3521
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam056b.png differ
diff --git a/Tests/W3CTestSuite/images/gam100.png b/Tests/W3CTestSuite/images/gam100.png
new file mode 100644
index 0000000000000000000000000000000000000000..6c7ba5f1ed62d5a7666406ff3b7ff65397bff354
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam100.png differ
diff --git a/Tests/W3CTestSuite/images/gam100b.png b/Tests/W3CTestSuite/images/gam100b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a3e91e0ec2af87f59d0758cc70ff9e2920cba6da
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam100b.png differ
diff --git a/Tests/W3CTestSuite/images/gam200.png b/Tests/W3CTestSuite/images/gam200.png
new file mode 100644
index 0000000000000000000000000000000000000000..daa20fcbc4f2699517bb6b99a59cdcf1a55f70a0
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam200.png differ
diff --git a/Tests/W3CTestSuite/images/gam200b.png b/Tests/W3CTestSuite/images/gam200b.png
new file mode 100644
index 0000000000000000000000000000000000000000..2c337d8ff4250c1c0a978b8fb73c2bcf23603e58
Binary files /dev/null and b/Tests/W3CTestSuite/images/gam200b.png differ
diff --git a/Tests/W3CTestSuite/images/green1x1.png b/Tests/W3CTestSuite/images/green1x1.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba709872380f8a4e0bf4d6a5fe7a754b9b4d8f11
Binary files /dev/null and b/Tests/W3CTestSuite/images/green1x1.png differ
diff --git a/Tests/W3CTestSuite/images/greentopbutton.jpg b/Tests/W3CTestSuite/images/greentopbutton.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..be33a3ce9a3f06b49c9b77ebcb5ced59dea4dd44
Binary files /dev/null and b/Tests/W3CTestSuite/images/greentopbutton.jpg differ
diff --git a/Tests/W3CTestSuite/images/happysmiley.svg b/Tests/W3CTestSuite/images/happysmiley.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ea4f73da7e47fdb6055b9cead1e63365a2c6bdc8
--- /dev/null
+++ b/Tests/W3CTestSuite/images/happysmiley.svg
@@ -0,0 +1,10 @@
+<svg viewBox="0 0 30 40" xmlns="http://www.w3.org/2000/svg" stroke="#404040" stroke-linejoin="round" stroke-linecap="round">
+  <rect width="30" height="40" fill="lime" stroke="none"/>
+  <rect x='.5' y='.5' width='29' height='39' fill='black' stroke='orange' stroke-width='2'/>
+  <g transform="scale(1.5) translate(2.5 5)">
+  <path fill="#fffa72" d="m 14.5,8.5 a 7,7 0 1 1 -14,0 7,7 0 1 1 14,0 z"/>
+  <path fill="#fff" d="m 11.53,8.56 -8.00,0 c 0,3 2,4 4,4 2.00,0 4.00,-1 4.00,-4 z"/>
+  <path fill="none" d="m 3.53,6.56 c 0,-2 3,-2 3,0"/>
+  <path fill="none" d="m 8.53,6.56 c 0,-2 3.00,-2 3.00,0"/>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/image.png b/Tests/W3CTestSuite/images/image.png
new file mode 100644
index 0000000000000000000000000000000000000000..01b5792472784e8aebe097b2442b06eeb0a99506
Binary files /dev/null and b/Tests/W3CTestSuite/images/image.png differ
diff --git a/Tests/W3CTestSuite/images/image1.jpg b/Tests/W3CTestSuite/images/image1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..40c1b2587ca80722704ad71e8f7b2559607530e5
Binary files /dev/null and b/Tests/W3CTestSuite/images/image1.jpg differ
diff --git a/Tests/W3CTestSuite/images/image1.png b/Tests/W3CTestSuite/images/image1.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa37f6d68745139fd8608edeb1e3620b53686d6f
Binary files /dev/null and b/Tests/W3CTestSuite/images/image1.png differ
diff --git a/Tests/W3CTestSuite/images/image1_b.png b/Tests/W3CTestSuite/images/image1_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..0197022623e2faf76dd3a286576bce5bed5b26f1
Binary files /dev/null and b/Tests/W3CTestSuite/images/image1_b.png differ
diff --git a/Tests/W3CTestSuite/images/image2_b.jpg b/Tests/W3CTestSuite/images/image2_b.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b9cf86297c23d0fa7de6c05cf0351a01ec916f3e
Binary files /dev/null and b/Tests/W3CTestSuite/images/image2_b.jpg differ
diff --git a/Tests/W3CTestSuite/images/image2_b.png b/Tests/W3CTestSuite/images/image2_b.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b8464927e6e91dd571b57809e8e1a24c3b9eeca
Binary files /dev/null and b/Tests/W3CTestSuite/images/image2_b.png differ
diff --git a/Tests/W3CTestSuite/images/inline2.png b/Tests/W3CTestSuite/images/inline2.png
new file mode 100644
index 0000000000000000000000000000000000000000..0abec528f468da7ef51c3030dd39147e9f4baec2
Binary files /dev/null and b/Tests/W3CTestSuite/images/inline2.png differ
diff --git a/Tests/W3CTestSuite/images/interact-dom-01-f.svg b/Tests/W3CTestSuite/images/interact-dom-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..90d6ee5acf4d11710212812bbdaf5ff0b17146f9
--- /dev/null
+++ b/Tests/W3CTestSuite/images/interact-dom-01-f.svg
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- dom-eventListener-BE-04.svg                                           -->
+<!-- renamed for 1.1 suite to interact-dom-01-f.svg                        -->
+<!--                                                                       -->
+<!-- Tests DOM events support. The test uses ECMA Script                   -->
+<!--                                                                       -->
+<!-- Author : Vincent Hardy  06-08-2000                                    -->
+<!-- 1.1 revision by Vincent Hardy                                         -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  06 08 2000, VH, created                                              -->
+<!--  30-oct-2000, LH, corrected "\" to "/" in "text/ecmascript"; ser#2    -->
+<!--  16-nov-2000, CJ, corrected infinite loop in mutationEventDetected    -->
+<!--  12-dec-2000, JF, replace mutation event logic with more explicit     -->
+<!--                   test to ensure event listener is removed.           -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360" onload="initTest(evt)">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testSuite/description/">
+        <OperatorScript>
+            <Paragraph>
+                Verify basic support for DOM event listener registration. The root svg element
+                has an onload handler where a click event listener is registered on group element 'Start Button'.
+            </Paragraph>
+            <Paragraph>
+                If UI events listener registration is supported (and UI events), 
+                when the user clicks on the button a text node is inserted reading "UI Event Listeners supported". 
+            </Paragraph>
+            <Paragraph>
+                At the end of the test, the start test button in changed to pink, 
+                and the click event listener is removed from the the start button.
+            </Paragraph>
+            <Paragraph>
+                Subsequent clicks on the start button should cause no effect if
+                the event listener has been removed successfully.
+                If additional lines of text appear in the document that say "UI Event Listeners supported",
+                then the implementation has not successfully removed the event listener.
+            </Paragraph>
+            <Paragraph>
+                After clicking at least once on the button,
+                the rendered image should be exactly as the reference image, except for 
+                differences in text display.
+            </Paragraph>
+        </OperatorScript>
+    </SVGTestCase>
+
+
+    <title id="test-title">interact-dom-01-f</title>
+    <desc id="test-desc">Checks if DOM/ECMA Script binding is supported. Checks that the DOM API
+supports event listener registration/unregistration.</desc>
+    <!--======================================================================-->
+    <!--Content of Test Case follows...                  =====================-->
+    <!--======================================================================-->
+    <g id="test-body-content">
+
+	<script type="text/ecmascript"><![CDATA[
+		
+    var svg_ns = "http://www.w3.org/2000/svg"
+		var doc;
+		var content;
+		var startButton;
+		var buttonRect;
+    var yLocation = 100;
+		//
+		// onload handler for top level svg element. Sets a UI event listener for
+		// the test start button.
+		//
+		function initTest(evt){
+			// Get Document
+    	var target = evt.target;
+			doc = target.ownerDocument;
+			content = doc.getElementById("test-body-content");
+
+			// Get start rect and add a UI listener
+			startButton = doc.getElementById("startButton");
+			buttonRect = doc.getElementById("buttonRect");
+			startButton.addEventListener("click", uiEventDetected, false);
+		}
+
+		//
+		// click handler for 'startButton' rect element.
+		//
+    function uiEventDetected(evt) {
+			//
+			// Add an element to show that UI event was detected
+			//
+			var newText = doc.createElementNS(svg_ns, 'text');
+			newText.setAttribute('x', '50');
+			newText.setAttribute('y', yLocation);
+			var message = "UI Event Listeners supported";
+			var textContent = doc.createTextNode(message);
+			newText.appendChild(textContent);
+			content.appendChild(newText);
+
+			startButton.removeEventListener("click", uiEventDetected, false);
+
+			// Make start button pink
+			buttonRect.setAttribute("fill", "#ff8888");
+			buttonRect.setAttribute("stroke", "black");		
+
+      // If test does not successfully remove the event listener, then
+      // a second click will cause a subsequent text string to appear 50 units
+      // below the first new text string.
+      yLocation = yLocation + 50;	
+    }
+
+	]]></script>
+
+	<!-- ===================================================================== -->
+	<!-- Start button                                                          -->
+	<!-- ===================================================================== -->
+	<g id="startButton">
+		<rect id="buttonRect" x="10" y="50" width="80" height="20" fill="#dddddd" stroke="black" />
+		<text x="15" y="65">Start Test</text>
+	</g>
+
+</g>
+    <!--======================================================================-->
+    <!--Legend and frame:      Title, suite and SVG document serialization====-->
+    <!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+        <path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12"  x="35" y="330">interact-dom-01-f</text>
+        <text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10"  x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/interact-order-02-b-targ.svg b/Tests/W3CTestSuite/images/interact-order-02-b-targ.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d5e7c0658278d91060375a1bebb4dbb75792becf
--- /dev/null
+++ b/Tests/W3CTestSuite/images/interact-order-02-b-targ.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> 
+  
+<!--======================================================================-->
+<!--=  Copyright 2000, 2002 World Wide Web Consortium, (Massachusetts    =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--                                                                      -->
+<!-- interact-bubble-BE-04-target.svg                                     -->
+<!-- renamed for 1.1 suite to interact-order-01-f-targ.svg		          -->
+<!-- renamed for 1.1 suite to interact-order-02-b-targ.svg		          -->
+<!--                                                                      -->
+<!-- File that just serves as hyperlink target for test case              -->
+<!-- interact-order-02-b.svg.                                             -->
+<!--                                                                      -->
+<!-- Author : Jon Ferraiolo 06-Aug-2000                                   -->
+<!--          1.1 revision by Thomas DeWeese 5-Feb-2002                   -->
+<!--                                                                      -->
+<!-- History:                                                             -->
+<!--  06-Aug-2000, JF: Serial#1 created.                                  -->
+<!--                                                                      -->
+<!--======================================================================-->
+
+
+<svg id="svg-root" width="80" height="60" viewBox="0 0 480 360"
+     xmlns="http://www.w3.org/2000/svg" 
+     xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+   <title id="test-title">interact-order-02-b</title>
+   <desc id="test-desc">
+      File that just serves as hyperlink target for test case
+      interact-order-02-b.svg.
+   </desc>
+   
+   <g>
+      <text style="font-family:Helvetica;font-size:40; text-anchor:middle">
+         <tspan x="240" y="40">
+           Hyperlink target for
+         </tspan>
+         <tspan x="240" y="85">
+           interact-order-02-b.svg
+         </tspan>
+      </text>
+
+      <a xlink:href="../svg/interact-order-02-b.svg">
+         <circle cx="240" cy="180" r="75" />
+      </a>
+
+      <text style="font-family:Helvetica;font-size:40; text-anchor:middle">
+         <tspan x="240" y="300">
+           Click to hyperlink back to
+         </tspan>
+         <tspan x="240" y="345">
+           interact-order-02-b.svg
+         </tspan>
+      </text>
+   </g>
+</svg>
+
diff --git a/Tests/W3CTestSuite/images/interact-order-03-b-targ.svg b/Tests/W3CTestSuite/images/interact-order-03-b-targ.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e3974148a8388d83e96033cb2dfec079e181241c
--- /dev/null
+++ b/Tests/W3CTestSuite/images/interact-order-03-b-targ.svg
@@ -0,0 +1,62 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> 
+  
+<!--======================================================================-->
+<!--=  Copyright 2000, 2002 World Wide Web Consortium, (Massachusetts    =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!--======================================================================-->
+<!--                                                                      -->
+<!-- interact-bubble-BE-04-target.svg                                     -->
+<!-- renamed for 1.1 suite to interact-order-01-f-targ.svg                -->
+<!-- renamed for 1.1 suite to interact-order-03-b-targ.svg                -->
+<!--                                                                      -->
+<!-- File that just serves as hyperlink target for test case              -->
+<!-- interact-interact-order-03-b.svg.                                           -->
+<!--                                                                      -->
+<!-- Author : Jon Ferraiolo 06-Aug-2000                                   -->
+<!--          1.1 revision by Thomas DeWeese 5-Feb-2002                   -->
+<!--                                                                      -->
+<!-- History:                                                             -->
+<!--  06-Aug-2000, JF: Serial#1 created.                                  -->
+<!--                                                                      -->
+<!--======================================================================-->
+
+
+<svg id="svg-root" width="80" height="60" viewBox="0 0 480 360"
+     xmlns="http://www.w3.org/2000/svg" 
+     xmlns:xlink="http://www.w3.org/1999/xlink" >
+
+   <title id="test-title">interact-order-03-b</title>
+   <desc id="test-desc">
+      File that just serves as hyperlink target for test case
+      interact-order-03-b.svg.
+   </desc>
+   
+   <g>
+      <text style="font-family:Helvetica;font-size:40; text-anchor:middle">
+         <tspan x="240" y="40">
+           Hyperlink target for
+         </tspan>
+         <tspan x="240" y="85">
+           interact-order-03-b.svg
+         </tspan>
+      </text>
+
+      <a xlink:href="../svg/interact-order-03-b.svg">
+         <circle cx="240" cy="180" r="75" />
+      </a>
+
+      <text style="font-family:Helvetica;font-size:40; text-anchor:middle">
+         <tspan x="240" y="300">
+           Click to hyperlink back to
+         </tspan>
+         <tspan x="240" y="345">
+           interact-order-03-b.svg
+         </tspan>
+      </text>
+   </g>
+</svg>
+
diff --git a/Tests/W3CTestSuite/images/leftarrow.png b/Tests/W3CTestSuite/images/leftarrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..07fb487bef386e7bf7e55aa148cd1d4f3f7b5760
Binary files /dev/null and b/Tests/W3CTestSuite/images/leftarrow.png differ
diff --git a/Tests/W3CTestSuite/images/level1.svg b/Tests/W3CTestSuite/images/level1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4157b9ecd59d4d36ace160d0c1b2bd9c8cfdd063
--- /dev/null
+++ b/Tests/W3CTestSuite/images/level1.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <image xlink:href="level2.svg" width="100%" height="100%"/>
+</svg>
diff --git a/Tests/W3CTestSuite/images/level2.svg b/Tests/W3CTestSuite/images/level2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f8f7a799329c071d195a7e7acea7acaceb446ef4
--- /dev/null
+++ b/Tests/W3CTestSuite/images/level2.svg
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <rect width="100%" height="100%" fill="lime"/>
+</svg>
diff --git a/Tests/W3CTestSuite/images/linking-uri-01-b.svg b/Tests/W3CTestSuite/images/linking-uri-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3356732150bfc747dfd56c751751d04bf14da7bf
--- /dev/null
+++ b/Tests/W3CTestSuite/images/linking-uri-01-b.svg
@@ -0,0 +1,149 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lee Klosterman" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: linking-uri-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#LinksIntoSVG">
+      <p>
+        Verify the capability to handle links to 'view' elements, and the
+        permissible attributes on those elements.  All of the links in this
+        test case are <em>internal</em>, i.e., to 'view' elements in the same SVG file.
+      </p>
+      <p>
+        This test is identical to linking-uri-02-b except that the links there are external.
+      </p>
+      <p>
+        In the four quadrants of the initial picture are four graphical objects.
+        Clockwise from upper right, they are
+        a purple rectangle, blue ellipse, green polygon (pentagon), and yellow
+        circle.  Each is labelled and tightly boxes with a rectangular frame.
+        These are identical to their counterparts in linking-uri-01-b.svg, in which
+        file each has an associated 'view' element, with attributes
+        per the labels in the initial picture.
+      </p>
+      <p>
+        In the center is a gray box with four lines of text, each of which says
+        "Go to" followed by Rectangle, Ellipse, Polygon, and Circle, respectively.
+        Each of these is contained within an 'a' element, whose xlink:href names
+        the respective 'view' element of the respective graphical object.
+      </p>
+      <p>
+        There are several reference images associated with this test case.  The first
+        illustrates the correct initial state of the rendered SVG file, which should
+        also be the correct picture after the Rectangle link is executed.
+        The second, third, and fourth illustrate the correct images as described
+        above after respectively the Ellipse, Polygon, and Circle links are activated.
+        (Note.  This harness does not yet provide access to multiple PNGs; the PNG for the
+        initial view is shown.)
+      </p>
+      <p>
+        The test uses the 'rect', 'circle', 'ellipse', and 'polygon' elements,
+        as well as basic fill (solid simple colors),
+        stroke (black and colored 1-pixel lines), font-family (Arial) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        In turn, activate each of the "Rectangle", "Ellipse", "Polygon" and "Circle" links
+        in the gray box in the middle of the document, navigating back (for example with
+        the Back button if in a browser) after activating each one.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all of the sub-tests have the correct behavior:
+      </p>
+      <ul>
+        <li>After activating the "Rectangle" link, the whole of the linking-uri-01-b.svg
+        document must be displayed; that is, there will be no visual change.  (The
+        'view' element has no attributes (other than id), so the correct view in
+        the frame is of the parent 'svg' element, which is the whole picture.)</li>
+        <li>After navigating back and activating the "Ellipse" link, the view must change so that it is
+        zoomed (uniformly scaled) and centered on the ellipse.  The black rectangle
+        surrounding the ellipse must be just within the frame.</li>
+        <li>After navigating back and activating the "Circle" link, the view must change so that it is
+        zoomed and centered on the yellow circle.  The view is scaled non-uniformly, however,
+        so that the circle is stretched horizontally ito an ellipse.  The black rectangle
+        surrounding it must be just within the frame.</li>
+        <li>After navigating back and activating the "Polygon" link, the view must not change.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-uri-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="65" y="16" font-size="12">Link test of the 'view' element and its attributes, 1 of 2, internal.</text>
+    <g font-size="14">
+      <g transform="translate(-150,75)">
+        <rect x="300" y="55" width="125" height="85" fill="#aaa"/>
+        <a xlink:href="#rect-view">
+          <text x="310" y="70" fill="purple">Go to Rectangle</text>
+        </a>
+        <a xlink:href="#ellipse-view">
+          <text x="310" y="90" fill="blue">Go to Ellipse</text>
+        </a>
+        <a xlink:href="#circle-view">
+          <text x="310" y="110" fill="yellow">Go to Circle</text>
+        </a>
+        <a xlink:href="#polygon-view">
+          <text x="310" y="130" fill="green">Go to Polygon</text>
+        </a>
+        <text x="315" y="152" font-size="12">Click element's line</text>
+        <text x="315" y="164" font-size="12">to link to its view</text>
+      </g>
+
+      <!-- View with no attributes.  Picture should not change. -->
+      <view id="rect-view"/>
+      <rect id="rect-object" fill="purple" x="295" y="36" width="135" height="68"/>
+      <text id="rect-label" x="362.5" y="116" text-anchor="middle">Rectangle</text>
+      <rect x="292" y="29" width="141" height="91" fill="none" stroke="black"/>
+      <text x="362.5" y="132" font-size="10" text-anchor="middle">No view attributes except id.</text>
+      <!-- Test viewBox.  Should blow-up the ellipse in the frame. -->
+      <view id="ellipse-view" viewBox="295 216 150 82"/>
+      <ellipse id="ellipse-object" fill="blue" cx="370" cy="251" rx="72" ry="32"/>
+      <text id="ellipse-label" x="370" y="295" text-anchor="middle">Ellipse</text>
+      <rect x="295" y="216" width="150" height="82" fill="none" stroke="black"/>
+      <text x="315" y="212" font-size="10">viewBox, should fill frame.</text>
+      <!-- Test preserveAspectRatio. -->
+      <view id="circle-view" viewBox="36 29 98 91" preserveAspectRatio="none"/>
+      <circle id="circle-object" fill="yellow" cx="85" cy="68" r="36"/>
+      <text id="circle-label" x="85" y="116" text-anchor="middle">Circle</text>
+      <rect x="36" y="29" width="98" height="91" fill="none" stroke="black"/>
+      <text x="85" y="130" font-size="10" text-anchor="middle">viewBox &amp; non-uniform</text>
+      <text x="85" y="139" font-size="10" text-anchor="middle">preserveAspectRatio</text>
+      <!-- Test viewTarget attribute, no change to the viewport. -->
+      <view id="polygon-view" viewTarget="polygon-object"/>
+      <polygon id="polygon-object" fill="green" points="87,211 134,238 116,283 57,283 39,238 87,211"/>
+      <text id="polygon-label" x="85" y="295" text-anchor="middle">Polygon</text>
+      <rect x="36" y="208" width="100" height="89" fill="none" stroke="black"/>
+      <text x="85" y="195" font-size="10" text-anchor="middle">viewTarget, no</text>
+      <text x="85" y="204" font-size="10" text-anchor="middle">changes to viewport</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-1st.png b/Tests/W3CTestSuite/images/linking-uri-01-f-1st.png
new file mode 100644
index 0000000000000000000000000000000000000000..60a63b4170d3269bc2fd3eeebd575f4b0f16bf34
Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-1st.png differ
diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-2nd.png b/Tests/W3CTestSuite/images/linking-uri-01-f-2nd.png
new file mode 100644
index 0000000000000000000000000000000000000000..b67b09161c7d3de42d0fbc001a4c729edbbae7cf
Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-2nd.png differ
diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-3rd.png b/Tests/W3CTestSuite/images/linking-uri-01-f-3rd.png
new file mode 100644
index 0000000000000000000000000000000000000000..b67b09161c7d3de42d0fbc001a4c729edbbae7cf
Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-3rd.png differ
diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-4th.png b/Tests/W3CTestSuite/images/linking-uri-01-f-4th.png
new file mode 100644
index 0000000000000000000000000000000000000000..f6083419f7137e790c072c0d291e7716b43b28fe
Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-4th.png differ
diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-start.png b/Tests/W3CTestSuite/images/linking-uri-01-f-start.png
new file mode 100644
index 0000000000000000000000000000000000000000..b67b09161c7d3de42d0fbc001a4c729edbbae7cf
Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-start.png differ
diff --git a/Tests/W3CTestSuite/images/linking-uri-03-f-1st.png b/Tests/W3CTestSuite/images/linking-uri-03-f-1st.png
new file mode 100644
index 0000000000000000000000000000000000000000..84bff57923b488ae07b623f82e7403619faab3b2
Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-03-f-1st.png differ
diff --git a/Tests/W3CTestSuite/images/linking-uri-03-f-start.png b/Tests/W3CTestSuite/images/linking-uri-03-f-start.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e3599f89319a4cd655f208dbdc8720db59c06c6
Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-03-f-start.png differ
diff --git a/Tests/W3CTestSuite/images/linkingCircle-f.svg b/Tests/W3CTestSuite/images/linkingCircle-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..42ae8543e84489a65687ab62bcbd867245b5c1c7
--- /dev/null
+++ b/Tests/W3CTestSuite/images/linkingCircle-f.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">
+<!-- ===================================================================== -->
+<!-- linkingCircle-f.svg                                                     -->
+<!-- Auxiliary file for linking tests.                                     -->
+<!-- ====================================================================== -->
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="linkingCircle-f.svg" width="480" height="360">
+	<title id="test-title">linkingCircle-f.svg</title>
+	<desc id="test-desc">Some circles with ids, for linking tests.</desc>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+		<text x="100" y="20" font-size="12">Some circles with ids, for linking tests.</text>
+		<circle id="circle-1" cx="220" cy="140" r="35" style="fill:red; stroke:black"/>
+		<text font-size="12" x="203" y="99">circle-1</text>
+		<circle id="circle-2" cx="100" cy="260" r="20" style="stroke:lime; fill:yellow; stroke-width:4"/>
+		<text font-size="12" x="80" y="295">circle-2</text>
+		<!-- Framing rect for circle-2 -->
+		<rect x="64" y="227" width="72" height="72" style="fill:none; stroke:black"/>
+		<circle id="circle-3" cx="340" cy="260" r="50" style="stroke:blue; fill:none; stroke-width:10"/>
+		<text font-size="12" x="320" y="332">circle-3</text>
+	</g>
+	<g id="test-legend">
+		<!-- Test-framing rectangle, drawn just inside viewport boundary. -->
+		<rect id="test-frame" x="1" y="1" width="478" height="358" style="fill:none; stroke:#000000"/>
+	</g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/linkingToc-t.svg b/Tests/W3CTestSuite/images/linkingToc-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ff00d54a0a00268ebbb8357ccad0cce933e84bc8
--- /dev/null
+++ b/Tests/W3CTestSuite/images/linkingToc-t.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> 
+  
+
+<!-- ========================================================  -->
+<!-- linkingToc.svg                                            -->
+<!--                                                           -->
+<!-- Auxiliary file for linking BE tests ... a Table of        -->
+<!-- Contents and index of the BE test cases.                  -->
+<!--                                                           -->
+<!--                                                           -->
+<!-- History:                                                  -->
+<!--  02-apr-2000, LH: Created.                                -->
+<!--  03-Aug-2000, LH: update DOCTYPE for CR DTD, 20000802;    -->
+<!--  23-Aug-2000, LH: fix it for rename of xlinkAttr-BE-02;   -->
+<!--  06-Feb-2002, LK: Modify for SVG 1.1 linking tests;       -->
+<!--                                                           -->
+<!-- ========================================================  -->
+<svg version="1.1" baseProfile="tiny" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="480" height="360" >
+
+   <text x="75" y="20" font-size="20">TOC &amp; index of linking tests.</text>
+
+   
+   <a xlink:href="../svg/linking-a-04-t.svg" > 
+     <text x="20" y="70" fill="blue" font-size="12">
+       1.) linking-a-04-t:  Verify basic links out of SVG content ('a').
+     </text> 
+   </a>
+
+   <a xlink:href="../svg/linking-uri-03-t.svg" > 
+     <text x="20" y="100" fill="blue" font-size="12">
+       2.) linking-uri-03-t:  Verify handling of xlink attributes on 'a'.
+     </text> 
+   </a>
+   
+   <a xlink:href="../svglinking-a-02-b.svg" > 
+     <text x="20" y="130" fill="blue" font-size="12">
+       3.) linking-a-02-b:  Verify links into SVG content and fragment syntax.
+     </text> 
+   </a>
+   
+   <a xlink:href="../svg/linking-uri-01-b.svg" > 
+     <text x="20" y="160" fill="blue" font-size="12">
+      4.) linking-uri-01-b:  Verify 'view' element handling.
+     </text> 
+   </a>
+ 
+   <a xlink:href="../svg/linking-uri-02-b.svg" > 
+     <text x="20" y="190" fill="blue" font-size="12">
+      5.) linking-uri-02-b:  Verify 'view' element handling (companion to linking-uri-01-f).
+     </text> 
+   </a>
+ 
+   <text x="20" y="230" fill="black" font-size="12">
+     [Note.  This is not a linking test, but a supplemental file and link
+   </text>
+   <text x="20" y="242">  
+     target for other linking tests.]
+   </text>
+
+   <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+
+</svg>
diff --git a/Tests/W3CTestSuite/images/magnify.png b/Tests/W3CTestSuite/images/magnify.png
new file mode 100644
index 0000000000000000000000000000000000000000..5713577446be74ce8e9746af4da5c05d4c48fd86
Binary files /dev/null and b/Tests/W3CTestSuite/images/magnify.png differ
diff --git a/Tests/W3CTestSuite/images/makealpha.svg b/Tests/W3CTestSuite/images/makealpha.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c284b29bc83a5f6c8a39b4f22a82504375ea68b5
--- /dev/null
+++ b/Tests/W3CTestSuite/images/makealpha.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic-flat.dtd">
+<svg version="1.1" baseProfile="tiny" id="svg-root" width="160px" height="160px"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!--svg version="1.1" baseProfile="tiny" id="svg-root" width="160px" height="160px"
+        viewBox="0 0 180 160" xmlns="http://www.w3.org/2000/svg"
+        xmlns:xlink="http://www.w3.org/1999/xlink"-->
+    <desc>Makes a simple graphic for testing alpha transparency</desc>
+    <radialGradient id="red" gradientUnits="objectBoundingBox">
+        <stop offset="0" stop-color="#f66"/>
+        <stop offset="0.3" stop-color="#f00" stop-opacity="0.5"/>
+        <stop offset="1" stop-color="#f00" stop-opacity="0"/>
+    </radialGradient>
+    <radialGradient id="green" gradientUnits="objectBoundingBox">
+        <stop offset="0" stop-color="#6f6"/>
+        <stop offset="0.3" stop-color="#0f0" stop-opacity="0.5"/>
+        <stop offset="1" stop-color="#0f0" stop-opacity="0"/>
+    </radialGradient>
+    <radialGradient id="blue" gradientUnits="objectBoundingBox">
+        <stop offset="0" stop-color="#66f"/>
+        <stop offset="0.3" stop-color="#00f" stop-opacity="0.5"/>
+        <stop offset="1" stop-color="#00f" stop-opacity="0"/>
+    </radialGradient>
+    <rect fill="none" stroke="#000" stroke-width="4" stroke-opacity="0.03" x="10" y="10" width="140"
+        height="140"/>
+    <rect fill="none" stroke="#000" stroke-width="4" stroke-opacity="0.06" x="20" y="20" width="120"
+        height="120"/>
+    <rect fill="none" stroke="#000" stroke-width="4" stroke-opacity="0.09" x="30" y="30" width="100"
+        height="100"/>
+    <circle r="50" cx="80" cy="50" fill="url(#red)" fill-opacity="0.8"/>
+    <circle r="50" cx="50" cy="110" fill="url(#green)" fill-opacity="0.8"/>
+    <circle r="50" cx="110" cy="110" fill="url(#blue)" fill-opacity="0.8"/>
+</svg>
diff --git a/Tests/W3CTestSuite/images/myimage.jpg b/Tests/W3CTestSuite/images/myimage.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..16009ed17fcf58783f984b22c61b3dff154b4b58
Binary files /dev/null and b/Tests/W3CTestSuite/images/myimage.jpg differ
diff --git a/Tests/W3CTestSuite/images/nav_bullet.png b/Tests/W3CTestSuite/images/nav_bullet.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2f7c1f9d2a7df31117a2181a8afee2fa2c1e0c0
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_bullet.png differ
diff --git a/Tests/W3CTestSuite/images/nav_down.png b/Tests/W3CTestSuite/images/nav_down.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e8fb8e1541566c26795b8c493089346afae1636
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_down.png differ
diff --git a/Tests/W3CTestSuite/images/nav_downleft.png b/Tests/W3CTestSuite/images/nav_downleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..8405698b0513779242199cd7d3d706694b109071
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_downleft.png differ
diff --git a/Tests/W3CTestSuite/images/nav_downright.png b/Tests/W3CTestSuite/images/nav_downright.png
new file mode 100644
index 0000000000000000000000000000000000000000..83973937c1d7b0ddeab13f49ab3fbd353c7d379e
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_downright.png differ
diff --git a/Tests/W3CTestSuite/images/nav_frame.png b/Tests/W3CTestSuite/images/nav_frame.png
new file mode 100644
index 0000000000000000000000000000000000000000..4eb974abd5ed62ff5cf4ce36c2db08c70e1575c5
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_frame.png differ
diff --git a/Tests/W3CTestSuite/images/nav_left.png b/Tests/W3CTestSuite/images/nav_left.png
new file mode 100644
index 0000000000000000000000000000000000000000..818c5118ffe0c69c2ea7d6f0cc498260c0cc6333
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_left.png differ
diff --git a/Tests/W3CTestSuite/images/nav_noframe.png b/Tests/W3CTestSuite/images/nav_noframe.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c5c8724d31e8b5320f3f8235a05dd430a5a12c9
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_noframe.png differ
diff --git a/Tests/W3CTestSuite/images/nav_right.png b/Tests/W3CTestSuite/images/nav_right.png
new file mode 100644
index 0000000000000000000000000000000000000000..bcc3eeab3c3b1d8baa1fcf1387e927d9bc22775d
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_right.png differ
diff --git a/Tests/W3CTestSuite/images/nav_svg.png b/Tests/W3CTestSuite/images/nav_svg.png
new file mode 100644
index 0000000000000000000000000000000000000000..98bb21cbbf8d7195438f673d219cec4223b661cd
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_svg.png differ
diff --git a/Tests/W3CTestSuite/images/nav_up.png b/Tests/W3CTestSuite/images/nav_up.png
new file mode 100644
index 0000000000000000000000000000000000000000..bab586ca6e9b7c675747f153462994a4678f57cc
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_up.png differ
diff --git a/Tests/W3CTestSuite/images/nav_upleft.png b/Tests/W3CTestSuite/images/nav_upleft.png
new file mode 100644
index 0000000000000000000000000000000000000000..44e568b8483923c0fbe70c55cd374c08fe1d419b
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_upleft.png differ
diff --git a/Tests/W3CTestSuite/images/nav_upright.png b/Tests/W3CTestSuite/images/nav_upright.png
new file mode 100644
index 0000000000000000000000000000000000000000..ffc2d925ba6af1f34b8aec19a545b22901887d43
Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_upright.png differ
diff --git a/Tests/W3CTestSuite/images/old-name-2-new-name1.html b/Tests/W3CTestSuite/images/old-name-2-new-name1.html
new file mode 100644
index 0000000000000000000000000000000000000000..2c24600e66544ee95078d552df39e842b47146d8
--- /dev/null
+++ b/Tests/W3CTestSuite/images/old-name-2-new-name1.html
@@ -0,0 +1,1178 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:x="urn:schemas-microsoft-com:office:excel"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=ProgId content=Excel.Sheet>
+<meta name=Generator content="Microsoft Excel 9">
+<link rel=File-List href="./old-name-2-new-name1_files/filelist.xml">
+<link rel=Edit-Time-Data href="./old-name-2-new-name1_files/editdata.mso">
+<link rel=OLE-Object-Data href="./old-name-2-new-name1_files/oledata.mso">
+<!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+  <o:Author>Bitflash</o:Author>
+  <o:LastAuthor>Rick</o:LastAuthor>
+  <o:Created>2002-01-31T00:51:32Z</o:Created>
+  <o:LastSaved>2002-01-31T20:46:13Z</o:LastSaved>
+  <o:Company>Bitflash</o:Company>
+  <o:Version>9.3821</o:Version>
+ </o:DocumentProperties>
+ <o:OfficeDocumentSettings>
+  <o:DownloadComponents/>
+  <o:LocationOfComponents HRef="file:msowc.cab"/>
+ </o:OfficeDocumentSettings>
+</xml><![endif]-->
+<style>
+<!--table
+	{mso-displayed-decimal-separator:"\.";
+	mso-displayed-thousand-separator:"\,";}
+@page
+	{margin:1.0in .75in 1.0in .75in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;}
+tr
+	{mso-height-source:auto;}
+col
+	{mso-width-source:auto;}
+br
+	{mso-data-placement:same-cell;}
+.style0
+	{mso-number-format:General;
+	text-align:general;
+	vertical-align:bottom;
+	white-space:nowrap;
+	mso-rotate:0;
+	mso-background-source:auto;
+	mso-pattern:auto;
+	color:windowtext;
+	font-size:10.0pt;
+	font-weight:400;
+	font-style:normal;
+	text-decoration:none;
+	font-family:Arial;
+	mso-generic-font-family:auto;
+	mso-font-charset:0;
+	border:none;
+	mso-protection:locked visible;
+	mso-style-name:Normal;
+	mso-style-id:0;}
+td
+	{mso-style-parent:style0;
+	padding-top:1px;
+	padding-right:1px;
+	padding-left:1px;
+	mso-ignore:padding;
+	color:windowtext;
+	font-size:10.0pt;
+	font-weight:400;
+	font-style:normal;
+	text-decoration:none;
+	font-family:Arial;
+	mso-generic-font-family:auto;
+	mso-font-charset:0;
+	mso-number-format:General;
+	text-align:general;
+	vertical-align:bottom;
+	border:none;
+	mso-background-source:auto;
+	mso-pattern:auto;
+	mso-protection:locked visible;
+	white-space:nowrap;
+	mso-rotate:0;}
+.xl24
+	{mso-style-parent:style0;
+	font-weight:700;
+	font-family:Arial, sans-serif;
+	mso-font-charset:0;}
+.xl25
+	{mso-style-parent:style0;
+	font-family:Arial, sans-serif;
+	mso-font-charset:0;}
+-->
+</style>
+<!--[if gte mso 9]><xml>
+ <x:ExcelWorkbook>
+  <x:ExcelWorksheets>
+   <x:ExcelWorksheet>
+    <x:Name>old-name-2-new-name</x:Name>
+    <x:WorksheetOptions>
+     <x:DefaultRowHeight>250</x:DefaultRowHeight>
+     <x:Print>
+      <x:ValidPrinterInfo/>
+      <x:HorizontalResolution>300</x:HorizontalResolution>
+      <x:VerticalResolution>300</x:VerticalResolution>
+     </x:Print>
+     <x:Selected/>
+     <x:FreezePanes/>
+     <x:FrozenNoSplit/>
+     <x:SplitHorizontal>1</x:SplitHorizontal>
+     <x:TopRowBottomPane>88</x:TopRowBottomPane>
+     <x:ActivePane>2</x:ActivePane>
+     <x:Panes>
+      <x:Pane>
+       <x:Number>3</x:Number>
+      </x:Pane>
+      <x:Pane>
+       <x:Number>2</x:Number>
+       <x:ActiveRow>92</x:ActiveRow>
+       <x:ActiveCol>6</x:ActiveCol>
+      </x:Pane>
+     </x:Panes>
+     <x:ProtectContents>False</x:ProtectContents>
+     <x:ProtectObjects>False</x:ProtectObjects>
+     <x:ProtectScenarios>False</x:ProtectScenarios>
+    </x:WorksheetOptions>
+    <x:Sorting>
+     <x:Sort>New Filename</x:Sort>
+     <x:Sort>Person</x:Sort>
+    </x:Sorting>
+   </x:ExcelWorksheet>
+  </x:ExcelWorksheets>
+  <x:WindowHeight>2190</x:WindowHeight>
+  <x:WindowWidth>7770</x:WindowWidth>
+  <x:WindowTopX>120</x:WindowTopX>
+  <x:WindowTopY>20</x:WindowTopY>
+  <x:ProtectStructure>False</x:ProtectStructure>
+  <x:ProtectWindows>False</x:ProtectWindows>
+ </x:ExcelWorkbook>
+</xml><![endif]-->
+</head>
+
+<body link=blue vlink=purple>
+
+<table x:str border=0 cellpadding=0 cellspacing=0 width=855 style='border-collapse:
+ collapse;table-layout:fixed;width:642pt'>
+ <col width=143 style='mso-width-source:userset;mso-width-alt:4980;width:107pt'>
+ <col width=173 style='mso-width-source:userset;mso-width-alt:6027;width:130pt'>
+ <col width=165 style='mso-width-source:userset;mso-width-alt:5771;width:124pt'>
+ <col width=177 style='mso-width-source:userset;mso-width-alt:6190;width:133pt'>
+ <col width=133 style='mso-width-source:userset;mso-width-alt:4654;width:100pt'>
+ <col width=64 style='width:48pt'>
+ <tr class=xl24 height=17 style='height:13.0pt'>
+  <td height=17 class=xl24 width=143 style='height:13.0pt;width:107pt'>Company</td>
+  <td class=xl24 width=173 style='width:130pt'>Person</td>
+  <td class=xl24 width=165 style='width:124pt'>Email</td>
+  <td class=xl24 width=177 style='width:133pt'>Old Filename</td>
+  <td class=xl24 width=133 style='width:100pt'>New Filename</td>
+  <td class=xl24 width=64 style='width:48pt'></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Ericsson</td>
+  <td>Mathias Larsson Carlander</td>
+  <td>Mathias.Carlander@era.eri<span style='display:none'>csson.se</span></td>
+  <td>animation-add-BE-09</td>
+  <td>animate-elem-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Ericsson</td>
+  <td>Mathias Larsson Carlander</td>
+  <td>Mathias.Carlander@era.eri<span style='display:none'>csson.se</span></td>
+  <td>animation-inherit-BE-10</td>
+  <td>animate-elem-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Ericsson</td>
+  <td>Mathias Larsson Carlander</td>
+  <td>Mathias.Carlander@era.eri<span style='display:none'>csson.se</span></td>
+  <td>animation-motion-BE-11</td>
+  <td>animate-elem-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Ericsson</td>
+  <td>Mathias Larsson Carlander</td>
+  <td>Mathias.Carlander@era.eri<span style='display:none'>csson.se</span></td>
+  <td>animation-motion-BE-12</td>
+  <td>animate-elem-04-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Ericsson</td>
+  <td>Mathias Larsson Carlander</td>
+  <td>Mathias.Carlander@era.eri<span style='display:none'>csson.se</span></td>
+  <td>animation-values-BE-06</td>
+  <td>animate-elem-05-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Ericsson</td>
+  <td>Mathias Larsson Carlander</td>
+  <td>Mathias.Carlander@era.eri<span style='display:none'>csson.se</span></td>
+  <td>animation-values-BE-07</td>
+  <td>animate-elem-06-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Ericsson</td>
+  <td>Mathias Larsson Carlander</td>
+  <td>Mathias.Carlander@era.eri<span style='display:none'>csson.se</span></td>
+  <td>animation-values-BE-08</td>
+  <td>animate-elem-07-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>KDDI</td>
+  <td>Arei Kobayashi</td>
+  <td>arei_kobayasi@jmserv.kbip.<span style='display:none'>kddlabs.co.jp</span></td>
+  <td>animation-overall-BE-01</td>
+  <td>animate-elem-09-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>KDDI</td>
+  <td>Arei Kobayashi</td>
+  <td>arei_kobayasi@jmserv.kbip.<span style='display:none'>kddlabs.co.jp</span></td>
+  <td>animation-targAtt-BE-04</td>
+  <td>animate-elem-10-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>KDDI</td>
+  <td>Arei Kobayashi</td>
+  <td>arei_kobayasi@jmserv.kbip.<span style='display:none'>kddlabs.co.jp</span></td>
+  <td>animation-targElt-BE-03</td>
+  <td>animate-elem-11-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>KDDI</td>
+  <td>Arei Kobayashi</td>
+  <td>arei_kobayasi@jmserv.kbip.<span style='display:none'>kddlabs.co.jp</span></td>
+  <td>animation-timing-BE-05</td>
+  <td>animate-elem-12-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>W3C</td>
+  <td>Chris Lilley</td>
+  <td>chris@w3.org</td>
+  <td>animation-extRef-BE-13</td>
+  <td>animate-elem-13-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>CSIRO Australia</td>
+  <td>Dean Jackson</td>
+  <td>dean.jackson@cmis.csiro.a<span style='display:none'>u</span></td>
+  <td>color-colorProf-BE-03</td>
+  <td>color-prof-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>CSIRO Australia</td>
+  <td>Dean Jackson</td>
+  <td>dean.jackson@cmis.csiro.a<span style='display:none'>u</span></td>
+  <td>color-property-BE-02</td>
+  <td>color-prop-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Schema Software Inc.</td>
+  <td>Philip Mansfield</td>
+  <td>philipm@schemasoft.com</td>
+  <td>color-datatypes-BE-01</td>
+  <td>color-prop-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ZoomON AB</td>
+  <td>Ola Andersson</td>
+  <td>ola.andersson@zoomon.co<span style='display:none'>m</span></td>
+  <td>coords-transforms-BE-02</td>
+  <td>coords-trans-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ILOG</td>
+  <td>Christophe Jolif</td>
+  <td>cjolif@ilog.fr</td>
+  <td>coords-unitsProc-BE-05</td>
+  <td>coords-units-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ZoomON AB</td>
+  <td>Ola Andersson</td>
+  <td>ola.andersson@zoomon.co<span style='display:none'>m</span></td>
+  <td>coords-units-BE-01</td>
+  <td>coords-units-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ZoomON AB</td>
+  <td>Ola Andersson</td>
+  <td>ola.andersson@zoomon.co<span style='display:none'>m</span></td>
+  <td>coords-unitsProc-BE-04</td>
+  <td>coords-units-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ZoomON AB</td>
+  <td>Ola Andersson</td>
+  <td>ola.andersson@zoomon.co<span style='display:none'>m</span></td>
+  <td>coords-viewBox-BE-03</td>
+  <td>coords-viewattr-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>W3C</td>
+  <td>Chris Lilley</td>
+  <td>chris@w3.org</td>
+  <td>extend-multiNS-BE-01</td>
+  <td colspan=2 style='mso-ignore:colspan'>extend-namespace-01-F</td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Savage Software</td>
+  <td>Mike Bultrowicz</td>
+  <td>mbultrowicz@savagesoftwa<span style='display:none'>re.com</span></td>
+  <td>filters-blend-BE-02</td>
+  <td>filters-blend-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Savage Software</td>
+  <td>Mike Bultrowicz</td>
+  <td>mbultrowicz@savagesoftwa<span style='display:none'>re.com</span></td>
+  <td>filters-colorMtrx-BE-03</td>
+  <td>filters-color-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Savage Software</td>
+  <td>Mike Bultrowicz</td>
+  <td>mbultrowicz@savagesoftwa<span style='display:none'>re.com</span></td>
+  <td>filters-composite-BE-05</td>
+  <td>filters-composite-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Savage Software</td>
+  <td>Mike Bultrowicz</td>
+  <td>mbultrowicz@savagesoftwa<span style='display:none'>re.com</span></td>
+  <td>filters-transfer-BE-04</td>
+  <td>filters-comptran-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Savage Software</td>
+  <td>Mike Bultrowicz</td>
+  <td>mbultrowicz@savagesoftwa<span style='display:none'>re.com</span></td>
+  <td>filters-convolve-BE-06</td>
+  <td>filters-conv-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Savage Software</td>
+  <td>Mike Bultrowicz</td>
+  <td>mbultrowicz@savagesoftwa<span style='display:none'>re.com</span></td>
+  <td>filters-diffuseLt-BE-07</td>
+  <td>filters-diffuse-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Eastman Kodak</td>
+  <td>Thomas DeWeese</td>
+  <td>thomas.deweese@kodak.c<span style='display:none'>om</span></td>
+  <td>filters-dispMap-BE-16</td>
+  <td>filters-displace-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Savage Software</td>
+  <td>Mike Bultrowicz</td>
+  <td>mbultrowicz@savagesoftwa<span style='display:none'>re.com</span></td>
+  <td>filters-many-BE-01</td>
+  <td>filters-example-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>AGFA</td>
+  <td>Chris Tuijn</td>
+  <td>chris.tuijn.ct@belgium.agfa.<span style='display:none'>com</span></td>
+  <td>filters-feImage-BE-13</td>
+  <td>filters-image-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>AGFA</td>
+  <td>Chris Tuijn</td>
+  <td>chris.tuijn.ct@belgium.agfa.<span style='display:none'>com</span></td>
+  <td>filters-lights-BE-09</td>
+  <td>filters-light-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>AGFA</td>
+  <td>Chris Tuijn</td>
+  <td>chris.tuijn.ct@belgium.agfa.<span style='display:none'>com</span></td>
+  <td>filters-morph-BE-10</td>
+  <td>filters-morph-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Eastman Kodak</td>
+  <td>Thomas DeWeese</td>
+  <td>thomas.deweese@kodak.c<span style='display:none'>om</span></td>
+  <td>filters-fldMrgOff-BE-15</td>
+  <td>filters-offset-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>AGFA</td>
+  <td>Chris Tuijn</td>
+  <td>chris.tuijn.ct@belgium.agfa.<span style='display:none'>com</span></td>
+  <td>filters-specularLt-BE-08</td>
+  <td>filters-specular-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>AGFA</td>
+  <td>Chris Tuijn</td>
+  <td>chris.tuijn.ct@belgium.agfa.<span style='display:none'>com</span></td>
+  <td>filters-feTile-BE-14</td>
+  <td>filters-tile-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>AGFA</td>
+  <td>Chris Tuijn</td>
+  <td>chris.tuijn.ct@belgium.agfa.<span style='display:none'>com</span></td>
+  <td>filters-turb-BE-11</td>
+  <td>filters-turb-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>W3C</td>
+  <td>Chris Lilley</td>
+  <td>chris@w3.org</td>
+  <td>fonts-fontElement-BE-01</td>
+  <td>fonts-elem-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>AGFA</td>
+  <td>Chris Tuijn</td>
+  <td>chris.tuijn.ct@belgium.agfa.<span style='display:none'>com</span></td>
+  <td>filters-blur-BE-12</td>
+  <td>filters-gauss-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Hewlett Packard</td>
+  <td>Lee Klosterman</td>
+  <td>lee_klosterman@hp.com</td>
+  <td>interact-cursor-BE-08</td>
+  <td>interact-cursor-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Sun Microsystems</td>
+  <td>Vincent Hardy</td>
+  <td>vincent.hardy@sun.com</td>
+  <td>dom-eventListener-BE-04</td>
+  <td>interact-dom-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Hewlett Packard</td>
+  <td>Lee Klosterman</td>
+  <td>lee_klosterman@hp.com</td>
+  <td>interact-onload-BE-07</td>
+  <td>interact-events-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Eastman Kodak</td>
+  <td>Thomas DeWeese</td>
+  <td>thomas.deweese@kodak.c<span style='display:none'>om</span></td>
+  <td>interact-bubble-BE-04</td>
+  <td>interact-order-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Eastman Kodak</td>
+  <td>Thomas DeWeese</td>
+  <td>thomas.deweese@kodak.c<span style='display:none'>om</span></td>
+  <td>interact-pEvents-BE-05</td>
+  <td>interact-pointer-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Eastman Kodak</td>
+  <td>Thomas DeWeese</td>
+  <td>thomas.deweese@kodak.c<span style='display:none'>om</span></td>
+  <td>interact-pEvents-BE-06</td>
+  <td>interact-pointer-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Eastman Kodak</td>
+  <td>Thomas DeWeese</td>
+  <td>thomas.deweese@kodak.c<span style='display:none'>om</span></td>
+  <td>interact-zoomPan-BE-01</td>
+  <td>interact-zoom-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Eastman Kodak</td>
+  <td>Thomas DeWeese</td>
+  <td>thomas.deweese@kodak.c<span style='display:none'>om</span></td>
+  <td>interact-zoomPan-BE-02</td>
+  <td>interact-zoom-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Hewlett Packard</td>
+  <td>Lee Klosterman</td>
+  <td>lee_klosterman@hp.com</td>
+  <td>linking-inBound-BE-03</td>
+  <td>linking-a-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Hewlett Packard</td>
+  <td>Lee Klosterman</td>
+  <td>lee_klosterman@hp.com</td>
+  <td>linking-outBound-BE-01</td>
+  <td>linking-a-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Hewlett Packard</td>
+  <td>Lee Klosterman</td>
+  <td>lee_klosterman@hp.com</td>
+  <td>linking-view-BE-04</td>
+  <td>linking-uri-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Hewlett Packard</td>
+  <td>Lee Klosterman</td>
+  <td>lee_klosterman@hp.com</td>
+  <td>linking-view-BE-05</td>
+  <td>linking-uri-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Hewlett Packard</td>
+  <td>Lee Klosterman</td>
+  <td>lee_klosterman@hp.com</td>
+  <td>linking-xlinkAttr-BE-02</td>
+  <td>linking-uri-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Openwave</td>
+  <td>Charles Ying</td>
+  <td>charles.ying@openwave.co<span style='display:none'>m</span></td>
+  <td>masking-groupOpac-BE-04</td>
+  <td>masking-alpha-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Openwave</td>
+  <td>Charles Ying</td>
+  <td>charles.ying@openwave.co<span style='display:none'>m</span></td>
+  <td>masking-mask-BE-05</td>
+  <td>masking-mask-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Openwave</td>
+  <td>Charles Ying</td>
+  <td>charles.ying@openwave.co<span style='display:none'>m</span></td>
+  <td>masking-mask-BE-06</td>
+  <td>masking-mask-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Openwave</td>
+  <td>Charles Ying</td>
+  <td>charles.ying@openwave.co<span style='display:none'>m</span></td>
+  <td>masking-property-BE-07</td>
+  <td>masking-opacity-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Openwave</td>
+  <td>Charles Ying</td>
+  <td>charles.ying@openwave.co<span style='display:none'>m</span></td>
+  <td>masking-clipPath-BE-08</td>
+  <td>masking-path-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Canon</td>
+  <td>Jun Fujisawa</td>
+  <td>fujisawa.jun@canon.co.jp</td>
+  <td>masking-clipPath-BE-01</td>
+  <td>masking-path-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Openwave</td>
+  <td>Charles Ying</td>
+  <td>charles.ying@openwave.co<span style='display:none'>m</span></td>
+  <td>masking-clipRule-BE-03</td>
+  <td>masking-path-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Canon</td>
+  <td>Jun Fujisawa</td>
+  <td>fujisawa.jun@canon.co.jp</td>
+  <td>masking-clipPath-BE-02</td>
+  <td>masking-path-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Openwave</td>
+  <td>Charles Ying</td>
+  <td>charles.ying@openwave.co<span style='display:none'>m</span></td>
+  <td>masking-vportClip-BE-09</td>
+  <td>masking-path-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>W3C</td>
+  <td>Chris Lilley</td>
+  <td>chris@w3.org</td>
+  <td>metadata-sample-BE-01</td>
+  <td colspan=2 style='mso-ignore:colspan'>metadata-example-01-F</td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>KDDI</td>
+  <td>Arei Kobayashi</td>
+  <td>arei_kobayasi@jmserv.kbip.<span style='display:none'>kddlabs.co.jp</span></td>
+  <td>animation-href-BE-02</td>
+  <td>naimate-elem-08-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Schema Software Inc.</td>
+  <td>Philip Mansfield</td>
+  <td>philipm@schemasoft.com</td>
+  <td>paint-fill-BE-01</td>
+  <td>painting-fill-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Schema Software Inc.</td>
+  <td>Philip Mansfield</td>
+  <td>philipm@schemasoft.com</td>
+  <td>paint-inherit-BE-06</td>
+  <td>painting-fill-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Schema Software Inc.</td>
+  <td>Philip Mansfield</td>
+  <td>philipm@schemasoft.com</td>
+  <td>paint-markers-BE-03</td>
+  <td colspan=2 style='mso-ignore:colspan'>painting-markers-01-F</td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Schema Software Inc.</td>
+  <td>Philip Mansfield</td>
+  <td>philipm@schemasoft.com</td>
+  <td>paint-markers-BE-04</td>
+  <td colspan=2 style='mso-ignore:colspan'>painting-markers-02-F</td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Schema Software Inc.</td>
+  <td>Philip Mansfield</td>
+  <td>philipm@schemasoft.com</td>
+  <td>paint-colIntProp-BE-05</td>
+  <td>painting-render-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Schema Software Inc.</td>
+  <td>Philip Mansfield</td>
+  <td>philipm@schemasoft.com</td>
+  <td>paint-stroke-BE-02</td>
+  <td>painting-stroke-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ILOG</td>
+  <td>Christophe Jolif</td>
+  <td>cjolif@ilog.fr</td>
+  <td>path-curves-BE-02</td>
+  <td>paths-data-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ILOG</td>
+  <td>Christophe Jolif</td>
+  <td>cjolif@ilog.fr</td>
+  <td>path-curves-BE-03</td>
+  <td>paths-data-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ILOG</td>
+  <td>Christophe Jolif</td>
+  <td>cjolif@ilog.fr</td>
+  <td>path-curves-BE-04</td>
+  <td>paths-data-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ILOG</td>
+  <td>Christophe Jolif</td>
+  <td>cjolif@ilog.fr</td>
+  <td>path-lines-BE-01</td>
+  <td>paths-data-04-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Canon</td>
+  <td>Jun Fujisawa</td>
+  <td>fujisawa.jun@canon.co.jp</td>
+  <td>gradPatt-referenc-BE-08</td>
+  <td>pservers-grad-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Canon</td>
+  <td>Jun Fujisawa</td>
+  <td>fujisawa.jun@canon.co.jp</td>
+  <td>gradPatt-stop-BE-06</td>
+  <td>pservers-grad-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Canon</td>
+  <td>Jun Fujisawa</td>
+  <td>fujisawa.jun@canon.co.jp</td>
+  <td>gradPatt-stop-BE-10</td>
+  <td>pservers-grad-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Canon</td>
+  <td>Jun Fujisawa</td>
+  <td>fujisawa.jun@canon.co.jp</td>
+  <td>gradPatt-transfrm-BE-09</td>
+  <td>pservers-grad-04-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>CSIRO Australia</td>
+  <td>Dean Jackson</td>
+  <td>dean.jackson@cmis.csiro.a<span style='display:none'>u</span></td>
+  <td>gradPatt-linearGr-BE-01</td>
+  <td>pservers-grad-05-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>CSIRO Australia</td>
+  <td>Dean Jackson</td>
+  <td>dean.jackson@cmis.csiro.a<span style='display:none'>u</span></td>
+  <td>gradPatt-linearGr-BE-02</td>
+  <td>pservers-grad-06-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>CSIRO Australia</td>
+  <td>Dean Jackson</td>
+  <td>dean.jackson@cmis.csiro.a<span style='display:none'>u</span></td>
+  <td>gradPatt-linearGr-BE-03</td>
+  <td>pservers-grad-07-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>CSIRO Australia</td>
+  <td>Dean Jackson</td>
+  <td>dean.jackson@cmis.csiro.a<span style='display:none'>u</span></td>
+  <td>gradPatt-radialGr-BE-04</td>
+  <td>pservers-grad-08-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>CSIRO Australia</td>
+  <td>Dean Jackson</td>
+  <td>dean.jackson@cmis.csiro.a<span style='display:none'>u</span></td>
+  <td>gradPatt-radialGr-BE-05</td>
+  <td>pservers-grad-09-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Canon</td>
+  <td>Jun Fujisawa</td>
+  <td>fujisawa.jun@canon.co.jp</td>
+  <td>gradPatt-pattern-BE-07</td>
+  <td>pservers-pattern-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Corel</td>
+  <td>Phil Armstrong</td>
+  <td>phila@corel.com</td>
+  <td>rendering-shape-BE-03</td>
+  <td>render-elems-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Corel</td>
+  <td>Phil Armstrong</td>
+  <td>phila@corel.com</td>
+  <td>rendering-text-BE-02</td>
+  <td>render-elems-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>KDDI</td>
+  <td>Arei Kobayashi</td>
+  <td>arei_kobayasi@jmserv.kbip.<span style='display:none'>kddlabs.co.jp</span></td>
+  <td>script-eventDom-BE-01</td>
+  <td>script-handle-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>KDDI</td>
+  <td>Arei Kobayashi</td>
+  <td>arei_kobayasi@jmserv.kbip.<span style='display:none'>kddlabs.co.jp</span></td>
+  <td>script-uiEvents-BE-02</td>
+  <td>script-handle-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Nokia</td>
+  <td>Tolga Capin</td>
+  <td>tolga.capin@nokia.com</td>
+  <td>shapes-circle-BE-03</td>
+  <td>shapes-circle-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ILOG</td>
+  <td>Christophe Jolif</td>
+  <td>cjolif@ilog.fr</td>
+  <td>shapes-ellipse-BE-02</td>
+  <td>shapes-ellipse-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Nokia</td>
+  <td>Tolga Capin</td>
+  <td>tolga.capin@nokia.com</td>
+  <td>shapes-line-BE-04</td>
+  <td>shapes-line-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Nokia</td>
+  <td>Tolga Capin</td>
+  <td>tolga.capin@nokia.com</td>
+  <td>shapes-polygon-BE-05</td>
+  <td>shapes-polygon-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Nokia</td>
+  <td>Tolga Capin</td>
+  <td>tolga.capin@nokia.com</td>
+  <td>shapes-polyline-BE-06</td>
+  <td>shapes-polyline-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ILOG</td>
+  <td>Christophe Jolif</td>
+  <td>cjolif@ilog.fr</td>
+  <td>shapes-rect-BE-01</td>
+  <td>shapes-rect-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Bitflash</td>
+  <td>Rick Graham</td>
+  <td>rick@bitflash.com</td>
+  <td>structure-switch-BE-07</td>
+  <td>struct-cond-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Bitflash</td>
+  <td>Rick Graham</td>
+  <td>rick@bitflash.com</td>
+  <td>structure-lang-BE-08</td>
+  <td>struct-cond-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Corel</td>
+  <td>Phil Armstrong</td>
+  <td>phila@corel.com</td>
+  <td>structure-defs-BE-04</td>
+  <td>struct-defs-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Bitflash</td>
+  <td>Rick Graham</td>
+  <td>rick@bitflash.com</td>
+  <td>structure-extRef-BE-10</td>
+  <td>struct-defs-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>W3C</td>
+  <td>Chris Lilley</td>
+  <td>chris@w3.org</td>
+  <td>dom-svg-BE-02</td>
+  <td>struct-dom-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>W3C</td>
+  <td>Chris Lilley</td>
+  <td>chris@w3.org</td>
+  <td>dom-featureString-BE-03</td>
+  <td>struct-dom-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>W3C</td>
+  <td>Chris Lilley</td>
+  <td>chris@w3.org</td>
+  <td>dom-core-BE-01</td>
+  <td>struct-dom-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Corel</td>
+  <td>Phil Armstrong</td>
+  <td>phila@corel.com</td>
+  <td>structure-empty-BE-01</td>
+  <td>struct-frag-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Corel</td>
+  <td>Phil Armstrong</td>
+  <td>phila@corel.com</td>
+  <td>structure-basicG-BE-03</td>
+  <td>struct-group-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Corel</td>
+  <td>Phil Armstrong</td>
+  <td>phila@corel.com</td>
+  <td>structure-nested-BE-02</td>
+  <td>struct-group-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Bitflash</td>
+  <td>Rick Graham</td>
+  <td>rick@bitflash.com</td>
+  <td>structure-image-BE-06</td>
+  <td>struct-image-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Bitflash</td>
+  <td>Rick Graham</td>
+  <td>rick@bitflash.com</td>
+  <td>structure-allElem-BE-09</td>
+  <td>struct-image-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Bitflash</td>
+  <td>Rick Graham</td>
+  <td>rick@bitflash.com</td>
+  <td>structure-imggamma-BE-11</td>
+  <td>struct-image-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Bitflash</td>
+  <td>Rick Graham</td>
+  <td>rick@bitflash.com</td>
+  <td>structure-symbol-BE-05</td>
+  <td>struct-symbol-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ZoomON AB</td>
+  <td>Ola Andersson</td>
+  <td>ola.andersson@zoomon.co<span style='display:none'>m</span></td>
+  <td>style-selector-BE-01</td>
+  <td>styline-css-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ZoomON AB</td>
+  <td>Ola Andersson</td>
+  <td>ola.andersson@zoomon.co<span style='display:none'>m</span></td>
+  <td>style-selector-BE-02</td>
+  <td>styline-css-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>ZoomON AB</td>
+  <td>Ola Andersson</td>
+  <td>ola.andersson@zoomon.co<span style='display:none'>m</span></td>
+  <td>style-selector-BE-03</td>
+  <td class=xl25>styline-css-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Sun Microsystems</td>
+  <td>Vincent Hardy</td>
+  <td>vincent.hardy@sun.com</td>
+  <td>text-alignment-BE-10</td>
+  <td class=xl25>text-align-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Sun Microsystems</td>
+  <td>Vincent Hardy</td>
+  <td>vincent.hardy@sun.com</td>
+  <td>text-textAnchor-BE-05</td>
+  <td>text-align-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Sun Microsystems</td>
+  <td>Vincent Hardy</td>
+  <td>vincent.hardy@sun.com</td>
+  <td>text-alignment-BE-11</td>
+  <td>text-align-03-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Sun Microsystems</td>
+  <td>Vincent Hardy</td>
+  <td>vincent.hardy@sun.com</td>
+  <td>text-altGlyph-BE-07</td>
+  <td>text-altglyph-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Adobe Systems Inc.</td>
+  <td>Jon Ferraiolo</td>
+  <td>jferraio@adobe.com</td>
+  <td>text-decoration-BE-12</td>
+  <td>text-deco-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Adobe Systems Inc.</td>
+  <td>Jon Ferraiolo</td>
+  <td>jferraio@adobe.com</td>
+  <td>text-font-BE-15</td>
+  <td>text-fonts-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Adobe Systems Inc.</td>
+  <td>Jon Ferraiolo</td>
+  <td>jferraio@adobe.com</td>
+  <td>text-font-BE-16</td>
+  <td>text-fonts-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Sun Microsystems</td>
+  <td>Vincent Hardy</td>
+  <td>vincent.hardy@sun.com</td>
+  <td>text-i18n-BE-09</td>
+  <td>text-intro-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Nokia</td>
+  <td>Tolga Capin</td>
+  <td>tolga.capin@nokia.com</td>
+  <td>text-textOnPath-BE-03</td>
+  <td>text-path-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Adobe Systems Inc.</td>
+  <td>Jon Ferraiolo</td>
+  <td>jferraio@adobe.com</td>
+  <td>text-spacing-BE-14</td>
+  <td>text-spacing-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Adobe Systems Inc.</td>
+  <td>Jon Ferraiolo</td>
+  <td>jferraio@adobe.com</td>
+  <td>text-textLength-BE-17</td>
+  <td>text-text-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Nokia</td>
+  <td>Tolga Capin</td>
+  <td>tolga.capin@nokia.com</td>
+  <td>text-text-BE-01</td>
+  <td>text-text-02-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Adobe Systems Inc.</td>
+  <td>Jon Ferraiolo</td>
+  <td>jferraio@adobe.com</td>
+  <td>text-extTref-BE-18</td>
+  <td>text-tref-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Sun Microsystems</td>
+  <td>Vincent Hardy</td>
+  <td>vincent.hardy@sun.com</td>
+  <td>text-tref-BE-04</td>
+  <td>text-tref-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Adobe Systems Inc.</td>
+  <td>Jon Ferraiolo</td>
+  <td>jferraio@adobe.com</td>
+  <td>text-selection-BE-13</td>
+  <td>text-tselect-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Nokia</td>
+  <td>Tolga Capin</td>
+  <td>tolga.capin@nokia.com</td>
+  <td>text-tspan-BE-02</td>
+  <td>text-tspan-01-F</td>
+  <td></td>
+ </tr>
+ <tr height=17 style='height:12.5pt'>
+  <td height=17 style='height:12.5pt'>Sun Microsystems</td>
+  <td>Vincent Hardy</td>
+  <td>vincent.hardy@sun.com</td>
+  <td>text-whiteSpace-BE-06</td>
+  <td>text-ws-01-F</td>
+  <td></td>
+ </tr>
+ <![if supportMisalignedColumns]>
+ <tr height=0 style='display:none'>
+  <td width=143 style='width:107pt'></td>
+  <td width=173 style='width:130pt'></td>
+  <td width=165 style='width:124pt'></td>
+  <td width=177 style='width:133pt'></td>
+  <td width=133 style='width:100pt'></td>
+  <td width=64 style='width:48pt'></td>
+ </tr>
+ <![endif]>
+</table>
+
+</body>
+
+</html>
diff --git a/Tests/W3CTestSuite/images/paths-data-01-f.png b/Tests/W3CTestSuite/images/paths-data-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..3886e79315a61f413acf2715e90db50fa6f7de8f
Binary files /dev/null and b/Tests/W3CTestSuite/images/paths-data-01-f.png differ
diff --git a/Tests/W3CTestSuite/images/paths-data-01-f.svg b/Tests/W3CTestSuite/images/paths-data-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..43d9041b78671ab81a001e8cf5f914b6e6239a76
--- /dev/null
+++ b/Tests/W3CTestSuite/images/paths-data-01-f.svg
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!--======================================================================-->
+<!--=  Copyright 2002 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- paths-data-01-f.svg                                                   -->
+<!-- 1.1 revision by Christophe Jolif                                      -->
+<!--                                                                       -->
+<!-- Test that the viewer has the basic capability to handle the 'path'    -->
+<!-- element and its data (d) attribute in combination with the cubic      -->
+<!-- Bezier curveto commands, C, c, S, s (plus Mm and Zz).                 -->
+<!--                                                                       -->
+<!-- Author : Lofton Henderson, 29-Feb-2000 (based on work                 -->
+<!--                                           of Mark Sgarlato, Adobe).   -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  29-Feb-2000, LRH, Ser#1 created.                                     -->
+<!--  12-Mar-2000, LH, fix test-framing rect; ser#2                        -->
+<!--  03-Aug-2000, LH: update DOCTYPE for CR DTD, 20000802" ser# .         -->
+<!--  15-Nov-2000, LH: add missing test-body-content group.                -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+    <OperatorScript>
+      <Paragraph>
+Test that the viewer has the basic capability to handle the 'path'
+element and its data (d) attribute in combination with the cubic
+Bezier curveto commands, C, c, S, s (plus Mm and Zz).  
+    </Paragraph>
+      <Paragraph>
+There are 8 subtests, each composed from the cubic Bezier path commands per
+the label by the subtest.  On-curve control points (i.e., the curve position)
+are marked by small blue squares.  Subtests are filled, or stroked, or 
+both, using simple style properties and colors.
+    </Paragraph>
+      <Paragraph>
+The rendered picture should match the reference image exactly, except for possible
+variations in the labelling text (per CSS2 rules).  
+    </Paragraph>
+      <Paragraph>
+The test uses the 'rect' element, as well as basic fill (solid primary colors), 
+stroke (primary color 1-pixel lines), font-family (Helvetica) and font-size properties.
+    </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+  <title id="test-title">paths-data-01-f</title>
+  <desc id="test-desc">Test that the viewer has the basic capability to handle the 'path' element and data (d) attribute in combination with the cubic Bezier curveto, both regular and shorthand/smooth forms - C, c, S, s (along with Mm and Zz).</desc>
+  <!--======================================================================-->
+  <!--Content of Test Case follows...                  =====================-->
+  <!--======================================================================-->
+  <g id="test-body-content">
+    <!-- ====================================================================== -->
+    <!-- First Curve "X" that has subpath utilizing M, C, S, m, c, & s ======== -->
+    <!-- ====================================================================== -->
+    <text font-family="Helvetica" font-size="12" x="100" y="14">Cubic bezier curves drawn with commands:</text>
+    <path id="X_curve_MCSmcs" fill="#FF0000" stroke="#00C000" d="   M  210 130      C  145 130     110  80     110  80       S  75  25      10  25          m    0 105      c   65   0      100 -50     100 -50       s   35 -55     100 -55   "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points  ===================================== -->
+    <!-- ====================================================================== -->
+    <rect x="208" y="128" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="108" y="78" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="8" y="23" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="8" y="128" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="108" y="78" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="208" y="23" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-family="Helvetica" font-size="12" x="5" y="82">M, C, S, m, c, s</text>
+    <!-- ====================================================================== -->
+    <!-- Infinity using M, c, c, c, C & z ===================================== -->
+    <!-- ====================================================================== -->
+    <path id="Infinity_McccCz" fill="none" stroke="#000000" d="   M 240  90      c 0  30    7  50    50  0       c 43  -50    50  -30    50  0       c 0  83    -68  -34    -90  -30       C 240  60    240  90    240  90   z  "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="238" y="88" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="288" y="88" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="338" y="88" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="248" y="58" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-family="Helvetica" font-size="12" x="253" y="50">M, c, c, c, C, z</text>
+    <!-- ====================================================================== -->
+    <!-- Horizontal line utilizing M, C & Z =================================== -->
+    <!-- ====================================================================== -->
+    <path id="Line_MCZ" fill="none" stroke="#000000" d="M80 170   C100 170 160 170 180 170Z"/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="78" y="168" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="178" y="168" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-family="Helvetica" font-size="12" x="110" y="190">M, C, Z</text>
+    <!-- ====================================================================== -->
+    <!-- Inverted V using M, C, c & Z ========================================= -->
+    <!-- ====================================================================== -->
+    <path id="Inv_V_MCcZ" fill="#00C000" stroke="none" d="M5 260 C40 260 60 175  55 160 c  -5  15 15 100 50 100Z"/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="3" y="258" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="53" y="158" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="103" y="258" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-family="Helvetica" font-size="12" x="85" y="220">M, C, c, Z</text>
+    <!-- ====================================================================== -->
+    <!-- Remembrance Ribbon using m, c & s ==================================== -->
+    <!-- ====================================================================== -->
+    <path id="Rem_Rib_mcs" fill="none" stroke="#000000" d="m 200 260      c  50 -40     50 -100     25 -100       s -25  60     25  100  "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="198" y="258" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="223" y="158" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="248" y="258" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-family="Helvetica" font-size="12" x="165" y="210">m, c, s</text>
+    <!-- ====================================================================== -->
+    <!-- 90 degree arc using M & C ============================================ -->
+    <!-- ====================================================================== -->
+    <path id="Arc_MC" fill="#0000FF" stroke="#000000" d="   M 360 100   C 420 90 460 140 450 190"/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="358" y="98" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="448" y="188" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-family="Helvetica" font-size="12" x="360" y="150">M, C</text>
+    <!-- ====================================================================== -->
+    <!-- Circle using M, c, s, s, s & z ======================================= -->
+    <!-- ====================================================================== -->
+    <path id="Circle_Mcssz" fill="#FFFF00" stroke="#000000" d="M360 210      c   0  20    -16  36    -36  36       s -36 -16    -36 -36       s  16 -36     36 -36    s  36  16     36  36   z  "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="358" y="208" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="322" y="244" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="286" y="208" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="322" y="172" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-family="Helvetica" font-size="12" x="290" y="265">M, c, s, s, s, z</text>
+    <!-- ====================================================================== -->
+    <!-- Inverted horseshoe using m, c & z ==================================== -->
+    <!-- ====================================================================== -->
+    <path id="Horseshoe_Mcs" fill="#F0F0F0" stroke="#FF0000" d="m 360  325  c -40  -60     95 -100     80    0      z  "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="358" y="323" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="438" y="323" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-family="Helvetica" font-size="12" x="380" y="340">m, c, z</text>
+  </g>
+  <!--======================================================================-->
+  <!--Legend and frame:      Title, suite and SVG document serialization====-->
+  <!--======================================================================-->
+  <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+    <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+    <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+    <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+    <a xlink:href="copyright-documents-19990405.html">
+      <text x="12" y="347" fill="blue">Copyright 2002 W3C. All Rights Reserved.</text>
+    </a>
+    <text font-size="12" x="35" y="330">paths-data-01-f</text>
+    <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+    <text font-size="10" x="210" y="345">Release 1.0</text>
+    <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/paths-data-02-f.png b/Tests/W3CTestSuite/images/paths-data-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..968ed60d8324e5ea8fa0617e29352ac7f3e9c1da
Binary files /dev/null and b/Tests/W3CTestSuite/images/paths-data-02-f.png differ
diff --git a/Tests/W3CTestSuite/images/paths-data-02-f.svg b/Tests/W3CTestSuite/images/paths-data-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0436ee6ee003572b107b637b02ea9055a85d5344
--- /dev/null
+++ b/Tests/W3CTestSuite/images/paths-data-02-f.svg
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<!--======================================================================-->
+<!--=  Copyright 2002 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- paths-data-02-f.svg                                                   	-->
+<!-- 1.1 revision by Christophe Jolif                                      -->
+<!--                                                                       -->
+<!-- Test that the viewer has the basic capability to handle the 'path'    -->
+<!-- element and its data (d) attribute in combination with the quadratic  -->
+<!-- Bezier curveto commands, Q, q, T, t (plus Mm and Zz).                 -->
+<!--                                                                       -->
+<!-- Author : Lofton Henderson, 29-Feb-2000 (based on work                 -->
+<!--                                           of Mark Sgarlato, Adobe).   -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  29-Feb-2000, LRH, Ser#1 created.                                     -->
+<!--  12-Mar-2000, LH, fix test-framing rect; ser#2                        -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .         -->
+<!--  17-Aug-2000, JF=" fix duplicate ID bug" ser#3.                        -->
+<!--  15-Nov-2000, LH: add missing test-body-content group.                -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="480" height="360">
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+    <OperatorScript>
+      <Paragraph>
+Test that the viewer has the basic capability to handle the 'path'
+element and its data (d) attribute in combination with the quadratic
+Bezier curveto commands, Q, q, T, t (plus Mm and Zz).  
+    </Paragraph>
+      <Paragraph>
+There are 7 subtests, each composed from the quadric Bezier path commands per
+the label by the subtest.  On-curve control points (i.e., the curve position)
+are marked by small colored squares.  Subtests are filled, or stroked, or 
+both, using simple style properties and colors.
+    </Paragraph>
+      <Paragraph>
+The rendered picture should match the reference image exactly, except for possible
+variations in the labelling text (per CSS2 rules).  
+    </Paragraph>
+      <Paragraph>
+The test uses the 'rect' element, as well as basic fill (solid primary colors), 
+stroke (primary color wide and 1-pixel lines), font-family (Helvetica) and font-size properties.
+    </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+  <title id="test-title">paths-data-02-f</title>
+  <desc id="test-desc">Test that the viewer has the basic capability to handle the 'path' element and data (d) attribute in combination with the quadratic Bezier curveto commands, both regular and shorthand/smooth forms - Q, q, T, t (along with Mm and Zz).</desc>
+  <!--======================================================================-->
+  <!--Content of Test Case follows...                  =====================-->
+  <!--======================================================================-->
+  <g id="test-body-content">
+    <text font-family="Helvetica" font-size="12" x="120" y="14">Quadric bezier curves drawn with commands:</text>
+    <!-- ====================================================================== -->
+    <!-- Quad Bezier with sub-path using M, Q, M, q, & z ====================== -->
+    <!-- ====================================================================== -->
+    <path id="Bez_MQMqz" fill="none" stroke="#0000FF" stroke-width="3" d="M  15   20      Q  30  120    130   30      M 180   80      q  -75 -100    -163  -60z"/>
+    <text font-family="Helvetica" font-size="12" x="80" y="86">M, Q, M, q, z</text>
+    <rect x="13" y="18" width="4" height="4" fill="#00C000" stroke="none"/>
+    <rect x="128" y="28" width="4" height="4" fill="#00C000" stroke="none"/>
+    <rect x="178" y="78" width="4" height="4" fill="#00C000" stroke="none"/>
+    <rect x="15" y="18" width="4" height="4" fill="#00C000" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Quad Bezier with sub-path using m, q, z, m, q, & z =================== -->
+    <!-- ====================================================================== -->
+    <path id="Bez_fill_MQzmqz" fill="#FFFF00" stroke="#CF0000" d="M372 130Q272 50 422 10zm70 0q50-150-80-90z"/>
+    <text font-family="Helvetica" font-size="12" x="352" y="150">m, q, z, m, q, z</text>
+    <rect x="370" y="128" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="420" y="8" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="440" y="128" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="360" y="38" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Simple Bezier using M, Q, & Z ======================================== -->
+    <!-- ====================================================================== -->
+    <path id="Bez_stroke_MQz" fill="none" stroke="#00FFFF" d="M224 103Q234 -12 304 33Z"/>
+    <text font-family="Helvetica" font-size="12" x="192" y="36">M, Q, Z</text>
+    <rect x="222" y="101" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="302" y="31" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Tri Bezier using M, Q, T, Q, & z ===================================== -->
+    <!-- ====================================================================== -->
+    <path id="Tri_MQTQz" fill="#00C000" stroke="#000000" d="M208 168Q258 268 308 168T258 118Q128 88 208 168z"/>
+    <text font-family="Helvetica" font-size="12" x="308" y="188">M, Q, T, Q, z</text>
+    <rect x="206" y="166" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="306" y="166" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="256" y="116" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="206" y="206" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Double Bezier using M, Q, Q, & z ===================================== -->
+    <!-- ====================================================================== -->
+    <path id="Inv_V_MCcZ" fill="#CF0000" stroke="none" d="   M   60 100      Q  -40 150      60 200      Q  160 150      60 100       z  "/>
+    <text font-family="Helvetica" font-size="12" x="80" y="200">M, Q, Q, z</text>
+    <rect x="58" y="98" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="58" y="198" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="58" y="98" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Sin Wave using M, q, t, t, t, t, & z ================================ -->
+    <!-- ====================================================================== -->
+    <path id="Sin_Mqttttz" fill="none" stroke="#FF0000" d="M240 296q25-100 47 0t47 0t47 0t47 0t47 0z"/>
+    <text font-family="Helvetica" font-size="12" x="380" y="236">M, q, t, t, t, t, z</text>
+    <rect x="238" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="285" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="332" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="379" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="426" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="473" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Double Spade using M, q, Q, q, Q, & z ================================ -->
+    <!-- ====================================================================== -->
+    <path id="Dbl_spd_MCcZ" fill="#0000C0" stroke="#00CF00" stroke-width="2" d="M172 193q-100 50 0 50Q72 243 172 293q100 -50 0 -50Q272 243 172 193z"/>
+    <text font-family="Helvetica" font-size="12" x="48" y="280">M, q, Q, q, Q, z</text>
+    <rect x="170" y="191" width="4" height="4" fill="#FF0000" stroke="none"/>
+    <rect x="170" y="241" width="4" height="4" fill="#FF0000" stroke="none"/>
+    <rect x="170" y="291" width="4" height="4" fill="#FF0000" stroke="none"/>
+    <rect x="170" y="241" width="4" height="4" fill="#FF0000" stroke="none"/>
+    <rect x="170" y="191" width="4" height="4" fill="#FF0000" stroke="none"/>
+  </g>
+  <!--======================================================================-->
+  <!--Legend and frame:      Title, suite and SVG document serialization====-->
+  <!--======================================================================-->
+  <g id="test-legend" fill="black" font-family="Helvetica" font-size="10">
+    <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000"/>
+    <path fill="none" stroke="#000000" d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+    <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+    <a xlink:href="copyright-documents-19990405.html">
+      <text x="12" y="347" fill="blue">Copyright 2002 W3C. All Rights Reserved.</text>
+    </a>
+    <text font-size="12" x="35" y="330">paths-data-02-f</text>
+    <text font-size="10" x="210" y="327">$Revision: 1.1 $</text>
+    <text font-size="10" x="210" y="345">Release 1.0</text>
+    <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/paths-data-03-f.png b/Tests/W3CTestSuite/images/paths-data-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5f466bcd47379ea7be259bc5aad19f08896b8d9
Binary files /dev/null and b/Tests/W3CTestSuite/images/paths-data-03-f.png differ
diff --git a/Tests/W3CTestSuite/images/paths-data-03-f.svg b/Tests/W3CTestSuite/images/paths-data-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c671a058b158ec26a00423fa9d950887991194ce
--- /dev/null
+++ b/Tests/W3CTestSuite/images/paths-data-03-f.svg
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- path-curves-BE-04.svg                                                 -->
+<!-- renamed for 1.1 suite to paths-data-03-f.svg                          -->
+<!--                                                                       -->
+<!-- Test that the viewer has the basic capability to handle the 'path'    -->
+<!-- element and its data (d) attribute in combination with the elliptical -->
+<!-- arc curveto commands, A, a (plus Mm and Zz).                          -->
+<!--                                                                       -->
+<!-- Author : Lofton Henderson, 29-Feb-2000 (based on work                 -->
+<!--                                           of Mark Sgarlato, Adobe).   -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  29-Feb-2000, LRH, Ser#1 created.                                     -->
+<!--  12-Mar-2000, LH, fix test-framing rect; ser#2                        -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .         -->
+<!--  29-Oct-2000, JF: add fill-rule:evenodd to one path to get same       -->
+<!--                   visual result as before. Necessary because default  -->
+<!--                   fill-rule is now nonzero. Update to ser#3.          -->
+<!--  15-Nov-2000, LH: add missing test-body-content group.                -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" >
+    <OperatorScript>
+      <Paragraph>
+Test that the viewer has the basic capability to handle the 'path'
+element and its data (d) attribute in combination with the elliptical
+arc curveto commands, A, a (plus Mm and Zz).
+      </Paragraph>
+      <Paragraph>
+There are 6 subtests, each composed from the elliptical arc path commands per
+the label by the subtest.  The curve positions
+are marked by small colored squares.  Subtests are filled, or stroked, or 
+both, using simple style properties and colors.
+      </Paragraph>
+      <Paragraph>
+The rendered picture should match the reference image exactly, except for possible
+variations in the labelling text (per CSS2 rules).  
+      </Paragraph>
+      <Paragraph>
+The test uses the 'rect' element, as well as basic fill (solid primary colors), 
+stroke (primary color wide and 1-pixel lines), font-family (Helvetica) and font-size properties.
+      </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+
+	<title id="test-title">paths-data-03-f.svg</title>
+	<desc id="test-desc">Test that the viewer has the basic capability to handle the 'path' element and data (d) attribute in combination with the elliptical Arc curveto commands - A, a (along with Mm and Zz).</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<text font-family="Helvetica" font-size="12"  x="120" y="14">Elliptical arc curves drawn with commands:</text>
+		<!-- ====================================================================== -->
+		<!-- Simple circle using MAZ  ============================ -->
+		<!-- ====================================================================== -->
+		<path id="Arc_MAZ" fill="none" stroke="#FF0000" stroke-width="10"  d="   M  25   70      A  40   40      0         1      0     25   69   Z    "/>
+		<text font-family="Helvetica" font-size="12"  x="48" y="70">M, A, Z</text>
+		<rect x="23" y="68" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="23" y="67" width="4" height="4" fill="#00C000" stroke="none" />
+		<!-- ====================================================================== -->
+		<!-- filled arc using m, a, & z =================== -->
+		<!-- ====================================================================== -->
+		<path id="Arc_fill_maz" fill="#00FF00" stroke="#0000FF"  d="   m  150   100      a  50    40       0          1       0      25   -70   z  "/>
+		<text font-family="Helvetica" font-size="12"  x="124" y="45">m, a, z</text>
+		<rect x="148" y="98" width="4" height="4" fill="#CF0000" stroke="none" />
+		<rect x="173" y="28" width="4" height="4" fill="#CF0000" stroke="none" />
+		<!-- ====================================================================== -->
+		<!-- Unterminated arc using M & a ======================================== -->
+		<!-- ====================================================================== -->
+		<path id="Arc_Ma" fill="none" stroke="#000000"  d="   M  350    245      a   40    40       0          1       0      80    60       "/>
+		<text font-family="Helvetica" font-size="12"  x="390" y="300">M, a</text>
+		<rect x="348" y="243" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="428" y="303" width="4" height="4" fill="#0000FF" stroke="none" />
+		<!-- ====================================================================== -->
+		<!-- Triple Arc using M, A, a, a, & z ===================================== -->
+		<!-- ====================================================================== -->
+		<path id="Tri_MAaaz" fill="#C0C000" stroke="none" fill-rule="evenodd"  d="   M   270   30      A   50    50       0          1       0     345   30         a   50    50       0          1       0      50    0         a   50    50       0          1       0      25    0    z  "/>
+		<text font-family="Helvetica" font-size="12"  x="280" y="135">M, A, a, a, z</text>
+		<rect x="268" y="28" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="343" y="28" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="393" y="28" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="418" y="28" width="4" height="4" fill="#0000FF" stroke="none" />
+		<!-- ====================================================================== -->
+		<!-- Tripple arc using M, a, Z, m, A, Z, m, a & z ===================================== -->
+		<!-- ====================================================================== -->
+		<path id="Arc_MaZmAzmaz" fill="#CF0000" stroke="#000000" stroke-width="3"  d="   M  30   150      a   40    40       0          0       1      65    50          Z                    m   30       30                         A   20       20              0              0              0             125   230        Z             m   40       24                         a   20       20              0              0              1              65    50        z "/>
+		<text font-family="Helvetica" font-size="12"  x="25" y="270">M, a, Z, m, A, Z, m, a, z</text>
+		<rect x="28" y="148" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="93" y="198" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="58" y="178" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="123" y="228" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="98" y="202" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="163" y="252" width="4" height="4" fill="#0000FF" stroke="none" />
+		<!-- ====================================================================== -->
+		<!-- Sin Wave using M, q, t, t, t, t, & z ================================ -->
+		<!-- ====================================================================== -->
+		<path id="Sin_MAAAAA" fill="none" stroke="#FF0000"  d="   M   215    190      A   40    200      10          0       0      265    190    A   40    200      20          0       1     315    190        A   40    200      30          0       0     365    190    A   40    200      40          0       1     415    190        A   40    200      50          0       0     465    190                     "/>
+		<text font-family="Helvetica" font-size="12"  x="215" y="246">M, A, A, A, A</text>
+		<rect x="213" y="188" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="263" y="188" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="313" y="188" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="363" y="188" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="413" y="188" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="463" y="188" width="4" height="4" fill="#0000FF" stroke="none" />
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+	<g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+		<rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+		<path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+		<text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+		<a xlink:href="copyright-documents-19990405.html">
+			<text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+		</a>
+		<text font-size="12"  x="35" y="330">paths-data-03-f</text>
+		<text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+		<text font-size="10"  x="210" y="345">Release 1.0</text>
+		<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+	</g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/paths-data-04-f.png b/Tests/W3CTestSuite/images/paths-data-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed52be58b4eef4b4373a5dcbd7fca4fa82466404
Binary files /dev/null and b/Tests/W3CTestSuite/images/paths-data-04-f.png differ
diff --git a/Tests/W3CTestSuite/images/paths-data-04-f.svg b/Tests/W3CTestSuite/images/paths-data-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..18d5ad4d5ae80c0e3ea172b2c01944b4e3c64cc7
--- /dev/null
+++ b/Tests/W3CTestSuite/images/paths-data-04-f.svg
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- path-lines-BE-01.svg                                                  -->
+<!-- renamed for 1.1 suite to paths-data-04-f.svg                          -->
+<!--                                                                       -->
+<!-- Test that viewer has the basic capability to handle the <path>        -->
+<!-- element and data (d) attribute in combination with the moveto,        -->
+<!-- lineto, and closepath commands - M, L, Z, m, l, and z.                -->
+<!--                                                                       -->
+<!-- Author : Lofton Henderson, 20-Jan-2000 (from Mark Sgarlato, Adobe).   -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  20-Jan-2000, LH, Serial#1 created.  Matches 20000110 SVG spec.       -->
+<!--  12-Mar-2000, LH, fix test-framing rect; ser#2                        -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .         -->
+<!--  29-Oct-2000, JF: add fill-rule:evenodd to two paths to get same      -->
+<!--                   visual result as before. Necessary because default  -->
+<!--                   fill-rule is now nonzero. Update to ser#3.          -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" >
+    <OperatorScript>
+      <Paragraph>
+Verify the basic capability to handle the 'path' element, and its data attribute (d)
+in combination with the straight-line path commands.
+Four pairs of figures should be displayed in the
+four quadrants. The shapes in each pair are identical, with one stroked and
+one filled.  Two pairs of concentric equilateral triangles are drawn using respectively
+M,L,Z and m,l,z.  The fill-mode default of "even-odd" means that 
+the inner triangle is hollow.  Two pairs of staircase figures are drawn using 
+respectively M,H,V,Z and m,h,v,z.
+      </Paragraph>
+      <Paragraph>
+The rendered picture should match the reference image exactly, except for possible
+variations in the labelling text (per CSS2 rules).  
+      </Paragraph>
+      <Paragraph>
+The test uses the 'rect' element, as well as basic fill (solid primary colors), 
+stroke (black 1-pixel lines), font-family (Helvetica) and font-size properties.
+      </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+
+	<title id="test-title">paths-data-04-f</title>
+	<desc id="test-desc">Test that viewer has the basic capability to handle the &lt;path&gt; element and data (d) attribute in combination with the moveto, lineto, and closepath commands - M, L, Z, m, l, and z.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<!-- ====================================================================== -->
+		<!-- First Group of Triangles using M, L & Z commands ===================== -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="160" y="14">Lines drawn with commands:</text>
+		<text font-family="Helvetica" font-size="12"  x="88" y="30">M, L, L, L, Z,</text>
+		<text font-family="Helvetica" font-size="12"  x="98" y="46">subpath</text>
+		<text font-family="Helvetica" font-size="12"  x="88" y="61">M, L, L, L, Z</text>
+		<path id="Triangle_stroke_MLZ" fill="none" stroke="#000000"  d="   M   62.00000   56.00000    L  113.96152  146.00000   L   10.03848  146.00000    L   62.00000   56.00000   Z    M   62.00000  71.00000   L  100.97114  138.50000   L   23.02886  138.50000   L   62.00000  71.00000   Z  "/>
+		<rect x="60.00000" y="54.00000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="111.96152" y="144.00000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="8.03848" y="144.00000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="60.00000" y="69.00000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="98.97114" y="136.50000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="21.02886" y="136.50000" width="4" height="4" fill="#00C000" stroke="none" />
+		<text font-family="Helvetica" font-size="12"  x="42" y="162">stroked</text>
+		<path id="Triangle_fill_MLZ" fill="#FF0000" stroke="none" fill-rule="evenodd"  d="   M  177.00000   56.00000    L  228.96152  146.00000   L  125.03848  146.00000    L  177.00000   56.00000   Z    M  177.00000  71.00000   L  215.97114  138.50000   L  138.02886  138.50000   L  177.00000  71.00000   Z  "/>
+		<rect x="175.00000" y="54.00000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="226.96152" y="144.00000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="123.03848" y="144.00000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="175.00000" y="69.00000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="213.97114" y="136.50000" width="4" height="4" fill="#00C000" stroke="none" />
+		<rect x="136.02886" y="136.50000" width="4" height="4" fill="#00C000" stroke="none" />
+		<text font-family="Helvetica" font-size="12"  x="162" y="162">filled</text>
+		<!-- ====================================================================== -->
+		<!-- Second Group of Triangles using m, l & z commands===================== -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="96" y="180">m, l, l, l, z,</text>
+		<text font-family="Helvetica" font-size="12"  x="100" y="194">subpath</text>
+		<text font-family="Helvetica" font-size="12"  x="97" y="208">m, l, l, l, z</text>
+		<path id="Triangle_stroke_mlz" fill="none" stroke="#000000"  d="   m   62.00000  190.00000    l   51.96152   90.00000   l -103.92304    0.00000    l   51.96152  -90.00000   z    m    0.00000   15.00000   l   38.97114   67.50000   l  -77.91228    0.00000   l   38.97114  -67.50000   z  "/>
+		<rect x="60.00000" y="188.00000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="111.96152" y="278.00000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="8.03848" y="278.00000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="60.00000" y="203.00000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="98.97114" y="270.50000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="21.02886" y="270.50000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<path id="Triangle_fill_mlz" fill="#00C000" stroke="none" fill-rule="evenodd"  d="   m  177.00000  190.00000    l   51.96152   90.00000   l -103.92304    0.00000    l   51.96152  -90.00000   z    m    0.00000   15.00000   l   38.97114   67.50000   l  -77.91228    0.00000   l   38.97114  -67.50000   z  "/>
+		<rect x="175.00000" y="188.00000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="226.96152" y="278.00000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="123.03848" y="278.00000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="175.00000" y="203.00000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="213.97114" y="270.50000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<rect x="136.02886" y="270.50000" width="4" height="4" fill="#FF0000" stroke="none" />
+		<!-- ====================================================================== -->
+		<!-- First Group of Stairs using M, H, V & Z commands====================== -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="288" y="30">M, H, V, H,</text>
+		<text font-family="Helvetica" font-size="12"  x="288" y="46">V. H, V, H,</text>
+		<text font-family="Helvetica" font-size="12"  x="304" y="62">V, Z</text>
+		<path id="Stairs_stroke_MHVZ" fill="none" stroke="#000000"  d="   M  240.00000  56.00000    H  270.00000   V  86.00000    H  300.00000   V  116.00000    H  330.00000   V  146.00000    H  240.00000   V  56.00000    Z  "/>
+		<rect x="238.00000" y="54.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="268.00000" y="54.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="268.00000" y="84.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="298.00000" y="84.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="298.00000" y="114.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="328.00000" y="114.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="328.00000" y="144.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="238.00000" y="144.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<path id="Stairs_fill_MHVZ" fill="#0000FF" stroke="none"  d="   M  350.00000  56.00000   H  380.00000   V  86.00000    H  410.00000   V  116.00000    H  440.00000   V  146.00000    H  350.00000   V  56.00000    Z  "/>
+		<rect x="348.00000" y="54.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="378.00000" y="54.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="378.00000" y="84.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="408.00000" y="84.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="408.00000" y="114.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="438.00000" y="114.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="438.00000" y="144.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<rect x="348.00000" y="144.00000" width="4" height="4" fill="#FFFF00" stroke="none" />
+		<!-- ====================================================================== -->
+		<!-- Second Group of Stairs using m, h, v & z commands====================== -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="288" y="180">m, h, v, h</text>
+		<text font-family="Helvetica" font-size="12"  x="288" y="194">v, h, v, h</text>
+		<text font-family="Helvetica" font-size="12"  x="304" y="208">v, z</text>
+		<path id="Stairs_stroke_mhvz" fill="none" stroke="#000000"  d="   m  240.00000  190.00000    h   30.00000   v   30.00000    h   30.00000   v   30.00000    h   30.00000   v   30.00000    h  -90.00000   v  -90.00000    z  "/>
+		<rect x="238.00000" y="188.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="268.00000" y="188.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="268.00000" y="218.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="298.00000" y="218.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="298.00000" y="248.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="328.00000" y="248.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="328.00000" y="278.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="238.00000" y="278.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<path id="Stairs_fill_mhvz" fill="#FFFF00" stroke="none"  d="   m  350.00000  190.00000    h   30.00000   v   30.00000    h   30.00000   v   30.00000    h   30.00000   v   30.00000    h  -90.00000   v  -90.00000    z  "/>
+		<rect x="348.00000" y="188.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="378.00000" y="188.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="378.00000" y="218.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="408.00000" y="218.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="408.00000" y="248.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="438.00000" y="248.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="438.00000" y="278.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+		<rect x="348.00000" y="278.00000" width="4" height="4" fill="#0000FF" stroke="none" />
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+	<g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+		<rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+		<path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+		<text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+		<a xlink:href="copyright-documents-19990405.html">
+			<text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+		</a>
+		<text font-size="12"  x="35" y="330">paths-data-04-f</text>
+		<text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+		<text font-size="10"  x="210" y="345">Release 3.0</text>
+		<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+	</g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/pinksquidj.png b/Tests/W3CTestSuite/images/pinksquidj.png
new file mode 100644
index 0000000000000000000000000000000000000000..e88ae4eb43d2c8c2670f6077d749787549bfb4aa
Binary files /dev/null and b/Tests/W3CTestSuite/images/pinksquidj.png differ
diff --git a/Tests/W3CTestSuite/images/plant.jpg b/Tests/W3CTestSuite/images/plant.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..855412102dd137411345c1a77960d9e2c038feed
Binary files /dev/null and b/Tests/W3CTestSuite/images/plant.jpg differ
diff --git a/Tests/W3CTestSuite/images/purplesquidj.png b/Tests/W3CTestSuite/images/purplesquidj.png
new file mode 100644
index 0000000000000000000000000000000000000000..90000a8bc254ea3dfec0bdc31351d62e861ad577
Binary files /dev/null and b/Tests/W3CTestSuite/images/purplesquidj.png differ
diff --git a/Tests/W3CTestSuite/images/rects.svg b/Tests/W3CTestSuite/images/rects.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d940ed4487e5be26416c9a2187bb446ab5218401
--- /dev/null
+++ b/Tests/W3CTestSuite/images/rects.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> 
+  
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"   id="drawrects-structure-image-BE-06"  viewBox="0 0 450 450" width="450" height="450" >
+
+ <g id="drawRects">  
+ 	<rect x="225" y="0" width="225" height="225"  style="fill:blue" />
+ 	<rect x="0" y="225" width="225" height="225"  style="fill:yellow" />
+ </g>
+ </svg>
+ 
diff --git a/Tests/W3CTestSuite/images/rects_b.svg b/Tests/W3CTestSuite/images/rects_b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5952ae2d20ec33594911a6f8bb5615da58200035
--- /dev/null
+++ b/Tests/W3CTestSuite/images/rects_b.svg
@@ -0,0 +1,7 @@
+<svg width="80" height="80" viewBox="0 0 80 80"
+xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  >
+	<rect fill="#f63" stroke="none" x="0" y="0" width="40" height="40"/>
+	<rect fill="#cc9" stroke="none" x="40" y="0" width="40" height="40"/>
+	<rect fill="#cc9" stroke="none" x="0" y="40" width="40" height="40"/>
+	<rect fill="#f63" stroke="none" x="40" y="40" width="40" height="40"/>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/images/red1x1.png b/Tests/W3CTestSuite/images/red1x1.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4c0d77194e1d463cd454ae5da94a81c83a6edae
Binary files /dev/null and b/Tests/W3CTestSuite/images/red1x1.png differ
diff --git a/Tests/W3CTestSuite/images/rgbalpha.png b/Tests/W3CTestSuite/images/rgbalpha.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2e3baa90a758a8107e689f4355220f60c76191c
Binary files /dev/null and b/Tests/W3CTestSuite/images/rgbalpha.png differ
diff --git a/Tests/W3CTestSuite/images/rightarrow.png b/Tests/W3CTestSuite/images/rightarrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..c29fb8ae2d91038f60da5bab4334034fdba56334
Binary files /dev/null and b/Tests/W3CTestSuite/images/rightarrow.png differ
diff --git a/Tests/W3CTestSuite/images/rotate20.png b/Tests/W3CTestSuite/images/rotate20.png
new file mode 100644
index 0000000000000000000000000000000000000000..e566bfadfd5b875961db82e600a0d27030243acb
Binary files /dev/null and b/Tests/W3CTestSuite/images/rotate20.png differ
diff --git a/Tests/W3CTestSuite/images/selector-types-fill-green.css b/Tests/W3CTestSuite/images/selector-types-fill-green.css
new file mode 100644
index 0000000000000000000000000000000000000000..f7cdb44a9b419145e90f241e3a0fb14229a1946e
--- /dev/null
+++ b/Tests/W3CTestSuite/images/selector-types-fill-green.css
@@ -0,0 +1,28 @@
+path
+{
+    fill: green;
+}
+g svg circle
+{
+    fill: green;
+}
+g > ellipse
+{
+    fill: green;
+}
+ellipse + circle
+{
+    fill: green;
+}
+[id=testAttributeSelector]
+{
+    fill: green;
+}
+#testIdSelector
+{
+    fill: green;
+}
+#testPseudoClassSelector:first-child
+{
+    fill: green;
+}
diff --git a/Tests/W3CTestSuite/images/selector-types-visibility-hidden.css b/Tests/W3CTestSuite/images/selector-types-visibility-hidden.css
new file mode 100644
index 0000000000000000000000000000000000000000..9d5e525d6a929ff62ca0eec97e377c0594ce9a74
--- /dev/null
+++ b/Tests/W3CTestSuite/images/selector-types-visibility-hidden.css
@@ -0,0 +1,32 @@
+path
+{
+    visibility: hidden;
+}
+g svg circle
+{
+    visibility: hidden;
+}
+g > ellipse
+{
+    visibility: hidden;
+}
+ellipse + circle
+{
+    visibility: hidden;
+}
+[id=testAttributeSelector]
+{
+    visibility: hidden;
+}
+#testIdSelector
+{
+    visibility: hidden;
+}
+#testPseudoClassSelector:first-child
+{
+    visibility: hidden;
+}
+.reference
+{
+    visibility: visible !important;
+}
diff --git a/Tests/W3CTestSuite/images/shapes-ellipse-01-b.svg b/Tests/W3CTestSuite/images/shapes-ellipse-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..119dc2caae30550f1d0ac9573251b6a34ec5c181
--- /dev/null
+++ b/Tests/W3CTestSuite/images/shapes-ellipse-01-b.svg
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg11.dtd">
+<!-- =====================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!-- =====================================================================-->
+<!-- =====================================================================-->
+<!--                                                                      -->
+<!-- struct-cond-01-b.svg                                                 -->
+<!-- Test that viewer has the basic capability                            -->
+<!-- to handle the 'ellipse' element.                                                             -->
+<!-- Author : V.Katrushenko, BitFlash Inc., 2002                          -->
+
+
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="160" height="120">
+	<title id="test-title">shapes-rect-01-b</title>
+	<desc id="test-desc">Test that viewer has the basic capability to render the 'ellipse'element</desc>
+
+<!--Content of Test Case follows...=======================================-->
+
+<g id="test-body-content">
+	<ellipse id="default" cx="24" cy="22" rx="14" ry="9"/>
+	<ellipse id="nofill"  stroke="#066" fill="none" cx="60" cy="22" rx="14" ry="9"/>
+	<text font-size="10" x="12" y="42">default</text>
+
+	<ellipse id="nostroke" stroke="none" cx="24" cy="56" rx="14" ry="9" />
+	<ellipse id="strokeNfill" stroke="#006699" stroke-width="4" fill="#f90" cx="60" cy="56" rx="14" ry="9"/>
+	<text font-size="10" x="12" y="76">filled</text>
+
+	<ellipse id="rxNyx" cx="102" cy="20" rx="12" ry="12"/>
+	<ellipse id="nofill"  stroke="#066" fill="none" cx="136" cy="20" rx="12" ry="12"/>
+	<text font-size="10" x="88" y="42">'rx'='ry'</text>
+
+	<ellipse id="allattr"  fill="#f90" stroke="#069" stroke-width="4" cx="120" cy="56" rx="30" ry="9"/>
+	<text font-size="10" x="88" y="76">all attributes</text>
+
+
+</g>
+
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+	<rect id="slideframe" fill="none" stroke="#000000" stroke-width="1" x="1" y="1" width="158" height="118"/>
+	<g id="test-legend" fill="black" font-size="10" >
+		<rect x="3" y="81" width="154" height="36" fill="none" stroke="#000000" />
+		<text x="8" y="91">SVG v1.1 Conformance Suite</text>
+		<rect x="3" y="93" width="154" height="12" fill="none" stroke="#000000" />
+		<text font-size="9" x="8" y="103">shapes-ellipse-01-b</text>
+		<line stroke="#000000" x1="90" y1="93" x2="90" y2="117" />
+		<text font-size="9" x="91" y="103">$Revision: 1.1 $</text>
+		<a xlink:href="copyright-documents-19990405.html">
+			<text x="20" y="115" fill="blue">&#169;2002 W3C</text>
+		</a>
+		<text font-size="9" x="92" y="115">Release 1.0</text>
+	</g>
+
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/images/shapes-ellipse-01-f.png b/Tests/W3CTestSuite/images/shapes-ellipse-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..73e78ad8fcee4adf40008dc6f5661006a9223d1c
Binary files /dev/null and b/Tests/W3CTestSuite/images/shapes-ellipse-01-f.png differ
diff --git a/Tests/W3CTestSuite/images/shapes-ellipse-01-f.svg b/Tests/W3CTestSuite/images/shapes-ellipse-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..70899a16ef36ca5cdaed8dbf6bae312a51d07e29
--- /dev/null
+++ b/Tests/W3CTestSuite/images/shapes-ellipse-01-f.svg
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- shapes-ellipse-BE-01.svg                                              -->
+<!-- renamed for 1.1 suite to shapes-ellipse-01-f.svg                      -->
+<!--                                                                       -->
+<!-- Test that viewer has the basic capability to handle the <ellipse>     -->
+<!-- element.                                                              -->
+<!--                                                                       -->
+<!-- Author : Kelvin R. Lawrence,   3-Feb-2000                             -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--   3-Feb-2000, KRL, Serial#1 created.  Matches 20000202 SVG spec.      -->
+<!--   27-Feb-2000, LRH, Serial#2, fix TC name, formatting, create .XML    -->
+<!--   12-Mar-2000, LH, fix test-framing rect; ser#3                       -->
+<!--   04-Jun-2000, LH, fix label in Legend; ser#4                         -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .         -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" >
+    <OperatorScript>
+      <Paragraph>
+Verify the basic capability to handle the 'ellipse'
+shape element.  Four pairs of ellipses should be displayed in the
+four quadrants, with the shapes in each pair being identical.  Filling, stroking,
+and filling-plus-stroking are applied, and the cx,cy (center position) and 
+rx,ry (ellipse radii) attributes are varied.  
+      </Paragraph>
+      <Paragraph>
+The rendered picture should match the reference image, except for possible
+variations in the labelling text (per CSS2 rules).  
+      </Paragraph>
+      <Paragraph>
+This test uses 'text', 'rect' and 'path' elements, as well as
+fill (solid primary colors), stroke (primary colors and wide lines),
+font-family ("Helvetica"), and font-size properties within the 'style' attribute.
+      </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+
+	<title id="test-title">shapes-ellipse-01-f</title>
+	<desc id="test-desc">Test that viewer has the basic capability to handle the &lt;ellipse&gt; element.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<!-- ====================================================================== -->
+		<!-- First pair of ellipses.                                                -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="160" y="14">Basic ellipses</text>
+		<text font-family="Helvetica" font-size="12"  x="82" y="20">rx=30</text>
+		<text font-family="Helvetica" font-size="12"  x="82" y="38">ry=50</text>
+		<ellipse id="ellipse-01" fill="none" stroke="#000000"  cx="50" cy="75" rx="30" ry="50"/>
+		<ellipse id="ellipse-02" fill="red"  cx="160" cy="75" rx="30" ry="50"/>
+		<text font-family="Helvetica" font-size="12"  x="32" y="142">stroked</text>
+		<text font-family="Helvetica" font-size="12"  x="148" y="142">filled</text>
+		<!-- ====================================================================== -->
+		<!-- Second pair of ellipses, should actually draw circles.                 -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="298" y="20">rx=35</text>
+		<text font-family="Helvetica" font-size="12"  x="298" y="38">ry=35</text>
+		<ellipse id="ellipse-03" fill="none" stroke="#000000"  cx="270" cy="80" rx="35" ry="35"/>
+		<ellipse id="ellipse-04" fill="red"  cx="370" cy="80" rx="35" ry="35"/>
+		<text font-family="Helvetica" font-size="12"  x="250" y="142">stroked</text>
+		<text font-family="Helvetica" font-size="12"  x="358" y="142">filled</text>
+		<!-- ====================================================================== -->
+		<!-- Third pair of ellipses.                                                -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="82" y="170">rx=30</text>
+		<text font-family="Helvetica" font-size="12"  x="82" y="186">ry=50</text>
+		<ellipse id="ellipse-05" fill="none" stroke="#0000FF" stroke-width="8"  cx="50" cy="220" rx="30" ry="50"/>
+		<ellipse id="ellipse-06" fill="#00FF00" stroke="#0000FF" stroke-width="8"  cx="160" cy="220" rx="30" ry="50"/>
+		<text font-family="Helvetica" font-size="12"  x="36" y="292">stroked</text>
+		<text font-family="Helvetica" font-size="12"  x="118" y="292">filled &amp; stroked</text>
+		<!-- ====================================================================== -->
+		<!-- Fourth pair of ellipses.                                               -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="242" y="170">rx=70</text>
+		<text font-family="Helvetica" font-size="12"  x="242" y="186">ry=40</text>
+		<ellipse id="ellipse-07" fill="#00FF00" stroke="#0000FF" stroke-width="8"  cx="330" cy="220" rx="70" ry="40"/>
+		<text font-family="Helvetica" font-size="12"  x="292" y="292">filled &amp; stroked</text>
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+	<g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+		<rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+		<path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+		<text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+		<a xlink:href="copyright-documents-19990405.html">
+			<text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+		</a>
+		<text font-size="12"  x="35" y="330">shapes-ellipse-01-f</text>
+		<text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+		<text font-size="10"  x="210" y="345">Release 1.0</text>
+		<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+	</g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/shapes-rect-01-b.svg b/Tests/W3CTestSuite/images/shapes-rect-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8f91157918f403a664fe3c00a482ac0351211556
--- /dev/null
+++ b/Tests/W3CTestSuite/images/shapes-rect-01-b.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg11.dtd">
+<!-- =====================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!-- =====================================================================-->
+<!-- =====================================================================-->
+<!--                                                                      -->
+<!-- struct-cond-01-b.svg                                                 -->
+<!-- Test that viewer has the basic capability                            -->
+<!-- to handle the 'rect' element.                                                             -->
+<!-- Author : V.Katrushenko, BitFlash Inc., 2002                          -->
+
+
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="160" height="120">
+	<title id="test-title">shapes-rect-01-b</title>
+	<desc id="test-desc">Test that viewer has the basic capability to render the 'rect'element</desc>
+
+<!--Content of Test Case follows...=======================================-->
+
+<g id="test-body-content">
+	<rect id="default" x="12" y="14" width="24" height="18" />
+	<rect id="nofill"  stroke="#066" fill="none" x="48" y="14" width="24" height="18"/>
+	<text font-size="10" x="12" y="42">default</text>
+
+	<rect id="nostroke" stroke="none" x="12" y="48" width="24" height="18" />
+	<rect id="stroke-fill" stroke="#006699" stroke-width="4" fill="#f90" x="48" y="48" width="24" height="18"/>
+	<text font-size="10" x="12" y="76">filled</text>
+
+	<rect id="roundcorner1" fill="none" stroke="#000" rx="9" x="88" y="14" width="24" height="18" />
+	<rect id="roundcorner2"  fill="#f90" stroke="#069" stroke-width="4" rx="9" x="124" y="14" width="24" height="18"/>
+	<text font-size="10" x="88" y="42">rounded 'x'</text>
+
+	<rect id="rouncorner1" fill="none" stroke="#000" rx="12" ry="16" x="88" y="48" width="24" height="18" />
+	<rect id="rouncorner22"  fill="#f90" stroke="#069" stroke-width="4" rx="12" ry="16" x="124" y="48" width="24" height="18"/>
+	<text font-size="10" x="88" y="76">rounded 'x', 'y'</text>
+
+
+</g>
+
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+	<rect id="slideframe" fill="none" stroke="#000000" stroke-width="1" x="1" y="1" width="158" height="118"/>
+	<g id="test-legend" fill="black" font-size="10" >
+		<rect x="3" y="81" width="154" height="36" fill="none" stroke="#000000" />
+		<text x="8" y="91">SVG v1.1 Conformance Suite</text>
+		<rect x="3" y="93" width="154" height="12" fill="none" stroke="#000000" />
+		<text x="8" y="103">shapes-rect-01-b</text>
+		<line stroke="#000000" x1="90" y1="93" x2="90" y2="117" />
+		<text font-size="9" x="91" y="103">$Revision: 1.1 $</text>
+		<a xlink:href="copyright-documents-19990405.html">
+			<text x="20" y="115" fill="blue">&#169;2002 W3C</text>
+		</a>
+		<text font-size="9" x="92" y="115">Release 1.0</text>
+	</g>
+
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/images/shapes-rect-01-f.png b/Tests/W3CTestSuite/images/shapes-rect-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf25fdfed918b9fe629b7f56a908fd2dc53ec088
Binary files /dev/null and b/Tests/W3CTestSuite/images/shapes-rect-01-f.png differ
diff --git a/Tests/W3CTestSuite/images/shapes-rect-01-f.svg b/Tests/W3CTestSuite/images/shapes-rect-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2caf30e570b21aa3df86c7ed476b8e811febf1d6
--- /dev/null
+++ b/Tests/W3CTestSuite/images/shapes-rect-01-f.svg
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- shapes-rect-BE-01.svg                                                 -->
+<!-- renamed for 1.1 suite to shapes-rect-01-f.svg                         -->
+<!--                                                                       -->
+<!-- Test that viewer has the basic capability to handle the <rect>        -->
+<!-- element.                                                              -->
+<!--                                                                       -->
+<!-- Author : Kelvin R. Lawrence,   3-Feb-2000                             -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--   3-Feb-2000, KRL, Serial#1 created.  Matches 20000202 SVG spec.      -->
+<!--   27-Feb-2000, LH, Serial#2, fix TC name, formatting, create .XML     -->
+<!--   12-Mar-2000, LH, fix test-framing rect; ser#3                       -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .         -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+    <OperatorScript>
+      <Paragraph>
+Verify that interpreter/viewer has basic capability to handle the 'rect'
+shape element.  Four pairs of rectangles should be displayed in the
+four quadrants, with the shapes in each pair being identical to each other.  
+Filling, stroking, and filling-plus-stroking are tested, as are the round-rect 
+attributes.  
+      </Paragraph>
+      <Paragraph>
+The rendered picture should match the reference image, except for possible
+variations in the labelling text (per CSS2 rules).  
+      </Paragraph>
+      <Paragraph>
+This test uses 'text' and 'path' elements, as well as
+fill (solid primary colors), stroke (primary colors and wide lines),
+font-family ("Helvetica"), and font-size properties within the 'style' attribute.
+      </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+
+	<title id="test-title">shapes-rect-01-f</title>
+	<desc id="test-desc">Test that viewer has the basic capability to handle the &lt;rect&gt; element.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<!-- ====================================================================== -->
+		<!-- First of all draw two simple rectangles. One stroked , one filled.     -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="160" y="14">Basic rectangles</text>
+		<text font-family="Helvetica" font-size="12"  x="82" y="20">width=50</text>
+		<text font-family="Helvetica" font-size="12"  x="78" y="36">height=80</text>
+		<rect id="Simple-rect-no-fill" fill="none" stroke="#000000"  x="30" y="46" width="50" height="80"/>
+		<rect id="Simple-rect-filled" fill="red"  x="130" y="46" width="50" height="80"/>
+		<text font-family="Helvetica" font-size="12"  x="36" y="142">stroked</text>
+		<text font-family="Helvetica" font-size="12"  x="142" y="142">filled</text>
+		<!-- ====================================================================== -->
+		<!-- Second set of rectangles this time with rounded corners.               -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="302" y="20">width=50</text>
+		<text font-family="Helvetica" font-size="12"  x="298" y="36">height=80</text>
+		<text font-family="Helvetica" font-size="12"  x="310" y="52">rx=30</text>
+		<rect id="Simple-round-rect-no-fill" fill="none" stroke="#000000"  x="250" y="46" width="50" height="80" rx="30"/>
+		<rect id="Simple-round-rect-filled" fill="red"  x="350" y="46" width="50" height="80" rx="30"/>
+		<text font-family="Helvetica" font-size="12"  x="256" y="142">stroked</text>
+		<text font-family="Helvetica" font-size="12"  x="362" y="142">filled</text>
+		<!-- ====================================================================== -->
+		<!-- Third set of rectangles.                                               -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="82" y="170">width=50</text>
+		<text font-family="Helvetica" font-size="12"  x="78" y="186">height=80</text>
+		<rect id="rect-03" fill="none" stroke="#0000FF" stroke-width="8"  x="30" y="196" width="50" height="80"/>
+		<rect id="rect-04" fill="#00FF00" stroke="#0000FF" stroke-width="8"  x="130" y="196" width="50" height="80"/>
+		<text font-family="Helvetica" font-size="12"  x="36" y="292">stroked</text>
+		<text font-family="Helvetica" font-size="12"  x="118" y="292">filled &amp; stroked</text>
+		<!-- ====================================================================== -->
+		<!-- Fourth set of rectangles.                                              -->
+		<!-- ====================================================================== -->
+		<text font-family="Helvetica" font-size="12"  x="272" y="170">width=50, height=80</text>
+		<text font-family="Helvetica" font-size="12"  x="296" y="186">rx=30 ry=50</text>
+		<rect id="rect-05" fill="none" stroke="#0000FF" stroke-width="8"  x="250" y="196" width="50" height="80" rx="30" ry="50"/>
+		<rect id="rect-06" fill="#00FF00"  x="350" y="196" width="50" height="80" rx="30" ry="50"/>
+		<text font-family="Helvetica" font-size="12"  x="256" y="292">stroked</text>
+		<text font-family="Helvetica" font-size="12"  x="362" y="292">filled</text>
+	</g>
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+	<g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+		<rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+		<path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+		<text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+		<a xlink:href="copyright-documents-19990405.html">
+			<text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+		</a>
+		<text font-size="12"  x="35" y="330">shapes-rect-01-f</text>
+		<text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+		<text font-size="10"  x="210" y="345">Release 1.0</text>
+		<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+	</g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/sign.png b/Tests/W3CTestSuite/images/sign.png
new file mode 100644
index 0000000000000000000000000000000000000000..6aac7e150a7abcf12c523faf5df07f410ff4ee11
Binary files /dev/null and b/Tests/W3CTestSuite/images/sign.png differ
diff --git a/Tests/W3CTestSuite/images/smiley.png b/Tests/W3CTestSuite/images/smiley.png
new file mode 100644
index 0000000000000000000000000000000000000000..5bcc67a2d0d1a3258628825a0adedf2667ac275e
Binary files /dev/null and b/Tests/W3CTestSuite/images/smiley.png differ
diff --git a/Tests/W3CTestSuite/images/sphere.png b/Tests/W3CTestSuite/images/sphere.png
new file mode 100644
index 0000000000000000000000000000000000000000..9e22388e7a22bdc4a7abd29311b7e3f838b320a1
Binary files /dev/null and b/Tests/W3CTestSuite/images/sphere.png differ
diff --git a/Tests/W3CTestSuite/images/star.svg b/Tests/W3CTestSuite/images/star.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b6fdffb084dd297ecb381dd77dacaa89048c0187
--- /dev/null
+++ b/Tests/W3CTestSuite/images/star.svg
@@ -0,0 +1,20 @@
+<svg viewBox="0 0 260 260" xmlns="http://www.w3.org/2000/svg">
+  <defs>
+    <filter id="blur">
+      <feGaussianBlur stdDeviation="1.6"/>
+    </filter>
+    <linearGradient id="lg1" gradientTransform="matrix(3.5462873,0,0,3.5462873,-877.27083,-952.49474)" x1="393.57144" y1="380.21933" x2="385.35715" y2="413.07648" gradientUnits="userSpaceOnUse">
+      <stop stop-color="#fff" stop-opacity="0.8" offset="0"/>
+      <stop stop-color="#fff" stop-opacity="0" offset="1"/>
+		</linearGradient>
+    <radialGradient id="rg1" r="32.259853" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-0.7006288,2.6147823,-3.0454274,-0.816019,1468.3216,-225.92549)" cx="303.21429" cy="312.8187" fx="303.21429" fy="312.8187">
+    	<stop stop-color="#ff0" offset="0"/>
+      <stop stop-color="#ff0" stop-opacity="0" offset="1"/>
+    </radialGradient>
+  </defs>
+  <g transform="translate(-349.57877,-377.71875)">
+    <path transform="matrix(3.5462873,0,0,3.5462873,-558.10497,-696.65544)" d="M 323,360 L 299,353 L 283,372 L 282,348 L 259,338 L 282,330 L 284,305 L 299,325 L 324,319 L 310,339 L 323,360 z" filter="url(#blur)"/>
+    <path transform="matrix(3.5462873,0,0,3.5462873,-558.10497,-696.65544)" fill="url(#rg1)" d="M 323,360 L 299,353 L 283,372 L 282,348 L 259,338 L 282,330 L 284,305 L 299,325 L 324,319 L 310,339 L 323,360 z"/>
+    <path fill="url(#lg1)" d="M 451,387 L 445,474 L 417,485 C 442,492 471,495 501,495 C 519,495 536,494 552,491 L 591,435 L 505,456 L 451,387 z"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/images/stefan_252_tRNS_opti.png b/Tests/W3CTestSuite/images/stefan_252_tRNS_opti.png
new file mode 100644
index 0000000000000000000000000000000000000000..1937a31541b078ba30d51c953cb3636147b0c1fa
Binary files /dev/null and b/Tests/W3CTestSuite/images/stefan_252_tRNS_opti.png differ
diff --git a/Tests/W3CTestSuite/images/struct-frag-01-B.svg b/Tests/W3CTestSuite/images/struct-frag-01-B.svg
new file mode 100644
index 0000000000000000000000000000000000000000..41e99c0de44e90113b931369c51a49b103cb1519
--- /dev/null
+++ b/Tests/W3CTestSuite/images/struct-frag-01-B.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg11.dtd">
+<!-- =====================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!-- =====================================================================-->
+<!-- =====================================================================-->
+<!--                                                                      -->
+<!-- struct-frag-01.svg                                                   -->
+<!-- Test that 'svg' document fragments embedded
+	 within other 'svg' document fragments will render correctly                                                -->
+<!--                                                                      -->
+<!-- Author : Volodymyr Katrushenko, BitFlash Inc., 2002                                    -->
+
+
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="160" height="120">
+	<title id="test-title">struct-frag-01</title>
+	<desc id="test-desc">Test that 'svg' elements nested inside of each other will render correctly</desc>
+
+<!--Content of Test Case follows...=======================================-->
+
+	<g id="test-body-content">
+		<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="lowerRight" x="80" y="40" width="79" height="39">
+			<rect x="0" y="0" width="79" height="39" fill="red" />
+		</svg>
+		<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="upperRight" x="1" y="1" width="79" height="39">
+			<rect fill="blue"  x="0" y="0" width="79" height="39"/>
+			<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="childArea" x="20" y="10" width="40" height="20">
+				<rect fill="yellow"  x="0" y="0" width="40" height="20"/>
+			</svg>
+		</svg>
+	</g>
+
+	<!--======================================================================-->
+	<!--Legend and frame:      Title, suite and SVG document serialization====-->
+	<!--======================================================================-->
+	<rect id="slideframe" fill="none" stroke="#000000" stroke-width="1" x="1" y="1" width="158" height="118"/>
+	<g id="test-legend" fill="black" font-size="10" >
+
+		<rect x="3" y="81" width="154" height="36" fill="none" stroke="#000000" />
+		<rect x="3" y="93" width="154" height="12" fill="none" stroke="#000000" />
+		<rect x="66" y="105" width="52" height="12" fill="none" stroke="#000000" />
+
+		<text x="8" y="91">SVG v1.1 Conformance Suite</text>
+		<text x="8" y="103">struct-frag-01-B</text>
+			<a xlink:href="copyright-documents-19990405.html">
+				<text x="8" y="115" fill="blue">&#169;2002 W3C</text>
+			</a>
+		<text x="70" y="115">$Rev:1.0$</text>
+		<text x="122" y="115">Rel 1.1</text>
+	</g>
+
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/images/struct-image-01.jpg b/Tests/W3CTestSuite/images/struct-image-01.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a74e07223bd96dce886a0ef9f1643173f99a24ef
Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-image-01.jpg differ
diff --git a/Tests/W3CTestSuite/images/struct-image-01.png b/Tests/W3CTestSuite/images/struct-image-01.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ed08406dcf7b02daa56a0c93c28df5f4270f452
Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-image-01.png differ
diff --git a/Tests/W3CTestSuite/images/struct-image-02.jpg b/Tests/W3CTestSuite/images/struct-image-02.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9e44fec63b82bd9f26df380fb6759168ed87a633
Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-image-02.jpg differ
diff --git a/Tests/W3CTestSuite/images/struct-image-02.png b/Tests/W3CTestSuite/images/struct-image-02.png
new file mode 100644
index 0000000000000000000000000000000000000000..c609c46719e934087b1ca4befc08a32d10b5076b
Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-image-02.png differ
diff --git a/Tests/W3CTestSuite/images/struct-image-11-b-1.svg b/Tests/W3CTestSuite/images/struct-image-11-b-1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9ab4b1edeea9b3d56666a3d569d7d82f8db4691f
--- /dev/null
+++ b/Tests/W3CTestSuite/images/struct-image-11-b-1.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" viewBox="0 0 450 450" width="450" height="450">
+	<g id="rects">  
+		<rect width="450" height="450" fill="blue" onclick="evt.currentTarget.setAttribute('fill', 'red');"/>
+	</g>
+</svg>
+ 
diff --git a/Tests/W3CTestSuite/images/struct-image-11-b-2.svg b/Tests/W3CTestSuite/images/struct-image-11-b-2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..01f5d4c27e9b56f2bf48d1a95b5e7a837cc6f676
--- /dev/null
+++ b/Tests/W3CTestSuite/images/struct-image-11-b-2.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" viewBox="0 0 450 450" width="450" height="450">
+	<g id="rects">  
+		<rect width="450" height="450" style="fill:#00f" onclick="evt.currentTarget.setAttribute('style', 'fill: red');"/>
+	</g>
+</svg>
+ 
diff --git a/Tests/W3CTestSuite/images/struct-image-12-b-cycle.svg b/Tests/W3CTestSuite/images/struct-image-12-b-cycle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ce5fe148c3a85437723913dd39061fe8e695d44b
--- /dev/null
+++ b/Tests/W3CTestSuite/images/struct-image-12-b-cycle.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" viewBox="0 0 450 450" width="450" height="450">
+	<g id="drawRects">  
+		<rect x="225" y="0" width="225" height="225" fill="red"/>
+		<image x="0" y="225" width="225" height="225" xlink:href="../svg/struct-image-12-b.svg"/>
+		<rect x="0" y="225" width="225" height="225" fill="none" stroke="black"/>
+	</g>
+</svg>
+ 
diff --git a/Tests/W3CTestSuite/images/struct-image-12-b-nocycle.svg b/Tests/W3CTestSuite/images/struct-image-12-b-nocycle.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3d6440bb53c429ef503a27d390604dd8938a2108
--- /dev/null
+++ b/Tests/W3CTestSuite/images/struct-image-12-b-nocycle.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" viewBox="0 0 450 450" width="450" height="450">
+	<g id="drawRects">  
+		<rect x="225" y="0" width="225" height="225" fill="red"/>
+		<!--<image x="0" y="225" width="225" height="225" xlink:href="../svg/struct-image-12-b.svg"/>-->
+		<rect x="0" y="225" width="225" height="225" fill="none" stroke="black"/>
+	</g>
+</svg>
+ 
diff --git a/Tests/W3CTestSuite/images/struct-image-17-b-1.svg b/Tests/W3CTestSuite/images/struct-image-17-b-1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ff34bdea0f54918be8258b510da917c9aa9ee8d7
--- /dev/null
+++ b/Tests/W3CTestSuite/images/struct-image-17-b-1.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" id="root" width="100" height="100" viewBox="0 0 100 100">
+  <rect id="r" width="100" height="100" fill="green">
+    <set attributeName="fill" to="red"/>
+  </rect>
+  <script>document.getElementById("r").setAttribute("fill", "red");</script>
+</svg>
diff --git a/Tests/W3CTestSuite/images/struct-symbol-01.png b/Tests/W3CTestSuite/images/struct-symbol-01.png
new file mode 100644
index 0000000000000000000000000000000000000000..323a51fa7322a9cfe25c5367b8a8bf8d95f747c2
Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-symbol-01.png differ
diff --git a/Tests/W3CTestSuite/images/struct-use-06-b-1.svg b/Tests/W3CTestSuite/images/struct-use-06-b-1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..18af39ed54660d12fe18dc638b59f814ccb4e8d8
--- /dev/null
+++ b/Tests/W3CTestSuite/images/struct-use-06-b-1.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" viewBox="0 0 450 450" width="450" height="450">
+  <defs>
+    <rect id="rect1" width="120" height="120" fill="lime" stroke="lime" onclick="evt.target.correspondingElement.setAttribute('fill', 'red');"/>
+  </defs>
+	<g id="rects">
+		<rect id="rect2" width="450" height="450" fill="lime" stroke="lime" onclick="evt.target.correspondingElement.setAttribute('fill', 'red');"/>
+	</g>
+</svg>
+ 
diff --git a/Tests/W3CTestSuite/images/struct-use-08-b-cycles.svg b/Tests/W3CTestSuite/images/struct-use-08-b-cycles.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8f3c1a4ab92aa8735039ff5f3ef2a5cb1a13a67f
--- /dev/null
+++ b/Tests/W3CTestSuite/images/struct-use-08-b-cycles.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" viewBox="0 0 450 450" width="450" height="450">
+	<rect x="225" y="0" width="225" height="225" fill="red"/>
+	<image id="image" x="0" y="225" width="225" height="225" xlink:href="../svg/struct-use-08-b.svg"/>
+	<use id="use" x="0" y="0" width="225" height="225" xlink:href="../svg/struct-use-08-b.svg#svg-root"/>
+	<rect x="0" y="225" width="225" height="225" fill="none" stroke="black"/>
+</svg>
+ 
diff --git a/Tests/W3CTestSuite/images/svgRef1.svg b/Tests/W3CTestSuite/images/svgRef1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1df0237c90fe879b10e9524e429f0ec76beef336
--- /dev/null
+++ b/Tests/W3CTestSuite/images/svgRef1.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" 
+xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  >
+
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" >
+    <OperatorScript version="$Revision: 1.3 $" testname="" >
+      <Paragraph>
+      </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+
+  <title id="test-title" > </title>
+  <desc id="test-desc" > </desc>
+
+  <!--======================================================================-->
+  <!--Content of Test Case follows...                  =====================-->
+  <!--======================================================================-->
+  <g id="testContent" color="ghostwhite" >
+    <defs>
+      <linearGradient id="linearGrad1" gradientUnits="objectBoundingBox" y1="0" x1="0" y2="1" x2="1" >
+      	<stop offset="000%" stop-color="orange" />
+      	<stop offset="033%" stop-color="red"    />
+      	<stop offset="050%" stop-color="gold"   />
+      	<stop offset="066%" stop-color="red"    />
+      	<stop offset="100%" stop-color="orange" />
+      </linearGradient>
+
+      <radialGradient id="radialGrad1" gradientUnits="objectBoundingBox" cx="0.5" cy="0.5" r="0.5" fx="0.15" fy="0.15" >
+      	<stop offset="000%" stop-color="orange" />
+      	<stop offset="033%" stop-color="black"  />
+      	<stop offset="050%" stop-color="gold"   />
+      	<stop offset="066%" stop-color="black"  />
+      	<stop offset="100%" stop-color="orange" />
+      </radialGradient>
+    </defs>
+
+    <g id="objects1" >
+      <rect id="rect1" x="001" y="050" width="239" height="125" stroke="none" />
+      <rect id="rect2" x="240" y="050" width="239" height="125" stroke="none" />
+      <rect id="rect3" x="001" y="175" width="239" height="125" stroke="none" fill="currentColor"      />
+      <rect id="rect4" x="240" y="175" width="239" height="125" stroke="none" fill="url(#radialGrad1)" />
+    </g>
+  </g>
+
+  <text font-size="35" x="240" y="35" text-anchor="middle" fill="white" >svgRef1.svg</text>
+  <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.3 $</text>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+</svg>
diff --git a/Tests/W3CTestSuite/images/svgRef4.css b/Tests/W3CTestSuite/images/svgRef4.css
new file mode 100644
index 0000000000000000000000000000000000000000..0e4157b7a7ad48f1f02d620630017c3606cdc8b0
--- /dev/null
+++ b/Tests/W3CTestSuite/images/svgRef4.css
@@ -0,0 +1,4 @@
+rect     {fill:fuchsia;}
+circle   {fill:blue;}
+polygon  {fill:green;}
+ellipse  {fill:gold;}
diff --git a/Tests/W3CTestSuite/images/svgRef4.svg b/Tests/W3CTestSuite/images/svgRef4.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2f170fbd8e0caf4fdcb5c5a1a050bce0791a6147
--- /dev/null
+++ b/Tests/W3CTestSuite/images/svgRef4.svg
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<?xml-stylesheet type="text/css" href="svgRef4.css" ?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" 
+xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  >
+
+  <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" >
+    <OperatorScript version="$Revision: 1.2 $" testname="" >
+      <Paragraph>
+      </Paragraph>
+    </OperatorScript>
+  </SVGTestCase>
+
+  <title id="test-title" > </title>
+  <desc id="test-desc" > </desc>
+
+  <!--======================================================================-->
+  <!--Content of Test Case follows...                  =====================-->
+  <!--======================================================================-->
+  <defs>
+    <style type="text/css">
+      <![CDATA[
+        *        {stroke:black; stroke-width:1;}
+        text     {stroke:none;}
+
+        #test-frame {fill:none;}
+      ]]>
+    </style>
+  </defs>
+
+  <g id="testContent" >
+    <rect id="alpha" x="100" y="50" width="120" height="120" />
+    <circle id="beta" cx="320" cy="110" r="60" />
+    <polygon id="gamma" points="260,180 380,190 360,300" />
+    <ellipse id="delta" cx="160" cy="240" ry="60" rx="45" />
+  </g>
+
+  <text font-size="35" x="240" y="35" text-anchor="middle" >svgRef4.svg</text>
+  <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.2 $</text>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/images/text-align-01-f.svg b/Tests/W3CTestSuite/images/text-align-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b46aad9eecc558fa78f1d7db311840de045952ab
--- /dev/null
+++ b/Tests/W3CTestSuite/images/text-align-01-f.svg
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- text-alignment-BE-10.svg                                              -->
+<!-- renamed for 1.1 suite to text-align-01-f.svg                          -->
+<!--                                                                       -->
+<!-- Test 'text-anchor' and the 'baseline-shift' properties (horizontal).  -->
+<!--                                                                       -->
+<!-- Author : Jon Ferraiolo 06-Aug-2000                                    -->
+<!-- 1.1 revision by Vincent Hardy                                         -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  06-Aug-2000, JF: Serial#1 created.                                   -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+            <Paragraph>
+                Test 'text-anchor' and the 'baseline-shift' properties (horizonatal).
+            </Paragraph>
+            <Paragraph>
+                The topmost three lines test the three values for property 'text-anchor': start, middle and end.
+            </Paragraph>
+            <Paragraph>
+                The next three lines test property 'baseline-shift'.
+                The fourth line tests 'baseline-shift:7' (i.e., a length for 'baseline-shift').
+                The red text should shift upward by 7 pixels.
+                The fifth line tests 'baseline-shift:-70%' (i.e., a percentage for 'baseline-shift').
+                The red text should shift downward by 70% of the 'font-size'.
+                The sixth line tests the three keywords 'sub', 'super' and 'normal'.
+                You should see a subscript, superscript and return to normal.
+            </Paragraph>
+        </OperatorScript>
+    </SVGTestCase>
+
+	<title id="test-title">text-align-01-f</title>
+	<desc id="test-desc">Test 'text-anchor' and the 'baseline-shift' properties (horizontal).</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<text font-family="Helvetica" font-size="14"  x="40" y="20">Test 'text-anchor' and the 'baseline-shift' properties (horizontal).</text>
+		<g id="text-anchor" font-family="Helvetica" font-size="14" >
+			<g transform="translate(220,70)">
+				<line stroke="black"  x2="50"/>
+				<circle r="3"/>
+				<text text-anchor="start" fill="red" >Text-anchor:start</text>
+			</g>
+			<g transform="translate(200,100)">
+				<line stroke="black"  x1="-25" x2="25"/>
+				<circle r="3"/>
+				<text text-anchor="middle" fill="green" >Text-anchor:middle</text>
+			</g>
+			<g transform="translate(200,130)">
+				<line stroke="black"  x1="-50" x2="0"/>
+				<circle r="3"/>
+				<text text-anchor="end" fill="blue" >Text-anchor:end</text>
+			</g>
+		</g>
+		<g id="baseline-shift" font-family="Helvetica" font-size="14"  transform="translate(100,190)">
+			<text y="0">Normal text<tspan baseline-shift="7" fill="red" >baseline-shift:7</tspan>normal text</text>
+			<text y="40">Normal text<tspan baseline-shift="-70%" fill="red" >baseline-shift:-70%</tspan>normal text</text>
+			<text y="80">Normal text<tspan baseline-shift="sub" fill="red" >sub</tspan><tspan baseline-shift="super" fill="green" >super</tspan><tspan baseline-shift="baseline" fill="blue" >normal</tspan>text</text>
+		</g>
+	</g>
+    <!--======================================================================-->
+    <!--Legend and frame:      Title, suite and SVG document serialization====-->
+    <!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+        <path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12"  x="35" y="330">text-align-01-f</text>
+        <text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10"  x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+    </g>
+
+</svg>
diff --git a/Tests/W3CTestSuite/images/text-align-02-f.svg b/Tests/W3CTestSuite/images/text-align-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b3b289710dcafa36d633071c5941ea067da1d188
--- /dev/null
+++ b/Tests/W3CTestSuite/images/text-align-02-f.svg
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- text-textAnchor-BE-05.svg                                             -->
+<!-- renamed for 1.1 suite to text-align-02-f.svg                          -->
+<!--                                                                       -->
+<!-- Test viewer basic capability to handle 'text-anchor' property.        -->
+<!--                                                                       -->
+<!-- Author : Lofton Henderson, 05-aug-2000.                               -->
+<!-- 1.1 revision by Vincent Hardy                                         -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  05-aug-2000, LH: Serial#1 created.                                   -->
+<!--  23-aug-2000, LH=" add test-body-content 'g'" ser#2                    -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+            <Paragraph>
+                Test for viewer capibility to handle the basics of the 'textAnchor' 
+                alignment property for 'text' and related elements.
+            </Paragraph>
+            <Paragraph>
+                There are several groups of sub-tests.  The first group at the top has an 
+                initial sub-test with no text-anchor property ("none"), then 
+                tests the three values of the text-anchor property -- start, middle, end -- 
+                for simple 'text' elements.  In each case, the x-coordinate attribute of
+                the 'text' element corresponds to the position of the vertical red line.
+            </Paragraph>
+            <Paragraph>
+                The second group from the top contains sub-tests to verify that the
+                interpreter handles text-anchor when the text is comprised of other 
+                text related elements, 'tspan', 'tref', and 'textPath'.  
+                The text-anchor property is present on the containing 'text' element
+                in these cases, not on the contained child elements.
+            </Paragraph>
+            <Paragraph>
+                The third group from the top contains sub-tests to verify that
+                the interpreter correctly handles and applies the text-anchor 
+                properties when present on "chunks", which are comprised of tspan elements
+                with absolute positioning, within the containing 'text' element.
+            </Paragraph>
+            <Paragraph>
+                The rendered picture should match the reference image, except for
+                possible variations in the text fonts and layout (per CSS2 rules).
+            </Paragraph>
+            <Paragraph>
+                The test also uses the 'rect' element, 
+                as well as basic fill (solid primary colors), 
+                stroke (black 1-pixel lines), font-family (Helvetica) 
+                and font-size properties.
+            </Paragraph>
+        </OperatorScript>
+    </SVGTestCase>
+
+	<title id="test-title">text-align-03-f</title>
+	<desc id="test-desc">Test viewer basic capability to handle 'text-anchor' property.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<defs>
+			<text id="tref-internal-reference">end. text w/ tref</text>
+			<path id="myPath" d="M 150 135 375 135"/>
+		</defs>
+		<text x="105" y="25" font-family="Helvetica" font-size="14" fill="black" >Basic test of 'text-anchor' alignment property.</text>
+		<text x="45" y="375" font-size="12" >(The red line corresponds to the "initial current text position".)</text>
+		<text x="5" y="55" font-family="Helvetica" font-size="14" fill="black" >Simple text.</text>
+		<!-- Test cases -->
+		<g font-size="12" fill="blue" >
+                        <line x1="105" y1="60" x2="105" y2="145" stroke="red" />
+			<text x="105" y="75">none</text>
+			<text x="105" y="95" text-anchor="start" >start</text>
+			<text x="105" y="115" text-anchor="middle" >middle</text>
+			<text x="105" y="135" text-anchor="end" >end</text>
+		</g>
+		<!-- Labels -->
+		<g font-size="10" fill="black" >
+			<text x="20" y="75">none...</text>
+			<text x="20" y="95">start...</text>
+			<text x="20" y="115">middle...</text>
+			<text x="20" y="135">end...</text>
+		</g>
+		<text x="175" y="55" font-family="Helvetica" font-size="14" fill="black" >Tspan, tref, toap</text>
+		<!-- Test cases -->
+		<line x1="375" y1="60" x2="375" y2="145" stroke="red" />
+		<g font-family="Helvetica" font-size="10" fill="blue" >
+			<text x="375" y="75" text-anchor="start" >start. text w/<tspan xml:space="preserve" fill="red" > red tspan</tspan></text>
+			<text x="375" y="95" text-anchor="middle" >middle. text w/<tspan font-weight="bold"  xml:space="preserve"> bold tspan</tspan></text>
+			<text x="375" y="115" text-anchor="end" >
+				<tref xlink:href="#tref-internal-reference"/>
+			</text>
+			<text text-anchor="end" >
+				<textPath text-anchor="end"  startOffset="100%" xlink:href="#myPath">Text-anchor: end. Text on path</textPath>
+			</text>
+		</g>
+		<!-- Labels -->
+		<g font-family="Helvetica" font-size="10" fill="black" >
+			<text x="190" y="75">tspan...</text>
+			<text x="190" y="95">tspan...</text>
+			<text x="190" y="115">tref...</text>
+			<text x="190" y="135">textPath...</text>
+		</g>
+		<text x="5" y="190" font-family="Helvetica" font-size="14" fill="black" >Changes in chunks.</text>
+		<!-- Test cases -->
+		<line x1="225" y1="195" x2="225" y2="265" stroke="red" />
+		<g font-family="Helvetica" font-size="10" fill="blue" >
+			<text x="225" y="210" text-anchor="end" >Begin with "end" align,<tspan x="225" y="230" xml:space="preserve" text-anchor="middle" > and switch to middle in a tspan, </tspan><tspan x="225" y="250" text-anchor="start" >and finish with start in another tspan.</tspan></text>
+		</g>
+		<!-- Labels -->
+		<g font-family="Helvetica" font-size="10" fill="black" >
+			<text x="20" y="210">end...</text>
+			<text x="20" y="230">middle...</text>
+			<text x="20" y="250">start...</text>
+		</g>
+	</g>
+    <!--======================================================================-->
+    <!--Legend and frame:      Title, suite and SVG document serialization====-->
+    <!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+        <path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12"  x="35" y="330">text-align-02-f</text>
+        <text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10"  x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+    </g>
+
+</svg>
diff --git a/Tests/W3CTestSuite/images/text-align-03-f.svg b/Tests/W3CTestSuite/images/text-align-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..732e9d443223fe24fa7ffa4dc270d07579bae72b
--- /dev/null
+++ b/Tests/W3CTestSuite/images/text-align-03-f.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- text-alignment-BE-11.svg                                              -->
+<!-- renamed for 1.1 suite to text-align-03-f.svg                          -->
+<!--                                                                       -->
+<!-- Test 'text-anchor' and the 'baseline-shift' properties (vertical).    -->
+<!--                                                                       -->
+<!-- Author : Jon Ferraiolo 06-Aug-2000                                    -->
+<!-- 1.1 revision by Vincent Hardy                                         -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  06-Aug-2000, JF: Serial#1 created.                                   -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+            <Paragraph>
+                Test 'text-anchor' and the 'baseline-shift' properties (vertical).
+            </Paragraph>
+            <Paragraph>
+                The leftmost three lines test the three values for property 'text-anchor': start, middle and end.
+            </Paragraph>
+            <Paragraph>
+                The next three lines test property 'baseline-shift'.
+                The fourth line tests 'baseline-shift:7' (i.e., a length for 'baseline-shift').
+                The red text should shift right by 7 pixels.
+                The fifth line tests 'baseline-shift:-70%' (i.e., a percentage for 'baseline-shift').
+                The red text should shift left by 70% of the 'font-size'.
+                The sixth line tests the three keywords 'sub', 'super' and 'normal'.
+                You should see a subscript, superscript and return to normal.
+            </Paragraph>
+        </OperatorScript>
+    </SVGTestCase>
+
+	<title id="test-title">text-align-03-f</title>
+	<desc id="test-desc">Test 'text-anchor' and the 'baseline-shift' properties (vertical).</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<text font-family="Helvetica" font-size="16"  x="10" y="20">Test 'text-anchor' and the 'baseline-shift' properties (vertical).</text>
+                <text font-family="Helvetica" font-size="16"  x="80" y="80">text-anchor</text>
+                <text font-family="Helvetica" font-size="16"  x="335" y="80">baseline-shift</text>
+		<g writing-mode="tb" glyph-orientation-vertical="0" >
+			<g id="text-anchor" font-family="Helvetica" font-size="12"  transform="translate(80,150)">
+				<g transform="translate(0,0)">
+					<circle r="3"/>
+					<text text-anchor="start" fill="red" >start</text>
+				</g>
+				<g transform="translate(50,0)">
+					<circle r="3"/>
+					<text text-anchor="middle" fill="green" >middle</text>
+				</g>
+				<g transform="translate(100,0)">
+					<circle r="3"/>
+					<text text-anchor="end" fill="blue" >end</text>
+				</g>
+			</g>
+			<g id="baseline-shift" font-family="Helvetica" font-size="12"  transform="translate(330,95)">
+				<text x="0">none<tspan baseline-shift="7" fill="red" >shift by 7</tspan>none</text>
+				<text x="50">none<tspan baseline-shift="-70%" fill="red" >shift by -70%</tspan>none</text>
+				<text x="100">none<tspan baseline-shift="sub" fill="red" >sub</tspan><tspan baseline-shift="super" fill="green" >super</tspan><tspan baseline-shift="baseline" fill="blue" >no </tspan>shift</text>
+			</g>
+		</g>
+	</g>
+    <!--======================================================================-->
+    <!--Legend and frame:      Title, suite and SVG document serialization====-->
+    <!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+        <path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12"  x="35" y="330">text-align-03-f</text>
+        <text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10"  x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+    </g>
+
+</svg>
diff --git a/Tests/W3CTestSuite/images/text-altglyph-01-f.svg b/Tests/W3CTestSuite/images/text-altglyph-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bf10d740ee1bbd5f6959f7f677f97cc43197c011
--- /dev/null
+++ b/Tests/W3CTestSuite/images/text-altglyph-01-f.svg
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- text-altGlyph-BE-07.svg                                               -->
+<!-- renamed for 1.1 suite to text-altglyph-01-f.svg                       -->
+<!--                                                                       -->
+<!-- Test 'altGlyph' facilities and many-to-many chars to glyphs.          -->
+<!--                                                                       -->
+<!-- Author : Jon Ferraiolo 05-Aug-2000                                    -->
+<!-- 1.1 revision by Vincent Hardy                                         -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  05-Aug-2000, JF: Serial#1 created.                                   -->
+<!--  30-Oct-2000, JF: Fix many, many bugs in test case.                   -->
+<!--                   Update baseline names to match new spec.            -->
+<!--                   Update to serial#=2.                                -->
+<!--  07-Dec-2000, JF: Pretty formatted broke the test by introducing      -->
+<!--                   undesirable white space. I removed the white space. -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+            <Paragraph>
+                Test 'altGlyph' facilities and many-to-many chars to glyphs.
+            </Paragraph>
+            <Paragraph>
+                Three text strings show: the word "HAPPY" in red, the word "SAD" in green
+                and the word "SASSY" in blue.
+            </Paragraph>
+            <Paragraph>
+                The "HAPPY" and "SAD" strings test the 'altGlyph' facility and
+                the ability to map multiple glyphs to a single character.
+                All characters except the "D" are bracketed by 'altGlyph' elements
+                to use two different glyphs to render each character.
+                For "HAPPY", the horizontal stroke through the center of the characters
+                is a smile stroke.
+                For "SAD", the horizontal stroke through the center of the characters
+                is a frown stroke.
+            </Paragraph>
+            <Paragraph>
+                The "SASSY" string tests a single glyph representing multiple characters
+                (a ligature). The SVG font in the test case contains an "SS" ligature
+                so that the "SS" in "SASSY" is rendered with a single glyph, where
+                the two parts of the "SS" are connected.
+            </Paragraph>
+            <Paragraph>
+                This test requires some support for SVG fonts.
+            </Paragraph>
+        </OperatorScript>
+    </SVGTestCase>
+
+	<title id="test-title">text-altglyph-01-f</title>
+	<desc id="test-desc">Test 'altGlyph' facilities and many-to-many chars to glyphs.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content" stroke-miterlimit="4" >
+		<text font-family="Helvetica" font-size="14" text-anchor="middle"  x="225" y="30">Test 'altGlyph' facilities and many-to-many chars to glyphs</text>
+		<defs>
+			<!-- START OF ACTUAL TEST CASE CODE, which is active -->
+			<font id="Font1" horiz-adv-x="5">
+				<font-face font-family="HappySad" font-weight="bold" font-style="normal" units-per-em="8" cap-height="8" x-height="4" ascent="8" descent="2" alphabetic="0" mathematical="4" ideographic="-2" hanging="8">
+					<font-face-src>
+						<font-face-name name="HappySad"/>
+					</font-face-src>
+				</font-face>
+				<missing-glyph>
+					<path d="M1,3h2v2h-2z"/>
+				</missing-glyph>
+				<glyph id="A1" d="M0,0 L2,8 L4,0 M0,4 C1,3 3,3 4,4"/>
+				<glyph id="H1" d="M0,0 V8 M4,0 V8 M0,4 C1,3 3,3 4,4"/>
+				<glyph id="P1" d="M0,0 V8 H2 C3,8 4,7 4,6 V4 M0,4 C1,3 3,3 4,4"/>
+				<glyph id="S1" d="M0,4 V6 C0,7 1,8 2,8 C3,8 4,7 4,6                       M4,4 V2 C4,1 3,0 2,0 C1,0 0,1 0,2 M0,4 C1,3 3,3 4,4"/>
+				<glyph id="Y1" d="M0,8 V4 M4,8 V4 M2,4 V0 M0,4 C1,3 3,3 4,4"/>
+				<glyph id="A2" d="M0,0 L2,8 L4,0 M0,4 C1,5 3,5 4,4"/>
+				<glyph id="H2" d="M0,0 V8 M4,0 V8 M0,4 C1,5 3,5 4,4"/>
+				<glyph id="P2" d="M0,0 V8 H2 C3,8 4,7 4,6 V4 M0,4 C1,5 3,5 4,4"/>
+				<glyph id="S2" d="M0,4 V6 C0,7 1,8 2,8 C3,8 4,7 4,6                       M4,4 V2 C4,1 3,0 2,0 C1,0 0,1 0,2 M0,4 C1,5 3,5 4,4"/>
+				<glyph id="Y2" d="M0,8 V4 M4,8 V4 M2,4 V0 M0,4 C1,5 3,5 4,4"/>
+				<glyph id="SS" unicode="SS" horiz-adv-x="6" d="                     M0,4 V6 C0,7 0,8 1,8 C2,8 2,7 2,6                     M2,4 V2 C2,1 2,0 1,0 C0,0 0,1 0,2                     M3,4 V6 C3,7 3,8 4,8 C5,8 5,7 5,6                     M5,4 V2 C5,1 5,0 4,0 C3,0 3,1 3,2                     M0,4 H5                       "/>
+				<glyph id="A" unicode="A" d="M0,0 L2,8 L4,0 M0,4 H4"/>
+				<glyph id="D" unicode="D" d="M0,0 V8 C3,8 4,7 4,4 C4,1 3,0 0,0z"/>
+				<glyph id="S" unicode="S" d="M0,4 V6 C0,7 1,8 2,8 C3,8 4,7 4,6                       M4,4 V2 C4,1 3,0 2,0 C1,0 0,1 0,2 M0,4 H4"/>
+				<glyph id="Y" unicode="Y" d="M0,8 V4 M4,8 V4 M2,4 V0 M0,4 H4"/>
+			</font>
+			<altGlyphDef id="Afrown">
+				<glyphRef xlink:href="#A2"/>
+			</altGlyphDef>
+			<altGlyphDef id="Asmile">
+				<glyphRef xlink:href="#A1"/>
+			</altGlyphDef>
+			<altGlyphDef id="Hsmile">
+				<glyphRef xlink:href="#H1"/>
+			</altGlyphDef>
+			<altGlyphDef id="Psmile">
+				<glyphRef xlink:href="#P1"/>
+			</altGlyphDef>
+			<altGlyphDef id="Sfrown">
+				<glyphRef xlink:href="#S2"/>
+			</altGlyphDef>
+			<altGlyphDef id="Ysmile">
+				<glyphRef xlink:href="#Y1"/>
+			</altGlyphDef>
+			<!-- END OF ACTUAL TEST CASE CODE, which is active -->
+			<!-- START OF PATCH CODE, which is commented out
+    <path id="Abasepath" d="M0,0 L2,8 L4,0"/>
+    <path id="Dpath" d="M0,0 V8 C3,8 4,7 4,4 C4,1 3,0 0,0z"/>
+    <path id="Hbasepath" d="M0,0 V8 M4,0 V8"/>
+    <path id="Pbasepath" d="M0,0 V8 H2 C3,8 4,7 4,6 V4"/>
+    <path id="Sbasepath" d="M0,4 V6 C0,7 1,8 2,8 C3,8 4,7 4,6
+                    M4,4 V2 C4,1 3,0 2,0 C1,0 0,1 0,2"/>
+    <path id="Ybasepath" d="M0,8 V4 M4,8 V4 M2,4 V0"/>
+    <path id="frownpath" d="M-5,4 C-4,5 -2,5 -1,4"/>
+    <path id="smilepath" d="M-5,4 C-4,3 -2,3 -1,4"/>
+    <path id="SSpath" d="
+                    M0,4 V6 C0,7 0,8 1,8 C2,8 2,7 2,6
+                    M2,4 V2 C2,1 2,0 1,0 C0,0 0,1 0,2
+                    M3,4 V6 C3,7 3,8 4,8 C5,8 5,7 5,6
+                    M5,4 V2 C5,1 5,0 4,0 C3,0 3,1 3,2
+                    M0,4 H5
+                    "/>
+    <path id="Apath" d="M0,0 L2,8 L4,0 M0,4 H4"/>
+    <path id="Spath" d="M0,4 V6 C0,7 1,8 2,8 C3,8 4,7 4,6
+                    M4,4 V2 C4,1 3,0 2,0 C1,0 0,1 0,2 M0,4 H4"/>
+    <path id="Ypath" d="M0,8 V4 M4,8 V4 M2,4 V0 M0,4 H4"/>
+    END OF PATCH CODE, which is commented out -->
+		</defs>
+		<!-- START OF ACTUAL TEST CASE CODE, which is active -->
+		<g font-family="HappySad" font-size="60" fill="none" stroke-width="5" >
+			<text x="50" y="120" stroke="red" >
+<altGlyph xlink:href="#Hsmile">H</altGlyph>
+<altGlyph xlink:href="#Asmile">A</altGlyph>
+<altGlyph xlink:href="#Psmile">P</altGlyph>
+<altGlyph xlink:href="#Psmile">P</altGlyph>
+<altGlyph xlink:href="#Ysmile">Y</altGlyph>
+			</text>
+			<text x="50" y="200" stroke="green" ><altGlyph xlink:href="#Sfrown">S</altGlyph><altGlyph xlink:href="#Afrown">A</altGlyph>D</text>
+			<text x="50" y="280" stroke="blue" >SASSY</text>
+		</g>
+		<!-- END OF ACTUAL TEST CASE CODE, which is active. -->
+		<!-- START OF PATCH CODE, which is commented out
+  <g fill="none" stroke-width=".5" stroke-miterlimit="1" >
+    <g transform="translate(100, 150) scale(10) matrix(1 0 0 -1 0 0)"
+       stroke="red" >
+      <use x="0" xlink:href="#Hbasepath"/>
+      <use x="5" xlink:href="#smilepath"/>
+      <use x="5" xlink:href="#Abasepath"/>
+      <use x="10" xlink:href="#smilepath"/>
+      <use x="10" xlink:href="#Pbasepath"/>
+      <use x="15" xlink:href="#smilepath"/>
+      <use x="15" xlink:href="#Pbasepath"/>
+      <use x="20" xlink:href="#smilepath"/>
+      <use x="20" xlink:href="#Ybasepath"/>
+      <use x="25" xlink:href="#smilepath"/>
+    </g>
+    <g transform="translate(100, 250) scale(10) matrix(1 0 0 -1 0 0)"
+       stroke="green" >
+      <use x="0" xlink:href="#Sbasepath"/>
+      <use x="5" xlink:href="#frownpath"/>
+      <use x="5" xlink:href="#Abasepath"/>
+      <use x="10" xlink:href="#frownpath"/>
+      <use x="10" xlink:href="#Dpath"/>
+    </g>
+    <g transform="translate(100, 350) scale(10) matrix(1 0 0 -1 0 0)"
+       stroke="blue" >
+      <use x="0" xlink:href="#Spath"/>
+      <use x="5" xlink:href="#Apath"/>
+      <use x="10" xlink:href="#SSpath"/>
+      <use x="16" xlink:href="#Ypath"/>
+    </g>
+  </g>
+  END OF PATCH CODE, which is commented out -->
+	</g>
+    <!--======================================================================-->
+    <!--Legend and frame:      Title, suite and SVG document serialization====-->
+    <!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+        <path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12"  x="35" y="330">text-altglyph-01-f</text>
+        <text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10"  x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/text-extTref-BE-18-targ.svg b/Tests/W3CTestSuite/images/text-extTref-BE-18-targ.svg
new file mode 100644
index 0000000000000000000000000000000000000000..31c7943b82b61c927ca66e383e79559bb6cab20d
--- /dev/null
+++ b/Tests/W3CTestSuite/images/text-extTref-BE-18-targ.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> 
+  
+
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- text-extTref-BE-18-targ.svg                                           -->
+<!--                                                                       -->
+<!-- Auxiliary file to provide external 'tref' target string for           -->
+<!-- text-extTref-BE-18.svg.                                               -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+
+
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"   id="text-tref-BE-04"  width="450" height="450" >
+	
+<title id="test-title">text-extTref-BE-18-targ</title>
+
+<desc id="test-desc">
+Auxiliary ('tref' target) file for test case text-extTref-BE-18.
+</desc>
+
+<!-- There is no drawn content to this file, except for the legend & frame -->
+
+<g 	id="test-body-content">
+	
+	<defs>
+
+		<text id="tref-external-reference">Simple external referenced text.</text>
+
+	</defs>
+
+</g>
+                                                  
+
+<!-- ====================================================================== -->
+<!-- Legend & frame:        Title, suite and SVG document serialization==== -->
+<!-- ====================================================================== -->
+
+<g 	id="test-legend">	
+
+	<rect x="10" y="390" width="270" height="50" style="fill:none;stroke:#000000"/>
+	<path style="fill:none;stroke:#000000" d="M10 405 h270 M195 405 v35 M195 422.5 h85"/>
+	<text style="font-family:Helvetica;font-size:10" x="30" y="401">Scalable Vector Graphics (SVG) Conformance Suite</text>
+	<text style="font-family:Helvetica;font-size:12" x="65" y="428">text-extTref-BE-18-targ</text>
+	<text style="font-family:Helvetica;font-size:12" x="205" y="418">Release 1.0</text>
+	<text style="font-family:Helvetica;font-size:10" x="205" y="435">$Revision: 1.1 $</text>
+
+      <!-- Test-framing rectangle, drawn just inside viewport boundary. -->
+	<rect id="test-frame" x="1" y="1" width="448" height="448" style="fill:none; stroke:#000000"/>
+
+</g>
+
+
+</svg>
+
diff --git a/Tests/W3CTestSuite/images/text-intro-01-f.svg b/Tests/W3CTestSuite/images/text-intro-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f28b9acabc78b2eb4e9e8078add897106d8cd11a
--- /dev/null
+++ b/Tests/W3CTestSuite/images/text-intro-01-f.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- text-i18n-BE-09.svg                                                   -->
+<!-- renamed for 1.1 suite to text-intro-01-f.svg                          -->
+<!--                                                                       -->
+<!-- Test various aspects of internationalized text, including             -->
+<!-- left-to-right, right-to-left, top-to-bottom, and the                  -->
+<!-- following properties: 'writing-mode',                                 -->
+<!-- 'glyph-orientation-vertical', 'glyph-orientation-horizontal',         -->
+<!-- 'direction' and 'unicode-bidi'.                                       -->
+<!--                                                                       -->
+<!-- Author : Jon Ferraiolo 06-Aug-2000                                    -->
+<!-- 1.1 revision by Vincent Hardy                                         -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  06-Aug-2000, JF: Serial#1 created.                                   -->
+<!--  19-Aug-2000, LH: fix missing </g>.                                   -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+    <SVGTestCase  chapter="text" focus="i18n" testType="BE" BENumber="09" >
+        <OperatorScript>
+            <Paragraph>
+                Test various aspects of internationalized text, including
+                left-to-right, right-to-left, top-to-bottom, and the
+                following properties: 'writing-mode',
+                'glyph-orientation-vertical', 'glyph-orientation-horizontal',
+                'direction' and 'unicode-bidi'.
+            </Paragraph>
+            <Paragraph>
+                Various text strings in various languages appear. The main
+                purpose of the test is to verify that the correct characters
+                appear and that they appear in the correct order and orientation.
+                In particular, ensure that the three lines with Hebrew are ordered
+                correctly (test of bidi algorithms and support of 'unicode-bidi' and
+                'direction' properties). Also, ensure that the two lines of
+                vertical Japanese text have the proper orientation
+                (test of 'glyph-orientation-vertical' property).
+            </Paragraph>
+            <Paragraph>
+                This test requires installation of a system font that supports
+                the various international characters used in this test case.
+                Due to differences across systems regarding system fonts and
+                font handling, for some implementations editing of the test case
+                may be necessary to specify the correct system font. To
+                minimize system dependencies, a future version of this test
+                might include all necessary glyphs as an SVG font.
+            </Paragraph>
+        </OperatorScript>
+    </SVGTestCase>
+
+	<title id="test-title">text-intro-01-f</title>
+	<desc id="test-desc">Test various aspects of internationalized text, including left-to-right, right-to-left, top-to-bottom, and the following properties: 'writing-mode', 'glyph-orientation-vertical', 'glyph-orientation-horizontal', 'direction' and 'unicode-bidi'.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<text font-family="Helvetica" font-size="12" fill="red"  x="10" y="20">Test combinations of left-to-right, right-to-left, top-to-bottom text.</text>
+		<g font-size="12" font-family="'LucidaSansUnicode','MS-Gothic'" >
+			<text x="10" y="60">Polish: Mogę jeść szkło, i mi nie szkodzi.</text>
+			<text x="10" y="80">Russian: Я могу есть стекло, это мне не вредит.</text>
+			<text x="10" y="100" font-size="11" >Greek: Μπορώ να φάω σπασμένα γυαλιά χωρίς να πάθω τίποτα.</text>
+			<text x="10" y="120">Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+			<text x="10" y="140">Yiddish: איך קען עסן גלאָז און עס טוט מיר נישט װײ.</text>
+		</g>
+		<g font-size="12" font-family="'MS-Gothic','LucidaSansUnicode'" >
+			<text x="10" y="160">Chinese:我能吞下玻璃而不伤身体。</text>
+			<text x="10" y="180" font-size="12" >Japanese: 私はガラスを食べられます。それは私を傷つけません。</text>
+		</g>
+		<text font-family="Helvetica" font-size="12" fill="red"  x="10" y="200">unicode-bidi:bidi-override. First, direction:ltr, then direction:rtl.</text>
+		<g font-size="12" font-family="'LucidaSansUnicode','MS-Gothic'" >
+			<text x="10" y="220" unicode-bidi="bidi-override" direction="ltr" >Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+			<text x="10" y="240" unicode-bidi="bidi-override" direction="rtl" >Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+		</g>
+		<g font-size="12" font-family="'MS-Gothic','LucidaSansUnicode'" writing-mode="tb" ><text x="390" y="10">This text "我能吞下玻璃而不伤身体。" is in Chinese</text><text x="410" y="10" font-size="10">Japanese: 私はガラスを食べられます。それは私を傷つけません。</text><text x="430" y="10" glyph-orientation-vertical="0" font-size="10" >Japanese: 私はガラスを食べられます。それは私を傷つけません。</text></g>
+	</g>
+
+    <!--======================================================================-->
+    <!--Legend and frame:      Title, suite and SVG document serialization====-->
+    <!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+        <path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12"  x="35" y="330">text-intro-01-f</text>
+        <text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10"  x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/text-tref-01-f.svg b/Tests/W3CTestSuite/images/text-tref-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a4acdd73efae8fd1f7ecf3ac02fb6c048bbb54d3
--- /dev/null
+++ b/Tests/W3CTestSuite/images/text-tref-01-f.svg
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--                                                                       -->
+<!-- text-tref-BE-04.svg                                                   -->
+<!-- renamed for 1.1 suite to text-tref-01-f.svg                           -->
+<!--                                                                       -->
+<!-- Test basic capability to handle 'tref' element and attributes.        -->
+<!--                                                                       -->
+<!--                                                                       -->
+<!-- Author : Lofton Henderson, 20-Mar-2000.                               -->
+<!-- 1.1 revision by Vincent Hardy                                         -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--   20-Mar-2000, LH: Serial#1 created.                                  -->
+<!--   24-Apr-2000, LH=" fix bugs in 3rd and 4th tests" serial#2.           -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .         -->
+<!--   24-Oct-2000, LH=" rmv external reference, per f2f" ser#3             -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
+        <OperatorScript>
+            <Paragraph>
+                Test for viewer capability to handle the basics of the 'tref' element
+                and its attributes.  Basic referencing is tested, as well as 
+                the equivalence of 'tref' to 'tspan' in attributes handling.
+                There are five sub-tests.
+            </Paragraph>
+            <Paragraph>
+                The first box down from the top should contain green "Simple internal referenced text.",
+                which is obtained by a 'tref' element reference to a 'text' element in a 'defs'
+                section of this test file.
+            </Paragraph>
+            <Paragraph>
+                The second box from the top tests changing of visual properties 
+                of 'tref' substrings.  It should contain 
+                the string "Change color within string.", blue except for the single
+                word "color" in red.  Three 'tref' elements within the
+                'text' element each point to a substring in the 'defs' section of
+                this test file -- the second 'tref' sets fill color to red and the
+                others set fill color to blue.
+            </Paragraph>
+            <Paragraph>
+                The third box from the top tests an x-coordinate list in a 'tref', 
+                which individually places each character of the string "Char-by-char."  
+                The string is in a single 'text' element in the 'defs' section. 
+            </Paragraph>
+            <Paragraph>
+                The fourth box from the top tests that the x,y attributes of 'tref' behave
+                like those of 'tspan'.  The string
+                "Bouncing up and down." is formed by four 'tref' elements pointing to 'text'
+                elements in the 'defs' section, and each 'tref' is individually 
+                positioned by the x,y attributes.
+            </Paragraph>
+            <Paragraph>
+                The final sub-test actually involves the single-line test description at the very
+                top.  It is written initially in blue, and then at the end is over-written in
+                black by a 'tref' pointing to the 'desc' element of the test.
+            </Paragraph>
+            <Paragraph>
+                The rendered picture should match the reference image, except that some color
+                "fuzziness" in the top line may result from anti-aliasing.
+                Also, variations are possible in the text fonts and layout (per CSS2 rules).
+            </Paragraph>
+            <Paragraph>
+                The test also uses the 'rect' element, 
+                as well as basic fill (solid primary colors), 
+                stroke (black 1-pixel lines), font-family (Helvetica) 
+                and font-size properties.
+            </Paragraph>
+        </OperatorScript>
+    </SVGTestCase>
+
+	<title id="test-title">text-tref-01-f</title>
+	<desc id="test-desc">Basic test of 'tref' element and its attributes.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<defs>
+			<text id="tref-internal-reference">Simple internal referenced text.</text>
+			<text id="tref-property-change-1">Change</text>
+			<text id="tref-property-change-2">color</text>
+			<text id="tref-property-change-3">within string.</text>
+			<text id="tref-position-change-1">Bouncing</text>
+			<text id="tref-position-change-2">up</text>
+			<text id="tref-position-change-3">and</text>
+			<text id="tref-position-change-4">down.</text>
+			<text id="tref-coord-list">Char-by-char.</text>
+		</defs>
+		<!-- Test case label: this should be overwritten in black by final test. -->
+		<text x="75" y="25" font-family="Helvetica" font-size="12" fill="blue" >Basic test of 'tref' element and its attributes.</text>
+		<!-- First sub-test, internal tref reference, within this file -->
+		<text x="185" y="70" font-size="16" font-family="Helvetica" fill="green" >
+			<tref xlink:href="#tref-internal-reference"/>
+		</text>
+		<rect x="180" y="55" width="230" height="18" fill="none" stroke="black" />
+		<text x="180" y="85" font-family="Helvetica" font-size="12" fill="black" >'tref', within file</text>
+		<!-- Second sub-test, tref like tspan, for changing properties -->
+		<text x="30" y="120" font-size="16" font-family="Helvetica" fill="blue" >
+			<tref xlink:href="#tref-property-change-1"/>
+			<tref xlink:href="#tref-property-change-2" fill="red" />
+			<tref xlink:href="#tref-property-change-3"/>
+		</text>
+		<rect x="25" y="105" width="215" height="18" fill="none" stroke="black" />
+		<text x="25" y="135" font-family="Helvetica" font-size="12" fill="black" >multiple 'tref' and property changes</text>
+		<!-- Third sub-test, tref like tspan, x,y position list -->
+		<text font-size="16" font-family="Helvetica" fill="red" >
+			<tref x="185 200 215 230 245 260 275 290 305 320 335 350 365" y="165" xlink:href="#tref-coord-list"/>
+		</text>
+		<rect x="180" y="150" width="230" height="18" fill="none" stroke="black" />
+		<text x="180" y="180" font-family="Helvetica" font-size="12" fill="black" >'tref' with x-coordinate list</text>
+		<!-- Fourth sub-test, tref like tspan, changing x,y position -->
+		<text font-size="16" font-family="Helvetica" fill="blue" >
+			<tref x="30" y="230" xlink:href="#tref-position-change-1"/>
+			<tref x="101" y="214" xlink:href="#tref-position-change-2"/>
+			<tref x="123.5" y="230" xlink:href="#tref-position-change-3"/>
+			<tref x="154.5" y="246" xlink:href="#tref-position-change-4"/>
+		</text>
+		<rect x="25" y="199" width="215" height="56" fill="none" stroke="black" />
+		<text x="25" y="267" font-family="Helvetica" font-size="12" fill="black" >'tref's with x/y attribute changes</text>
+		<!-- Final test: overwrite test label in black, by tref to 'desc' element
+	instead of reference to 'text' element(s) within 'defs'. -->
+		<text x="75" y="25" font-family="Helvetica" font-size="12" fill="black" >
+			<tref xlink:href="#test-desc"/>
+		</text>
+		<!--  Patch simululation of above...
+	<text x="75" y="25" font-family="Helvetica" font-size="12" fill="black" >
+	Basic test of 'tref' element and its attributes.
+	</text>  
+-->
+	</g>
+    <!--======================================================================-->
+    <!--Legend and frame:      Title, suite and SVG document serialization====-->
+    <!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+        <path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12"  x="35" y="330">text-tref-01-f</text>
+        <text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10"  x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/text-ws-01-f.svg b/Tests/W3CTestSuite/images/text-ws-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..277a3aa65dd49aae2f7b30dbf8e22d72fa5f743d
--- /dev/null
+++ b/Tests/W3CTestSuite/images/text-ws-01-f.svg
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
+
+<!--======================================================================-->
+<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
+<!--=  Institute of Technology, Institut National de Recherche en        =-->
+<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
+<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
+<!--======================================================================-->
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!-- text-whiteSpace-BE-06.svg                                             -->
+<!-- renamed for 1.1 suite to text-ws-01-f.svg                             -->
+<!--                                                                       -->
+<!-- Test that viewer correctly handles whitespace                         -->
+<!--                  and the "space" attribute.                           -->
+<!--                                                                       -->
+<!-- Author : Lofton Henderson, 10-Apr-2000                                -->
+<!-- 1.1 revision by Vincent Hardy                                         -->
+<!--                                                                       -->
+<!-- History:                                                              -->
+<!--  10-Apr-2000, LH: Serial#1 created.                                   -->
+<!--  02-Jun-2000, LH=" rmv 1 extra SPACE before "indented", test 3" ser#2. -->
+<!--  03-Aug-2000, LH=" update DOCTYPE for CR DTD, 20000802" ser# .         -->
+<!--  12-Dec-2000, JF: test case 2 lost its linebreaks. restored.          -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!--======================================================================-->
+<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
+<!--= log messages, and therefore is no longer in the preceding preamble.=-->
+<!--======================================================================-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  id="svg-root" width="480" height="360">
+    <SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" >
+        <OperatorScript>
+            <Paragraph>
+                Test for viewer correct handling of whitespace and the 'xml:space' attribute.
+                There are four sub-tests, two for xml:space value "default" and two for
+                value "preserve".  In each test, the content of the 'text' element is written on
+                multiple lines.  The first test of each pair has indented text with leading
+                space characters, tabs, etc.  The second has no indentation, but a line break 
+                before the content and after it.  There are no space (or other whitespace)
+                characters at the ends of the lines.
+            </Paragraph>
+            <Paragraph>
+                The four test cases are self-descriptive.  From the top; first, "default" value applied to 
+                3 lines of content with indents, space characters, tabs, etc; second, "default" applied to two lines content with no indent; third, "preserve" applied to essentially the same content as first; fourth, "preserve" applied to essentially the same content as second.
+            </Paragraph>
+            <Paragraph>
+                In each test, the test string is in blue and the reference
+                image is in black.
+                The rendered picture should approximately match the reference image,
+                however there is some question in the reference image concerning the 
+                exact amount of space in the long-space areas. The third test uses the nbsp unicode character
+                to force the reference white spaces display, which provides an accurate match if the font in use
+                has the same metrics for that character and the default white space.
+                Also, variations are possible in the text fonts and layout (per CSS2 rules).
+            </Paragraph>
+            <Paragraph>
+                The test also uses the 'rect' element, 
+                as well as basic fill (solid primary colors), 
+                stroke (black 1-pixel lines), font-family (Helvetica) 
+                and font-size properties.
+            </Paragraph>
+        </OperatorScript>
+    </SVGTestCase>
+
+	<title id="test-title">text-ws-01-f</title>
+	<desc id="test-desc">Test that viewer correctly handle whitespace and the "space" attribute.</desc>
+	<!--======================================================================-->
+	<!--Content of Test Case follows...                  =====================-->
+	<!--======================================================================-->
+	<g id="test-body-content">
+		<text x="75" y="20" font-size="10" font-family="Verdana" fill="black">Basic test of xml:space attribute &amp; whitespace handling.</text>
+		<!-- Test 1:  indented, spaces, tabs, and space='default' -->
+		<!-- Features=" line break and spaces before 1st line" tabs before 2nd line; -->
+		<!-- spaces before 3rd line; no space at ends of any lines.                 -->
+		<text x="25" y="55" fill="blue" font-size="12" font-family="helvetica"  xml:space="default">WS example with indented lines.</text>
+		<text x="25" y="70" fill="black" font-size="12" font-family="helvetica" >WS example with indented lines.</text>
+		<rect x="25" y="80" width="100" height="12" fill="none" stroke="black" />
+		<text x="28" y="90" fill="black" font-size="10" font-family="helvetica" >xml:space='default'</text>
+		<!-- Test 2:  non-indented,and space='default' -->
+		<!-- Features="  line break before 1st line" no space either at beginning -->
+		<!-- or end of any lines.                                                -->
+		<text x="25" y="115" fill="blue" font-size="12" font-family="helvetica"  xml:space="default">
+WS example
+non-indented lines.
+    </text>
+		<text x="25" y="130" fill="black" font-size="12" font-family="helvetica" >WS examplenon-indented lines.</text>
+		<rect x="25" y="140" width="100" height="12" fill="none" stroke="black" />
+		<text x="28" y="150" fill="black" font-size="10" font-family="helvetica" >xml:space='default'</text>
+		<!-- Test 3:  indented, spaces, tabs, and space='preserve' -->
+		<!-- Features=" line break and spaces before 1st line" tabs before 2nd line; -->
+		<!-- spaces before 3rd line; no space at ends of any lines.                 -->
+		<text x="25" y="175" fill="blue" font-size="12" font-family="helvetica"  xml:space="preserve">
+                 WS example
+			with
+                  indented lines.
+    </text>
+    <!-- should match this, with blank replacing HT, LF, etc -->
+    <text x="25" y="190" fill="black" font-size="12" font-family="helvetica"  xml:space='preserve'>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;WS&#160;example&#160;&#160;&#160;&#160;with&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;indented&#160;lines.</text>
+
+		<rect x="25" y="200" width="100" height="12" fill="none" stroke="black" />
+		<text x="28" y="210" fill="black" font-size="10" font-family="helvetica" >xml:space='preserve'</text>
+		<!-- Test 4:  non-indented, and space='preserve' -->
+		<!-- Features="  no line break before 1st line" no space either at beginning -->
+		<!-- or end of any lines.                                                -->
+		<text x="25" y="235" fill="blue" font-size="12" font-family="helvetica"  xml:space="preserve">WS example
+non-indented lines.
+      </text>
+		<text x="25" y="250" fill="black" font-size="12" font-family="helvetica" >WS example non-indented lines.</text>
+		<rect x="25" y="260" width="100" height="12" fill="none" stroke="black" />
+		<text x="28" y="270" fill="black" font-size="10" font-family="helvetica" >xml:space='preserve'</text>
+	</g>
+
+    <!--======================================================================-->
+    <!--Legend and frame:      Title, suite and SVG document serialization====-->
+    <!--======================================================================-->
+    <g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
+        <rect x="10" y="300" width="275" height="50" fill="none" stroke="#000000" />
+        <path fill="none" stroke="#000000"  d="M10 315 h275 M205 315 v35 M10 336 h195 M205 332 h80"/>
+        <text x="25" y="311">Scalable Vector Graphics (SVG) v1.1 Conformance Suite</text>
+        <a xlink:href="copyright-documents-19990405.html">
+            <text x="12" y="347" fill="blue" >Copyright 2002 W3C. All Rights Reserved.</text>
+        </a>
+        <text font-size="12"  x="35" y="330">text-ws-01-f</text>
+        <text font-size="10"  x="210" y="327">$Revision: 1.1 $</text>
+        <text font-size="10"  x="210" y="345">Release 1.0</text>
+        <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000" />
+    </g>
+</svg>
diff --git a/Tests/W3CTestSuite/images/toc-sv.svg b/Tests/W3CTestSuite/images/toc-sv.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ae97d525feb56422033d4a77f8cf12e2c819e88a
--- /dev/null
+++ b/Tests/W3CTestSuite/images/toc-sv.svg
@@ -0,0 +1,114 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> 
+  
+
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="450" height="450">
+
+<title>SVG Conformance Tests -- TOC-SV</title>
+
+<style type="text/css">
+<!--
+text { font-family: helvetica; font-size: 12 }
+a > text { fill: blue}
+.verdana0    { font-family: Verdana; font-size: 10pt; word-spacing: 0;
+               text-anchor: start }
+.verdana1    { font-family: Verdana; font-size: 10pt; word-spacing: 0;
+               text-anchor: start;  }
+-->
+</style>
+
+<rect id="test-frame" x="1" y="1" width="448" height="448" style="fill:none; stroke:#000000"/>
+
+<text x="340" y="20" >26 December 2000</text>
+
+<text x="10" y="50" style="font-size:14">SVG Conformance Tests -- TOC (-SV) </text>
+<line x1="10" y1="55" x2="440" y2="55" style="stroke:gray"/>
+
+<text x="10" y="85" >Table of Contents</text>
+
+<a xlink:href="./rendering-orderGr-BE-01-nav.svg">
+<text x="10" y="105">3. Rendering Model</text>
+</a>
+
+<a xlink:href="./structure-empty-BE-01-nav.svg">
+<text x="10" y="120">5. Structure</text>
+</a>
+
+<a xlink:href="./style-selector-BE-01-nav.svg">
+<text x="10" y="135" >6. Styling</text>
+</a>
+
+<a xlink:href="./coords-units-BE-01-nav.svg">
+<text x="10" y="150">7. Coordinate Systems, Transformations, and Units</text>
+</a>
+
+<a xlink:href="./path-lines-BE-01-nav.svg">
+<text x="10" y="165" >8. Paths</text>
+</a>
+
+<a xlink:href="./shapes-rect-BE-01-nav.svg">
+<text x="10" y="180" >9. Basic Shapes</text>
+</a>
+
+<a xlink:href="./text-text-BE-01-nav.svg">
+<text x="10" y="195" >10. Text</text>
+</a>
+
+<a xlink:href="./paint-fill-BE-01-nav.svg">
+<text x="10" y="210" >11. Painting: Filling, Stroking, and Markers</text>
+</a>
+
+<a xlink:href="./color-datatypes-BE-01-nav.svg">
+<text x="10" y="225" >12. Color</text>
+</a>
+
+<a xlink:href="./gradPatt-linearGr-BE-01-nav.svg">
+<text x="10" y="240" >13. Gradients and Patterns</text>
+</a>
+
+<a xlink:href="./masking-clipPath-BE-01-nav.svg">
+<text x="10" y="255" >14. Clipping, Masking, Compositing</text>
+</a>
+
+<a xlink:href="./filters-many-BE-01-nav.svg">
+<text x="10" y="270" >15. Filter Effects</text>
+</a>
+
+<a xlink:href="./interact-zoomPan-BE-01-nav.svg">
+<text x="10" y="285" >16. Interactivity</text>
+</a>
+
+<a xlink:href="./linking-outBound-BE-01-nav.svg">
+<text x="10" y="300" >17. Linking</text>
+</a>
+
+<a xlink:href="./script-eventDom-BE-01-nav.svg">
+<text x="10" y="315" >18. Scripting</text>
+</a>
+
+<a xlink:href="./animation-overall-BE-01-nav.svg">
+<text x="10" y="330" >19. Animation</text>
+</a>
+
+<a xlink:href="./fonts-fontElement-BE-01-nav.svg">
+<text x="10" y="345" >20. Fonts</text>
+</a>
+
+<a xlink:href="./metadata-sample-BE-01-nav.svg">
+<text x="10" y="360" >21. Metadata</text>
+</a>
+
+<a xlink:href="./extend-multiNS-BE-01-nav.svg">
+<text x="10" y="375" >23. Extensibility</text>
+</a>
+
+<a xlink:href="./dom-core-BE-01-nav.svg">
+<text x="10" y="390" >B. DOM</text>
+</a>
+
+<!-- No related tests yet -->
+<text x="10" y="425" style="fill:black; ">F. Implementation requirements</text>
+<text x="10" y="440" style="fill:black; ">G. Conformance requirements</text>
+
+
+</svg>
diff --git a/Tests/W3CTestSuite/images/toc-svcmp.svg b/Tests/W3CTestSuite/images/toc-svcmp.svg
new file mode 100644
index 0000000000000000000000000000000000000000..69f89e4f1f6496677938723453a58c5102b5a80a
--- /dev/null
+++ b/Tests/W3CTestSuite/images/toc-svcmp.svg
@@ -0,0 +1,114 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> 
+  
+
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="450" height="450">
+
+<title>SVG Conformance Tests -- TOC-SV</title>
+
+<style type="text/css">
+<!--
+text { font-family: helvetica; font-size: 12 }
+a > text { fill: blue}
+.verdana0    { font-family: Verdana; font-size: 10pt; word-spacing: 0;
+               text-anchor: start }
+.verdana1    { font-family: Verdana; font-size: 10pt; word-spacing: 0;
+               text-anchor: start;  }
+-->
+</style>
+
+<rect id="test-frame" x="1" y="1" width="448" height="448" style="fill:none; stroke:#000000"/>
+
+<text x="340" y="20" >26 December 2000</text>
+
+<text x="10" y="50" style="font-size:14">SVG Conformance Tests -- TOC (-SV) </text>
+<line x1="10" y1="55" x2="440" y2="55" style="stroke:gray"/>
+
+<text x="10" y="85" >Table of Contents</text>
+
+<a xlink:href="./rendering-orderGr-BE-01-cmpnav.svg">
+<text x="10" y="105">3. Rendering Model</text>
+</a>
+
+<a xlink:href="./structure-empty-BE-01-cmpnav.svg">
+<text x="10" y="120">5. Structure</text>
+</a>
+
+<a xlink:href="./style-selector-BE-01-cmpnav.svg">
+<text x="10" y="135" >6. Styling</text>
+</a>
+
+<a xlink:href="./coords-units-BE-01-cmpnav.svg">
+<text x="10" y="150">7. Coordinate Systems, Transformations, and Units</text>
+</a>
+
+<a xlink:href="./path-lines-BE-01-cmpnav.svg">
+<text x="10" y="165" >8. Paths</text>
+</a>
+
+<a xlink:href="./shapes-rect-BE-01-cmpnav.svg">
+<text x="10" y="180" >9. Basic Shapes</text>
+</a>
+
+<a xlink:href="./text-text-BE-01-cmpnav.svg">
+<text x="10" y="195" >10. Text</text>
+</a>
+
+<a xlink:href="./paint-fill-BE-01-cmpnav.svg">
+<text x="10" y="210" >11. Painting: Filling, Stroking, and Markers</text>
+</a>
+
+<a xlink:href="./color-datatypes-BE-01-cmpnav.svg">
+<text x="10" y="225" >12. Color</text>
+</a>
+
+<a xlink:href="./gradPatt-linearGr-BE-01-cmpnav.svg">
+<text x="10" y="240" >13. Gradients and Patterns</text>
+</a>
+
+<a xlink:href="./masking-clipPath-BE-01-cmpnav.svg">
+<text x="10" y="255" >14. Clipping, Masking, Compositing</text>
+</a>
+
+<a xlink:href="./filters-many-BE-01-cmpnav.svg">
+<text x="10" y="270" >15. Filter Effects</text>
+</a>
+
+<a xlink:href="./interact-zoomPan-BE-01-cmpnav.svg">
+<text x="10" y="285" >16. Interactivity</text>
+</a>
+
+<a xlink:href="./linking-outBound-BE-01-cmpnav.svg">
+<text x="10" y="300" >17. Linking</text>
+</a>
+
+<a xlink:href="./script-eventDom-BE-01-cmpnav.svg">
+<text x="10" y="315" >18. Scripting</text>
+</a>
+
+<a xlink:href="./animation-overall-BE-01-cmpnav.svg">
+<text x="10" y="330" >19. Animation</text>
+</a>
+
+<a xlink:href="./fonts-fontElement-BE-01-cmpnav.svg">
+<text x="10" y="345" >20. Fonts</text>
+</a>
+
+<a xlink:href="./metadata-sample-BE-01-cmpnav.svg">
+<text x="10" y="360" >21. Metadata</text>
+</a>
+
+<a xlink:href="./extend-multiNS-BE-01-cmpnav.svg">
+<text x="10" y="375" >23. Extensibility</text>
+</a>
+
+<a xlink:href="./dom-core-BE-01-cmpnav.svg">
+<text x="10" y="390" >B. DOM</text>
+</a>
+
+<!-- No related tests yet -->
+<text x="10" y="425" style="fill:black; ">F. Implementation requirements</text>
+<text x="10" y="440" style="fill:black; ">G. Conformance requirements</text>
+
+
+</svg>
diff --git a/Tests/W3CTestSuite/images/townsville.jpg b/Tests/W3CTestSuite/images/townsville.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3a4a19944d719e2d54218d4ecb505a0b9e07b06b
Binary files /dev/null and b/Tests/W3CTestSuite/images/townsville.jpg differ
diff --git a/Tests/W3CTestSuite/images/tree.jpg b/Tests/W3CTestSuite/images/tree.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9d7da4ae1b00f09dd39dc5188800694c1e8305b1
Binary files /dev/null and b/Tests/W3CTestSuite/images/tree.jpg differ
diff --git a/Tests/W3CTestSuite/images/uparrow.png b/Tests/W3CTestSuite/images/uparrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fe9f09660eb0b11abdce50d81daf3216487cac8
Binary files /dev/null and b/Tests/W3CTestSuite/images/uparrow.png differ
diff --git a/Tests/W3CTestSuite/png/__AJ_Digital_Camera.png b/Tests/W3CTestSuite/png/__AJ_Digital_Camera.png
new file mode 100644
index 0000000000000000000000000000000000000000..9f0855357ae74e7e2018db90c5425b1e3307e51e
Binary files /dev/null and b/Tests/W3CTestSuite/png/__AJ_Digital_Camera.png differ
diff --git a/Tests/W3CTestSuite/png/__issue-34-02.png b/Tests/W3CTestSuite/png/__issue-34-02.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef6d7a433904f662b04ac7058b8766717fc16914
Binary files /dev/null and b/Tests/W3CTestSuite/png/__issue-34-02.png differ
diff --git a/Tests/W3CTestSuite/png/__issue-83-01.png b/Tests/W3CTestSuite/png/__issue-83-01.png
new file mode 100644
index 0000000000000000000000000000000000000000..62dabc8498de2aaf6f78a31aacbf34c0f1384f1f
Binary files /dev/null and b/Tests/W3CTestSuite/png/__issue-83-01.png differ
diff --git a/Tests/W3CTestSuite/png/__tiger.png b/Tests/W3CTestSuite/png/__tiger.png
new file mode 100644
index 0000000000000000000000000000000000000000..4113744d5af0d0f8825892ac9c221be6c8e1680d
Binary files /dev/null and b/Tests/W3CTestSuite/png/__tiger.png differ
diff --git a/Tests/W3CTestSuite/png/animate-dom-01-f.png b/Tests/W3CTestSuite/png/animate-dom-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..06a21476aa2dd9d10f08f0562ad8b29b8d68e2a1
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-dom-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/animate-dom-02-f.png b/Tests/W3CTestSuite/png/animate-dom-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a165de20b52edd933c23fce6da9f155c2d34307
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-dom-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-02-t.png b/Tests/W3CTestSuite/png/animate-elem-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a89351c55259705eb3291a8f562ee0255d3714d
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-03-t.png b/Tests/W3CTestSuite/png/animate-elem-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c75d3243f2d751950033e700b41644dc0c6a26f
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-04-t.png b/Tests/W3CTestSuite/png/animate-elem-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c56eeb6d3adf6427f168c365a1f526cd528747ce
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-05-t.png b/Tests/W3CTestSuite/png/animate-elem-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..ff8c5013356dc087368541e4c0b512b3342b5280
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-06-t.png b/Tests/W3CTestSuite/png/animate-elem-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..dbba56a676faebd6f02849cb82d8cea626da0dce
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-07-t.png b/Tests/W3CTestSuite/png/animate-elem-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..53cc00aa76cd31e2e9c07a9f8b36809e03412810
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-08-t.png b/Tests/W3CTestSuite/png/animate-elem-08-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..55d4e90225f5d1c040b2e2eedf43c51bb06c7cc9
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-08-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-09-t.png b/Tests/W3CTestSuite/png/animate-elem-09-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..48e3bdc0326e729ea9aed1a84ee48082466e6a62
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-09-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-10-t.png b/Tests/W3CTestSuite/png/animate-elem-10-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..7fd463f87359f46efedd5cf005819a9dbe40aa77
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-10-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-11-t.png b/Tests/W3CTestSuite/png/animate-elem-11-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb27d6e2c6d970ec13effb3dd5d67648ace531ba
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-11-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-12-t.png b/Tests/W3CTestSuite/png/animate-elem-12-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..7fd463f87359f46efedd5cf005819a9dbe40aa77
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-12-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-13-t.png b/Tests/W3CTestSuite/png/animate-elem-13-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..69c44932512dd6b3b7e36acb5ededde1ec2dd460
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-13-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-14-t.png b/Tests/W3CTestSuite/png/animate-elem-14-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..7797ee6cac060e87df0066cb8f5084d7dee0ebcf
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-14-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-15-t.png b/Tests/W3CTestSuite/png/animate-elem-15-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ecb6e6ce2f9cd28fb240faaf6ceb34b205b7306
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-15-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-17-t.png b/Tests/W3CTestSuite/png/animate-elem-17-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..84b4699e449577044a63839f73c1dc1805009b99
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-17-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-19-t.png b/Tests/W3CTestSuite/png/animate-elem-19-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..bfb0ebb14abb585173c381e8e5cd83fe1fb06527
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-19-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-20-t.png b/Tests/W3CTestSuite/png/animate-elem-20-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2290932a96960598b350740d64c06b17d4d2b0f
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-20-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-21-t.png b/Tests/W3CTestSuite/png/animate-elem-21-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..37aa901b2cdca13603a733f10c747df1988de3da
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-21-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-22-b.png b/Tests/W3CTestSuite/png/animate-elem-22-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c89c368ca3221d215dc32ea50fcea9666501973
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-22-b.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-23-t.png b/Tests/W3CTestSuite/png/animate-elem-23-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b006e2a553e8d7904e39cf1285813f3144c3dc1
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-23-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-24-t.png b/Tests/W3CTestSuite/png/animate-elem-24-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed75981b81735f647d5fe82916f930364a65fbe7
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-24-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-25-t.png b/Tests/W3CTestSuite/png/animate-elem-25-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2822f29be208c68bb7376ad73357da9f1d2ad91
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-25-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-26-t.png b/Tests/W3CTestSuite/png/animate-elem-26-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..79d530a6d9274f59da8858ec60aa5afa415cebef
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-26-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-27-t.png b/Tests/W3CTestSuite/png/animate-elem-27-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..878a31de40bcdda488b433e6ab56907b24869f0d
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-27-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-28-t.png b/Tests/W3CTestSuite/png/animate-elem-28-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..d553960bc6e43b04c09a0cb8d4b41b4b53f2467a
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-28-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-29-b.png b/Tests/W3CTestSuite/png/animate-elem-29-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..c895ad5cb1d0c495edf8fb586a0d78043b16fc10
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-29-b.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-30-t.png b/Tests/W3CTestSuite/png/animate-elem-30-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..228a7ea8b62c5cff6e79fdcc65864df2b191b9ec
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-30-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-31-t.png b/Tests/W3CTestSuite/png/animate-elem-31-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..20dad72f033a165ccc8b2712353a826536b8eee0
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-31-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-32-t.png b/Tests/W3CTestSuite/png/animate-elem-32-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..81618515feb029d029a04b3ec53790d257cdff90
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-32-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-33-t.png b/Tests/W3CTestSuite/png/animate-elem-33-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..42501533fa8c99ed21db9c591b59fba14490ae07
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-33-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-34-t.png b/Tests/W3CTestSuite/png/animate-elem-34-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9bde89b63e46f5544e29651ea92540234a5529e
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-34-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-35-t.png b/Tests/W3CTestSuite/png/animate-elem-35-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..fea2db350800f74a3f9dfd8edca9bd82432278e7
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-35-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-36-t.png b/Tests/W3CTestSuite/png/animate-elem-36-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ff4b613742db0deb4d37efa3a215287d5ba3ddf
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-36-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-37-t.png b/Tests/W3CTestSuite/png/animate-elem-37-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..dbab0095c3d3f0f945fded4300b8a7faef55a39e
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-37-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-38-t.png b/Tests/W3CTestSuite/png/animate-elem-38-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..29c1b2ddec5ffb2bcfef09b6f33950d7194d76ef
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-38-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-39-t.png b/Tests/W3CTestSuite/png/animate-elem-39-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..0438d6857e242f44d89019f8dadbf8295fc4d637
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-39-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-40-t.png b/Tests/W3CTestSuite/png/animate-elem-40-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..d7e12aefda66f7d81c2dc502d7ac043c637d46ec
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-40-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-41-t.png b/Tests/W3CTestSuite/png/animate-elem-41-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..20bbb6e98e3f1fe9c78e75ae86bdc8220698c42a
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-41-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-42-t.png b/Tests/W3CTestSuite/png/animate-elem-42-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-42-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-43-t.png b/Tests/W3CTestSuite/png/animate-elem-43-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-43-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-44-t.png b/Tests/W3CTestSuite/png/animate-elem-44-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a8b41718628ed110de435fbce6a02e6aaac8696
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-44-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-45-t.png b/Tests/W3CTestSuite/png/animate-elem-45-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-45-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-46-t.png b/Tests/W3CTestSuite/png/animate-elem-46-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..330c176df410f1d339a8d0fd3bbbabb45b32e501
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-46-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-47-t.png b/Tests/W3CTestSuite/png/animate-elem-47-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-47-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-48-t.png b/Tests/W3CTestSuite/png/animate-elem-48-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-48-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-49-t.png b/Tests/W3CTestSuite/png/animate-elem-49-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-49-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-50-t.png b/Tests/W3CTestSuite/png/animate-elem-50-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-50-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-51-t.png b/Tests/W3CTestSuite/png/animate-elem-51-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-51-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-52-t.png b/Tests/W3CTestSuite/png/animate-elem-52-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..5801ac240515b191bd89fe38508c59ebf04b16da
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-52-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-53-t.png b/Tests/W3CTestSuite/png/animate-elem-53-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4de7915a29748b45421f70933aa4fd216137884e
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-53-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-60-t.png b/Tests/W3CTestSuite/png/animate-elem-60-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..331701406250a467c2e03e87e2ab2ec0078b0248
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-60-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-61-t.png b/Tests/W3CTestSuite/png/animate-elem-61-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..24e2110cdfda97ffb17bd6a85ef9ebd22e3792d1
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-61-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-62-t.png b/Tests/W3CTestSuite/png/animate-elem-62-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd9d8dc9211ea9a58093959dab97fbeb3bf42c2d
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-62-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-63-t.png b/Tests/W3CTestSuite/png/animate-elem-63-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..097b6bc3a250ba7c81689cc9523c6f1016cd8c5f
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-63-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-64-t.png b/Tests/W3CTestSuite/png/animate-elem-64-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfdd63bfc8d28028871fc4d5362a63b5179d213f
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-64-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-65-t.png b/Tests/W3CTestSuite/png/animate-elem-65-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..73f15cd05a39ed040433ed4499b0e62f46f03beb
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-65-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-66-t.png b/Tests/W3CTestSuite/png/animate-elem-66-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..0982da1e158e58dde72e7031cd2689082ed1fe1d
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-66-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-67-t.png b/Tests/W3CTestSuite/png/animate-elem-67-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa756aed2c3059a1b750616bcca3f62c5086ac67
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-67-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-68-t.png b/Tests/W3CTestSuite/png/animate-elem-68-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..fcea521f34ca8a8188d1a832613f85e7c4804954
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-68-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-69-t.png b/Tests/W3CTestSuite/png/animate-elem-69-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a220801e7b8fdf4d59082c407b19e6ced9f5f2b
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-69-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-70-t.png b/Tests/W3CTestSuite/png/animate-elem-70-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..301cd48cad3cc722e7a63f08a18a335487b02a12
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-70-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-77-t.png b/Tests/W3CTestSuite/png/animate-elem-77-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5a1cea1e56a6ce8054ba93aa328c2ec44758aa5
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-77-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-78-t.png b/Tests/W3CTestSuite/png/animate-elem-78-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..99adc7724afcb870f294d186db67ff66b3f195e2
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-78-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-80-t.png b/Tests/W3CTestSuite/png/animate-elem-80-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..abdd081878e6f1d631e50271f66ab79c342f5c05
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-80-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-81-t.png b/Tests/W3CTestSuite/png/animate-elem-81-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c1ae2aa8038d1f15c468930b7233049c0fa83ed7
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-81-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-82-t.png b/Tests/W3CTestSuite/png/animate-elem-82-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7160b2e8d5e6ca27ac9b4234b108ca51e6a98d6
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-82-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-83-t.png b/Tests/W3CTestSuite/png/animate-elem-83-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..500cf470507010c9152f6494d6fa46a0436e98b7
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-83-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-84-t.png b/Tests/W3CTestSuite/png/animate-elem-84-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f42ae902c08ac3ee8dc632156d8dc48fb8d926c3
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-84-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-85-t.png b/Tests/W3CTestSuite/png/animate-elem-85-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2228ecb54a99e4471cc51b41b420b3e94a7545a
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-85-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-86-t.png b/Tests/W3CTestSuite/png/animate-elem-86-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d466247bbccdd729cc2c92c9b102f21c606556a
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-86-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-87-t.png b/Tests/W3CTestSuite/png/animate-elem-87-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9da6726236a442e7ff17eb4e65d81c8df17799d
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-87-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-88-t.png b/Tests/W3CTestSuite/png/animate-elem-88-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..29db5e639491e7f57af3674eb4e91fb6f4df8e5b
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-88-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-89-t.png b/Tests/W3CTestSuite/png/animate-elem-89-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..5fd198c0031e1a443944a74bb668a1f3a3377034
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-89-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-90-b.png b/Tests/W3CTestSuite/png/animate-elem-90-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9563a29ba32d04047beeabe5dc9f93b63ae74c3
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-90-b.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-91-t.png b/Tests/W3CTestSuite/png/animate-elem-91-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..95f1e5f887683c82ca05dc16b710711d4ae677d0
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-91-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-elem-92-t.png b/Tests/W3CTestSuite/png/animate-elem-92-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..482fcb2ce751f3ecd72dd7b5d2cf18f72318eb06
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-92-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-interact-events-01-t.png b/Tests/W3CTestSuite/png/animate-interact-events-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f68d821e5235cf03adf8bc6fab2963462e1cee0c
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-events-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-interact-pevents-01-t.png b/Tests/W3CTestSuite/png/animate-interact-pevents-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..fce3827e5e0513fea471650f92b6713766e53bb4
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-pevents-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-interact-pevents-02-t.png b/Tests/W3CTestSuite/png/animate-interact-pevents-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..aebf107d0a0b29527de91ccc238762ed9afc453b
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-pevents-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-interact-pevents-03-t.png b/Tests/W3CTestSuite/png/animate-interact-pevents-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc13f0d7f659b470b10cd99e7ee0bfc0c2cc993b
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-pevents-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-interact-pevents-04-t.png b/Tests/W3CTestSuite/png/animate-interact-pevents-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..34923f2db203d9ca555ba837a5355812a47d7706
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-pevents-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/animate-pservers-grad-01-b.png b/Tests/W3CTestSuite/png/animate-pservers-grad-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..21af9e3a07b6237e9c9ec321f29f1b619512f400
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-pservers-grad-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/animate-script-elem-01-b.png b/Tests/W3CTestSuite/png/animate-script-elem-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a313957d97c02683be0bc4bab79099ac9d0ea5cb
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-script-elem-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/animate-struct-dom-01-b.png b/Tests/W3CTestSuite/png/animate-struct-dom-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed0e5b0d15bfcdb79bd0fba3e97ca7981bf8671e
Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-struct-dom-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/color-prof-01-f.png b/Tests/W3CTestSuite/png/color-prof-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..94187c494e215f39a378512b574496d041c07dcd
Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prof-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/color-prop-01-b.png b/Tests/W3CTestSuite/png/color-prop-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc6be8f8117de75af12e46a96aaac66a328cc02d
Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/color-prop-02-f.png b/Tests/W3CTestSuite/png/color-prop-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4675f9acb4fb64e8a7634a7e1c69fddb1226775
Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/color-prop-03-t.png b/Tests/W3CTestSuite/png/color-prop-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e8d9be527ae4cbc1803b2fbc5decf55f3366b857
Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/color-prop-04-t.png b/Tests/W3CTestSuite/png/color-prop-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..96b454a0ed524abacf2b6b110196549fee1c2754
Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/color-prop-05-t.png b/Tests/W3CTestSuite/png/color-prop-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..82da712f9bb71e9724dc68649f95bcb09262cae8
Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/conform-viewers-01-t.png b/Tests/W3CTestSuite/png/conform-viewers-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..5335cb893a5dc0a9eaf53f0538fbbfd8c0bc8ba2
Binary files /dev/null and b/Tests/W3CTestSuite/png/conform-viewers-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/conform-viewers-02-f.png b/Tests/W3CTestSuite/png/conform-viewers-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a1a73f1cf8a5c130342f0d0012bed6487c1539f
Binary files /dev/null and b/Tests/W3CTestSuite/png/conform-viewers-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/conform-viewers-03-f.png b/Tests/W3CTestSuite/png/conform-viewers-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..2cf88d32cc9bced52afca3d3a2bbd0611a088308
Binary files /dev/null and b/Tests/W3CTestSuite/png/conform-viewers-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-coord-01-t.png b/Tests/W3CTestSuite/png/coords-coord-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..358da402953f463546cbc1eef1e6ba12f407097b
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-coord-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-coord-02-t.png b/Tests/W3CTestSuite/png/coords-coord-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c01f5d1bfa20a56ed3f470eb1c89bf2dc710561e
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-coord-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-dom-01-f.png b/Tests/W3CTestSuite/png/coords-dom-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..9507029f7dbef085363d0f6b2f27284553e653cb
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-dom-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-dom-02-f.png b/Tests/W3CTestSuite/png/coords-dom-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..f43a3754456ad3ecbf2907bfaa2507c68037fb23
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-dom-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-dom-03-f.png b/Tests/W3CTestSuite/png/coords-dom-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..93eea682db1bd4abb51d20daef4892eea3bf3a76
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-dom-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-dom-04-f.png b/Tests/W3CTestSuite/png/coords-dom-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..d7cfbde735ffe3be638e58008e697129f5e564bd
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-dom-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-01-b.png b/Tests/W3CTestSuite/png/coords-trans-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f5df9fbbe7e230fbf6258fc37300a04e9e92031
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-02-t.png b/Tests/W3CTestSuite/png/coords-trans-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..5177150ef69a5dd51815c048a150ade2111f07be
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-03-t.png b/Tests/W3CTestSuite/png/coords-trans-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..2342067fd01382946da0b44e2d3e5d775e28cb7b
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-04-t.png b/Tests/W3CTestSuite/png/coords-trans-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f4ebbf39bce0433f5bbf951339c9d38e98c518b
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-05-t.png b/Tests/W3CTestSuite/png/coords-trans-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..b3eecace00ea65c59cd42c9fb323cca17e4890fa
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-06-t.png b/Tests/W3CTestSuite/png/coords-trans-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f16a70c009abf98384d8b228d2053683e7578f6a
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-07-t.png b/Tests/W3CTestSuite/png/coords-trans-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..839d9319dfa3698d88953f77e12cc569de2f572f
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-08-t.png b/Tests/W3CTestSuite/png/coords-trans-08-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc6776f21a5eb5b88023c090ae21a0ed1a9a906b
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-08-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-09-t.png b/Tests/W3CTestSuite/png/coords-trans-09-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c7d22a1c566e35a21d44c89cfc11ac1688cd3070
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-09-t.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-10-f.png b/Tests/W3CTestSuite/png/coords-trans-10-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..21d6111934e761a8d964d4b02a0ce176adfa4619
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-10-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-11-f.png b/Tests/W3CTestSuite/png/coords-trans-11-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..f53ba6996e64013edde617313a5f6d4833754c17
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-11-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-12-f.png b/Tests/W3CTestSuite/png/coords-trans-12-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5f2cd3050d206d8023cbb9f7985352cbc87a079
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-12-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-13-f.png b/Tests/W3CTestSuite/png/coords-trans-13-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..44a238f574556a36eccc0dcdd6ad32f207464930
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-13-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-trans-14-f.png b/Tests/W3CTestSuite/png/coords-trans-14-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..1173e69147d5c50a99d7c154d62d3de86e108d91
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-14-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-transformattr-01-f.png b/Tests/W3CTestSuite/png/coords-transformattr-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..897068d6db8c7bd0acbab76c1dfb283ce66e9de1
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-transformattr-02-f.png b/Tests/W3CTestSuite/png/coords-transformattr-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..c920e98767e3b7d9403a3b0c17bce11a8e35ec8c
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-transformattr-03-f.png b/Tests/W3CTestSuite/png/coords-transformattr-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..f11595cb0ce0c2fb421fe7f2eb6593b7563753a2
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-transformattr-04-f.png b/Tests/W3CTestSuite/png/coords-transformattr-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ed6dae3238d6a755d72c5e439dc9edaf2e7eb75
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-transformattr-05-f.png b/Tests/W3CTestSuite/png/coords-transformattr-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..07154a8bb185975832388d71a32996d6948425ae
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/coords-units-01-b.png b/Tests/W3CTestSuite/png/coords-units-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..864e77330af4ee973ef6fae3cbfcbf4440bceead
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-units-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/coords-units-02-b.png b/Tests/W3CTestSuite/png/coords-units-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4f9bce812be260a2efb860d678d8b62afc6c307
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-units-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/coords-units-03-b.png b/Tests/W3CTestSuite/png/coords-units-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b39b6e126d395f5442d0e85065c0fc10f1d7d36
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-units-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/coords-viewattr-01-b.png b/Tests/W3CTestSuite/png/coords-viewattr-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..8edeee25d7028ac6a34a8bda854337eb8e17c1e3
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-viewattr-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/coords-viewattr-02-b.png b/Tests/W3CTestSuite/png/coords-viewattr-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..24e99dcbee049ed1225ff94d0d39a1cbf4404541
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-viewattr-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/coords-viewattr-03-b.png b/Tests/W3CTestSuite/png/coords-viewattr-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..de77fb664ee64c10663d118aaecf2c323f5ec05d
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-viewattr-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/coords-viewattr-04-f.png b/Tests/W3CTestSuite/png/coords-viewattr-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..b017ce2838d3924506ce814e3520e4ef5cf7b8c3
Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-viewattr-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/extend-namespace-01-f.png b/Tests/W3CTestSuite/png/extend-namespace-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9f2ccde1ef796cb13286110b5b179082879388a
Binary files /dev/null and b/Tests/W3CTestSuite/png/extend-namespace-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-background-01-f.png b/Tests/W3CTestSuite/png/filters-background-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..05fc0b396980a3ee16f457eedced7efc58002007
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-background-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-blend-01-b.png b/Tests/W3CTestSuite/png/filters-blend-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..27f311ebe63e72156e755bde522920529af1de2e
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-blend-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-color-01-b.png b/Tests/W3CTestSuite/png/filters-color-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a079097443b2076b98aa554ad8c2e671af957de6
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-color-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-color-02-b.png b/Tests/W3CTestSuite/png/filters-color-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..4d6bd39ea6a5e43ad4cb57a9ecbff96bb6268fc7
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-color-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-composite-02-b.png b/Tests/W3CTestSuite/png/filters-composite-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d81d630223141d481686cfff68efe4bf8455c1cc
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-composite-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-composite-03-f.png b/Tests/W3CTestSuite/png/filters-composite-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a7d49fca0e593360f18eeb24b74bcf685bad08a7
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-composite-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-composite-04-f.png b/Tests/W3CTestSuite/png/filters-composite-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..af5cf2d62e8d97fa173f2133d5e3f9d3fb34862d
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-composite-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-composite-05-f.png b/Tests/W3CTestSuite/png/filters-composite-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e58a17f5b40d4b69f34000cebe070ea9f96cefab
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-composite-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-comptran-01-b.png b/Tests/W3CTestSuite/png/filters-comptran-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..07ed2eb2d024c5e9d299d3211e7b9ba36fdab50e
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-comptran-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-conv-01-f.png b/Tests/W3CTestSuite/png/filters-conv-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c86d9d6805dbd7c083f9294983ecde5209c8124
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-conv-02-f.png b/Tests/W3CTestSuite/png/filters-conv-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0013985f98f4d184b68d588cdef62219dacc433
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-conv-03-f.png b/Tests/W3CTestSuite/png/filters-conv-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..142324114d237dca4010833ff4e3892c57d0e93e
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-conv-04-f.png b/Tests/W3CTestSuite/png/filters-conv-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ac54ef7ea90db55de1de0ef5021ef142a9e3491
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-conv-05-f.png b/Tests/W3CTestSuite/png/filters-conv-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d0207e29d4f0cec5574a6f4ab6c8459adcb1363
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-diffuse-01-f.png b/Tests/W3CTestSuite/png/filters-diffuse-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ce7499d5ad6f33a487c8adbb3c0baf330f8e15f
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-diffuse-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-displace-01-f.png b/Tests/W3CTestSuite/png/filters-displace-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..b385b305969b8ae8255a499dbdd1a4f018a88fd5
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-displace-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-displace-02-f.png b/Tests/W3CTestSuite/png/filters-displace-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7bbd900b8c9efb14a088c84478ca127980041f40
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-displace-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-example-01-b.png b/Tests/W3CTestSuite/png/filters-example-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..19b76da41af512d224099d983ed205dd5065b5a9
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-example-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-felem-01-b.png b/Tests/W3CTestSuite/png/filters-felem-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..aef8c22cede1310ae141b20ca89d58b002bdb7ea
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-felem-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-felem-02-f.png b/Tests/W3CTestSuite/png/filters-felem-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e10c021b1f1968db952f8e380dacb36a4b124c3e
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-felem-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-gauss-01-b.png b/Tests/W3CTestSuite/png/filters-gauss-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..526dacb299cd3af4f6e248292fe02e14a5f5d2fd
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-gauss-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-gauss-02-f.png b/Tests/W3CTestSuite/png/filters-gauss-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..74bf87f2bfda55a1baf5c8c040c3d704baec0e35
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-gauss-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-gauss-03-f.png b/Tests/W3CTestSuite/png/filters-gauss-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..431364b5efd08e295cfc338ad41dcd643e3dba9f
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-gauss-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-image-01-b.png b/Tests/W3CTestSuite/png/filters-image-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5697ff15eec69f6d431fc381f1eda0b5784a17c
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-image-02-b.png b/Tests/W3CTestSuite/png/filters-image-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..6daa9ab2780e812fb86bb06612606bd7eab40e7b
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-image-03-f.png b/Tests/W3CTestSuite/png/filters-image-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e45180f74322c5667c61e8eea838af8417682397
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-image-04-f.png b/Tests/W3CTestSuite/png/filters-image-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c454938b4f5bcf17c19aee644f9fdaa8fb28750
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-image-05-f.png b/Tests/W3CTestSuite/png/filters-image-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7552ff008feec4e7ee6a3b7bbb7658fa9237e2ad
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-light-01-f.png b/Tests/W3CTestSuite/png/filters-light-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b7e41c65638b2be3b45eb9258048167c9afd291
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-light-02-f.png b/Tests/W3CTestSuite/png/filters-light-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..57313839206e851f90aca654939e13df8f9f9bea
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-light-03-f.png b/Tests/W3CTestSuite/png/filters-light-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b0fee07b35781fbdea25e0cf662f6e4612c3637
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-light-04-f.png b/Tests/W3CTestSuite/png/filters-light-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..815abf30c8d77ca7f5af4427267988b16875f902
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-light-05-f.png b/Tests/W3CTestSuite/png/filters-light-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7789d3768f0356110a670132ea1c1af913b684f9
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-morph-01-f.png b/Tests/W3CTestSuite/png/filters-morph-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..05adc916206bd63a105df71f3efffb4749b2de93
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-morph-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-offset-01-b.png b/Tests/W3CTestSuite/png/filters-offset-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b7e949f420671f109ddc023fa89803120ce7d09
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-offset-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-offset-02-b.png b/Tests/W3CTestSuite/png/filters-offset-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..7cd6f500b4a0fc130326c11fbc8138c0e4846ad3
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-offset-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-overview-01-b.png b/Tests/W3CTestSuite/png/filters-overview-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2456d42cdaf46e3b6624a508bd852acca0a506c
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-overview-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-overview-02-b.png b/Tests/W3CTestSuite/png/filters-overview-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..149531d2287523d09bad92b10e5409a6a538b0e1
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-overview-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-overview-03-b.png b/Tests/W3CTestSuite/png/filters-overview-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..149531d2287523d09bad92b10e5409a6a538b0e1
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-overview-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-specular-01-f.png b/Tests/W3CTestSuite/png/filters-specular-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..0359624f222abb6eba5db7f8c5a44ac654b529d7
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-specular-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-tile-01-b.png b/Tests/W3CTestSuite/png/filters-tile-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..70353fc42fc98957f724a6db835914c115a6f27d
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-tile-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/filters-turb-01-f.png b/Tests/W3CTestSuite/png/filters-turb-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..8fcef3433fe6712a1a724df445e8eea0b938f8a1
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-turb-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/filters-turb-02-f.png b/Tests/W3CTestSuite/png/filters-turb-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c0778ff96dfa41359774a9f9184e43ebc11e398
Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-turb-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-desc-01-t.png b/Tests/W3CTestSuite/png/fonts-desc-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0dc1d370b64773c9b2d34c5687d127664f9cbe5
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-desc-02-t.png b/Tests/W3CTestSuite/png/fonts-desc-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..b89326955796d3010a642635435090fc7facaf19
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-desc-03-t.png b/Tests/W3CTestSuite/png/fonts-desc-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b2cbd0b24015ec493893c495bc3cdddcf900c5c
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-desc-04-t.png b/Tests/W3CTestSuite/png/fonts-desc-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..211c33c090d9af1e04319a06e643b51101413d61
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-desc-05-t.png b/Tests/W3CTestSuite/png/fonts-desc-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..192518fdb7aee1260cf5c09f54ec7551fce1d8b6
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-elem-01-t.png b/Tests/W3CTestSuite/png/fonts-elem-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd9c12ec1b14f4592e42b2fab1d9bd84a09104ad
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-elem-02-t.png b/Tests/W3CTestSuite/png/fonts-elem-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e232c4ccc5eb4129e02fab829149c90236131aa1
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-elem-03-b.png b/Tests/W3CTestSuite/png/fonts-elem-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1c58ace4cc0e75eeffa769cfcd46856c968cacc
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-elem-04-b.png b/Tests/W3CTestSuite/png/fonts-elem-04-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..6bc6acba302e92947943457e4f6144afbf6ebdfa
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-04-b.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-elem-05-t.png b/Tests/W3CTestSuite/png/fonts-elem-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..114c2b26d178d32a93509eefb57f91460c083531
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-elem-06-t.png b/Tests/W3CTestSuite/png/fonts-elem-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4cdeb2ee957b1d986681d4e662de8d392c2bef81
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-elem-07-b.png b/Tests/W3CTestSuite/png/fonts-elem-07-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0b1ad590a04edae17b1a8a80292add47f8e795c
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-07-b.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-glyph-02-t.png b/Tests/W3CTestSuite/png/fonts-glyph-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc18e4b7951136b22e4e26885ffd4b6dc7fd0225
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-glyph-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-glyph-03-t.png b/Tests/W3CTestSuite/png/fonts-glyph-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..2633fbd534744cf9969454618a24e13e42b89572
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-glyph-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-glyph-04-t.png b/Tests/W3CTestSuite/png/fonts-glyph-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..25498e3cd5fc5d3b6009eb9bd50ef143840fbedc
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-glyph-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-kern-01-t.png b/Tests/W3CTestSuite/png/fonts-kern-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..a4e8d5fc3213a8dbbcda9535d42f0cf6434573ca
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-kern-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/fonts-overview-201-t.png b/Tests/W3CTestSuite/png/fonts-overview-201-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c3200b6b7383157ba4332dc4086025b219b9a90
Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-overview-201-t.png differ
diff --git a/Tests/W3CTestSuite/png/imp-path-01-f.png b/Tests/W3CTestSuite/png/imp-path-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..809dd05f00964c91618cbf4e33ac2f8cf2e68dad
Binary files /dev/null and b/Tests/W3CTestSuite/png/imp-path-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/interact-cursor-01-f.png b/Tests/W3CTestSuite/png/interact-cursor-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..58f16b76c935f2fc1283fceb7aa15acb740bc537
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-cursor-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/interact-dom-01-b.png b/Tests/W3CTestSuite/png/interact-dom-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1f459d8787b3e8ca5c9c4184e46fcbf1f2976a2
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-dom-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/interact-events-01-b.png b/Tests/W3CTestSuite/png/interact-events-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c2b883106342bbd524591fe6defc40910140322
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-events-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/interact-events-02-b.png b/Tests/W3CTestSuite/png/interact-events-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..eace54b15e36c94e73d8b9ec26e3f102e5942775
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-events-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/interact-events-202-f.png b/Tests/W3CTestSuite/png/interact-events-202-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc5cd0e11ca003534ae287dcb23a1731a67e1924
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-events-202-f.png differ
diff --git a/Tests/W3CTestSuite/png/interact-events-203-t.png b/Tests/W3CTestSuite/png/interact-events-203-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..156c9f194329b0cc1004db9308c3213d5ca32769
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-events-203-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-order-01-b.png b/Tests/W3CTestSuite/png/interact-order-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d3cfae0a97f932335bce7064e276b9e95e9861b5
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-order-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/interact-order-02-b.png b/Tests/W3CTestSuite/png/interact-order-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b1e93019b49129422ad430027b847de4590e1e6
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-order-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/interact-order-03-b.png b/Tests/W3CTestSuite/png/interact-order-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..117077f31d145ce1d3bd20647647fc7d4526722e
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-order-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-01-b.png b/Tests/W3CTestSuite/png/interact-pevents-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d798171f2ca44a7fe01ee7b9f0f3fe96285f9494
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-02-t.png b/Tests/W3CTestSuite/png/interact-pevents-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e86c5e61613a9af2f1f8527ca0b7e1715ab18e5
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-03-b.png b/Tests/W3CTestSuite/png/interact-pevents-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..27dd9710d58cf902c7a82e367278650df15e3ee1
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-04-t.png b/Tests/W3CTestSuite/png/interact-pevents-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..1242ef261f3001b36da7ef3f271bc21ec811ca55
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-05-b.png b/Tests/W3CTestSuite/png/interact-pevents-05-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..4e4a7b2d686054e09eed43ce020744abebe0966f
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-05-b.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-07-t.png b/Tests/W3CTestSuite/png/interact-pevents-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..aebf107d0a0b29527de91ccc238762ed9afc453b
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-08-f.png b/Tests/W3CTestSuite/png/interact-pevents-08-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0d44bfa45aea01512077840a1b84836b44cc952
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-08-f.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-09-f.png b/Tests/W3CTestSuite/png/interact-pevents-09-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..65d6d1957c8efbc10b7c38377048d9aa3ae4a2cf
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-09-f.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-10-f.png b/Tests/W3CTestSuite/png/interact-pevents-10-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..167f1967dfc7c3057f48a72f4cc7cb0ed0b88df6
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-10-f.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-201-t.png b/Tests/W3CTestSuite/png/interact-pevents-201-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a6e3aa803d64f69db455e122073471f02c5d67e
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-201-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pevents-202-t.png b/Tests/W3CTestSuite/png/interact-pevents-202-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea2b21b1c5585288e9d3622a21a8d821e9e67179
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-202-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pointer-01-t.png b/Tests/W3CTestSuite/png/interact-pointer-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..af8cb1edfd7271e59fbd0fee0a5ef54fc177e52e
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pointer-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pointer-02-t.png b/Tests/W3CTestSuite/png/interact-pointer-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..9070e19fd9b5424e6d834a302226526b01059439
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pointer-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pointer-03-t.png b/Tests/W3CTestSuite/png/interact-pointer-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e08a6662ad266b2724cda377feb90c887998a1e1
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pointer-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-pointer-04-f.png b/Tests/W3CTestSuite/png/interact-pointer-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..15f6a0812da9673561bc32f4e30b3316a25fee30
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pointer-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/interact-zoom-01-t.png b/Tests/W3CTestSuite/png/interact-zoom-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6d124bd0e9ec2449b0c9cb07de3c05d652aa976
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-zoom-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-zoom-02-t.png b/Tests/W3CTestSuite/png/interact-zoom-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f3f48ffb57ce8aba57846f3fdca4ebda1383f4a
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-zoom-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/interact-zoom-03-t.png b/Tests/W3CTestSuite/png/interact-zoom-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb380e20517262b9fc64b69aeaf70ef975a8e07b
Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-zoom-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/linking-a-01-b.png b/Tests/W3CTestSuite/png/linking-a-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..642cad965a963d107272cfd7b7de26e671c3da8a
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/linking-a-03-b.png b/Tests/W3CTestSuite/png/linking-a-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d5ddc6d61b37018717d2c359dd1f6d3eff11556
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/linking-a-04-t.png b/Tests/W3CTestSuite/png/linking-a-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..002ad86650faf2fdd68c7fb51174a584028b7d94
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/linking-a-05-t.png b/Tests/W3CTestSuite/png/linking-a-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..96d1d9a6e8be5b1adc9e15c20094957d498b1dbb
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/linking-a-06-t.png b/Tests/W3CTestSuite/png/linking-a-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2dabdde201e6efc18904713655ee7a4ec601dc0
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/linking-a-07-t.png b/Tests/W3CTestSuite/png/linking-a-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad8e9168accb379f123820d7efcb7e334fa441f7
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/linking-a-08-t.png b/Tests/W3CTestSuite/png/linking-a-08-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4471f351b1f575a009c4f8493672b4df518a8a55
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-08-t.png differ
diff --git a/Tests/W3CTestSuite/png/linking-a-09-b.png b/Tests/W3CTestSuite/png/linking-a-09-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b57a760d4ee5009fc20020a7a48129af82e2a52
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-09-b.png differ
diff --git a/Tests/W3CTestSuite/png/linking-a-10-f.png b/Tests/W3CTestSuite/png/linking-a-10-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa147521c5f39b621e24c1779db4e5275b5ba6ec
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-10-f.png differ
diff --git a/Tests/W3CTestSuite/png/linking-frag-01-f.png b/Tests/W3CTestSuite/png/linking-frag-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..dbf75a9b748b67d2ae1aa58e8dd0cfebd9987127
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-frag-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/linking-uri-01-b.png b/Tests/W3CTestSuite/png/linking-uri-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a422b814c212260b254a15d827a18ada788f3ea8
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-uri-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/linking-uri-02-b.png b/Tests/W3CTestSuite/png/linking-uri-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e1ca0dfbbde52f0acf1fbd663e1630f99ff09cd
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-uri-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/linking-uri-03-t.png b/Tests/W3CTestSuite/png/linking-uri-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..ef07497f97c3d8f454d4faa8becdc688b508ba14
Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-uri-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/masking-filter-01-f.png b/Tests/W3CTestSuite/png/masking-filter-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a42ffb6c529ce2efc9b22a0fee9e754965682e0b
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-filter-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/masking-intro-01-f.png b/Tests/W3CTestSuite/png/masking-intro-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3af4e5afcdb42b1384ec40eb0356d03671f3175
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-intro-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/masking-mask-01-b.png b/Tests/W3CTestSuite/png/masking-mask-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..065b1718715a060a9c3a569911fdef60483502d3
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-mask-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-mask-02-f.png b/Tests/W3CTestSuite/png/masking-mask-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..8040e1f4828374c332fd5a9274bd27f6a66c399d
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-mask-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/masking-opacity-01-b.png b/Tests/W3CTestSuite/png/masking-opacity-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a85cc03fc5dd9e9bd28243fe78668d05737c3890
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-opacity-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-01-b.png b/Tests/W3CTestSuite/png/masking-path-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..fcd09f05fecd2a6ee9bb89f2c90f6649f25be1ac
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-02-b.png b/Tests/W3CTestSuite/png/masking-path-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..73254234014aa0a91794e937a424f5c6bdf44293
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-03-b.png b/Tests/W3CTestSuite/png/masking-path-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..cadc16e456b54ca861ca51825c51e97c0048a640
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-04-b.png b/Tests/W3CTestSuite/png/masking-path-04-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a6600100721de7fc7917677114bc00ed04aff7a
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-04-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-05-f.png b/Tests/W3CTestSuite/png/masking-path-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..6cdbd106d4b634dd4cd07b264f479b384d04f30b
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-06-b.png b/Tests/W3CTestSuite/png/masking-path-06-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..93d2994f1e0633dd0da028d295345544c948c51a
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-06-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-07-b.png b/Tests/W3CTestSuite/png/masking-path-07-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..77c3dd1800c95772945561f056518920e49abebb
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-07-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-08-b.png b/Tests/W3CTestSuite/png/masking-path-08-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f39bc4339a9858e29b9bf19451d5db1f09b35c1
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-08-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-09-b.png b/Tests/W3CTestSuite/png/masking-path-09-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1864b9bb94bb3cd295c520c48361f2942232f78
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-09-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-10-b.png b/Tests/W3CTestSuite/png/masking-path-10-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a075c1655ffd088073c834993e0412220fbe800
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-10-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-11-b.png b/Tests/W3CTestSuite/png/masking-path-11-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ec9400637b9c70ee5a3a8d193c39762679333f3
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-11-b.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-12-f.png b/Tests/W3CTestSuite/png/masking-path-12-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..5cd6951699b075364685447feefd679ab42da637
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-12-f.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-13-f.png b/Tests/W3CTestSuite/png/masking-path-13-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ec944ab9bb7f8587379bbf5ad84f23e09e1bc86
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-13-f.png differ
diff --git a/Tests/W3CTestSuite/png/masking-path-14-f.png b/Tests/W3CTestSuite/png/masking-path-14-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..d05c4dafd481fec391ef4b71c1fce6d09fd85df2
Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-14-f.png differ
diff --git a/Tests/W3CTestSuite/png/metadata-example-01-t.png b/Tests/W3CTestSuite/png/metadata-example-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c25d96fc599abea7cb004e4c59c042c4eb277536
Binary files /dev/null and b/Tests/W3CTestSuite/png/metadata-example-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-control-01-f.png b/Tests/W3CTestSuite/png/painting-control-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..ddb0459dcf7e109ecd230d087cde169e47df837b
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-control-02-f.png b/Tests/W3CTestSuite/png/painting-control-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6f187a932c14bcb67f01b3dceb9b90ec2b4591f
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-control-03-f.png b/Tests/W3CTestSuite/png/painting-control-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5269a44345cb9bb249641ec228463057e825693
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-control-04-f.png b/Tests/W3CTestSuite/png/painting-control-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..c68ab069da1b6bec6e937bf0b315bccd65aae032
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-control-05-f.png b/Tests/W3CTestSuite/png/painting-control-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..b09f95c44bd1a71b054fa7df7b459eecf490aae3
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-control-06-f.png b/Tests/W3CTestSuite/png/painting-control-06-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e72c7996fac97bfe5320191191d424002ee589b5
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-06-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-fill-01-t.png b/Tests/W3CTestSuite/png/painting-fill-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..483c46cba025903155b04d63ef9edeb070fce58b
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-fill-02-t.png b/Tests/W3CTestSuite/png/painting-fill-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..da8823bbd3c5eb69826debd8b30434567dc8c864
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-fill-03-t.png b/Tests/W3CTestSuite/png/painting-fill-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..429a4007cd24d6dd0014bcb3a57c2f58b71c8f0d
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-fill-04-t.png b/Tests/W3CTestSuite/png/painting-fill-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f6ad794c35c90da0a6bed9d26a85307437f71c61
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-fill-05-b.png b/Tests/W3CTestSuite/png/painting-fill-05-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..7eed3692eb22090e6a31554ab178eb591ea46111
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-05-b.png differ
diff --git a/Tests/W3CTestSuite/png/painting-marker-01-f.png b/Tests/W3CTestSuite/png/painting-marker-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..491b27e5a3900a189e8f813c7565ff15401d660f
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-marker-02-f.png b/Tests/W3CTestSuite/png/painting-marker-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..2994fd323a441805204042d2458c473151699906
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-marker-03-f.png b/Tests/W3CTestSuite/png/painting-marker-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..9999c43cee098c5169f131219d9dfb4a68ed882f
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-marker-04-f.png b/Tests/W3CTestSuite/png/painting-marker-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..79b5b2fead5f7531a9314004eb6cf5a0037a37c4
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-marker-05-f.png b/Tests/W3CTestSuite/png/painting-marker-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..2433c8d2fa6f7c9e4f56900062cc4ae78c608289
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-marker-06-f.png b/Tests/W3CTestSuite/png/painting-marker-06-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e03c00a4612ea5a1468f13c96b837cb38f77e52
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-06-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-marker-07-f.png b/Tests/W3CTestSuite/png/painting-marker-07-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..c7cddc4b6e6ddfc9e5e351dca502edeb617f8533
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-07-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-marker-properties-01-f.png b/Tests/W3CTestSuite/png/painting-marker-properties-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..3058db0509bb3035b35ea7a3b63d895e834b8ec5
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-properties-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/painting-render-01-b.png b/Tests/W3CTestSuite/png/painting-render-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ce6bdfe64126c0a073d09e972fd9935b6cc7b7e
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-render-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/painting-render-02-b.png b/Tests/W3CTestSuite/png/painting-render-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..58133b9cd7f84ddd8e59f9b895c0d44f5ddbad72
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-render-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-01-t.png b/Tests/W3CTestSuite/png/painting-stroke-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..a641d0e44bcd0bc0637aa28ada42664eb6b0633d
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-02-t.png b/Tests/W3CTestSuite/png/painting-stroke-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..3586ab94037386c95618af0c6d1379ca18352709
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-03-t.png b/Tests/W3CTestSuite/png/painting-stroke-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f5f3290b4232b968ba66e512ee89b31fcc47c6f
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-04-t.png b/Tests/W3CTestSuite/png/painting-stroke-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..566af91b28d12b24c411dad85ec00bcb23c85ca1
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-05-t.png b/Tests/W3CTestSuite/png/painting-stroke-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e006747c7a2a64fdc9bd0ca4fd12a626b2f2e8b
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-06-t.png b/Tests/W3CTestSuite/png/painting-stroke-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..1eeb627baaac1fefa793319d545e7139f943f7ec
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-07-t.png b/Tests/W3CTestSuite/png/painting-stroke-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b9e2104b6a1f40bb18c0b5dc6cba20c2e6cd1d2
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-08-t.png b/Tests/W3CTestSuite/png/painting-stroke-08-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc194c50f914c003fae560652da48ace92bea255
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-08-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-09-t.png b/Tests/W3CTestSuite/png/painting-stroke-09-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c61e17e599c94ffbab88f24975b0e9adc89d4b98
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-09-t.png differ
diff --git a/Tests/W3CTestSuite/png/painting-stroke-10-t.png b/Tests/W3CTestSuite/png/painting-stroke-10-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..68122cdc93b26113e82f26bf0c9bfaed66cebfef
Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-10-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-01-t.png b/Tests/W3CTestSuite/png/paths-data-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f88b2c1f578336897e0d48a45c0b018d7daf13f6
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-02-t.png b/Tests/W3CTestSuite/png/paths-data-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..57429b46cf0ed26a12bef77fe34df89babc2aff3
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-03-f.png b/Tests/W3CTestSuite/png/paths-data-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3a375acad86374f0ba34c3902176328cd793eee
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-04-t.png b/Tests/W3CTestSuite/png/paths-data-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..8294c5ee407b0456f3b2c58b74813c26edf8400a
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-05-t.png b/Tests/W3CTestSuite/png/paths-data-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..b382b8e07ecc53037e1ec2c052ea4fc13135936c
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-06-t.png b/Tests/W3CTestSuite/png/paths-data-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..11a7e3d8e89a23cebbdd7dc6ca3819452271ec10
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-07-t.png b/Tests/W3CTestSuite/png/paths-data-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c579adf8b5fc107d245cdbd39b6cde17f1381666
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-08-t.png b/Tests/W3CTestSuite/png/paths-data-08-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6383f29a0e0c690e14c2006a6194596094f9ed0
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-08-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-09-t.png b/Tests/W3CTestSuite/png/paths-data-09-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f85d38894794f87dd4d4c55778bd664f90e08ba3
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-09-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-10-t.png b/Tests/W3CTestSuite/png/paths-data-10-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f2138fe7a43fbbbb3827c519182600455714480
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-10-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-11-t.png b/Tests/W3CTestSuite/png/paths-data-11-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2dabdde201e6efc18904713655ee7a4ec601dc0
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-11-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-12-t.png b/Tests/W3CTestSuite/png/paths-data-12-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd4fb82964070d9d36625c7f0cebd9b52e361e77
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-12-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-13-t.png b/Tests/W3CTestSuite/png/paths-data-13-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c8ec9ee7ffcb420c1892e3f91a1b2ca5148dbd51
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-13-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-14-t.png b/Tests/W3CTestSuite/png/paths-data-14-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3f2e865c8af04ed0525817a66e065d2fbff6551
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-14-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-15-t.png b/Tests/W3CTestSuite/png/paths-data-15-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c391fd6d51a9b8f2af80bb5c5aa15807ce1dcf8a
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-15-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-16-t.png b/Tests/W3CTestSuite/png/paths-data-16-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..33d195dc591f75558463ecfe1c4bf78ec0a9fbe7
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-16-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-17-f.png b/Tests/W3CTestSuite/png/paths-data-17-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a19bf4b73627ce069311c35726931883460a96bb
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-17-f.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-18-f.png b/Tests/W3CTestSuite/png/paths-data-18-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2e2e74a3c8b7407444fa140ca4ef0f0c627cec7
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-18-f.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-19-f.png b/Tests/W3CTestSuite/png/paths-data-19-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fd6af3ee5ba2effbcf38d26178608459913ad6c
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-19-f.png differ
diff --git a/Tests/W3CTestSuite/png/paths-data-20-f.png b/Tests/W3CTestSuite/png/paths-data-20-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..60ed4cd31342952a8ea759fa034fcb1067030ce8
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-20-f.png differ
diff --git a/Tests/W3CTestSuite/png/paths-dist-01-t.png b/Tests/W3CTestSuite/png/paths-dist-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2dabdde201e6efc18904713655ee7a4ec601dc0
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-dist-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/paths-dom-01-f.png b/Tests/W3CTestSuite/png/paths-dom-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e384ce3f590df8996c30a48a490b8884908f949e
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-dom-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/paths-dom-02-f.png b/Tests/W3CTestSuite/png/paths-dom-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..0150a8f21d25b6bbd2a6d9a67a2fce1eee006d31
Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-dom-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-01-b.png b/Tests/W3CTestSuite/png/pservers-grad-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f276359196f99e313bcae947433883cbad3e7f4
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-02-b.png b/Tests/W3CTestSuite/png/pservers-grad-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7e694bfb474132a6a211f6df35a98297a23337f
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-03-b.png b/Tests/W3CTestSuite/png/pservers-grad-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..f73c699cceaf0acd81886a1a89d4cb4b11be7344
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-04-b.png b/Tests/W3CTestSuite/png/pservers-grad-04-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..7d9f8f4a1d4ce76ba3ecc72b255c1614b82e2cfd
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-04-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-05-b.png b/Tests/W3CTestSuite/png/pservers-grad-05-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..4e9d966fb1bf5a07d4fe93c4995cfd921da72d93
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-05-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-06-b.png b/Tests/W3CTestSuite/png/pservers-grad-06-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..ddd1667f49953709ea9c293b1e003e9cf8871bb7
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-06-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-07-b.png b/Tests/W3CTestSuite/png/pservers-grad-07-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..bc383dcfb1932bd203737df04d50648b9674279d
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-07-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-08-b.png b/Tests/W3CTestSuite/png/pservers-grad-08-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f875f5f9af449ffe3e2cad0a3b3ffbc54a6621d
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-08-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-09-b.png b/Tests/W3CTestSuite/png/pservers-grad-09-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..128c64798af091bc23e8412bc93bec45253a8ef0
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-09-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-10-b.png b/Tests/W3CTestSuite/png/pservers-grad-10-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1e7b765937937227063e8021882a91b86fd6cb4
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-10-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-11-b.png b/Tests/W3CTestSuite/png/pservers-grad-11-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0812a284bcab5189a38982bc9435a87641345d
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-11-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-12-b.png b/Tests/W3CTestSuite/png/pservers-grad-12-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..309bb3e8729751ec83db87540d200ebf23f1d0c9
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-12-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-13-b.png b/Tests/W3CTestSuite/png/pservers-grad-13-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..c24aea4f5cfec25f4590264154b4f30cbb952a67
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-13-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-14-b.png b/Tests/W3CTestSuite/png/pservers-grad-14-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..815fb75b21a83c27714b93dd7f3fe74f463215d1
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-14-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-15-b.png b/Tests/W3CTestSuite/png/pservers-grad-15-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..311b42be0c610599460346c7c051d08ad98e8bd0
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-15-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-16-b.png b/Tests/W3CTestSuite/png/pservers-grad-16-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..51a882c7586902f5d7a1b2a7e7b4d026d320668c
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-16-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-17-b.png b/Tests/W3CTestSuite/png/pservers-grad-17-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..49a5c0920e530ecc5740073ddc032c58ecab30b7
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-17-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-18-b.png b/Tests/W3CTestSuite/png/pservers-grad-18-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..b288dc706718593be029803a32b14125d289907a
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-18-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-19-b.png b/Tests/W3CTestSuite/png/pservers-grad-19-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..21af9e3a07b6237e9c9ec321f29f1b619512f400
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-19-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-20-b.png b/Tests/W3CTestSuite/png/pservers-grad-20-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..49a5c0920e530ecc5740073ddc032c58ecab30b7
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-20-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-21-b.png b/Tests/W3CTestSuite/png/pservers-grad-21-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..207c6e7b6aa4f8237bc67b6d2e52ab05f8c6f9fe
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-21-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-22-b.png b/Tests/W3CTestSuite/png/pservers-grad-22-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..b31ffd8b8c8fc62feea0eeaf0be0e5df1268b790
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-22-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-23-f.png b/Tests/W3CTestSuite/png/pservers-grad-23-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..130ea22619bf784f42824f7d19abf39ba648923b
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-23-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-24-f.png b/Tests/W3CTestSuite/png/pservers-grad-24-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c944c969d7a6ca3eefb5b216791b4776e857b14
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-24-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-grad-stops-01-f.png b/Tests/W3CTestSuite/png/pservers-grad-stops-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..5f09f275115e907e3bbc3e20f235378a52fa6520
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-stops-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-pattern-01-b.png b/Tests/W3CTestSuite/png/pservers-pattern-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e7dff581ed4bdd7903ed4ef05819004112be5b0
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-pattern-02-f.png b/Tests/W3CTestSuite/png/pservers-pattern-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..820358b8d4d1d575e8c033acbc7b378f1355f8ce
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-pattern-03-f.png b/Tests/W3CTestSuite/png/pservers-pattern-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b5d571494a08c7714e14f3ef4639434fddeb6e6
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-pattern-04-f.png b/Tests/W3CTestSuite/png/pservers-pattern-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..c041e512a2210f119fcaa186bffb165b36ac9410
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-pattern-05-f.png b/Tests/W3CTestSuite/png/pservers-pattern-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..6c0b664baf785223379ae07ecad52364cf14f724
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-pattern-06-f.png b/Tests/W3CTestSuite/png/pservers-pattern-06-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..ede529a4bdca18c36aad156945de775ca3b3ede8
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-06-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-pattern-07-f.png b/Tests/W3CTestSuite/png/pservers-pattern-07-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d608c2f6794057e753786df6a32083d67344dd6
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-07-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-pattern-08-f.png b/Tests/W3CTestSuite/png/pservers-pattern-08-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..039ec22c2994cd12feb7a0bab0a6731616c03fc8
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-08-f.png differ
diff --git a/Tests/W3CTestSuite/png/pservers-pattern-09-f.png b/Tests/W3CTestSuite/png/pservers-pattern-09-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ea91d0c0ef62bd315ca3ae776729990722f22e9
Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-09-f.png differ
diff --git a/Tests/W3CTestSuite/png/render-elems-01-t.png b/Tests/W3CTestSuite/png/render-elems-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..d7d54c8d7bed23e0baf1b5174d2459278df67be5
Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/render-elems-02-t.png b/Tests/W3CTestSuite/png/render-elems-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..b30c256e4e73ecfea43f2852c4ed544d585acf3f
Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/render-elems-03-t.png b/Tests/W3CTestSuite/png/render-elems-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..07570106f37a09d2def198f4436bc1dfc1bb2a5c
Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/render-elems-06-t.png b/Tests/W3CTestSuite/png/render-elems-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a71fa2f54e534266a48679d459a8e08c9c9043a
Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/render-elems-07-t.png b/Tests/W3CTestSuite/png/render-elems-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..26ed60d84d8518256349fd2cd8f781de633b67e8
Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/render-elems-08-t.png b/Tests/W3CTestSuite/png/render-elems-08-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..10b385049a815a27cff0838b8f56449f2972e03a
Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-08-t.png differ
diff --git a/Tests/W3CTestSuite/png/render-groups-01-b.png b/Tests/W3CTestSuite/png/render-groups-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..55601945e53d0c359a801a936645c9b91ed6a922
Binary files /dev/null and b/Tests/W3CTestSuite/png/render-groups-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/render-groups-03-t.png b/Tests/W3CTestSuite/png/render-groups-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f69ee5f7e1e14b0d61a6eb09b7a1ed1b58af5af3
Binary files /dev/null and b/Tests/W3CTestSuite/png/render-groups-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/script-elem-01-b.png b/Tests/W3CTestSuite/png/script-elem-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a313957d97c02683be0bc4bab79099ac9d0ea5cb
Binary files /dev/null and b/Tests/W3CTestSuite/png/script-elem-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/script-handle-01-b.png b/Tests/W3CTestSuite/png/script-handle-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ea1b532ab0527bd3ecfbe162ef1b33a6e2461d2
Binary files /dev/null and b/Tests/W3CTestSuite/png/script-handle-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/script-handle-02-b.png b/Tests/W3CTestSuite/png/script-handle-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..edce4c31ce52a491fde63e94cf3ac63b818db51c
Binary files /dev/null and b/Tests/W3CTestSuite/png/script-handle-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/script-handle-03-b.png b/Tests/W3CTestSuite/png/script-handle-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..8af27276ba0aa986ce019c970b2921e45fd6874d
Binary files /dev/null and b/Tests/W3CTestSuite/png/script-handle-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/script-handle-04-b.png b/Tests/W3CTestSuite/png/script-handle-04-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..933d938327513c40904e5337a97cf091c28bb12d
Binary files /dev/null and b/Tests/W3CTestSuite/png/script-handle-04-b.png differ
diff --git a/Tests/W3CTestSuite/png/script-specify-01-f.png b/Tests/W3CTestSuite/png/script-specify-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..8f2be723c2ecdba4e00b8b1a3153f66e62680a84
Binary files /dev/null and b/Tests/W3CTestSuite/png/script-specify-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/script-specify-02-f.png b/Tests/W3CTestSuite/png/script-specify-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..0d1c65016553ca77d6cf3a82752bee707606a58b
Binary files /dev/null and b/Tests/W3CTestSuite/png/script-specify-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-circle-01-t.png b/Tests/W3CTestSuite/png/shapes-circle-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..84a292b8eb6a85ddcf7ce6303420c96e64e9141a
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-circle-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-circle-02-t.png b/Tests/W3CTestSuite/png/shapes-circle-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..71fdf69af622e92af7021e043dda91fe4a36fc97
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-circle-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-ellipse-01-t.png b/Tests/W3CTestSuite/png/shapes-ellipse-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..87b76deca252207215ae906dca3fc31a29261b3f
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-ellipse-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-ellipse-02-t.png b/Tests/W3CTestSuite/png/shapes-ellipse-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..97886b1785fdfe64b7486fed57b1c66a116dcff5
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-ellipse-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-ellipse-03-f.png b/Tests/W3CTestSuite/png/shapes-ellipse-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a78b5064eae9a3479fd45cd4dad63809f5998dd
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-ellipse-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-grammar-01-f.png b/Tests/W3CTestSuite/png/shapes-grammar-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..db698fc4188b0f19fe40179207ca076390d55330
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-grammar-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-intro-01-t.png b/Tests/W3CTestSuite/png/shapes-intro-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..376f4e606449b78b5edf9d89c7e1ab8d87af8772
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-intro-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-intro-02-f.png b/Tests/W3CTestSuite/png/shapes-intro-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..61de62954192290bb447ec555f55ae8dd13eeb8a
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-intro-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-line-01-t.png b/Tests/W3CTestSuite/png/shapes-line-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..97f0157e2f6a34eb427669487e67f0dc35f4601b
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-line-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-line-02-f.png b/Tests/W3CTestSuite/png/shapes-line-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..9dea9b92b821060f76f974420026865cf738abbb
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-line-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-polygon-01-t.png b/Tests/W3CTestSuite/png/shapes-polygon-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c505ee74b8831f66e8f18709bccc3d03ba19474b
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polygon-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-polygon-02-t.png b/Tests/W3CTestSuite/png/shapes-polygon-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a9301e132675c31067fdb970eb5dac1ceafee4c
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polygon-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-polygon-03-t.png b/Tests/W3CTestSuite/png/shapes-polygon-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..b432ba44ba4d75e579b71feaa872084738eb0205
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polygon-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-polyline-01-t.png b/Tests/W3CTestSuite/png/shapes-polyline-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..daa275e96b981085a89285f77b99c256e061aa76
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polyline-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-polyline-02-t.png b/Tests/W3CTestSuite/png/shapes-polyline-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..739eb628dd06d1f852e4308522126f381e129e43
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polyline-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-rect-01-t.png b/Tests/W3CTestSuite/png/shapes-rect-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..339dbb8e4f9a401ba210319fc4ba3899d79fa25e
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-rect-02-t.png b/Tests/W3CTestSuite/png/shapes-rect-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..20a908c9e2af2231c0f3d85626857eb75fb1f8e6
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-rect-03-t.png b/Tests/W3CTestSuite/png/shapes-rect-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..43b8961974d0d12c87633ef5d5fa3dfe37d00bab
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-rect-04-f.png b/Tests/W3CTestSuite/png/shapes-rect-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..72f26ad9f44c7c2610663fa1e92fc42c89e360e1
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-rect-05-f.png b/Tests/W3CTestSuite/png/shapes-rect-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..0717997d9134e73fce5f611c4508a3379b79ce40
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-rect-06-f.png b/Tests/W3CTestSuite/png/shapes-rect-06-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..0978cb2de67f8bec03a1d1ac19b3ccae6563d014
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-06-f.png differ
diff --git a/Tests/W3CTestSuite/png/shapes-rect-07-f.png b/Tests/W3CTestSuite/png/shapes-rect-07-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..557aa9a31a46d76e1e8bb60cf5e5ee379c3dff5c
Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-07-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-cond-01-t.png b/Tests/W3CTestSuite/png/struct-cond-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a643fa78f332aadea13c4d56b42802b2af81569
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-cond-02-t.png b/Tests/W3CTestSuite/png/struct-cond-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..14796821cda79c6e23ee933c35c8792c43410b1e
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-cond-03-t.png b/Tests/W3CTestSuite/png/struct-cond-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea793b85cad43f5a20a157e754bfc70d65a81f28
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-cond-overview-02-f.png b/Tests/W3CTestSuite/png/struct-cond-overview-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a63dc0048d69c6a8004e304d3fcc7c7c8b75980f
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-overview-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-cond-overview-03-f.png b/Tests/W3CTestSuite/png/struct-cond-overview-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..d25a98bcefd7a26c02574f98b9d20833672a40f9
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-overview-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-cond-overview-04-f.png b/Tests/W3CTestSuite/png/struct-cond-overview-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..4463ee128eee635a816df088438bfce32568f990
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-overview-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-cond-overview-05-f.png b/Tests/W3CTestSuite/png/struct-cond-overview-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..00c20db71e28287cc8ad41a86790738429a137e6
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-overview-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-defs-01-t.png b/Tests/W3CTestSuite/png/struct-defs-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..225c2dae72ec8e2e61d2d2c98b4fc8849380db29
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-defs-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-01-b.png b/Tests/W3CTestSuite/png/struct-dom-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d53461992b090c80b3c36320e22fa5b9f1a210eb
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-02-b.png b/Tests/W3CTestSuite/png/struct-dom-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..06445c2bd475ab92c40917dc3ba8d15241703294
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-03-b.png b/Tests/W3CTestSuite/png/struct-dom-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..26e8f5333758d9c0cc71e7c690c0e63b65ad8d21
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-04-b.png b/Tests/W3CTestSuite/png/struct-dom-04-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..da8c5ec927b4d35a6a80e00b634200ec3a172d4e
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-04-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-05-b.png b/Tests/W3CTestSuite/png/struct-dom-05-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d25a265a46f556a2fe04aee3a81ba4095c7fe284
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-05-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-06-b.png b/Tests/W3CTestSuite/png/struct-dom-06-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..c138a34b64b30b19f8b67ca922f43a371f832b75
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-06-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-07-f.png b/Tests/W3CTestSuite/png/struct-dom-07-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0d32d45997a34d8f2dd6e6d11f4987d2b86fea4
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-07-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-08-f.png b/Tests/W3CTestSuite/png/struct-dom-08-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..946bbbbc6c71738a972dfa1836da7538d9b03669
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-08-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-09-b.png b/Tests/W3CTestSuite/png/struct-dom-09-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed0e5b0d15bfcdb79bd0fba3e97ca7981bf8671e
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-09-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-11-f.png b/Tests/W3CTestSuite/png/struct-dom-11-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..78258dc628aa94e01ec6d0c39a8e404d5b7cf060
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-11-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-12-b.png b/Tests/W3CTestSuite/png/struct-dom-12-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..00d98643751123969459ab68d9cbfdc438f821eb
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-12-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-13-f.png b/Tests/W3CTestSuite/png/struct-dom-13-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a113ad79bcdde913f96b264874b24fef256f3d5
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-13-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-14-f.png b/Tests/W3CTestSuite/png/struct-dom-14-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4819bb6624dca94ad9f515ad19da5e47a00fcb5
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-14-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-15-f.png b/Tests/W3CTestSuite/png/struct-dom-15-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a56c57b3b2644b42200e70a5006d0afa9d3d099
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-15-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-16-f.png b/Tests/W3CTestSuite/png/struct-dom-16-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..60bfbb0df706ca7ffdd5147ac0a0796483bf1858
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-16-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-17-f.png b/Tests/W3CTestSuite/png/struct-dom-17-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..520e57a8fea3f4640065cf5c9525488d55f75559
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-17-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-18-f.png b/Tests/W3CTestSuite/png/struct-dom-18-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ee03ae33b3642c475ca0d42aa0e8198f07c144a
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-18-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-19-f.png b/Tests/W3CTestSuite/png/struct-dom-19-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..804d9cd4c3fccccf92877cad38ab93630d21eaa4
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-19-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-dom-20-f.png b/Tests/W3CTestSuite/png/struct-dom-20-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..f844e0b31488554a0f915d1a3982b8c043db6d24
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-20-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-frag-01-t.png b/Tests/W3CTestSuite/png/struct-frag-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..5163766f1b6a33a7a8aa1f84751a76561ffdc10e
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-frag-02-t.png b/Tests/W3CTestSuite/png/struct-frag-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..45e3aecfb44083c3050396247ea741cb26788b63
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-frag-03-t.png b/Tests/W3CTestSuite/png/struct-frag-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0c63d605072e177052b03ca4cbab4ff861d0e13
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-frag-04-t.png b/Tests/W3CTestSuite/png/struct-frag-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca78f48aa4db6f2f8d5989255ff14ad91312b84a
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-frag-05-t.png b/Tests/W3CTestSuite/png/struct-frag-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..82b32250118cf721444907c5c2848f571c10bd76
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-frag-06-t.png b/Tests/W3CTestSuite/png/struct-frag-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..a732fe41c65bd5adc430bd0fb126d63d71af0fa6
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-group-01-t.png b/Tests/W3CTestSuite/png/struct-group-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..a20eeed440f3564e347390679375519c5b9dc98a
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-group-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-group-02-b.png b/Tests/W3CTestSuite/png/struct-group-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..49396df5c34a2e92badccedc935386862337345c
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-group-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-group-03-t.png b/Tests/W3CTestSuite/png/struct-group-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..d22653527f8583b6b65d6330a0aa1142ee52bceb
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-group-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-01-t.png b/Tests/W3CTestSuite/png/struct-image-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..49eacfd7797f732bc02ec900e989e8d10ece5e43
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-02-b.png b/Tests/W3CTestSuite/png/struct-image-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b8211359d3b87393f1c35a60c9477a9fedd243b
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-03-t.png b/Tests/W3CTestSuite/png/struct-image-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..41ead9033b70092b943d640d3027330d0bd694b8
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-04-t.png b/Tests/W3CTestSuite/png/struct-image-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..782a1bd041033feeee6b6910c956a4748b6da64f
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-05-b.png b/Tests/W3CTestSuite/png/struct-image-05-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..f92bb67d62379ad7ea01115db9dbfd9b614937a0
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-05-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-06-t.png b/Tests/W3CTestSuite/png/struct-image-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..b96839faddae12cd13802d1c812015be850b02db
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-07-t.png b/Tests/W3CTestSuite/png/struct-image-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f39a3fc58ee37d0638a74ced75b90d1579dc376b
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-08-t.png b/Tests/W3CTestSuite/png/struct-image-08-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..a65fc02b58ab9abdbcb7b020ceaae5611f3ec3d3
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-08-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-09-t.png b/Tests/W3CTestSuite/png/struct-image-09-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f30f854bb1815e784cc97704cfa74a2dc6ed2236
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-09-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-10-t.png b/Tests/W3CTestSuite/png/struct-image-10-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..0207bb181d7c8740613be4d89d8f93ded93c9b6a
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-10-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-11-b.png b/Tests/W3CTestSuite/png/struct-image-11-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..71249809164c83975e3d8b56143ac537c6c1356e
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-11-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-12-b.png b/Tests/W3CTestSuite/png/struct-image-12-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..6048212ce1bf5f06fab6d36af7bc4fdeaf3e3e56
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-12-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-13-f.png b/Tests/W3CTestSuite/png/struct-image-13-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..89f753f6881ef06dd2322c29e3690576e4329e6b
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-13-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-14-f.png b/Tests/W3CTestSuite/png/struct-image-14-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7299cc1d051c1387cf2a2fa35bd06384bd88f8f6
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-14-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-15-f.png b/Tests/W3CTestSuite/png/struct-image-15-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b584e9c1d48c8af05ce9e2f41ba9641c90e4102
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-15-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-16-f.png b/Tests/W3CTestSuite/png/struct-image-16-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..48cf50dd34a06c825acdd1208b0b024bf8488475
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-16-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-17-b.png b/Tests/W3CTestSuite/png/struct-image-17-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbe8a581a341811b268f2b2f4b096278a74e09a3
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-17-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-18-f.png b/Tests/W3CTestSuite/png/struct-image-18-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..8acaf92d45c207a72e9850c79ed02aa8562f8b71
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-18-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-image-19-f.png b/Tests/W3CTestSuite/png/struct-image-19-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b97a9f58555c39fb67c74c2b64ac475cf68b57c
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-19-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-svg-01-f.png b/Tests/W3CTestSuite/png/struct-svg-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..e51d2da1e38464d93fdd2c512a7c7933628da619
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-svg-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-svg-02-f.png b/Tests/W3CTestSuite/png/struct-svg-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..aaa0c2b377a6d000bff4b68064becd623cc3420c
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-svg-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-svg-03-f.png b/Tests/W3CTestSuite/png/struct-svg-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..3dc44573bce0ab6c7e8b2fdd047ecea0c7ecab78
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-svg-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-symbol-01-b.png b/Tests/W3CTestSuite/png/struct-symbol-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..859cb5604065707334b8df77e49cb1459b962273
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-symbol-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-01-t.png b/Tests/W3CTestSuite/png/struct-use-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5c5799608b3a22a48cc2cb08232585c71bf004c
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-03-t.png b/Tests/W3CTestSuite/png/struct-use-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..af94ab94c8bf3fc640d52aa8b903efa302dda4eb
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-04-b.png b/Tests/W3CTestSuite/png/struct-use-04-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..2c01bdfbc609ceef1bf3befd212ccaa515c47b95
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-04-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-05-b.png b/Tests/W3CTestSuite/png/struct-use-05-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d486dc3fa8809636c0a1a4178165a1b2e351d741
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-05-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-06-b.png b/Tests/W3CTestSuite/png/struct-use-06-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..483828eb05cf4a05eeec0ddfd3a416b41983f866
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-06-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-07-b.png b/Tests/W3CTestSuite/png/struct-use-07-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..756b08cc0235a6ddebb36ffbe86a2727b15b61bb
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-07-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-08-b.png b/Tests/W3CTestSuite/png/struct-use-08-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d0aaa6226703e9dcbfed9b436843a86997d31ab
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-08-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-09-b.png b/Tests/W3CTestSuite/png/struct-use-09-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..043664d0637524ebd8a86c600ff5eb9187791fa8
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-09-b.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-10-f.png b/Tests/W3CTestSuite/png/struct-use-10-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e14ab046a1dbbacda7ecaa72cffd5475237efb7
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-10-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-11-f.png b/Tests/W3CTestSuite/png/struct-use-11-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a4e57003a62d3cff307e9f5b40cf66ac7a344a8
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-11-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-12-f.png b/Tests/W3CTestSuite/png/struct-use-12-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..797bcc218ac21e722afaa612bc484553ef9c2d38
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-12-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-13-f.png b/Tests/W3CTestSuite/png/struct-use-13-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..da19897a59c02a7822b8d2eab71302edf6d2733f
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-13-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-14-f.png b/Tests/W3CTestSuite/png/struct-use-14-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ac441de4fb12a61c25be6760c6c16958d544c79
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-14-f.png differ
diff --git a/Tests/W3CTestSuite/png/struct-use-15-f.png b/Tests/W3CTestSuite/png/struct-use-15-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..c93bdd0d8c9aecfa5b212445b711c24f9c508cc5
Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-15-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-class-01-f.png b/Tests/W3CTestSuite/png/styling-class-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a4f3a318d4195dd8bbc700d2144e8a91e86fac61
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-class-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-01-b.png b/Tests/W3CTestSuite/png/styling-css-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..57f3c8fd09928c39f990a02d2b056d2d19ecd842
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-02-b.png b/Tests/W3CTestSuite/png/styling-css-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..32dcd8b0da71b8c20a070032da4eab2d1566a87e
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-03-b.png b/Tests/W3CTestSuite/png/styling-css-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a64439ad5cab839fabfaf545deb41723406c7cc3
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-04-f.png b/Tests/W3CTestSuite/png/styling-css-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a87d3ce94568958e33955017e30916bd85673427
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-05-b.png b/Tests/W3CTestSuite/png/styling-css-05-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..23317d7627e44aa9d4a41c9e49f67d02186987cd
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-05-b.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-06-b.png b/Tests/W3CTestSuite/png/styling-css-06-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..58643316dd9885e715abb36258e7f48020bdd09d
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-06-b.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-07-f.png b/Tests/W3CTestSuite/png/styling-css-07-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7502be872b71615e26ce2b1e8e930ee9142a131d
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-07-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-08-f.png b/Tests/W3CTestSuite/png/styling-css-08-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..076127968d3fc11d17f8a4656e1d9bb26c03e9ea
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-08-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-09-f.png b/Tests/W3CTestSuite/png/styling-css-09-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd8631db6cae90b2ef37bc370ce43a8752891fc4
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-09-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-css-10-f.png b/Tests/W3CTestSuite/png/styling-css-10-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..9d1dd68db7ea7e4b9bcbcbadb73a57d65f6de940
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-10-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-elem-01-b.png b/Tests/W3CTestSuite/png/styling-elem-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e69472d95954fd4e84b44bfecd928f6c1a9f75e
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-elem-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/styling-elem-02-b.png b/Tests/W3CTestSuite/png/styling-elem-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8b8efe4fa416368225f09c43787f5073dd43040
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-elem-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/styling-inherit-01-b.png b/Tests/W3CTestSuite/png/styling-inherit-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..064e6ef546155b83170957535dd5ee9ec3c1ca29
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-inherit-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/styling-pres-01-t.png b/Tests/W3CTestSuite/png/styling-pres-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..440141cb36851f6da634dc2c198a30c73f5aaa4d
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/styling-pres-02-f.png b/Tests/W3CTestSuite/png/styling-pres-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..f05e87eadeafc3fe7b093b88fed4924cf2dadf2a
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-pres-03-f.png b/Tests/W3CTestSuite/png/styling-pres-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd8631db6cae90b2ef37bc370ce43a8752891fc4
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-pres-04-f.png b/Tests/W3CTestSuite/png/styling-pres-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd8631db6cae90b2ef37bc370ce43a8752891fc4
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/styling-pres-05-f.png b/Tests/W3CTestSuite/png/styling-pres-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..dd8631db6cae90b2ef37bc370ce43a8752891fc4
Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/svgdom-over-01-f.png b/Tests/W3CTestSuite/png/svgdom-over-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a68943a9e409bad6be50964a9b57529535a76d8d
Binary files /dev/null and b/Tests/W3CTestSuite/png/svgdom-over-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-align-01-b.png b/Tests/W3CTestSuite/png/text-align-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e80dd9aea8d96352b3959561fcb0802a695e60e
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-align-02-b.png b/Tests/W3CTestSuite/png/text-align-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..ecce28c027e47284cff29661a7c83a929f11e714
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-align-03-b.png b/Tests/W3CTestSuite/png/text-align-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..4124dc85deb73ae0827371ed53937da43d5e4419
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-align-04-b.png b/Tests/W3CTestSuite/png/text-align-04-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4a107f9c012d912fc6b008de945e916597dc91f
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-04-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-align-05-b.png b/Tests/W3CTestSuite/png/text-align-05-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..c036225513957ad8b1b9c382a49a2d69b6a8dcf1
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-05-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-align-06-b.png b/Tests/W3CTestSuite/png/text-align-06-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9d7b9fb8e55241f041327a2ea7a6cf7b3832c3d
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-06-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-align-07-t.png b/Tests/W3CTestSuite/png/text-align-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b9549faf572bf1608e12ebf65d627f89524894a
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-align-08-b.png b/Tests/W3CTestSuite/png/text-align-08-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..70a77eb9ba3dabb4efd657f38542298f5d8df32f
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-08-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-altglyph-01-b.png b/Tests/W3CTestSuite/png/text-altglyph-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5254a4ef5228cde169ae7d498555b9f97115408
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-altglyph-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-altglyph-02-b.png b/Tests/W3CTestSuite/png/text-altglyph-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c24be1bd21c1d36927deb87f195b25d0dfe79b5
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-altglyph-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-altglyph-03-b.png b/Tests/W3CTestSuite/png/text-altglyph-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..57bc13e5d5a0ebe8b2c0892655496366ca5ca148
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-altglyph-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-bidi-01-t.png b/Tests/W3CTestSuite/png/text-bidi-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c38a2baad6c8aae4948fd9b8261d76df1e221b8
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-bidi-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-deco-01-b.png b/Tests/W3CTestSuite/png/text-deco-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..162120a0b9e7f6df4899d29a8f01f634f354b838
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-deco-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-dom-01-f.png b/Tests/W3CTestSuite/png/text-dom-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb3d6fe9c1920c1593417e255ab6d6576b9b4078
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-dom-02-f.png b/Tests/W3CTestSuite/png/text-dom-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b47c38e2ef323459fe4396315e54ac2e828f411
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-dom-03-f.png b/Tests/W3CTestSuite/png/text-dom-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd9f0b22a9b5066789176b303ca27de8cea47336
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-dom-04-f.png b/Tests/W3CTestSuite/png/text-dom-04-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..a53ec7679ac331e0ed6527166f107886d918341d
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-04-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-dom-05-f.png b/Tests/W3CTestSuite/png/text-dom-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e85777ff6cc74ae65acf32a592906e0b13f06e6
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-fonts-01-t.png b/Tests/W3CTestSuite/png/text-fonts-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e98b1ea8d3ab8667e30e10e9092250512885cf2
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-fonts-02-t.png b/Tests/W3CTestSuite/png/text-fonts-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b4be05aec3b2bce88802e72ebc81e77eac8384b
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-fonts-03-t.png b/Tests/W3CTestSuite/png/text-fonts-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..9469cc98ce4c1a2d3d5df25b8b6caba736cbdca4
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-fonts-04-t.png b/Tests/W3CTestSuite/png/text-fonts-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..9469cc98ce4c1a2d3d5df25b8b6caba736cbdca4
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-fonts-05-f.png b/Tests/W3CTestSuite/png/text-fonts-05-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..07c26f8f553ab02ebe92a22172ede4d8eb2af052
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-05-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-fonts-202-t.png b/Tests/W3CTestSuite/png/text-fonts-202-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..8375d13a659905be69e6c885decd542b35970082
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-202-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-fonts-203-t.png b/Tests/W3CTestSuite/png/text-fonts-203-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..c77043c29baf288fd61d72c49f87c319138dd42e
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-203-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-fonts-204-t.png b/Tests/W3CTestSuite/png/text-fonts-204-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..43c977a073a3bec03a4fcf165efcc6bbed58af98
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-204-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-01-t.png b/Tests/W3CTestSuite/png/text-intro-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..5915c5eea50426ec392429fbd67a94314a81fa79
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-02-b.png b/Tests/W3CTestSuite/png/text-intro-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cadaece385b495aded2be19b8b89490eb455f40
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-03-b.png b/Tests/W3CTestSuite/png/text-intro-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..a93856029896d089ade2ce7516a14861496518c8
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-04-t.png b/Tests/W3CTestSuite/png/text-intro-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f72def1ead1ae3da431557221264e41ce863b4d8
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-05-t.png b/Tests/W3CTestSuite/png/text-intro-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..5bff5a434b8eea33bb38d33ed1d29d1d87c0b002
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-06-t.png b/Tests/W3CTestSuite/png/text-intro-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e506784bc5ec48510b815a190dd731f944a029bb
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-07-t.png b/Tests/W3CTestSuite/png/text-intro-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..59b611b88f4633fb5b9d2863752c1d076ef2e75e
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-09-b.png b/Tests/W3CTestSuite/png/text-intro-09-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..15b4410476f9e96da2e190d6c02a8054dd7c5fbf
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-09-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-10-f.png b/Tests/W3CTestSuite/png/text-intro-10-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..83bcac0dea0bf257dd11c700f50fce4a18be3eb3
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-10-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-11-t.png b/Tests/W3CTestSuite/png/text-intro-11-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d75a065de7cf3eeb2ab6c8458d0eb239a15d929
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-11-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-intro-12-t.png b/Tests/W3CTestSuite/png/text-intro-12-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c4cd7960ee63e6f60ca52b6b4ef978dc05d9200
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-12-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-path-01-b.png b/Tests/W3CTestSuite/png/text-path-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e55eb92418d44a59a46b1e85b9267b7043b00fd
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-path-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-path-02-b.png b/Tests/W3CTestSuite/png/text-path-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d1adf7a60262a3f6c3ffd98430b53aca4265cefa
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-path-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-spacing-01-b.png b/Tests/W3CTestSuite/png/text-spacing-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..46c30c4aeeb6f7540f3cdc176aae22402a738fee
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-spacing-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-01-b.png b/Tests/W3CTestSuite/png/text-text-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..686b68e02c792a2b955625a5d453e08331f5fdfe
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-03-b.png b/Tests/W3CTestSuite/png/text-text-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..8512096211a4b543308d6dacbe55d599b19e4b0d
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-04-t.png b/Tests/W3CTestSuite/png/text-text-04-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5d8c0ca5f971aedd535a57df1103e051f46bd4a
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-04-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-05-t.png b/Tests/W3CTestSuite/png/text-text-05-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6f920980b0e26287e76852f166607f67a1393fd
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-05-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-06-t.png b/Tests/W3CTestSuite/png/text-text-06-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..8eb87a50c2231b5ff080fab1f13f168d42df8837
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-06-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-07-t.png b/Tests/W3CTestSuite/png/text-text-07-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c54463dadc2c68a1d97afe1a1ba6855db8ae337
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-07-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-08-b.png b/Tests/W3CTestSuite/png/text-text-08-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..93ae72528293f2943f0a8f64b32749deb8df3da2
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-08-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-09-t.png b/Tests/W3CTestSuite/png/text-text-09-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..78102e0c451d2888b0e5bbb12d99dbf1705d7192
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-09-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-10-t.png b/Tests/W3CTestSuite/png/text-text-10-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..6489c0000c4c4491136d776e9d94c74f4074e9dc
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-10-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-11-t.png b/Tests/W3CTestSuite/png/text-text-11-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f6f82d1974eefde8024ac086bff9f25b1cb33bb
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-11-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-text-12-t.png b/Tests/W3CTestSuite/png/text-text-12-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..e39b4b7824adedfa712f4d51cb4e746be8f806c5
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-12-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-tref-01-b.png b/Tests/W3CTestSuite/png/text-tref-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4ad2dea95de6af0d45f582f367a7a0e63f345fe
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tref-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-tref-02-b.png b/Tests/W3CTestSuite/png/text-tref-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..423be4c457a81683f3f75d67aa8f82490d238986
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tref-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-tref-03-b.png b/Tests/W3CTestSuite/png/text-tref-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..53b9f49cf3b40895a5a5e8269c235af8a2228b32
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tref-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-tselect-01-b.png b/Tests/W3CTestSuite/png/text-tselect-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa587fe184144fd10c6dba2511f071b230759cf5
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tselect-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-tselect-02-f.png b/Tests/W3CTestSuite/png/text-tselect-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..58b9cd007609ace17aeb05b78fb3827015e8995b
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tselect-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-tselect-03-f.png b/Tests/W3CTestSuite/png/text-tselect-03-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..31edb83561e43bd569c26af104e83764f527f932
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tselect-03-f.png differ
diff --git a/Tests/W3CTestSuite/png/text-tspan-01-b.png b/Tests/W3CTestSuite/png/text-tspan-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..971813e13817c22a87a0b42c2464ef541a6c4404
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tspan-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-tspan-02-b.png b/Tests/W3CTestSuite/png/text-tspan-02-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..ebc03c478b1d4da8be2aa75ce44b504b3f3cb257
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tspan-02-b.png differ
diff --git a/Tests/W3CTestSuite/png/text-ws-01-t.png b/Tests/W3CTestSuite/png/text-ws-01-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..d70fcdb4dd3dc9d7aa1ac24d13c311bd0a6f4290
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-ws-01-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-ws-02-t.png b/Tests/W3CTestSuite/png/text-ws-02-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5d5794ba452433994e4a8b956cbb8731542d732
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-ws-02-t.png differ
diff --git a/Tests/W3CTestSuite/png/text-ws-03-t.png b/Tests/W3CTestSuite/png/text-ws-03-t.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e72cf82eeba0a7831aeda4f8426d487b72c28fd
Binary files /dev/null and b/Tests/W3CTestSuite/png/text-ws-03-t.png differ
diff --git a/Tests/W3CTestSuite/png/types-basic-01-f.png b/Tests/W3CTestSuite/png/types-basic-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd1a57ac3f31e1427dcbeee224fde530a059f19c
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-basic-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-basic-02-f.png b/Tests/W3CTestSuite/png/types-basic-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..70306da2cd420bc1d44041c3b78e31f247a632c0
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-basic-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-01-b.png b/Tests/W3CTestSuite/png/types-dom-01-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6ddede6e39ad8c340f50a4f6afb15d5a4465ca2
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-01-b.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-02-f.png b/Tests/W3CTestSuite/png/types-dom-02-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..6eac2640d787bb4b215c6c58114c978c2bd4eb5f
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-02-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-03-b.png b/Tests/W3CTestSuite/png/types-dom-03-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..3abad76c698dbef10bf669679bbfb4866d10415c
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-03-b.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-04-b.png b/Tests/W3CTestSuite/png/types-dom-04-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..08b8ba8089ebf6142d99e9ce985274abf364b5ea
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-04-b.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-05-b.png b/Tests/W3CTestSuite/png/types-dom-05-b.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd737138f7b8d869c078a7f72887c369db0f0372
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-05-b.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-06-f.png b/Tests/W3CTestSuite/png/types-dom-06-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..25cb85ad2128f65191e301194568345e2f51785f
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-06-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-07-f.png b/Tests/W3CTestSuite/png/types-dom-07-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..12754ba649a721e31d9ecfdd861bf950a544d3ce
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-07-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-08-f.png b/Tests/W3CTestSuite/png/types-dom-08-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d4df4515ec3c3523729d01beb2847ef730d3862
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-08-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-svgfittoviewbox-01-f.png b/Tests/W3CTestSuite/png/types-dom-svgfittoviewbox-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f7259313e00254b802ed1a1a403693dc0404374
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svgfittoviewbox-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-svglengthlist-01-f.png b/Tests/W3CTestSuite/png/types-dom-svglengthlist-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..5068943751c99932135e0da81b8c7dfcb96a57b7
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svglengthlist-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-svgnumberlist-01-f.png b/Tests/W3CTestSuite/png/types-dom-svgnumberlist-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..4305da40de63c9c3aeb90bafb8a996e38abb7234
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svgnumberlist-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-svgstringlist-01-f.png b/Tests/W3CTestSuite/png/types-dom-svgstringlist-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..5068943751c99932135e0da81b8c7dfcb96a57b7
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svgstringlist-01-f.png differ
diff --git a/Tests/W3CTestSuite/png/types-dom-svgtransformable-01-f.png b/Tests/W3CTestSuite/png/types-dom-svgtransformable-01-f.png
new file mode 100644
index 0000000000000000000000000000000000000000..be5157b85557caf754004f5446b8e9f818d80ee5
Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svgtransformable-01-f.png differ
diff --git a/Tests/W3CTestSuite/resources/Baselines/Tribase.sfd b/Tests/W3CTestSuite/resources/Baselines/Tribase.sfd
new file mode 100644
index 0000000000000000000000000000000000000000..bc3a9bfb252f4ee5f7f8d047fd67805d8bdef0d1
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/Baselines/Tribase.sfd
@@ -0,0 +1,119 @@
+SplineFontDB: 3.0
+FontName: Tribase
+FullName: Tribase
+FamilyName: Tribase
+Weight: Regular
+Copyright: 
+Version: 
+ItalicAngle: 0
+UnderlinePosition: 0
+UnderlineWidth: 0
+Ascent: 800
+Descent: 200
+woffMetadata: "<?xml version+AD0AIgAA-1.0+ACIA encoding+AD0AIgAA-UTF-8+ACIA?>+AAoA<metadata version+AD0AIgAA-1.0+ACIA>+AAoA   <credits>+AAoA       <credit name+AD0AIgAA-W3C SVG Working Group+ACIA +AAoA          role+AD0AIgAA-editors+ACIA url+AD0AIgAA-http://www.w3.org/Graphics/SVG/WG/wiki/+ACIA-/>+AAoA   </credits>+AAoA   <description>+AAoA       <text lang+AD0AIgAA-en+ACIA +AAoA       url+AD0AIgAA-http://www.w3.org/Graphics/SVG/WG/wiki/Test_Suite_Overview+ACIA>This +AAoA       font was created for use in the SVG Test Suite. It is probably +AAoA       not suitable for general use, and may have unusual features +AAoA       specific to the particular subject being tested.</text>+AAoA   </description>+AAoA   <license url+AD0AIgAA-http://www.w3.org/Consortium/Legal/2008/04-testsuite-license.html+ACIA +AAoA       id+AD0AIgAA-W3C-TSL-2008-08-20+ACIA>+AAoA       <text lang+AD0AIgAA-en+ACIA>W3C Test Suite License</text>+AAoA   </license>+AAoA   <copyright url+AD0AIgAA-http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html+ACIA>+AAoA       <text lang+AD0AIgAA-en+ACIA>Copyright +AKkA 2011 World Wide Web Consortium, +AAoA       (Massachusetts Institute of Technology, +AAoA       European Research Consortium for Informatics and Mathematics, +AAoA       Keio University) and others. +AAoA       All Rights Reserved. +AAoA       </text>+AAoA   </copyright>+AAoA</metadata>+AAoA" 
+LayerCount: 2
+Layer: 0 0 "Back"  1
+Layer: 1 0 "Fore"  0
+NeedsXUIDChange: 1
+XUID: [1021 814 1794362713 5831921]
+FSType: 8
+OS2Version: 0
+OS2_WeightWidthSlopeOnly: 0
+OS2_UseTypoMetrics: 0
+CreationTime: 1298599594
+ModificationTime: 1298608777
+PfmFamily: 17
+TTFWeight: 400
+TTFWidth: 5
+LineGap: 90
+VLineGap: 90
+OS2TypoAscent: 0
+OS2TypoAOffset: 1
+OS2TypoDescent: 0
+OS2TypoDOffset: 1
+OS2TypoLinegap: 90
+OS2WinAscent: 0
+OS2WinAOffset: 1
+OS2WinDescent: 0
+OS2WinDOffset: 1
+HheadAscent: 0
+HheadAOffset: 1
+HheadDescent: 0
+HheadDOffset: 1
+OS2Vendor: 'PfEd'
+MarkAttachClasses: 1
+DEI: 91125
+LangName: 1033 
+Encoding: Original
+UnicodeInterp: none
+NameList: Adobe Glyph List
+DisplaySize: -36
+AntiAlias: 1
+FitToEm: 1
+WinInfo: 0 25 8
+BeginChars: 5 4
+
+StartChar: .notdef
+Encoding: 0 0 0
+Width: 500
+Flags: H
+LayerCount: 2
+Fore
+SplineSet
+0 0 m 0
+ 0 1000 l 0
+ 500 1000 l 0
+ 500 0 l 0
+ 0 0 l 0
+50 50 m 0
+ 450 50 l 0
+ 450 950 l 0
+ 50 950 l 0
+ 50 50 l 0
+EndSplineSet
+EndChar
+
+StartChar: rectangle
+Encoding: 2 97 1
+Width: 500
+Flags: H
+LayerCount: 2
+Fore
+SplineSet
+0 200 m 0
+ 0 900 l 0
+ 500 900 l 0
+ 500 200 l 0
+ 0 200 l 0
+EndSplineSet
+EndChar
+
+StartChar: upward-triangle
+Encoding: 3 29340 2
+Width: 500
+Flags: H
+LayerCount: 2
+Fore
+SplineSet
+0 0 m 0
+ 250 900 l 0
+ 500 0 l 0
+ 0 0 l 0
+EndSplineSet
+EndChar
+
+StartChar: downward-triangle
+Encoding: 4 2339 3
+Width: 500
+LayerCount: 2
+Fore
+SplineSet
+0 900 m 0
+ 500 900 l 0
+ 250 0 l 0
+ 0 900 l 0
+EndSplineSet
+Validated: 513
+EndChar
+EndChars
+EndSplineFont
diff --git a/Tests/W3CTestSuite/resources/Baselines/Tribase.svg b/Tests/W3CTestSuite/resources/Baselines/Tribase.svg
new file mode 100644
index 0000000000000000000000000000000000000000..25ea53cb723c112ebce1548a061a1388890345e2
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/Baselines/Tribase.svg
@@ -0,0 +1,34 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20100429 at Fri Feb 25 05:40:51 2011
+ By Chris Lilley,,,
+
+</metadata>
+<defs>
+<font id="Tribase" horiz-adv-x="500" >
+  <font-face 
+    font-family="SVGBase"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 0 5 9 0 0 0 0 0 0"
+    ascent="800"
+    descent="-200"
+    bbox="0 0 500 1000"
+    underline-thickness="0"
+    underline-position="0"
+    unicode-range="U+0020-729C"
+  />
+    <missing-glyph />
+    <glyph glyph-name="uni0000" 
+d="M0 0v1000h500v-1000h-500zM50 50h400v900h-400v-900z" />
+    <glyph glyph-name="a" unicode="a" 
+d="M0 200v700h500v-700h-500z" />
+    <glyph glyph-name="uni729C" unicode="&#x729c;" 
+d="M0 0l250 900l250 -900h-500z" />
+    <glyph glyph-name="uni0923" unicode="&#x923;" 
+d="M0 900h500l-250 -900z" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/Blocky.svg b/Tests/W3CTestSuite/resources/Blocky.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9c2d7880eb684852ecb27ae6cdebf12c94593aec
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/Blocky.svg
@@ -0,0 +1,21 @@
+<svg 
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <font id="Blocky" horiz-adv-x="416" >
+    <font-face font-family="Blocky" units-per-em="1000" panose-1="2 0 0 6 3 0 0 2 0 4" ascent="700" descent="-127" alphabetic="0" />
+        <missing-glyph horiz-adv-x="233" />
+        <glyph unicode=" " glyph-name="space" horiz-adv-x="233" />
+        <glyph unicode="G" glyph-name="G" horiz-adv-x="547" d="M40 700V0H510V383H295V253H360V150H190V550H510V700H40Z" />
+        <glyph unicode="a" glyph-name="a" horiz-adv-x="435" d="M71 550L3 0H143L154 119H282L293 0H433L365 550H71ZM168 259L182 410H254L268 259H168Z" />
+        <glyph unicode="d" glyph-name="d" horiz-adv-x="519" d="M27 550V410H87V140H27V0H482V550H27ZM230 410H339V140H230V410Z" />
+        <glyph unicode="e" glyph-name="e" horiz-adv-x="442" d="M37 550V410V0H419V130H180V210H299V340H180V420H419V550H37Z" />
+        <glyph unicode="f" glyph-name="f" horiz-adv-x="428" d="M37 550V410V0H180V196H349V326H180V420H410V550H37Z" />
+        <glyph unicode="i" glyph-name="i" horiz-adv-x="217" d="M37 550V410V0H180V550H37Z" />
+        <glyph unicode="k" glyph-name="k" horiz-adv-x="472" d="M180 207H233L325 0H480L344 284L474 550H319L233 347H180V550H37V410V0H180V207Z" />
+        <glyph unicode="l" glyph-name="l" horiz-adv-x="435" d="M37 0H425V130H180V550H37V410V0Z" />
+        <glyph unicode="n" glyph-name="n" horiz-adv-x="518" d="M180 550H37V410V0H180V324L338 0H481V550H338V226L180 550Z" />
+        <glyph unicode="o" glyph-name="o" horiz-adv-x="484" d="M37 550V0H447V550H37ZM180 410H304V140H180V410Z" />
+        <glyph unicode="r" glyph-name="r" horiz-adv-x="485" d="M37 550V410V0H180V164H222L305 0H465L367 174H444V550H37ZM180 420H301V294H180V420Z" />
+        <glyph unicode="s" glyph-name="s" horiz-adv-x="468" d="M34 550V410V218H291V120H34V0H434V338H177V430H434V550H34Z" />
+        <glyph unicode="t" glyph-name="t" horiz-adv-x="417" d="M5 550V410H137V0H280V410H412V550H5Z" />
+    </font>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/resources/Blocky.woff b/Tests/W3CTestSuite/resources/Blocky.woff
new file mode 100644
index 0000000000000000000000000000000000000000..1d7e05f28dbdaabb27d416730eb973561a3c4d12
Binary files /dev/null and b/Tests/W3CTestSuite/resources/Blocky.woff differ
diff --git a/Tests/W3CTestSuite/resources/EzraSILSR.woff b/Tests/W3CTestSuite/resources/EzraSILSR.woff
new file mode 100644
index 0000000000000000000000000000000000000000..1bae45f6ae64d0ff700c7f4f51ea4a26bb9159ec
Binary files /dev/null and b/Tests/W3CTestSuite/resources/EzraSILSR.woff differ
diff --git a/Tests/W3CTestSuite/resources/FreeSerif.svg b/Tests/W3CTestSuite/resources/FreeSerif.svg
new file mode 100644
index 0000000000000000000000000000000000000000..99e357dda2448f9c9184ea0a7efc565a19477f3d
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/FreeSerif.svg
@@ -0,0 +1,541 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20100204 at Mon Mar  8 20:56:26 2010
+ By Chris Lilley,,,
+Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation.
+</metadata>
+<defs>
+<font id="FreeSerif" horiz-adv-x="0" >
+  <font-face 
+    font-family="FreeSerif"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 2 6 3 5 4 5 2 3 4"
+    ascent="800"
+    descent="-200"
+    x-height="450"
+    cap-height="662"
+    bbox="-879 -545 1767 934"
+    underline-thickness="50"
+    underline-position="-100"
+    stemh="30"
+    stemv="85"
+    unicode-range="U+0020-U+00FF"
+  />
+<missing-glyph horiz-adv-x="500" 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="250" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="333" 
+d="M189 176h-13l-9 108c-7 82 -37 258 -37 315c0 47 20 77 53 77c34 0 53 -28 53 -80c0 -14 -1 -25 -2 -37zM183 98c30 0 54 -25 54 -55s-23 -52 -55 -52c-30 0 -52 22 -52 52c0 31 23 55 53 55z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="408" 
+d="M299 431h-21c-17 90 -32 188 -32 204c0 23 19 41 43 41c23 0 42 -18 42 -40c0 -29 -9 -89 -25 -165zM130 431h-21c-17 90 -32 188 -32 204c0 23 19 41 43 41c23 0 42 -18 42 -40c0 -29 -9 -89 -25 -165z" />
+    <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="500" 
+d="M471 271v-55h-109l-31 -216h-58l31 216h-134l-33 -216h-58l33 216h-107v55h116l21 134h-110v55h118l31 202h58l-31 -202h133l30 202h58l-30 -202h97v-55h-105l-20 -134h100zM333 405h-133l-21 -134h134z" />
+    <glyph glyph-name="dollar" unicode="$" horiz-adv-x="500" 
+d="M52 512c0 84 59 139 178 152v63h34v-63c84 -10 127 -25 161 -53v-111h-15c-17 85 -62 127 -146 137v-246c108 -63 193 -97 193 -221c0 -104 -72 -150 -193 -170v-87h-34v87c-84 3 -126 14 -186 51v130h15c24 -105 77 -152 171 -153v282c-127 71 -178 119 -178 202z
+M229 407v230c-69 -14 -103 -48 -103 -103c0 -46 20 -71 103 -127zM264 293v-265c78 15 114 52 114 118c0 62 -21 89 -114 147z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="833" 
+d="M669 371c65 0 103 -39 103 -107c0 -78 -33 -159 -86 -213c-35 -35 -72 -51 -117 -51c-72 0 -120 51 -120 129c0 125 107 242 220 242zM586 30c90 0 160 136 160 229c0 44 -32 80 -70 80c-101 0 -151 -194 -151 -245c0 -38 25 -64 61 -64zM282 662c76 0 59 -54 157 -54
+c62 0 102 17 156 68h39l-385 -689h-48l351 626c-40 -23 -66 -30 -110 -30c-29 0 -47 3 -65 10c5 -18 7 -30 7 -44c0 -114 -83 -260 -205 -260c-65 0 -118 57 -118 127c0 127 107 246 221 246zM282 632c-67 0 -145 -155 -145 -248c0 -36 24 -61 59 -61c81 0 163 115 163 228
+c0 14 -3 29 -9 49c-59 16 -54 32 -68 32z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="778" 
+d="M491 555c0 -69 -40 -117 -155 -171c44 -86 76 -137 132 -206c64 85 91 139 91 182c0 30 -14 40 -64 45v21h216v-21c-50 -6 -70 -18 -94 -59l-26 -46c-31 -54 -56 -91 -100 -150c46 -61 98 -92 154 -92c36 0 58 13 90 53l15 -11c-30 -71 -87 -113 -151 -113
+c-58 0 -107 26 -170 91c-75 -66 -135 -91 -216 -91c-106 0 -171 57 -171 152c0 84 51 155 157 216l38 22c-27 75 -35 107 -35 145c0 86 68 154 154 154c79 0 135 -50 135 -121zM321 416c82 44 117 87 117 143c0 49 -34 85 -80 85s-77 -34 -77 -82c0 -45 10 -83 40 -146z
+M252 343c-87 -56 -118 -99 -118 -163c0 -77 59 -141 129 -141c42 0 82 18 141 65c-57 70 -92 125 -152 239z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="180" 
+d="M101 431h-21c-17 90 -32 188 -32 204c0 23 19 41 43 41c23 0 42 -18 42 -40c0 -29 -9 -89 -25 -165z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M292 -177c-74 45 -244 188 -244 429c0 254 165 371 247 424l9 -16c-103 -83 -170 -160 -170 -405c0 -255 67 -335 170 -416z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M41 676c74 -45 244 -188 244 -429c0 -254 -165 -371 -247 -424l-9 16c103 83 170 162 170 405c0 252 -64 333 -170 416z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="500" 
+d="M214 302c0 33 28 73 28 122v8l-1 17v7c-116 -73 -85 -105 -136 -105c-22 0 -36 13 -36 35c0 54 67 25 165 85l-11 7c-56 39 -154 23 -154 77c0 20 15 36 34 36c48 0 33 -47 138 -105v13c0 61 -25 111 -25 142c0 20 15 35 35 35s36 -16 36 -37c0 -31 -27 -76 -27 -129v-26
+c67 38 103 109 135 109c21 0 36 -16 36 -39c0 -52 -59 -24 -163 -84c93 -58 164 -25 164 -83c0 -22 -14 -37 -35 -37c-48 0 -64 76 -137 106v-7c0 -85 28 -118 28 -144c0 -21 -18 -40 -39 -40c-19 0 -35 17 -35 37z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="564" 
+d="M249 286v220h66v-220h219v-66h-219v-220h-66v220h-219v66h219z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="250" 
+d="M142 -2c-4 0 -10 -4 -27 -4c-36 0 -59 19 -59 51c0 34 24 57 59 57c45 0 80 -39 80 -89c0 -60 -45 -121 -112 -154l-9 19c54 37 82 74 82 106c0 8 -6 14 -14 14z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M39 257h246v-63h-246v63z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="250" 
+d="M125 100c30 0 56 -26 56 -57c0 -29 -26 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 55 57z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M287 676l-228 -690h-68l229 690h67z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="500" 
+d="M250 -14c-181 0 -226 219 -226 350c0 117 38 232 96 288c37 35 79 52 134 52c131 0 222 -141 222 -346c0 -200 -88 -344 -226 -344zM251 650c-86 0 -131 -111 -131 -323c0 -208 44 -315 130 -315s130 107 130 316s-45 322 -129 322z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="500" 
+d="M183 593c-15 0 -33 -6 -72 -22v14l180 91l8 -2v-600c0 -48 16 -58 95 -59v-15h-276v15c71 2 95 13 95 78v453c0 32 -9 47 -30 47z" />
+    <glyph glyph-name="two" unicode="2" horiz-adv-x="500" 
+d="M31 477c11 47 47 199 208 199c104 0 185 -77 185 -177c0 -78 -39 -154 -128 -247l-168 -176h239c45 0 58 9 95 66l13 -5l-55 -137h-390v12l178 189c84 89 130 182 130 260c0 84 -57 141 -141 141c-69 0 -105 -32 -145 -130z" />
+    <glyph glyph-name="three" unicode="3" horiz-adv-x="500" 
+d="M81 78c49 0 84 -56 148 -56c74 0 131 65 131 149c0 69 -39 126 -101 148c-24 9 -47 11 -106 11v13c75 26 166 66 166 166c0 63 -45 107 -110 107c-63 0 -108 -33 -149 -106l-15 4c27 75 75 162 197 162c92 0 156 -56 156 -137c0 -54 -25 -91 -94 -138
+c67 -29 128 -73 128 -182c0 -144 -121 -233 -276 -233c-70 0 -113 22 -113 57c0 21 15 35 38 35z" />
+    <glyph glyph-name="four" unicode="4" horiz-adv-x="500" 
+d="M472 231v-64h-102v-167h-77v167h-281v64l314 445h44v-445h102zM292 231v343l-240 -343h240z" />
+    <glyph glyph-name="five" unicode="5" horiz-adv-x="500" 
+d="M357 194c0 186 -219 218 -281 218c-8 0 -12 3 -12 8c0 2 0 3 1 5l109 237h209c21 0 31 5 46 26l9 -7l-38 -89c-3 -7 -7 -9 -23 -9h-196l-42 -85c186 -33 288 -100 288 -256c0 -205 -167 -256 -273 -256c-75 0 -122 24 -122 62c0 25 14 37 43 37c56 0 90 -62 143 -62
+c78 0 139 75 139 171z" />
+    <glyph glyph-name="six" unicode="6" horiz-adv-x="500" 
+d="M258 -14c-134 0 -224 117 -224 293c0 134 59 248 167 325c73 51 131 70 245 80l2 -16c-157 -26 -269 -134 -296 -285c63 38 84 45 128 45c115 0 188 -81 188 -209c0 -138 -86 -233 -210 -233zM242 382c-98 0 -115 -49 -115 -119c0 -155 54 -249 142 -249
+c70 0 109 61 109 171c0 125 -50 197 -136 197z" />
+    <glyph glyph-name="seven" unicode="7" horiz-adv-x="500" 
+d="M449 662v-16l-212 -654h-65l198 596h-217c-55 0 -73 -13 -116 -81l-17 8l59 147h370z" />
+    <glyph glyph-name="eight" unicode="8" horiz-adv-x="500" 
+d="M290 371c121 -90 155 -139 155 -216c0 -103 -77 -169 -197 -169c-113 0 -192 68 -192 165c0 68 22 99 130 181c-105 92 -124 121 -124 186c0 91 81 158 190 158c100 0 172 -60 172 -142c0 -68 -35 -110 -134 -163zM272 268l-60 44c-58 -47 -80 -89 -80 -153
+c0 -87 51 -145 127 -145c65 0 110 45 110 110c0 56 -24 92 -97 144zM261 389c28 21 94 58 94 146c0 69 -43 113 -111 113c-63 0 -108 -41 -108 -99c0 -56 36 -102 125 -160z" />
+    <glyph glyph-name="nine" unicode="9" horiz-adv-x="500" 
+d="M59 -22l-3 20c152 26 263 133 304 296c-53 -41 -95 -57 -150 -57c-108 0 -180 81 -180 203c0 135 89 236 208 236c129 0 221 -117 221 -282c0 -135 -61 -259 -165 -335c-68 -49 -123 -68 -235 -81zM246 280c28 0 116 15 116 75v39c0 168 -45 254 -132 254
+c-86 0 -108 -100 -108 -174c0 -119 48 -194 124 -194z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="278" 
+d="M136 459c30 0 56 -26 56 -57c0 -29 -26 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 55 57zM136 100c30 0 56 -26 56 -57c0 -29 -26 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 55 57z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="278" 
+d="M166 -2c-4 0 -10 -4 -27 -4c-37 0 -59 19 -59 52c0 34 24 56 59 56c45 0 80 -39 80 -89c0 -60 -43 -120 -112 -154l-9 19c54 37 82 74 82 106c0 8 -6 14 -14 14zM136 459c30 0 56 -26 56 -57c0 -29 -26 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 55 57z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="564" 
+d="M536 -10l-508 230v66l508 230v-72l-420 -191l420 -191v-72z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="564" 
+d="M534 386v-66h-504v66h504zM534 186v-66h-504v66h504z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="564" 
+d="M28 -10v72l420 191l-420 191v72l508 -230v-66z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="444" 
+d="M230 676c97 0 184 -58 184 -155c0 -76 -49 -135 -105 -203c-37 -47 -54 -87 -65 -154h-17c1 44 9 94 30 142l28 64c24 55 37 110 37 156c0 67 -48 120 -108 120c-49 0 -95 -30 -95 -62c0 -21 38 -43 38 -74c0 -24 -17 -41 -41 -41c-31 0 -48 22 -48 62
+c0 83 70 145 162 145zM237 99c29 0 54 -25 54 -55s-23 -52 -55 -52c-30 0 -52 22 -52 51c0 32 23 56 53 56z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="921" 
+d="M482 645c-172 0 -282 -148 -282 -322s122 -298 292 -298c67 0 118 13 196 48l12 -30c-97 -44 -147 -57 -217 -57c-207 0 -367 148 -367 340c0 195 162 350 365 350c185 0 328 -128 328 -293c0 -129 -85 -240 -184 -240c-48 0 -85 29 -91 73c-34 -45 -81 -72 -125 -72
+c-49 0 -88 49 -88 112c0 110 78 252 196 252c35 0 50 -11 72 -52l10 38h69l-65 -254c-1 -6 -2 -11 -2 -18c0 -31 13 -46 39 -46c66 0 129 97 129 197c0 149 -130 272 -287 272zM572 406c0 46 -25 58 -44 58c-46 0 -136 -73 -136 -192c0 -52 23 -85 60 -85
+c69 0 120 138 120 219z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="722" 
+d="M706 19v-19h-255v19c53 1 70 9 70 34c0 14 -7 40 -19 67l-41 96h-262l-46 -117c-5 -13 -8 -27 -8 -39c0 -28 20 -41 68 -41v-19h-198v19c48 2 62 17 124 164l208 491h20l249 -568c35 -74 45 -84 90 -87zM216 257h231l-116 275z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="667" 
+d="M593 180c0 -72 -48 -180 -242 -180h-334v19c83 3 96 16 96 90v444c0 74 -12 85 -96 90v19h280c173 0 262 -58 262 -170c0 -115 -102 -135 -137 -144c40 -10 171 -38 171 -168zM278 37c109 0 200 24 200 142c0 63 -27 103 -84 127c-36 15 -79 20 -179 20v-248
+c0 -32 14 -41 63 -41zM215 366h95c94 0 147 44 147 122c0 89 -61 137 -176 137h-44c-15 0 -22 -9 -22 -30v-229z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="667" 
+d="M28 325c0 211 148 351 335 351c109 0 149 -33 185 -33c20 0 36 12 42 33h21l9 -226h-23c-28 95 -86 186 -215 186c-145 0 -238 -117 -238 -298c0 -244 136 -308 248 -308c83 0 149 30 223 101l18 -18c-61 -81 -160 -127 -273 -127c-196 0 -332 134 -332 339z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="722" 
+d="M685 334c0 -138 -77 -334 -385 -334h-284v19c76 5 88 18 88 90v444c0 74 -9 83 -88 90v19h270c317 0 399 -183 399 -328zM576 327c0 134 -64 298 -318 298c-41 0 -52 -8 -52 -39v-508c0 -32 12 -41 52 -41c188 0 318 73 318 290z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="611" 
+d="M201 80c0 -38 7 -43 105 -43h27c143 0 186 24 236 132h28l-45 -169h-540v19c73 5 87 20 87 90v444c0 70 -13 84 -87 90v19h531l3 -143h-25c-17 90 -39 105 -152 105h-135c-27 0 -33 -6 -33 -34v-222h154c93 0 99 29 110 95h23v-232h-23c-13 83 -28 96 -110 96h-154v-247z
+" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="556" 
+d="M479 231h-23c-12 81 -29 96 -110 96h-145v-218c0 -72 14 -86 91 -90v-19h-280v19c76 5 87 18 87 101v433c0 70 -13 84 -87 90v19h531l3 -143h-25c-17 90 -39 105 -152 105h-136c-27 0 -32 -6 -32 -34v-222h145c80 0 98 15 110 95h23v-232z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="722" 
+d="M392 636c-197 0 -246 -187 -246 -310c0 -186 100 -300 263 -300c72 0 133 27 133 59v162c0 77 -15 84 -88 89v18h255v-18c-58 -5 -70 -18 -70 -77v-203c-40 -35 -165 -70 -251 -70c-136 0 -356 68 -356 339c0 204 143 351 343 351c100 0 145 -33 180 -33
+c21 0 39 14 45 33h22l8 -211h-23c-34 82 -85 171 -215 171z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="722" 
+d="M209 359h303v194c0 72 -11 83 -88 90v19h278v-19c-77 -7 -88 -18 -88 -90v-444c0 -71 13 -84 88 -90v-19h-278v19c78 5 88 17 88 101v195h-303v-206c0 -71 13 -84 88 -90v-19h-278v19c78 5 88 17 88 101v433c0 72 -11 83 -88 90v19h278v-19c-77 -7 -88 -18 -88 -90v-194z
+" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="333" 
+d="M115 109v444c0 74 -12 85 -97 90v19h297v-19c-84 -4 -98 -17 -98 -90v-444c0 -73 16 -87 98 -90v-19h-297v19c84 3 97 15 97 90z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="389" 
+d="M59 108c61 0 43 -84 79 -84c26 0 38 21 38 66v463c0 73 -11 84 -93 90v19h287v-19c-81 -6 -92 -17 -92 -90v-370c0 -125 -61 -197 -169 -197c-58 0 -99 30 -99 72c0 27 22 50 49 50z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="722" 
+d="M413 643v19h262v-19c-68 -5 -85 -12 -152 -78l-190 -188l233 -250c91 -97 105 -107 157 -108v-19h-305v19c12 1 23 1 28 1c28 1 42 8 42 22c0 24 -54 95 -130 170l-106 105l-26 -21v-187c0 -73 12 -85 90 -90v-19h-282v19c79 5 90 18 90 101v433c0 71 -12 84 -90 90v19
+h284v-19c-81 -6 -92 -17 -92 -90v-205l177 161c55 51 78 81 78 103c0 20 -12 28 -42 30c-4 0 -14 0 -26 1z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="611" 
+d="M354 39c175 0 199 89 219 135h25l-48 -174h-538v19c73 5 87 20 87 90v444c0 70 -13 84 -87 90v19h282v-19c-79 -5 -93 -19 -93 -90v-473c0 -35 13 -41 86 -41h67z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="889" 
+d="M674 573l-256 -573h-14l-251 550v-403c0 -101 17 -124 94 -128v-19h-235v19c83 6 97 25 97 128v406c0 73 -13 85 -95 90v19h198l231 -505l221 505h199v-19c-74 -6 -87 -19 -87 -90v-444c0 -71 14 -85 87 -90v-19h-280v19c79 5 91 18 91 101v453z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="722" 
+d="M707 643c-61 -6 -95 -11 -95 -128v-526h-17l-442 550v-392c0 -101 17 -124 94 -128v-19h-235v19c83 6 97 25 97 128v441c-40 47 -54 55 -97 55v19h171l385 -484v337c0 104 -19 122 -96 128v19h235v-19z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="722" 
+d="M355 -14c-175 0 -321 135 -321 345c0 201 136 345 327 345c190 0 327 -140 327 -349c0 -201 -136 -341 -333 -341zM574 328c0 249 -125 312 -213 312c-172 0 -213 -187 -213 -311c0 -121 42 -307 211 -307c172 0 215 186 215 306z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="556" 
+d="M542 481c0 -77 -41 -193 -271 -193c-26 0 -43 1 -69 3v-182c0 -73 15 -87 94 -90v-19h-280v19c76 7 84 17 84 101v433c0 72 -10 82 -84 90v19h264c108 0 262 -36 262 -181zM202 591v-260c23 -2 37 -3 57 -3c115 0 174 50 174 147c0 103 -62 150 -197 150
+c-27 0 -34 -7 -34 -34z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="722" 
+d="M688 331c0 -270 -208 -328 -262 -338c81 -105 161 -149 275 -152v-18h-6c-11 -1 -20 -1 -35 -1c-159 0 -280 43 -348 122l-47 55c-115 39 -231 132 -231 330c0 203 136 347 327 347s327 -144 327 -345zM574 333c0 187 -84 307 -210 307c-173 0 -216 -184 -216 -305
+c0 -248 122 -313 213 -313c170 0 213 185 213 311z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="667" 
+d="M293 662c98 0 254 -26 254 -176c0 -138 -140 -159 -181 -167l206 -253c29 -34 49 -44 87 -47v-19h-161l-238 308l-56 -2v-197c0 -72 13 -85 90 -90v-19h-277v19c75 6 85 18 85 101v433c0 71 -10 82 -85 90v19h276zM204 343c148 3 234 28 234 145c0 94 -58 137 -183 137
+c-40 0 -51 -8 -51 -36v-246z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="556" 
+d="M390 135c0 171 -319 165 -319 370c0 106 84 171 173 171c74 0 119 -34 150 -34c17 0 28 11 32 34h21l22 -213h-25c-34 124 -110 172 -183 172c-62 0 -104 -38 -104 -93c0 -54 42 -98 147 -156c132 -71 187 -136 187 -218c0 -103 -89 -182 -204 -182
+c-87 0 -128 34 -165 34c-15 0 -27 -14 -28 -33h-22l-30 212h23c50 -122 113 -177 202 -177c73 0 123 46 123 113z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="611" 
+d="M254 620h-54c-112 0 -135 -19 -159 -128h-24l6 170h564l6 -170h-24c-23 110 -45 128 -159 128h-54v-511c0 -73 14 -86 96 -90v-19h-292v19c83 5 94 16 94 101v500z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M206 233c0 -122 34 -203 172 -203c75 0 139 31 166 79c16 30 23 68 23 136v270c0 100 -16 122 -94 128v19h232v-19c-82 -10 -94 -26 -94 -128v-261c0 -143 -42 -268 -256 -268c-170 0 -251 82 -251 255v312c0 73 -11 84 -90 90v19h283v-19c-80 -7 -91 -18 -91 -90v-320z
+" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="722" 
+d="M697 662v-19c-48 -3 -60 -13 -92 -93l-222 -561h-15l-246 549c-40 90 -57 103 -106 105v19h266v-19c-14 -1 -25 -2 -29 -2c-32 -2 -46 -12 -46 -31c0 -15 8 -38 41 -111l151 -338l147 367c12 30 19 57 19 73c0 28 -18 39 -73 42v19h205z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="944" 
+d="M932 662v-19c-53 -10 -64 -19 -83 -71c-109 -294 -119 -322 -204 -583h-15l-160 423l-154 -423h-15l-193 537c-34 95 -52 112 -103 117v19h245v-19c-51 -3 -65 -10 -65 -32c0 -11 4 -28 11 -46l144 -376l107 282l-33 82c-32 81 -44 89 -101 90v19h267v-19
+c-54 -1 -77 -11 -77 -35c0 -17 12 -42 27 -81l132 -341l125 339c10 28 16 54 16 75c0 27 -18 38 -69 43v19h198z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="722" 
+d="M696 662v-19c-64 -4 -85 -15 -149 -94l-146 -182l192 -274c41 -59 58 -68 111 -74v-19h-297v19c12 1 23 2 27 2c34 1 50 11 50 29c0 15 -18 49 -51 98l-95 140l-119 -148c-37 -46 -52 -71 -52 -86c0 -23 18 -31 76 -35v-19h-233v19c51 4 58 7 145 114l157 193l-109 160
+c-96 141 -116 154 -181 157v19h302v-19l-28 -1c-33 -1 -48 -9 -48 -29c0 -22 24 -65 85 -150l42 -59l113 138c29 36 40 54 40 69c0 23 -16 30 -70 32v19h238z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="722" 
+d="M703 662v-19c-51 -4 -79 -24 -138 -114l-148 -226v-194c0 -76 14 -88 103 -90v-19h-306v19c91 4 101 14 101 101v174l-131 192c-97 143 -114 155 -162 157v19h280v-19c-11 -1 -21 -1 -25 -1c-32 -2 -46 -11 -46 -29c0 -11 6 -28 17 -44l148 -222l143 226
+c9 15 14 27 14 37c0 24 -17 32 -69 33v19h219z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="611" 
+d="M402 38c135 0 152 72 172 138h23l-24 -176h-564v15l437 609h-221c-142 0 -156 -65 -168 -133h-26l20 171h526v-15l-432 -609h257z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="333" 
+d="M299 -131v-25h-211v818h211v-25h-90c-32 0 -45 -13 -45 -44v-672c0 -35 16 -52 49 -52h86z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M-9 676h67l229 -690h-68z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="333" 
+d="M34 -131h90c31 0 45 13 45 44v672c0 35 -16 52 -49 52h-86v25h211v-818h-211v25z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="469" 
+d="M92 297h-68l181 365h60l181 -365h-68l-143 289z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="500" 
+d="M500 -125h-500v50h500v-50z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M242 507h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="444" 
+d="M37 97c0 108 126 145 250 195v61c0 54 -27 83 -76 83c-40 0 -72 -22 -72 -49c0 -14 5 -31 5 -40c0 -22 -21 -42 -45 -42c-23 0 -43 20 -43 43c0 63 74 112 168 112c116 0 144 -60 144 -160v-195c0 -44 7 -58 30 -58c15 0 27 5 44 19v-26c-35 -38 -56 -50 -90 -50
+c-41 0 -59 21 -64 73c-61 -52 -102 -73 -146 -73c-61 0 -105 44 -105 107zM287 123v145c-121 -44 -162 -80 -162 -139v-4c0 -43 28 -77 63 -77c21 0 49 9 73 23c21 12 26 21 26 52z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="500" 
+d="M153 681v-306c20 49 78 85 139 85c100 0 176 -94 176 -217c0 -143 -102 -253 -234 -253c-80 0 -165 33 -165 64v519c0 42 -9 51 -49 51c-7 0 -11 0 -17 -1v16l29 8c47 13 74 21 116 36zM153 322v-252c0 -25 45 -48 97 -48c82 0 130 64 130 175c0 122 -50 200 -128 200
+c-52 0 -99 -36 -99 -75z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="444" 
+d="M25 213c0 154 108 247 219 247c84 0 154 -47 154 -103c0 -23 -22 -42 -48 -42c-21 0 -39 18 -47 46l-6 22c-10 37 -23 48 -59 48c-81 0 -136 -71 -136 -174c0 -115 64 -195 155 -195c57 0 93 24 141 94l14 -9c-21 -41 -79 -157 -197 -157c-111 0 -190 93 -190 223z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="500" 
+d="M344 -10l-4 3v64c-34 -47 -72 -67 -128 -67c-110 0 -185 87 -185 215c0 142 93 255 208 255c40 0 67 -11 105 -43v156c0 41 -9 51 -46 51c-8 0 -14 0 -22 -1v16c64 17 99 27 147 44l5 -2v-567c0 -46 8 -57 44 -57c3 0 5 0 23 1v-16zM251 42c57 0 89 43 89 60v230
+c0 53 -49 100 -102 100c-76 0 -125 -74 -125 -187c0 -123 55 -203 138 -203z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="444" 
+d="M97 277c6 -178 91 -218 156 -218c64 0 107 29 155 105l16 -7c-42 -108 -117 -167 -212 -167c-115 0 -187 86 -187 224c0 149 88 246 209 246c103 0 156 -62 171 -183h-308zM99 309h204c-13 87 -37 115 -98 115s-95 -37 -106 -115z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="333" 
+d="M341 580c-48 0 -41 75 -98 75c-38 0 -57 -31 -57 -89v-116h123v-32h-122v-314c0 -75 11 -86 93 -89v-15h-260v15c72 4 83 16 83 89v314h-82v32h82c2 139 44 233 176 233c60 0 104 -26 104 -62c0 -23 -19 -41 -42 -41z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="500" 
+d="M73 54c0 26 10 35 89 109c-66 33 -93 71 -93 134c0 91 74 163 167 163c26 0 53 -5 80 -15l22 -8c20 -7 35 -10 55 -10h77v-39h-83c14 -32 19 -55 19 -84c0 -96 -76 -155 -156 -155c-6 0 -19 1 -38 3c-3 0 -10 1 -19 2c-27 -8 -60 -43 -60 -63c0 -16 25 -25 78 -27l129 -6
+c74 -3 121 -45 121 -107c0 -38 -17 -70 -55 -101c-52 -42 -130 -68 -205 -68c-95 0 -173 44 -173 97c0 37 27 70 98 122c-41 20 -53 32 -53 53zM147 -2c-42 -50 -49 -63 -49 -86c0 -44 58 -73 146 -73c113 0 189 39 189 97c0 36 -33 49 -124 49c-49 0 -129 6 -162 13z
+M329 265c0 33 -15 167 -103 167c-46 0 -74 -35 -74 -94v-3c0 -96 42 -161 102 -161c46 0 75 35 75 91z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="500" 
+d="M157 343v-241c0 -69 10 -81 68 -87v-15h-216v15c58 8 64 17 64 87v471c0 43 -8 51 -51 51c-5 0 -8 0 -12 -1v16l27 8c56 16 81 24 115 36l5 -3v-304c46 60 88 84 147 84c81 0 123 -54 123 -159v-199c0 -69 6 -77 60 -87v-15h-212v15c58 6 68 19 68 87v198
+c0 70 -25 106 -75 106c-39 0 -69 -17 -111 -63z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="278" 
+d="M62 394c-9 0 -27 -2 -42 -4v15l155 55l4 -3v-355c0 -72 8 -82 74 -87v-15h-237v15c69 4 79 15 79 87v232c0 44 -9 60 -33 60zM128 683c29 0 52 -23 52 -51c0 -29 -23 -51 -52 -51c-28 0 -50 23 -50 51s23 51 50 51z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="278" 
+d="M77 394c-24 0 -45 -4 -45 -4v16c59 18 97 31 156 54l5 -3v-457c0 -142 -59 -218 -169 -218c-54 0 -94 23 -94 55c0 22 18 39 41 39c41 0 52 -60 90 -60c42 0 48 45 48 139v379c0 43 -9 60 -32 60zM142 683c29 0 52 -23 52 -51c0 -29 -23 -51 -52 -51c-28 0 -50 23 -50 51
+s23 51 50 51z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="500" 
+d="M7 623v16l30 8c58 16 87 24 125 36l4 -2v-420l137 122c14 12 23 26 23 34c0 14 -11 18 -50 19v14h204v-15h-8c-42 0 -77 -4 -208 -126l-29 -27l153 -194c42 -51 73 -70 117 -73v-15h-218v15h19c12 0 21 6 21 15c0 10 -13 22 -21 34l-140 187v-184c0 -35 15 -49 55 -51
+l20 -1v-15h-234v15c72 12 75 15 75 67v482c0 48 -10 61 -43 61c-10 0 -19 -1 -32 -2z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="278" 
+d="M19 623v16c69 17 107 27 159 44l4 -2v-597c0 -55 12 -65 75 -69v-15h-236v15c63 5 77 18 77 72v477c0 47 -10 61 -42 61c-8 0 -20 -1 -31 -2h-6z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="778" 
+d="M19 398v17c55 15 89 26 140 45l7 -2v-75c83 63 111 77 155 77c54 0 88 -27 106 -84c54 58 105 84 163 84c77 0 116 -60 116 -178v-206c0 -39 13 -57 43 -59l26 -2v-15h-219v15c58 7 66 15 66 72v211c0 83 -18 110 -75 110c-46 0 -79 -18 -109 -61v-252
+c0 -62 15 -79 72 -80v-15h-224v15c57 4 68 15 68 71v217c0 70 -22 105 -66 105c-35 0 -78 -17 -103 -40c-7 -7 -15 -17 -15 -19v-282c0 -39 15 -50 68 -52v-15h-222v15c56 1 70 16 70 70v253c0 48 -9 64 -35 64c-11 0 -19 -1 -32 -4z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="500" 
+d="M16 398v17c55 16 89 27 138 45l7 -2v-79c68 64 99 81 145 81c74 0 118 -56 118 -150v-229c0 -49 12 -61 61 -66v-15h-208v15c50 4 63 21 63 84v209c0 66 -24 97 -73 97c-33 0 -55 -12 -103 -57v-281c0 -36 15 -48 66 -52v-15h-212v15c51 4 62 18 62 75v248
+c0 49 -9 64 -37 64c-11 0 -21 -1 -27 -4z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="500" 
+d="M250 460c128 0 220 -95 220 -226c0 -138 -96 -244 -222 -244s-219 101 -219 236c0 138 91 234 221 234zM119 275c0 -139 55 -257 141 -257c75 0 120 68 120 181c0 137 -59 233 -143 233c-71 0 -118 -62 -118 -157z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="500" 
+d="M9 393v16c55 17 90 30 144 51l6 -2v-77c44 54 88 79 144 79c97 0 167 -89 167 -213c0 -145 -92 -257 -210 -257c-42 0 -66 10 -101 43v-157c0 -63 13 -74 88 -75v-18h-242v17c59 6 70 17 70 69v468c0 47 -7 57 -41 57c-9 0 -16 0 -25 -1zM159 334v-246
+c0 -30 57 -66 104 -66c72 0 121 75 121 186c0 116 -49 192 -123 192c-46 0 -102 -36 -102 -66z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="500" 
+d="M360 425l54 32h11v-598c0 -42 8 -50 63 -62v-14h-236v17c71 5 89 20 89 76v188c-44 -48 -99 -74 -157 -74c-94 0 -160 89 -160 215c0 144 96 256 221 256c39 0 69 -9 115 -36zM110 241c0 -74 26 -190 131 -190c31 0 64 12 86 31c10 8 14 21 14 45v206
+c0 67 -31 100 -93 100c-85 0 -138 -74 -138 -192z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="333" 
+d="M296 362c-27 0 -50 35 -66 35c-27 0 -70 -50 -70 -82v-225c0 -57 17 -72 85 -75v-15h-240v15c64 12 71 19 71 69v250c0 44 -9 60 -34 60c-12 0 -21 -1 -35 -4v16c59 19 95 32 148 54l5 -2v-92c49 71 78 94 120 94c34 0 55 -20 55 -53c0 -28 -15 -45 -39 -45z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="389" 
+d="M284 440c6 0 10 6 16 10h11l4 -136h-15c-23 89 -53 123 -110 123c-46 0 -77 -28 -77 -68c0 -27 15 -52 43 -68l108 -64c60 -36 84 -69 84 -119c0 -70 -64 -128 -141 -128c-45 0 -94 18 -119 18c-12 0 -16 -2 -23 -12h-13v156h16c9 -40 25 -140 127 -140c51 0 83 28 83 72
+c0 31 -17 55 -52 75l-58 33c-85 48 -117 88 -117 144c0 72 57 123 136 123c58 0 75 -19 97 -19z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="278" 
+d="M255 450v-32h-101v-286c0 -63 15 -90 52 -90c22 0 39 10 60 35l13 -11c-33 -52 -71 -76 -120 -76c-59 0 -89 43 -89 127v301h-53c-3 2 -4 4 -4 7c0 20 25 -2 114 126c7 10 13 19 20 28c6 0 7 -3 7 -13v-116h101z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="500" 
+d="M479 50v-14c-51 -14 -87 -25 -137 -45l-4 2v83l-43 -43c-27 -27 -66 -43 -103 -43c-73 0 -121 51 -121 130v252c0 46 -14 61 -62 64v14h146v-326c0 -42 32 -76 71 -76c30 0 61 12 88 34c14 11 19 25 19 53v235c0 50 -12 60 -74 63v17h158v-343c0 -46 11 -57 57 -57h5z
+" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="500" 
+d="M477 450v-15c-30 -3 -38 -9 -65 -78l-128 -321c-15 -37 -22 -50 -28 -50c-5 0 -12 4 -26 47l-120 287c-46 103 -53 113 -91 115v15h196v-15c-35 -3 -46 -10 -46 -28c0 -9 3 -23 9 -37l102 -256l99 259c4 10 6 20 6 30c0 19 -15 29 -47 32v15h139z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="722" 
+d="M351 310c-36 109 -46 120 -89 125v15h203v-15c-47 -7 -58 -14 -58 -36c0 -13 0 -13 17 -59l84 -224l90 222c11 27 17 51 17 66c0 17 -10 24 -44 31v15h123v-15c-20 -7 -24 -12 -41 -54l-138 -346c-16 -40 -21 -49 -28 -49c-6 0 -10 6 -24 43l-91 236l-112 -240
+c-12 -26 -20 -39 -25 -39c-6 0 -14 14 -26 44l-135 342c-22 51 -30 61 -53 63v15h180v-15c-34 -4 -46 -12 -46 -33c0 -10 2 -20 6 -30l99 -261z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="500" 
+d="M248 304c38 58 67 87 67 109c0 14 -10 20 -40 22v15h158v-15c-32 -1 -62 -17 -81 -44l-83 -120l128 -196c31 -44 51 -60 82 -60v-15h-201v15c33 2 40 6 40 24c0 6 -2 12 -6 18l-91 140l-79 -123c-13 -20 -20 -35 -20 -41c0 -13 12 -18 40 -18v-15h-145v15
+c33 3 44 9 73 51l114 165l-94 144c-31 47 -47 60 -77 60h-9v15h207v-15c-30 -1 -43 -8 -43 -22c0 -13 18 -47 46 -89z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="500" 
+d="M151 -134c41 0 90 123 90 153c0 15 -16 51 -44 101l-15 30l-117 254c-8 17 -25 28 -51 32v14h206v-15c-43 -2 -58 -9 -58 -27c0 -11 4 -24 10 -38l115 -253l97 276c3 7 4 13 4 17c0 16 -16 25 -48 25v15h135v-15c-24 -3 -36 -13 -48 -45l-154 -408
+c-54 -144 -102 -200 -169 -200c-42 0 -74 25 -74 58c0 24 20 44 43 44c38 0 61 -18 78 -18z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="444" 
+d="M272 30c106 0 113 33 128 109l18 -4l-14 -135h-377v15l266 405h-138c-60 0 -75 -15 -84 -88h-18l3 118h347v-15l-269 -405h138z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="480" 
+d="M350 -181c-107 2 -165 21 -165 140v177c0 69 -18 93 -85 114c67 20 85 43 85 113v178c0 119 59 137 165 139v-11c-69 -18 -91 -48 -91 -123v-168c0 -83 -19 -109 -94 -129c75 -19 94 -45 94 -128v-168c0 -75 22 -105 91 -123v-11z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="200" 
+d="M67 -14v690h66v-690h-66z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="480" 
+d="M130 680c94 -1 165 -12 165 -140v-177c0 -70 18 -93 85 -113c-67 -21 -85 -44 -85 -114v-178c0 -119 -59 -137 -165 -139v11c69 18 91 48 91 123v168c0 83 19 109 94 129c-75 19 -94 44 -94 128v168c0 75 -22 105 -91 123v11z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="541" 
+d="M163 320c95 0 136 -68 211 -68c31 0 48 12 74 51l54 -32c-46 -64 -77 -85 -123 -85c-95 0 -136 68 -211 68c-31 0 -48 -12 -74 -51l-54 32c46 64 77 85 123 85z" />
+    <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="250" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="333" 
+d="M144 282h13l9 -108c10 -118 37 -240 37 -314c0 -48 -20 -78 -53 -78c-34 0 -53 28 -53 80c0 12 1 25 2 37zM151 469c29 0 53 -23 53 -52c0 -30 -24 -55 -54 -55s-53 24 -53 56c0 30 22 51 54 51z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="500" 
+d="M169 12c-106 60 -116 163 -116 207c0 135 96 241 220 241c14 0 27 -1 51 -5l44 124h35l-47 -135c48 -19 75 -49 75 -84c0 -26 -18 -45 -43 -45s-40 13 -58 52l-101 -291c24 -9 39 -12 59 -12c59 0 95 25 147 100l13 -8c-24 -50 -76 -165 -191 -165c-17 0 -32 2 -56 9
+l-49 -138h-34zM198 98l115 323c-18 7 -30 9 -47 9c-82 0 -136 -68 -136 -170c0 -72 19 -117 68 -162z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="500" 
+d="M490 136c0 -28 -53 -143 -168 -143c-43 0 -76 14 -144 61c-40 -47 -63 -62 -98 -62c-41 0 -68 24 -68 62c0 46 37 76 91 76c15 0 27 -1 46 -5c3 8 4 14 4 21c0 18 -2 35 -22 182h-108v45h107c-5 26 -7 45 -7 69c0 143 76 234 195 234c74 0 130 -40 130 -93
+c0 -31 -21 -53 -50 -53c-30 0 -38 14 -39 67c-1 35 -19 52 -56 52c-60 0 -95 -51 -95 -139c0 -36 3 -69 11 -137h125v-45h-121v-27l1 -28c0 -35 -1 -40 -25 -162c65 -27 100 -35 149 -35c99 0 110 65 136 65c4 0 6 -2 6 -5zM79 20c43 0 63 45 63 56c0 8 -29 18 -53 18
+c-33 0 -51 -13 -51 -37c0 -22 17 -37 41 -37z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="500" 
+d="M-22 108l98 96c-29 42 -41 79 -41 126c0 48 12 86 41 126l-98 98l50 48l96 -96c45 29 78 39 127 39c48 0 86 -12 125 -39l98 96l48 -48l-96 -98c29 -43 39 -76 39 -125c0 -48 -10 -82 -39 -127l96 -96l-48 -50l-98 98c-39 -28 -78 -41 -125 -41c-46 0 -85 13 -127 41
+l-96 -98zM253 481c-84 0 -150 -67 -150 -151c0 -83 66 -151 148 -151c81 0 146 67 146 152c0 82 -65 150 -144 150z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="500" 
+d="M190 182h-174v40h174v76l-7 14h-167v40h144l-95 173c-55 99 -72 115 -118 118v19h243v-19c-47 -1 -65 -9 -65 -29c0 -13 5 -29 13 -45l118 -221l112 220c9 17 14 34 14 44c0 19 -21 31 -51 31h-14v19h195v-19c-51 -11 -83 -37 -118 -107l-92 -184h146v-40h-166l-7 -14
+v-76h173v-40h-173v-73c0 -70 16 -88 80 -90v-19h-244v19c67 3 79 18 79 101v62z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="200" 
+d="M67 -14v276h66v-276h-66zM67 400v276h66v-276h-66z" />
+    <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="500" 
+d="M279 568c0 32 34 45 34 55c0 18 -28 32 -62 32c-51 0 -85 -29 -85 -71c0 -25 14 -54 34 -71l137 -113c58 -48 89 -102 89 -155c0 -70 -48 -120 -116 -120h-18c75 -65 94 -95 94 -146c0 -76 -57 -127 -144 -127c-78 0 -138 44 -138 100c0 31 23 54 54 54
+c27 0 48 -18 48 -42c0 -31 -34 -44 -34 -56c0 -18 34 -35 71 -35c53 0 87 30 87 77c0 118 -260 161 -260 336c0 68 49 119 115 119c6 0 15 0 25 -1c-80 66 -100 96 -100 150c0 72 56 122 139 122c73 0 128 -42 128 -98c0 -33 -19 -53 -51 -53c-27 0 -47 18 -47 43zM374 212
+c0 76 -140 171 -183 171c-39 0 -68 -28 -68 -67c0 -68 119 -170 182 -170c37 0 69 31 69 66z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M66 622c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM265 622c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="760" 
+d="M411 532c37 0 120 -15 120 -39v-70h-17c-9 59 -45 89 -108 89c-89 0 -139 -63 -139 -175c0 -111 52 -176 140 -176c60 0 94 24 124 86h16l-17 -76c-3 -13 -81 -30 -138 -30c-121 0 -202 76 -202 190c0 120 89 201 221 201zM386 676c185 0 336 -155 336 -346
+c0 -192 -150 -344 -341 -344s-343 152 -343 344c0 195 152 346 348 346zM385 634c-161 0 -292 -136 -292 -304c0 -164 131 -302 288 -302c156 0 286 138 286 303c0 163 -130 303 -282 303z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="276" 
+d="M76 625c0 -9 3 -14 3 -22c0 -13 -15 -25 -31 -25c-18 0 -32 14 -32 31c0 39 46 67 108 67c70 0 105 -32 105 -96v-115c0 -29 2 -35 13 -35c10 0 18 4 28 12v-18c-23 -23 -37 -30 -59 -30c-27 0 -39 12 -45 44c-33 -30 -61 -44 -91 -44c-41 0 -71 28 -71 68
+c0 64 82 88 153 114v30c0 27 -13 42 -36 42c-22 0 -45 -12 -45 -23zM105 441c27 0 53 12 53 33v77c-70 -25 -91 -40 -91 -66c0 -24 17 -44 38 -44z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="444" 
+d="M301 224c49 -74 128 -150 128 -182c0 -5 -4 -9 -9 -9c-10.4502 0 -4.70508 8.45215 -212 189c212.78 193.139 208.664 194 212 194c5 0 10 -5 10 -10c0 -31 -82 -119 -129 -182zM107 224c49 -74 128 -150 128 -182c0 -5 -4 -9 -9 -9
+c-10.4502 0 -4.70508 8.45215 -212 189c212.78 193.139 208.664 194 212 194c5 0 10 -5 10 -10c0 -31 -82 -119 -129 -182z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="564" 
+d="M468 108v212h-438v66h504v-278h-66z" />
+    <glyph glyph-name="softhyphen" unicode="&#xad;" horiz-adv-x="333" 
+d="M39 257h246v-63h-246v63z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="760" 
+d="M501 152c-29 0 -38 36 -121 162h-48v-99c0 -43 0 -43 49 -48v-15h-162v15c49 5 49 5 49 48v241c0 44 0 44 -49 49v15h177c70 0 115 -36 115 -92c0 -48 -27 -83 -79 -104l57 -79c28 -39 52 -65 76 -85v-8h-64zM332 501v-168h43c44 0 69 32 69 89c0 52 -24 79 -71 79h-41z
+M381 676c192 0 341 -153 341 -351c0 -187 -153 -339 -341 -339c-191 0 -343 152 -343 344c0 193 152 346 343 346zM381 634c-157 0 -288 -138 -288 -304c0 -164 131 -302 288 -302c154 0 286 138 286 298c0 171 -128 308 -286 308z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M11 601h311v-54h-311v54z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="400" 
+d="M200 676c80 0 143 -63 143 -144c0 -80 -64 -142 -145 -142c-78 0 -141 64 -141 143c0 80 63 143 143 143zM200 642c-57 0 -104 -50 -104 -109s47 -109 103 -109c58 0 105 49 105 109c0 59 -48 109 -104 109z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="564" 
+d="M30 0v66h504v-66h-504zM249 413v220h66v-220h219v-66h-219v-220h-66v220h-219v66h219z" />
+    <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="320" 
+d="M15 557c13 37 36 119 145 119c78 0 131 -43 131 -106c0 -49 -23 -96 -84 -156l-86 -85h121c27 0 36 5 51 27l17 -7l-37 -79h-253v17l98 107c50 54 81 113 81 143c0 42 -33 76 -73 76c-37 0 -64 -22 -86 -70z" />
+    <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="320" 
+d="M217 378c0 68 -68 85 -89 85h-5l-23 -3v29c69 24 95 46 95 82c0 31 -22 49 -58 49c-34 0 -54 -14 -84 -57l-25 18c35 68 74 95 135 95c60 0 108 -37 108 -83c0 -28 -17 -51 -60 -82c58 -23 87 -61 87 -113c0 -78 -83 -136 -194 -136c-52 0 -83 18 -83 50
+c0 21 15 37 35 37c34 0 45 -39 93 -39c41 0 68 27 68 68z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M133 507h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42z" />
+    <glyph glyph-name="micro" unicode="&#xb5;" horiz-adv-x="500" 
+d="M36 -148c0 52 24 158 24 202v396h88v-306c0 -57 32 -92 84 -92c46 0 86 23 110 63v335h88v-358c0 -46 10 -65 32 -65c15 0 27 7 50 28v-8c-33 -43 -56 -57 -94 -57c-48 0 -71 28 -73 90c-40 -62 -82 -90 -137 -90c-51 0 -87 23 -117 74c12 -108 37 -126 37 -205
+c0 -51 -15 -77 -46 -77c-29 0 -46 26 -46 70z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="453" 
+d="M172 273c-116 4 -194 51 -194 204c0 130 62 185 209 185h263v-19c-77 -7 -88 -18 -88 -90v-595c0 -71 12 -84 88 -90v-22h-154v794h-58v-794h-154v22c78 5 88 17 88 101v304zM172 640c-74 -6 -118 -29 -118 -159c0 -126 32 -177 118 -186v345z" />
+    <glyph glyph-name="middot" unicode="&#xb7;" horiz-adv-x="250" 
+d="M123 282c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M98 -99l41 99h35l-25 -65c10 2 16 3 26 3c54 0 86 -26 86 -69c0 -52 -48 -84 -125 -84c-32 0 -55 4 -84 16l14 31c28 -9 44 -12 65 -12c34 0 55 17 55 44c0 26 -15 36 -53 36c-11 0 -20 -1 -28 -4z" />
+    <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="320" 
+d="M258 294v-24h-191v24c43 3 53 9 53 32v257c0 22 -2 28 -8 28s-6 0 -43 -13v23l118 55l14 -3v-343c0 -26 11 -33 57 -36z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="310" 
+d="M159 676c85 0 145 -55 145 -134c0 -84 -66 -148 -153 -148c-84 0 -145 59 -145 139c0 85 62 143 153 143zM79 569c0 -79 31 -142 81 -142c46 0 71 31 71 87c0 75 -33 129 -81 129c-43 0 -71 -29 -71 -74z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="441" 
+d="M334 225c-49 74 -128 150 -128 182c0 5 4 9 9 9c10.4502 0 4.70508 -8.45215 212 -189c-212.78 -193.139 -208.664 -194 -212 -194c-5 0 -10 5 -10 10c0 31 82 119 129 182zM143 225c-49 74 -128 150 -128 182c0 5 4 9 9 9c10.4502 0 4.70508 -8.45215 212 -189
+c-212.78 -193.139 -208.664 -194 -212 -194c-5 0 -10 5 -10 10c0 31 82 119 129 182z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="750" 
+d="M718 147v-57h-55v-90h-70v90h-180v49l203 266h47v-258h55zM593 147v179l-135 -179h135zM637 676l-450 -690h-49l453 690h46zM228 294v-24h-191v24c43 3 53 9 53 32v257c0 22 -2 28 -8 28s-6 0 -43 -13v23l118 55l14 -3v-343c0 -26 11 -33 57 -36z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="750" 
+d="M600 676l-450 -690h-49l453 690h46zM222 294v-24h-191v24c43 3 53 9 53 32v257c0 22 -2 28 -8 28s-6 0 -43 -13v23l118 55l14 -3v-343c0 -26 11 -33 57 -36zM451 287c13 37 36 119 145 119c78 0 131 -43 131 -106c0 -49 -23 -90 -84 -150l-86 -85h121c27 0 36 5 51 27
+l17 -7l-37 -85h-253v23l98 107c50 54 81 107 81 137c0 42 -33 76 -73 76c-37 0 -64 -22 -86 -70z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="750" 
+d="M718 147v-57h-55v-90h-70v90h-180v49l203 266h47v-258h55zM593 147v179l-135 -179h135zM637 676l-450 -690h-49l453 690h46zM211 378c0 68 -68 85 -89 85h-5l-23 -3v29c70 24 96 46 96 82c0 30 -22 49 -56 49c-37 0 -56 -13 -88 -57l-25 18c36 68 75 95 137 95
+c60 0 108 -37 108 -83c0 -28 -17 -51 -61 -82c58 -23 87 -61 87 -113c0 -78 -83 -136 -194 -136c-52 0 -83 18 -83 50c0 21 15 37 35 37c34 0 45 -39 93 -39c41 0 68 27 68 68z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="444" 
+d="M30 -63c0 134 139 180 170 357h17c-1 -44 -9 -95 -30 -142l-28 -64c-24 -55 -37 -110 -37 -156c0 -67 48 -120 108 -120c48 0 95 30 95 62c0 21 -38 43 -38 74c0 24 16 41 41 41c31 0 48 -22 48 -62c0 -83 -70 -145 -162 -145c-97 0 -184 58 -184 155zM208 468
+c29 0 53 -23 53 -52c0 -30 -25 -55 -54 -55c-30 0 -53 24 -53 56c0 30 22 51 54 51z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="722" 
+d="M437 719h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM706 19v-19h-255v19c53 1 70 9 70 34c0 14 -7 40 -19 67l-41 96h-262l-46 -117c-5 -13 -8 -27 -8 -39c0 -28 20 -41 68 -41v-19h-198v19c48 2 62 17 124 164l208 491h20l249 -568
+c35 -74 45 -84 90 -87zM216 257h231l-116 275z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="722" 
+d="M323 719h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM706 19v-19h-255v19c53 1 70 9 70 34c0 14 -7 40 -19 67l-41 96h-262l-46 -117c-5 -13 -8 -27 -8 -39c0 -28 20 -41 68 -41v-19h-198v19c48 2 62 17 124 164l208 491h20l249 -568
+c35 -74 45 -84 90 -87zM216 257h231l-116 275z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="722" 
+d="M512 719h-34l-122 103l-121 -103h-34l124 167h62zM706 19v-19h-255v19c53 1 70 9 70 34c0 14 -7 40 -19 67l-41 96h-262l-46 -117c-5 -13 -8 -27 -8 -39c0 -28 20 -41 68 -41v-19h-198v19c48 2 62 17 124 164l208 491h20l249 -568c35 -74 45 -84 90 -87zM216 257h231
+l-116 275z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="722" 
+d="M497 838h29c-21 -76 -50 -106 -105 -106c-25 0 -40 4 -81 24l-23 11c-15 7 -29 11 -41 11c-23 0 -40 -15 -51 -46h-29c15 65 51 101 101 101c22 0 47 -6 70 -18l24 -12c19 -9 38 -15 53 -15c23 0 36 12 53 50zM706 19v-19h-255v19c53 1 70 9 70 34c0 14 -7 40 -19 67
+l-41 96h-262l-46 -117c-5 -13 -8 -27 -8 -39c0 -28 20 -41 68 -41v-19h-198v19c48 2 62 17 124 164l208 491h20l249 -568c35 -74 45 -84 90 -87zM216 257h231l-116 275z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="722" 
+d="M256 835c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM455 835c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM706 19v-19h-255v19c53 1 70 9 70 34c0 14 -7 40 -19 67l-41 96h-262l-46 -117
+c-5 -13 -8 -27 -8 -39c0 -28 20 -41 68 -41v-19h-198v19c48 2 62 17 124 164l208 491h20l249 -568c35 -74 45 -84 90 -87zM216 257h231l-116 275z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="722" 
+d="M356 900c55 0 100 -45 100 -100s-45 -99 -100 -99c-56 0 -99 44 -99 100c0 54 45 99 99 99zM357 866c-36 0 -66 -29 -66 -65s29 -66 64 -66c37 0 67 29 67 65s-30 66 -65 66zM706 19v-19h-255v19c53 1 70 9 70 34c0 14 -7 40 -19 67l-41 96h-262l-46 -117
+c-5 -13 -8 -27 -8 -39c0 -28 20 -41 68 -41v-19h-198v19c48 2 62 17 124 164l208 491h20l249 -568c35 -74 45 -84 90 -87zM216 257h231l-116 275z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="889" 
+d="M740 229c-8 66 -20 100 -98 100h-145v-238c0 -50 4 -53 69 -53h76c108 0 139 20 197 130h24l-44 -168h-510v19l17 2c60 7 72 21 72 87v152h-176l-28 -53c-40 -78 -64 -136 -64 -158c0 -24 61.2002 -30 69 -30v-19h-199v19c43 6 57 16 88 78l245 484c6 11 9 22 9 28
+c0 22 -25 31 -90 33v20h564v-141h-23c-13 91 -36 105 -182 105h-87c-19 0 -27 -8 -27 -30v-230h111c89 0 123 10 132 97h21v-234h-21zM239 299h159v319z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="667" 
+d="M144 338c0 -244 136 -308 248 -308c83 0 149 30 223 101l18 -18c-60 -81 -160 -127 -273 -127c-8 0 -15 0 -24 1l-20 -52c10 2 16 3 26 3c54 0 86 -26 86 -69c0 -52 -48 -84 -125 -84c-32 0 -55 4 -84 16l14 31c28 -9 44 -12 65 -12c34 0 55 17 55 44c0 26 -15 36 -53 36
+c-11 0 -20 -1 -28 -4l-7 5l37 89c-167 24 -274 154 -274 335c0 211 148 351 335 351c109 0 149 -33 185 -33c20 0 36 12 42 33h21l9 -226h-23c-28 95 -86 186 -215 186c-145 0 -238 -117 -238 -298z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="611" 
+d="M382 719h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM201 80c0 -38 7 -43 105 -43h27c143 0 186 24 236 132h28l-45 -169h-540v19c73 5 87 20 87 90v444c0 70 -13 84 -87 90v19h531l3 -143h-25c-17 90 -39 105 -152 105h-135
+c-27 0 -33 -6 -33 -34v-222h154c93 0 99 29 110 95h23v-232h-23c-13 83 -28 96 -110 96h-154v-247z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="611" 
+d="M273 719h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM201 80c0 -38 7 -43 105 -43h27c143 0 186 24 236 132h28l-45 -169h-540v19c73 5 87 20 87 90v444c0 70 -13 84 -87 90v19h531l3 -143h-25c-17 90 -39 105 -152 105h-135
+c-27 0 -33 -6 -33 -34v-222h154c93 0 99 29 110 95h23v-232h-23c-13 83 -28 96 -110 96h-154v-247z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="611" 
+d="M462 719h-34l-122 103l-121 -103h-34l124 167h62zM201 80c0 -38 7 -43 105 -43h27c143 0 186 24 236 132h28l-45 -169h-540v19c73 5 87 20 87 90v444c0 70 -13 84 -87 90v19h531l3 -143h-25c-17 90 -39 105 -152 105h-135c-27 0 -33 -6 -33 -34v-222h154
+c93 0 99 29 110 95h23v-232h-23c-13 83 -28 96 -110 96h-154v-247z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="611" 
+d="M205 834c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM404 834c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM201 80c0 -38 7 -43 105 -43h27c143 0 186 24 236 132h28l-45 -169h-540v19c73 5 87 20 87 90
+v444c0 70 -13 84 -87 90v19h531l3 -143h-25c-17 90 -39 105 -152 105h-135c-27 0 -33 -6 -33 -34v-222h154c93 0 99 29 110 95h23v-232h-23c-13 83 -28 96 -110 96h-154v-247z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="333" 
+d="M242 719h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM115 109v444c0 74 -12 85 -97 90v19h297v-19c-84 -4 -98 -17 -98 -90v-444c0 -73 16 -87 98 -90v-19h-297v19c84 3 97 15 97 90z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="333" 
+d="M133 719h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM115 109v444c0 74 -12 85 -97 90v19h297v-19c-84 -4 -98 -17 -98 -90v-444c0 -73 16 -87 98 -90v-19h-297v19c84 3 97 15 97 90z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="333" 
+d="M322 719h-34l-122 103l-121 -103h-34l124 167h62zM115 109v444c0 74 -12 85 -97 90v19h297v-19c-84 -4 -98 -17 -98 -90v-444c0 -73 16 -87 98 -90v-19h-297v19c84 3 97 15 97 90z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="333" 
+d="M66 835c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM265 835c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM115 109v444c0 74 -12 85 -97 90v19h297v-19c-84 -4 -98 -17 -98 -90v-444c0 -73 16 -87 98 -90
+v-19h-297v19c84 3 97 15 97 90z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M685 334c0 -138 -77 -334 -385 -334h-284v19c76 5 88 18 88 90v206h-83v44h83v194c0 74 -9 83 -88 90v19h270c317 0 399 -183 399 -328zM576 327c0 115 -48 298 -320 298c-40 0 -50 -8 -50 -39v-227h146v-44h-146v-237c0 -32 12 -41 52 -41c188 0 318 73 318 290z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="722" 
+d="M497 838h29c-21 -76 -50 -106 -105 -106c-25 0 -40 4 -81 24l-23 11c-15 7 -29 11 -41 11c-23 0 -40 -15 -51 -46h-29c15 65 51 101 101 101c22 0 47 -6 70 -18l24 -12c19 -9 38 -15 53 -15c23 0 36 12 53 50zM707 643c-61 -6 -95 -11 -95 -128v-526h-17l-442 550v-392
+c0 -101 17 -124 94 -128v-19h-235v19c83 6 97 25 97 128v441c-40 47 -54 55 -97 55v19h171l385 -484v337c0 104 -19 122 -96 128v19h235v-19z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="722" 
+d="M438 718h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM355 -14c-175 0 -321 135 -321 345c0 201 136 345 327 345c190 0 327 -140 327 -349c0 -201 -136 -341 -333 -341zM574 328c0 249 -125 312 -213 312c-172 0 -213 -187 -213 -311
+c0 -121 42 -307 211 -307c172 0 215 186 215 306z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="722" 
+d="M328 719h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM355 -14c-175 0 -321 135 -321 345c0 201 136 345 327 345c190 0 327 -140 327 -349c0 -201 -136 -341 -333 -341zM574 328c0 249 -125 312 -213 312c-172 0 -213 -187 -213 -311
+c0 -121 42 -307 211 -307c172 0 215 186 215 306z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="722" 
+d="M517 719h-34l-122 103l-121 -103h-34l124 167h62zM355 -14c-175 0 -321 135 -321 345c0 201 136 345 327 345c190 0 327 -140 327 -349c0 -201 -136 -341 -333 -341zM574 328c0 249 -125 312 -213 312c-172 0 -213 -187 -213 -311c0 -121 42 -307 211 -307
+c172 0 215 186 215 306z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="722" 
+d="M497 838h29c-21 -76 -50 -106 -105 -106c-25 0 -40 4 -81 24l-23 11c-15 7 -29 11 -41 11c-23 0 -40 -15 -51 -46h-29c15 65 51 101 101 101c22 0 47 -6 70 -18l24 -12c19 -9 38 -15 53 -15c23 0 36 12 53 50zM355 -14c-175 0 -321 135 -321 345c0 201 136 345 327 345
+c190 0 327 -140 327 -349c0 -201 -136 -341 -333 -341zM574 328c0 249 -125 312 -213 312c-172 0 -213 -187 -213 -311c0 -121 42 -307 211 -307c172 0 215 186 215 306z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="722" 
+d="M260 835c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM459 835c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM355 -14c-175 0 -321 135 -321 345c0 201 136 345 327 345c190 0 327 -140 327 -349
+c0 -201 -136 -341 -333 -341zM574 328c0 249 -125 312 -213 312c-172 0 -213 -187 -213 -311c0 -121 42 -307 211 -307c172 0 215 186 215 306z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="564" 
+d="M234 253l-196 196l48 48l196 -197l196 197l48 -48l-196 -196l196 -197l-48 -48l-196 197l-196 -197l-48 48z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="722" 
+d="M151 59c-39 35 -117 108 -117 271c0 203 136 346 328 346c66 0 111 -13 175 -49l72 107h49l-88 -130c40 -37 118 -109 118 -273c0 -203 -135 -345 -329 -345c-67 0 -113 13 -175 50l-79 -116h-49zM527 540l-308 -452c43 -47 84 -66 142 -66c132 0 213 117 213 308
+c0 89 -13 145 -47 210zM194 123l308 452c-44 46 -86 65 -141 65c-131 0 -213 -119 -213 -310c0 -88 12 -143 46 -207z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M454 719h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM206 233c0 -122 34 -203 172 -203c75 0 139 31 166 79c16 30 23 68 23 136v270c0 100 -16 122 -94 128v19h232v-19c-82 -10 -94 -26 -94 -128v-261c0 -143 -42 -268 -256 -268
+c-170 0 -251 82 -251 255v312c0 73 -11 84 -90 90v19h283v-19c-80 -7 -91 -18 -91 -90v-320z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M353 719h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM206 233c0 -122 34 -203 172 -203c75 0 139 31 166 79c16 30 23 68 23 136v270c0 100 -16 122 -94 128v19h232v-19c-82 -10 -94 -26 -94 -128v-261c0 -143 -42 -268 -256 -268
+c-170 0 -251 82 -251 255v312c0 73 -11 84 -90 90v19h283v-19c-80 -7 -91 -18 -91 -90v-320z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M536 719h-34l-122 103l-121 -103h-34l124 167h62zM206 233c0 -122 34 -203 172 -203c75 0 139 31 166 79c16 30 23 68 23 136v270c0 100 -16 122 -94 128v19h232v-19c-82 -10 -94 -26 -94 -128v-261c0 -143 -42 -268 -256 -268c-170 0 -251 82 -251 255v312
+c0 73 -11 84 -90 90v19h283v-19c-80 -7 -91 -18 -91 -90v-320z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M278 834c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM477 834c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM206 233c0 -122 34 -203 172 -203c75 0 139 31 166 79c16 30 23 68 23 136v270
+c0 100 -16 122 -94 128v19h232v-19c-82 -10 -94 -26 -94 -128v-261c0 -143 -42 -268 -256 -268c-170 0 -251 82 -251 255v312c0 73 -11 84 -90 90v19h283v-19c-80 -7 -91 -18 -91 -90v-320z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="722" 
+d="M360 719h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM703 662v-19c-51 -4 -79 -24 -138 -114l-148 -226v-194c0 -76 14 -88 103 -90v-19h-306v19c91 4 101 14 101 101v174l-131 192c-97 143 -114 155 -162 157v19h280v-19
+c-11 -1 -21 -1 -25 -1c-32 -2 -46 -11 -46 -29c0 -11 6 -28 17 -44l148 -222l143 226c9 15 14 27 14 37c0 24 -17 32 -69 33v19h219z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="576" 
+d="M542 351c0 -75 -41 -193 -271 -193c-24 0 -42 1 -69 3v-52c0 -73 15 -87 94 -90v-19h-280v19c76 7 84 17 84 101v433c0 72 -10 82 -84 90v19h277v-19c-79 -7 -91 -19 -91 -100v-11h80c160 0 260 -70 260 -181zM202 461v-260c23 -2 37 -3 57 -3c115 0 174 50 174 147
+c0 103 -61 149 -199 149c-25 0 -32 -7 -32 -33z" />
+    <glyph glyph-name="ssharp" unicode="&#xdf;" horiz-adv-x="500" 
+d="M284 377c48 -9 184 -38 184 -191c0 -109 -79 -195 -179 -195c-57 0 -97 30 -97 73c0 27 19 48 45 48c22 0 40 -17 42 -40l2 -22c2 -22 10 -30 29 -30c42 0 64 45 64 130c0 135 -44 204 -132 207c-23 1 -32 6 -32 17c0 9 8 13 29 15c65 7 95 48 95 128
+c0 87 -34 139 -91 139c-52 0 -86 -42 -86 -107v-549h-145v15c50 4 61 16 61 69v370c0 122 33 229 178 229c104 0 170 -60 170 -152c0 -72 -30 -105 -137 -154z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="444" 
+d="M298 507h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM37 97c0 108 126 145 250 195v61c0 54 -27 83 -76 83c-40 0 -72 -22 -72 -49c0 -14 5 -31 5 -40c0 -22 -21 -42 -45 -42c-23 0 -43 20 -43 43c0 63 74 112 168 112
+c116 0 144 -60 144 -160v-195c0 -44 7 -58 30 -58c15 0 27 5 44 19v-26c-35 -38 -56 -50 -90 -50c-41 0 -59 21 -64 73c-61 -52 -102 -73 -146 -73c-61 0 -105 44 -105 107zM287 123v145c-121 -44 -162 -80 -162 -139v-4c0 -43 28 -77 63 -77c21 0 49 9 73 23
+c21 12 26 21 26 52z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="444" 
+d="M188 507h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM37 97c0 108 126 145 250 195v61c0 54 -27 83 -76 83c-40 0 -72 -22 -72 -49c0 -14 5 -31 5 -40c0 -22 -21 -42 -45 -42c-23 0 -43 20 -43 43c0 63 74 112 168 112
+c116 0 144 -60 144 -160v-195c0 -44 7 -58 30 -58c15 0 27 5 44 19v-26c-35 -38 -56 -50 -90 -50c-41 0 -59 21 -64 73c-61 -52 -102 -73 -146 -73c-61 0 -105 44 -105 107zM287 123v145c-121 -44 -162 -80 -162 -139v-4c0 -43 28 -77 63 -77c21 0 49 9 73 23
+c21 12 26 21 26 52z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="444" 
+d="M378 507h-34l-122 103l-121 -103h-34l124 167h62zM37 97c0 108 126 145 250 195v61c0 54 -27 83 -76 83c-40 0 -72 -22 -72 -49c0 -14 5 -31 5 -40c0 -22 -21 -42 -45 -42c-23 0 -43 20 -43 43c0 63 74 112 168 112c116 0 144 -60 144 -160v-195c0 -44 7 -58 30 -58
+c15 0 27 5 44 19v-26c-35 -38 -56 -50 -90 -50c-41 0 -59 21 -64 73c-61 -52 -102 -73 -146 -73c-61 0 -105 44 -105 107zM287 123v145c-121 -44 -162 -80 -162 -139v-4c0 -43 28 -77 63 -77c21 0 49 9 73 23c21 12 26 21 26 52z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="444" 
+d="M356 626h29c-21 -76 -50 -106 -105 -106c-25 0 -40 4 -81 24l-23 11c-15 7 -29 11 -41 11c-23 0 -40 -15 -51 -46h-29c15 65 51 101 101 101c22 0 47 -6 70 -18l24 -12c19 -9 38 -15 53 -15c23 0 36 12 53 50zM37 97c0 108 126 145 250 195v61c0 54 -27 83 -76 83
+c-40 0 -72 -22 -72 -49c0 -14 5 -31 5 -40c0 -22 -21 -42 -45 -42c-23 0 -43 20 -43 43c0 63 74 112 168 112c116 0 144 -60 144 -160v-195c0 -44 7 -58 30 -58c15 0 27 5 44 19v-26c-35 -38 -56 -50 -90 -50c-41 0 -59 21 -64 73c-61 -52 -102 -73 -146 -73
+c-61 0 -105 44 -105 107zM287 123v145c-121 -44 -162 -80 -162 -139v-4c0 -43 28 -77 63 -77c21 0 49 9 73 23c21 12 26 21 26 52z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="444" 
+d="M123 619c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM322 619c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM37 97c0 108 126 145 250 195v61c0 54 -27 83 -76 83c-40 0 -72 -22 -72 -49
+c0 -14 5 -31 5 -40c0 -22 -21 -42 -45 -42c-23 0 -43 20 -43 43c0 63 74 112 168 112c116 0 144 -60 144 -160v-195c0 -44 7 -58 30 -58c15 0 27 5 44 19v-26c-35 -38 -56 -50 -90 -50c-41 0 -59 21 -64 73c-61 -52 -102 -73 -146 -73c-61 0 -105 44 -105 107zM287 123v145
+c-121 -44 -162 -80 -162 -139v-4c0 -43 28 -77 63 -77c21 0 49 9 73 23c21 12 26 21 26 52z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="444" 
+d="M224 719c55 0 100 -45 100 -100s-45 -99 -100 -99c-56 0 -99 44 -99 100c0 54 45 99 99 99zM225 685c-36 0 -66 -29 -66 -65s29 -66 64 -66c37 0 67 29 67 65s-30 66 -65 66zM37 97c0 108 126 145 250 195v61c0 54 -27 83 -76 83c-40 0 -72 -22 -72 -49
+c0 -14 5 -31 5 -40c0 -22 -21 -42 -45 -42c-23 0 -43 20 -43 43c0 63 74 112 168 112c116 0 144 -60 144 -160v-195c0 -44 7 -58 30 -58c15 0 27 5 44 19v-26c-35 -38 -56 -50 -90 -50c-41 0 -59 21 -64 73c-61 -52 -102 -73 -146 -73c-61 0 -105 44 -105 107zM287 123v145
+c-121 -44 -162 -80 -162 -139v-4c0 -43 28 -77 63 -77c21 0 49 9 73 23c21 12 26 21 26 52z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="667" 
+d="M144 392c0 -3 2 -12 2 -12v-11l1 -17v-3c0 -27 -16 -45 -43 -45s-44 19 -44 48c0 62 69 108 160 108c49 0 79 -12 117 -45c45 34 73 45 119 45c101 0 149 -54 160 -183h-262c1 -99 6 -131 27 -170c17 -30 54 -50 95 -50c57 0 96 27 144 97l12 -5
+c-53 -116 -115 -159 -197 -159c-57 0 -95 21 -129 73c-68 -56 -102 -73 -152 -73c-68 0 -116 45 -116 110c0 60 42 101 149 145l86 36l2 63v6c0 69 -25 86 -62 86c-39 0 -69 -20 -69 -44zM294 88c0 5 -20 44 -20 113v52c-121 -44 -149 -68 -149 -128c0 -48 30 -87 67 -87
+s102 32 102 50zM355 307h166c-2 87 -25 124 -79 124c-57 0 -82 -36 -87 -124z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="444" 
+d="M25 212c0 153 106 248 219 248c84 0 154 -47 154 -103c0 -23 -22 -42 -47 -42c-22 0 -40 17 -48 46l-6 22c-10 37 -23 48 -59 48c-81 0 -136 -71 -136 -174c0 -115 64 -195 155 -195c57 0 93 24 141 94l14 -9c-52 -105 -105 -150 -186 -157l-21 -55c10 2 16 3 26 3
+c54 0 86 -26 86 -69c0 -52 -48 -84 -125 -84c-32 0 -55 4 -84 16l14 31c27 -9 44 -12 65 -12c34 0 55 17 55 44c0 26 -15 36 -53 36c-11 0 -20 -1 -28 -4l-7 5l38 91c-101 13 -167 101 -167 220z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="444" 
+d="M298 507h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM97 277c6 -178 91 -218 156 -218c64 0 107 29 155 105l16 -7c-42 -108 -117 -167 -212 -167c-115 0 -187 86 -187 224c0 149 88 246 209 246c103 0 156 -62 171 -183h-308zM99 309h204
+c-13 87 -37 115 -98 115s-95 -37 -106 -115z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="444" 
+d="M188 507h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM97 277c6 -178 91 -218 156 -218c64 0 107 29 155 105l16 -7c-42 -108 -117 -167 -212 -167c-115 0 -187 86 -187 224c0 149 88 246 209 246c103 0 156 -62 171 -183h-308zM99 309h204
+c-13 87 -37 115 -98 115s-95 -37 -106 -115z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="444" 
+d="M378 507h-34l-122 103l-121 -103h-34l124 167h62zM97 277c6 -178 91 -218 156 -218c64 0 107 29 155 105l16 -7c-42 -108 -117 -167 -212 -167c-115 0 -187 86 -187 224c0 149 88 246 209 246c103 0 156 -62 171 -183h-308zM99 309h204c-13 87 -37 115 -98 115
+s-95 -37 -106 -115z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="444" 
+d="M121 621c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM320 621c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM97 277c6 -178 91 -218 156 -218c64 0 107 29 155 105l16 -7c-42 -108 -117 -167 -212 -167
+c-115 0 -187 86 -187 224c0 149 88 246 209 246c103 0 156 -62 171 -183h-308zM99 309h204c-13 87 -37 115 -98 115s-95 -37 -106 -115z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M215 507h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM62 394c-9 0 -27 -2 -42 -4v15l155 55l4 -3v-355c0 -72 8 -82 74 -87v-15h-237v15c69 4 79 15 79 87v232c0 44 -9 60 -33 60z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M107 507h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM62 394c-9 0 -27 -2 -42 -4v15l155 55l4 -3v-355c0 -72 8 -82 74 -87v-15h-237v15c69 4 79 15 79 87v232c0 44 -9 60 -33 60z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M295 507h-34l-122 103l-121 -103h-34l124 167h62zM62 394c-9 0 -27 -2 -42 -4v15l155 55l4 -3v-355c0 -72 8 -82 74 -87v-15h-237v15c69 4 79 15 79 87v232c0 44 -9 60 -33 60z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M220 634c30 0 56 -26 56 -57c0 -29 -26 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 55 57zM57 633c30 0 56 -26 56 -57c0 -29 -26 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 55 57zM62 394c-9 0 -27 -2 -42 -4v15l155 55l4 -3v-355c0 -72 8 -82 74 -87v-15h-237v15
+c69 4 79 15 79 87v232c0 44 -9 60 -33 60z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="501" 
+d="M469 285c0 -166 -90 -295 -224 -295c-124 0 -218 100 -218 233c0 134 92 237 212 237c48 0 75 -13 126 -60c-15 74 -38 115 -97 175l-123 -65l-33 30l121 64c-47 33 -81 47 -133 56l42 23c66 -6 101 -17 152 -47l95 50l33 -30l-91 -48c90 -87 138 -185 138 -323zM117 276
+c0 -135 53 -258 142 -258c76 0 120 68 120 183c0 136 -59 231 -144 231c-70 0 -118 -63 -118 -156z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="500" 
+d="M386 626h29c-21 -76 -50 -106 -105 -106c-25 0 -40 4 -81 24l-23 11c-15 7 -29 11 -41 11c-23 0 -40 -15 -51 -46h-29c15 65 51 101 101 101c22 0 47 -6 70 -18l24 -12c19 -9 38 -15 53 -15c23 0 36 12 53 50zM16 398v17c55 16 89 27 138 45l7 -2v-79c68 64 99 81 145 81
+c74 0 118 -56 118 -150v-229c0 -49 12 -61 61 -66v-15h-208v15c50 4 63 21 63 84v209c0 66 -24 97 -73 97c-33 0 -55 -12 -103 -57v-281c0 -36 15 -48 66 -52v-15h-212v15c51 4 62 18 62 75v248c0 49 -9 64 -37 64c-11 0 -21 -1 -27 -4z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="500" 
+d="M326 507h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM250 460c128 0 220 -95 220 -226c0 -138 -96 -244 -222 -244s-219 101 -219 236c0 138 91 234 221 234zM119 275c0 -139 55 -257 141 -257c75 0 120 68 120 181c0 137 -59 233 -143 233
+c-71 0 -118 -62 -118 -157z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="500" 
+d="M217 507h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM250 460c128 0 220 -95 220 -226c0 -138 -96 -244 -222 -244s-219 101 -219 236c0 138 91 234 221 234zM119 275c0 -139 55 -257 141 -257c75 0 120 68 120 181c0 137 -59 233 -143 233
+c-71 0 -118 -62 -118 -157z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="500" 
+d="M406 507h-34l-122 103l-121 -103h-34l124 167h62zM250 460c128 0 220 -95 220 -226c0 -138 -96 -244 -222 -244s-219 101 -219 236c0 138 91 234 221 234zM119 275c0 -139 55 -257 141 -257c75 0 120 68 120 181c0 137 -59 233 -143 233c-71 0 -118 -62 -118 -157z" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="500" 
+d="M386 625h29c-21 -76 -50 -106 -105 -106c-25 0 -40 4 -81 24l-23 11c-15 7 -29 11 -41 11c-23 0 -40 -15 -51 -46h-29c15 65 51 101 101 101c22 0 47 -6 70 -18l24 -12c19 -9 38 -15 53 -15c23 0 36 12 53 50zM250 460c128 0 220 -95 220 -226c0 -138 -96 -244 -222 -244
+s-219 101 -219 236c0 138 91 234 221 234zM119 275c0 -139 55 -257 141 -257c75 0 120 68 120 181c0 137 -59 233 -143 233c-71 0 -118 -62 -118 -157z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="500" 
+d="M149 619c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM348 619c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM250 460c128 0 220 -95 220 -226c0 -138 -96 -244 -222 -244s-219 101 -219 236
+c0 138 91 234 221 234zM119 275c0 -139 55 -257 141 -257c75 0 120 68 120 181c0 137 -59 233 -143 233c-71 0 -118 -62 -118 -157z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="564" 
+d="M534 220h-504v66h504v-66zM282 516c30 0 56 -26 56 -57c0 -29 -26 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 55 57zM282 101c30 0 56 -26 56 -57c0 -29 -26 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 55 57z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="500" 
+d="M125 28c-32 26 -96 80 -96 199c0 136 91 233 220 233c33 0 57 -5 92 -18l57 109h39l-65 -125c32 -23 98 -77 98 -192c0 -139 -96 -244 -223 -244c-35 0 -58 5 -93 21l-65 -123h-37zM340 366l-161 -306c25 -30 48 -42 82 -42c75 0 119 69 119 185c0 64 -11 108 -40 163z
+M158 92l159 304c-27 26 -49 36 -80 36c-71 0 -118 -62 -118 -156c0 -69 12 -127 39 -184z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="500" 
+d="M305 507h-40l-154 97c-18 12 -29 27 -29 43c0 19 13 31 34 31c15 0 24 -5 42 -23zM479 50v-14c-51 -14 -87 -25 -137 -45l-4 2v83l-43 -43c-27 -27 -66 -43 -103 -43c-73 0 -121 51 -121 130v252c0 46 -14 61 -62 64v14h146v-326c0 -42 32 -76 71 -76c30 0 61 12 88 34
+c14 11 19 25 19 53v235c0 50 -12 60 -74 63v17h158v-343c0 -46 11 -57 57 -57h5z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="500" 
+d="M217 507h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM479 50v-14c-51 -14 -87 -25 -137 -45l-4 2v83l-43 -43c-27 -27 -66 -43 -103 -43c-73 0 -121 51 -121 130v252c0 46 -14 61 -62 64v14h146v-326c0 -42 32 -76 71 -76c30 0 61 12 88 34
+c14 11 19 25 19 53v235c0 50 -12 60 -74 63v17h158v-343c0 -46 11 -57 57 -57h5z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="500" 
+d="M393 507h-34l-122 103l-121 -103h-34l124 167h62zM479 50v-14c-51 -14 -87 -25 -137 -45l-4 2v83l-43 -43c-27 -27 -66 -43 -103 -43c-73 0 -121 51 -121 130v252c0 46 -14 61 -62 64v14h146v-326c0 -42 32 -76 71 -76c30 0 61 12 88 34c14 11 19 25 19 53v235
+c0 50 -12 60 -74 63v17h158v-343c0 -46 11 -57 57 -57h5z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="500" 
+d="M130 621c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM329 621c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM479 50v-14c-51 -14 -87 -25 -137 -45l-4 2v83l-43 -43c-27 -27 -66 -43 -103 -43
+c-73 0 -121 51 -121 130v252c0 46 -14 61 -62 64v14h146v-326c0 -42 32 -76 71 -76c30 0 61 12 88 34c14 11 19 25 19 53v235c0 50 -12 60 -74 63v17h158v-343c0 -46 11 -57 57 -57h5z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="500" 
+d="M217 507h-40l147 148c18 18 27 23 42 23c22 0 35 -12 35 -32c0 -16 -9 -29 -30 -42zM151 -134c41 0 90 123 90 153c0 15 -16 51 -44 101l-15 30l-117 254c-8 17 -25 28 -51 32v14h206v-15c-43 -2 -58 -9 -58 -27c0 -11 4 -24 10 -38l115 -253l97 276c3 7 4 13 4 17
+c0 16 -16 25 -48 25v15h135v-15c-24 -3 -36 -13 -48 -45l-154 -408c-54 -144 -102 -200 -169 -200c-42 0 -74 25 -74 58c0 24 20 44 43 44c38 0 61 -18 78 -18z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="496" 
+d="M5 623v16c69 19 97 27 145 44l5 -3v-298c45 54 89 78 144 78c97 0 167 -89 167 -213c0 -145 -92 -257 -210 -257c-42 0 -66 10 -101 43v-157c0 -63 13 -74 88 -75v-18h-242v18c59 5 70 16 70 68v704c0 42 -9 51 -49 51c-7 0 -11 0 -17 -1zM155 334v-246
+c0 -30 57 -66 104 -66c72 0 121 75 121 186c0 116 -49 192 -123 192c-46 0 -102 -36 -102 -66z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="500" 
+d="M166 625c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM365 625c28 0 51 -23 51 -50s-23 -49 -51 -49c-27 0 -48 22 -48 50c0 26 23 49 48 49zM151 -134c41 0 90 123 90 153c0 15 -16 51 -44 101l-15 30l-117 254c-8 17 -25 28 -51 32v14
+h206v-15c-43 -2 -58 -9 -58 -27c0 -11 4 -24 10 -38l115 -253l97 276c3 7 4 13 4 17c0 16 -16 25 -48 25v15h135v-15c-24 -3 -36 -13 -48 -45l-154 -408c-54 -144 -102 -200 -169 -200c-42 0 -74 25 -74 58c0 24 20 44 43 44c38 0 61 -18 78 -18z" />
+
+</font>
+</defs>
+<g font-family="FreeSerif" font-size="18"> 
+<text x="20" y="60">&#160; !&quot;#$%&amp;&apos;()*+,-./0123456789:;&lt;&gt;?</text> 
+<text x="20" y="120">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</text> 
+<text x="20" y="180">`abcdefghijklmnopqrstuvwxyz|{}~</text> 
+</g>
+</svg>
diff --git a/Tests/W3CTestSuite/resources/FreeSerifBold.svg b/Tests/W3CTestSuite/resources/FreeSerifBold.svg
new file mode 100644
index 0000000000000000000000000000000000000000..da0f866830bbf190cd7d8d29187347a5c5525856
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/FreeSerifBold.svg
@@ -0,0 +1,539 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20100204 at Mon Mar  8 20:52:04 2010
+ By Chris Lilley,,,
+Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation.
+</metadata>
+<defs>
+<font id="FreeSerifBold" horiz-adv-x="0" >
+  <font-face 
+    font-family="FreeSerif"
+    font-weight="700"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 2 8 3 7 5 5 2 3 4"
+    ascent="800"
+    descent="-200"
+    x-height="461"
+    cap-height="676"
+    bbox="-796.002 -306 1860 931.998"
+    underline-thickness="50"
+    underline-position="-100"
+    stemh="33"
+    stemv="140"
+    unicode-range="U+0020-U+00FF"
+  />
+<missing-glyph horiz-adv-x="500" 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="250" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="333" 
+d="M166 156c47 0 85 -39 85 -86c0 -46 -38 -83 -86 -83c-47 0 -83 37 -83 85c0 45 38 84 84 84zM250 589c0 -80 -42 -86 -70 -355h-29c-27 258 -70 281 -70 357c0 63 31 100 85 100c53 0 84 -37 84 -102z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="555" 
+d="M127 404c-13 59 -44 178 -44 216c0 43 26 71 64 71c37 0 65 -29 65 -67c0 -22 -10 -73 -44 -220h-41zM387 404c-13 56 -44 181 -44 216c0 43 26 71 64 71c37 0 65 -29 65 -67c0 -22 -13 -87 -44 -220h-41z" />
+    <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="500" 
+d="M467 283v-73h-98l-29 -210h-78l29 210h-113l-29 -210h-78l29 210h-96v73h107l18 134h-96v73h106l30 210h77l-29 -210h113l30 210h77l-29 -210h88v-73h-98l-18 -134h87zM320 417h-113l-18 -134h113z" />
+    <glyph glyph-name="dollar" unicode="$" horiz-adv-x="500" 
+d="M29 496c0 97 67 163 185 176v78h55v-76c78 -13 112 -24 159 -52v-141h-21c-29 100 -67 144 -138 160v-215c100 -52 203 -101 203 -230c0 -118 -64 -171 -203 -196v-99h-55v99c-62 3 -86 9 -168 43v156l21 -2c32 -108 72 -153 146 -167v251c-134 67 -184 126 -184 215z
+M269 250v-220c63 12 93 45 93 104c0 54 -13 71 -93 116zM213 454v190c-63 -16 -89 -42 -89 -90c0 -46 29 -79 89 -100z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="1000" 
+d="M877 257c0 -58 -44 -271 -209 -271c-80 0 -133 55 -133 139c0 123 113 247 226 247c70 0 116 -45 116 -115zM701 32c72 0 143 133 143 217c0 41 -22 72 -52 72c-79 0 -140 -186 -140 -233c0 -36 17 -56 49 -56zM350 678c75 0 70 -55 168 -55c61 0 135 27 157 58
+c5 7 10 11 15 11h38l-394 -700h-55l348 620c-42 -18 -81 -27 -115 -27c-14 0 -26 1 -47 5c-2 -179 -93 -296 -212 -296c-76 0 -129 56 -129 136c0 128 110 248 226 248zM369 631c-35 0 -131 -142 -131 -239c0 -30 19 -52 48 -52c77 0 146 143 146 229c0 38 -53 62 -63 62z
+" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="833" 
+d="M577 419h206v-24c-43 -4 -55 -11 -73 -40l-27 -44c-27 -43 -38 -59 -93 -135c56 -72 81 -91 119 -91c24 0 41 11 58 38l20 -12l-16 -26c-15 -24 -53 -101 -147 -101c-53 0 -89 22 -149 88c-82 -61 -148 -87 -222 -87c-112 0 -191 73 -191 176c0 94 54 157 196 227
+c-40 69 -52 101 -52 145c0 97 75 158 195 158c101 0 167 -48 167 -122c0 -63 -46 -107 -152 -146l151 -214c58 72 76 105 76 145c0 29 -7 34 -66 41v24zM201 264c0 -77 70 -203 161 -203c26 0 51 11 90 39c-32 42 -54 74 -129 186l-48 72c-55 -32 -74 -57 -74 -94zM397 452
+c50 17 70 40 70 81c0 67 -43 125 -92 125c-32 0 -52 -21 -52 -56c0 -41 21 -84 74 -150z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="278" 
+d="M119 404c-11 45 -44 179 -44 216c0 43 26 71 64 71c37 0 65 -29 65 -67c0 -22 -11 -76 -44 -220h-41z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M159 258c0 -316 84 -358 147 -398v-28c-98 59 -141 99 -187 171c-48 76 -73 165 -73 256c0 129 46 248 131 340c39 41 67 62 129 95v-27c-111 -74 -147 -144 -147 -409z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M27 694c88 -53 260 -171 260 -428c0 -128 -46 -247 -132 -339c-38 -41 -66 -62 -128 -95v27c113 75 147 148 147 409c0 313 -81 355 -147 398v28z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="507" 
+d="M443 551c0 -65 -115 -60 -159 -78c43 -19 158 -17 158 -80c0 -27 -24 -53 -52 -53c-45 0 -87 79 -121 105c4 -44 32 -87 32 -131c0 -29 -20 -52 -50 -52c-31 0 -53 22 -53 52c0 44 32 88 37 131c-34 -25 -82 -102 -125 -102c-28 0 -50 27 -50 54c0 65 115 59 159 77
+c-43 19 -157 19 -157 81c0 27 23 53 51 53c46 0 87 -80 122 -106c-5 44 -33 88 -33 131c0 30 20 52 50 52c31 0 53 -21 53 -52c0 -41 -32 -88 -37 -130c35 25 82 101 125 101c28 0 50 -26 50 -53z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="676" 
+d="M614 209h-227v-225h-96v225h-229v96h229v223h96v-223h227v-96z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="250" 
+d="M136 -4c-8 0 -4 -2 -24 -2c-43 0 -73 32 -73 78c0 50 33 83 83 83c60 0 101 -47 101 -116c0 -86 -50 -152 -166 -219l-11 22c75 52 109 94 109 132c0 13 -8 22 -19 22z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M287 287v-116h-243v116h243z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="250" 
+d="M125 156c47 0 85 -39 85 -86c0 -46 -38 -83 -86 -83c-47 0 -83 37 -83 85c0 45 38 84 84 84z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M302 691l-236 -710h-90l236 710h90z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="500" 
+d="M24 340c0 196 97 348 226 348s226 -151 226 -351c0 -201 -96 -350 -225 -350c-133 0 -227 147 -227 353zM251 15c40 0 67 41 67 207v229c0 147 -20 209 -69 209c-48 0 -67 -58 -67 -209v-229c0 -148 19 -207 69 -207z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="500" 
+d="M150 578c-26 0 -69 -20 -85 -25v26l252 109h17v-570c0 -77 17 -92 108 -94v-24h-375v24c99 1 119 18 119 100v385c0 47 -11 69 -36 69z" />
+    <glyph glyph-name="two" unicode="2" horiz-adv-x="500" 
+d="M31 484c56 151 131 204 220 204c108 0 185 -76 185 -183c0 -76 -35 -143 -114 -218l-162 -154h151c102 0 114 6 143 78h24l-45 -211h-416v23c236 252 283 336 283 424c0 65 -45 127 -119 127c-54 0 -91 -28 -122 -90h-28z" />
+    <glyph glyph-name="three" unicode="3" horiz-adv-x="500" 
+d="M354 154c0 121 -95 165 -201 202v17c95 30 130 65 130 131c0 63 -39 103 -102 103c-52 0 -85 -23 -123 -84l-21 12c55 103 130 153 229 153c102 0 163 -51 163 -137c0 -59 -19 -88 -83 -127c95 -43 122 -112 122 -178c0 -146 -132 -260 -299 -260c-92 0 -153 36 -153 90
+c0 34 27 58 65 58c78 0 110 -98 175 -98c60 0 98 46 98 118z" />
+    <glyph glyph-name="four" unicode="4" horiz-adv-x="500" 
+d="M412 255h63v-111h-63v-144h-145v144h-248v113c60 95 126 187 254 354l59 77h80v-433zM269 255v297l-209 -297h209z" />
+    <glyph glyph-name="five" unicode="5" horiz-adv-x="500" 
+d="M84 140c71 0 125 -87 189 -87c56 0 100 44 100 100c0 66 -53 123 -142 151c-44 14 -85 20 -180 27l97 345h322l-43 -127h-278l-22 -81c82 -5 113 -9 151 -20c109 -31 173 -111 173 -215c0 -141 -117 -241 -282 -241c-89 0 -147 35 -147 88c0 35 26 60 62 60z" />
+    <glyph glyph-name="six" unicode="6" horiz-adv-x="500" 
+d="M470 688v-26c-146 -30 -229 -111 -266 -258c30 13 52 17 84 17c114 0 187 -78 187 -199c0 -136 -91 -235 -215 -235c-140 0 -232 113 -232 286c0 133 59 245 171 322c76 52 138 74 271 93zM184 242c0 -192 31 -228 78 -228c49 0 61 30 61 148c0 159 -23 214 -90 214
+c-43 0 -49 -14 -49 -134z" />
+    <glyph glyph-name="seven" unicode="7" horiz-adv-x="500" 
+d="M477 676l-235 -676h-95l200 539h-207c-55 0 -79 -21 -98 -85h-25l44 222h416z" />
+    <glyph glyph-name="eight" unicode="8" horiz-adv-x="500" 
+d="M28 157c0 100 70 140 150 167c-99 59 -139 114 -139 189c0 105 89 175 224 175c119 0 195 -56 195 -145c0 -64 -40 -105 -136 -139c107 -68 150 -130 150 -217c0 -120 -93 -200 -232 -200c-127 0 -212 68 -212 170zM298 422c33 44 41 67 41 114c0 78 -32 123 -88 123
+c-47 0 -83 -36 -83 -83c0 -56 46 -111 130 -154zM200 306c-40 -59 -51 -90 -51 -145c0 -89 36 -142 97 -142c54 0 87 41 87 108c0 74 -24 106 -133 179z" />
+    <glyph glyph-name="nine" unicode="9" horiz-adv-x="500" 
+d="M31 -13v26c144 29 225 108 268 260c-27 -14 -53 -19 -91 -19c-109 0 -182 80 -182 198c0 137 90 236 215 236c140 0 232 -113 232 -286c0 -127 -54 -234 -156 -311c-78 -59 -146 -84 -286 -104zM317 458c0 160 -31 203 -78 203c-49 0 -61 -30 -61 -146
+c0 -157 23 -216 85 -216c48 0 45 18 46 29l3 26c3 45 5 77 5 104z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="333" 
+d="M166 156c47 0 85 -39 85 -86c0 -46 -38 -83 -86 -83c-47 0 -83 37 -83 85c0 45 38 84 84 84zM166 472c47 0 85 -38 85 -85c0 -46 -38 -84 -85 -84c-48 0 -84 37 -84 86c0 45 38 83 84 83z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="333" 
+d="M153 -6c-14 0 -71 12 -71 78c0 50 33 83 83 83c60 0 101 -47 101 -116c0 -86 -50 -152 -166 -219l-11 22c75 52 109 94 109 133c0 11 -8 21 -18 21h-7l-12 -2h-8zM166 472c47 0 85 -38 85 -85c0 -46 -38 -84 -85 -84c-48 0 -84 37 -84 86c0 45 38 83 84 83z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="676" 
+d="M614 -25l-552 259v46l552 259v-100l-388 -182l388 -182v-100z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="676" 
+d="M614 331h-552v96h552v-96zM614 87h-552v96h552v-96z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="676" 
+d="M62 539l552 -259v-46l-552 -259v100l388 182l-388 182v100z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="500" 
+d="M151 613c0 -29 37 -33 37 -80c0 -38 -25 -64 -63 -64c-39 0 -68 32 -68 76c0 84 78 144 188 144c120 0 200 -66 200 -166c0 -69 -30 -110 -121 -166c-63 -39 -71 -53 -71 -126h-30c-2 30 -2 35 -2 46c0 85 75 120 75 246c0 82 -31 130 -84 130c-36 0 -61 -16 -61 -40z
+M239 156c46 0 84 -39 84 -85c0 -47 -37 -84 -84 -84c-48 0 -85 37 -85 85c0 45 39 84 85 84z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="930" 
+d="M319 259c0 55 43 260 203 260c36 0 51 -10 73 -53l11 40h71l-66 -260c-1 -5 -2 -12 -2 -18c0 -31 13 -48 38 -48c66 0 128 99 128 205c0 144 -133 267 -289 267c-166 0 -286 -137 -286 -327c0 -174 124 -298 299 -298c67 0 117 12 199 49l13 -35
+c-97 -46 -150 -60 -224 -60c-213 0 -379 153 -379 349c0 201 167 361 377 361c190 0 337 -131 337 -301c0 -133 -87 -247 -189 -247c-50 0 -87 30 -94 75c-35 -46 -83 -74 -126 -74c-53 0 -94 50 -94 115zM455 191c70 0 122 139 122 223c0 41 -18 56 -41 56
+c-56 0 -140 -77 -140 -193c0 -53 23 -86 59 -86z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="722" 
+d="M689 25v-25h-324v25c14 2 27 3 32 3c35 2 48 12 48 33c0 22 -12 58 -46 136h-225l-15 -39c-21 -54 -29 -79 -29 -92c0 -26 23 -37 82 -41v-25h-203v25c48 9 60 24 98 117l222 548h28l223 -526c50 -118 66 -139 105 -139h4zM189 236h195l-101 243z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="667" 
+d="M426 365c52 -11 193 -44 193 -177c0 -113 -112 -188 -281 -188h-322v25c73 8 88 20 88 71v484c0 51 -19 67 -88 71v25h309c167 0 260 -57 260 -160c0 -76 -43 -117 -159 -151zM264 343v-250c0 -44 17 -61 61 -61c81 0 122 50 122 147c0 110 -50 164 -153 164h-30z
+M264 597v-224c123 3 156 31 156 136c0 94 -32 137 -102 137c-39 0 -54 -13 -54 -49z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="722" 
+d="M427 29c96 0 165 55 230 123l30 -25c-40 -44 -119 -146 -284 -146c-207 0 -354 146 -354 352c0 204 149 358 348 358c109 0 161 -49 201 -49c19 0 30 11 44 46h27v-234h-25c-24 51 -102 204 -234 204c-120 0 -184 -110 -184 -317c0 -240 88 -312 201 -312z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="724" 
+d="M99 91v493c0 46 -19 61 -83 67v25h305c231 0 371 -125 371 -331c0 -207 -144 -345 -360 -345h-316v25c58 2 83 22 83 66zM518 330c0 246 -108 312 -198 312c-39 0 -59 -12 -59 -35v-514c0 -45 13 -58 58 -58c104 0 199 63 199 295z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="667" 
+d="M349 31c158 0 216 74 264 177h28l-40 -208h-585v25c74 8 88 19 88 71v484c0 51 -19 67 -88 71v25h577v-201h-25c-25 133 -74 167 -237 167c-52 0 -65 -9 -65 -47v-232h4c105 0 143 37 158 149h26v-338h-26c-12 116 -53 155 -162 155v-242c0 -43 19 -56 83 -56z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="611" 
+d="M559 475c-20 91 -34 167 -229 167c-51 0 -64 -10 -64 -47v-232c100 0 135 35 153 149h25v-338h-25c-14 116 -51 153 -153 155v-233c0 -55 18 -67 110 -71v-25h-360v25c74 8 88 19 88 71v484c0 52 -19 67 -88 71v25h567v-201h-24z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="778" 
+d="M385 691c109 0 161 -49 201 -49c19 0 30 11 44 46h27v-234h-25c-35 76 -58 110 -101 148c-44 38 -87 56 -133 56c-121 0 -184 -111 -184 -320c0 -120 21 -206 65 -262c33 -43 75 -62 138 -62c67 0 96 22 96 73v105c0 54 -15 65 -101 70v25h343v-25
+c-75 -8 -86 -20 -86 -92v-127c-64 -38 -173 -62 -276 -62c-210 0 -356 144 -356 350s149 360 348 360z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="774" 
+d="M504 326h-241v-230c0 -49 17 -63 90 -71v-25h-337v25c70 9 85 22 85 71v484c0 50 -18 65 -85 71v25h337v-25c-70 -5 -90 -21 -90 -71v-207h241v207c0 50 -20 66 -90 71v25h340v-25c-68 -5 -88 -21 -88 -71v-484c0 -49 16 -62 88 -71v-25h-340v25c73 8 90 22 90 71v230z
+" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="386" 
+d="M109 96v484c0 51 -21 66 -93 71v25h350v-25c-74 -3 -95 -19 -95 -71v-484c0 -52 19 -66 95 -71v-25h-350v25c75 7 93 21 93 71z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="500" 
+d="M146 33c0 -35 -27 -41 -27 -64c0 -19 18 -32 45 -32c45 0 64 25 64 87v556c0 54 -20 68 -101 71v25h352v-25c-75 -5 -89 -20 -89 -92v-436c0 -143 -74 -219 -214 -219c-97 0 -173 51 -173 132c0 38 33 72 70 72c39 0 73 -35 73 -75z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="764" 
+d="M518 618c0 26 -20 29 -85 33v25h289v-25c-97 -8 -133 -33 -321 -227l305 -378c13 -15 24 -20 49 -21v-25h-336v25c14 1 27 1 32 1c33 2 47 7 47 20c0 11 -5 20 -24 44l-182 227l-27 -25v-196c0 -49 16 -62 88 -71v-25h-337v25c72 8 87 20 87 71v484c0 52 -18 67 -87 71
+v25h338v-25c-74 -5 -89 -21 -89 -92v-214l217 218c31 31 36 39 36 55z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="664" 
+d="M344 31c196 0 236 135 262 196h29l-41 -227h-578v25c73 9 86 20 86 71v484c0 51 -18 67 -86 71v25h349v-25c-87 -4 -101 -17 -101 -92v-472c0 -43 19 -56 80 -56z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="943" 
+d="M680 609l-252 -609h-27l-252 594v-470c0 -74 19 -93 101 -99v-25h-234v25c78 8 91 20 91 80v475c0 52 -16 65 -89 71v25h253l200 -472l200 472h252v-25c-73 -5 -88 -20 -88 -92v-442c0 -71 10 -82 88 -92v-25h-332v25c75 7 89 19 89 75v509z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="722" 
+d="M230 676l349 -429v305c0 71 -19 92 -93 99v25h215v-25c-65 -10 -78 -23 -78 -80v-589h-28l-447 544v-402c0 -71 18 -90 95 -99v-25h-227v25c73 9 88 23 88 80v474c-48 57 -65 72 -85 72v25h211z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="778" 
+d="M393 691c201 0 350 -151 350 -355c0 -207 -147 -355 -354 -355s-354 147 -354 354c0 208 149 356 358 356zM392 658c-117 0 -180 -116 -180 -332c0 -202 62 -312 177 -312s177 110 177 315c0 208 -64 329 -174 329z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="611" 
+d="M262 303v-186c0 -73 9 -82 88 -92v-25h-334v25c11 2 21 4 24 4c47 6 60 26 60 88v442c0 70 -14 86 -84 92v25h322c167 0 262 -66 262 -182c0 -77 -44 -138 -125 -169c-44 -18 -78 -21 -213 -22zM262 338c128 0 166 28 166 151c0 108 -33 152 -116 152
+c-33 0 -50 -12 -50 -35v-268z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="778" 
+d="M490 -6c18 -37 63 -123 173 -123c19 0 35 3 67 12l6 -24c-75 -27 -118 -35 -179 -35c-88 0 -172 32 -228 88c-23 23 -35 42 -56 86c-76 28 -108 48 -149 94c-58 64 -89 148 -89 239c0 208 150 360 354 360c206 0 354 -149 354 -357c0 -97 -33 -183 -94 -248
+c-43 -46 -78 -66 -159 -92zM390 658c-114 0 -178 -117 -178 -327c0 -208 61 -317 177 -317c115 0 177 110 177 316c0 208 -64 328 -176 328z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="712" 
+d="M620 498c0 -109 -80 -144 -157 -169l201 -285c10 -13 23 -19 41 -19v-25h-205l-207 313h-27v-196c0 -71 10 -82 88 -92v-25h-338v25c78 9 88 19 88 92v442c0 72 -14 87 -88 92v25h322c183 0 282 -63 282 -178zM320 642c-31 0 -54 -7 -54 -42v-255c138 2 183 27 183 149
+c0 105 -37 148 -129 148z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="556" 
+d="M263 691c83 0 131 -33 159 -33c17 0 25 8 32 34h30v-217h-28c-41 134 -117 185 -193 185c-68 0 -110 -38 -110 -100c0 -48 22 -73 103 -113l147 -73c64 -32 110 -107 110 -182c0 -126 -100 -211 -248 -211c-93 0 -137 34 -171 34c-16 0 -24 -9 -30 -34h-29v247h29
+c13 -54 51 -214 204 -214c77 0 126 45 126 114c0 52 -24 78 -112 120l-67 32c-119 57 -171 120 -171 208c0 126 83 203 219 203z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="667" 
+d="M253 117v527c-124 -4 -176 -50 -193 -169h-29l3 201h600l2 -201h-29c-17 119 -69 165 -192 169v-527c0 -76 11 -86 98 -92v-25h-357v25c86 7 97 18 97 92z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M354 651c-77 -3 -97 -13 -97 -92v-334c0 -136 45 -195 147 -195c119 0 175 69 175 217v305c0 73 -20 93 -98 99v25h220v-25c-64 -10 -78 -26 -78 -85v-319c0 -152 -65 -266 -258 -266c-73 0 -137 18 -185 53c-61 44 -82 93 -82 191v334c0 72 -12 85 -82 92v25h338v-25z
+" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="722" 
+d="M701 676v-25c-52 -7 -66 -20 -90 -82l-228 -587h-27l-256 599c-25 55 -34 63 -84 70v25h336v-25c-15 -1 -28 -2 -33 -2c-38 -2 -53 -13 -53 -36c0 -15 4 -27 23 -72l138 -334l127 329c17 43 20 55 20 71c0 32 -15 39 -86 44v25h213z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="1000" 
+d="M981 676v-25c-33 -3 -56 -24 -69 -64l-200 -602h-27l-171 477l-186 -477h-28l-212 602c-17 49 -27 58 -69 64v25h294v-25c-52 -4 -64 -13 -64 -42c0 -9 2 -17 7 -33l120 -364l118 308l-35 96c-11 24 -31 33 -72 35v25h312v-25c-6 -1 -11 -1 -13 -1
+c-44 -3 -59 -12 -59 -36c0 -9 4 -24 14 -56l108 -336l112 343c5 14 7 29 7 42c0 31 -15 41 -69 44v25h182z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="722" 
+d="M510 614c0 33 -17 31 -72 37v25h250v-25c-74 -7 -100 -26 -188 -146l-80 -111l182 -283c48 -72 63 -85 97 -86v-25h-340v25c13 1 24 2 28 2c35 2 52 11 52 28c0 11 -9 35 -21 54l-101 162l-38 -51c-74 -100 -94 -132 -94 -154c0 -25 20 -35 81 -41v-25h-250v25
+c50 6 74 19 104 56l175 221l-198 291c-31 45 -44 55 -80 58v25h346v-25c-14 -1 -26 -2 -31 -2c-36 -2 -48 -10 -48 -31c0 -12 2 -17 15 -37l97 -150c73 102 114 147 114 183z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="722" 
+d="M699 676v-25c-34 -5 -54 -16 -68 -39l-191 -311v-184c0 -74 10 -84 92 -92v-25h-347v25c82 8 93 19 93 92v147l-183 332c-20 34 -46 53 -80 55v25h335v-25l-25 -1c-41 0 -56 -8 -56 -30s20 -47 24 -59l120 -232l111 185c25 41 39 76 39 95c0 29 -17 37 -84 42v25h220z
+" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="667" 
+d="M299 35c261 0 277 95 309 206h26l-26 -241h-580v16l382 625c-37 -1 -71 -3 -83 -3c-148 0 -192 -29 -240 -168h-28l21 206h524v-16l-379 -625h74z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="333" 
+d="M301 -116v-33h-234v827h234v-33h-63c-56 0 -67 -12 -67 -70v-638c0 -43 9 -53 50 -53h80z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M211 -19l-236 710h93l235 -710h-92z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="333" 
+d="M32 -149v33h80c42 0 50 9 50 53v638c0 58 -11 70 -67 70h-63v33h234v-827h-234z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="581" 
+d="M162 311h-89l178 365h80l178 -365h-89l-129 272z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="500" 
+d="M500 -125h-500v50h500v-50z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M246 528h-56l-142 88c-29 18 -40 32 -40 52c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="500" 
+d="M147 404c0 -14 30 -35 30 -65c0 -34 -28 -58 -68 -58c-41 0 -65 25 -65 66c0 75 76 126 189 126c122 0 198 -53 198 -137v-261c0 -16 7 -25 21 -25c5 0 8 1 11 4l10 10l15 -21c-38 -41 -69 -57 -112 -57c-49 0 -71 19 -82 70c-55 -50 -101 -70 -158 -70
+c-64 0 -111 45 -111 106c0 113 153 153 269 188v73c0 61 -26 88 -84 88c-35 0 -63 -16 -63 -37zM293 100v145c-80 -21 -122 -63 -122 -121c0 -40 21 -67 51 -67c24 0 44 12 71 43z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="556" 
+d="M211 676v-259c37 39 74 56 122 56c111 0 188 -96 188 -234c0 -149 -93 -253 -226 -253c-50 0 -86 16 -132 57l-79 -56h-12v607c0 40 -9 49 -55 58v24h194zM211 360v-263c0 -48 27 -79 69 -79c64 0 94 65 94 203c0 131 -31 198 -93 198c-33 0 -53 -16 -70 -59z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="444" 
+d="M412 109l18 -18c-58 -74 -114 -105 -191 -105c-124 0 -214 99 -214 237c0 144 100 250 236 250c88 0 155 -48 155 -110c0 -39 -26 -63 -68 -63c-37 0 -55 23 -56 72c0 42 0 42 -5 51c-6 11 -21 19 -37 19c-52 0 -84 -63 -84 -166c0 -136 55 -223 142 -223
+c41 0 67 14 104 56z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="556" 
+d="M339 -13v65c-47 -50 -80 -66 -133 -66c-105 0 -181 99 -181 235c0 145 82 252 192 252c46 0 76 -16 119 -62v183c0 46 -9 53 -76 58v24h215v-575c0 -42 13 -55 59 -58v-23l-62 -8c-62 -7 -87 -12 -133 -25zM251 42c51 0 85 60 85 70v243c-14 38 -45 62 -78 62
+c-58 0 -85 -59 -85 -188c0 -127 25 -187 78 -187z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="444" 
+d="M169 245c4 -74 18 -187 119 -187c43 0 74 18 114 67l24 -14c-65 -93 -114 -125 -195 -125c-124 0 -206 96 -206 242s84 245 209 245c151 0 180 -129 187 -228h-252zM298 297c-3 86 -6 145 -64 145c-49 0 -67 -40 -70 -160h134v15z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="333" 
+d="M267 584c0 23 22 45 22 57s-11 19 -29 19c-35 0 -50 -22 -50 -77v-122h87v-44h-87v-314c0 -65 12 -77 82 -79v-24h-278v24c46 5 57 17 57 60v333h-57v44h57c0 134 22 230 175 230c84 0 143 -41 143 -100c0 -37 -25 -62 -62 -62c-34 0 -60 24 -60 55z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="500" 
+d="M161 160c-88 37 -124 88 -124 152c0 95 84 161 203 161c40 0 68 -6 112 -22h130v-53h-81c28 -28 40 -58 40 -98c0 -58 -35 -146 -174 -146l-45 1c-40 0 -68 -22 -68 -52c0 -28 20 -35 100 -35h65c102 0 164 -46 164 -123c0 -99 -88 -151 -254 -151
+c-126 0 -201 34 -201 92c0 41 33 66 96 75c-64 23 -82 41 -82 82c0 52 40 90 119 117zM324 -52h-173c-28 -23 -35 -34 -35 -55c0 -44 46 -67 134 -67c99 0 154 26 154 72c0 33 -26 50 -80 50zM240 442c-47 0 -66 -37 -66 -131c0 -93 18 -129 66 -129c47 0 66 36 66 129
+s-19 131 -66 131z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="556" 
+d="M294 406c-42 0 -86 -47 -86 -58v-267c0 -37 12 -52 49 -57v-24h-241v24c45 9 53 18 53 60v510c0 41 -7 49 -53 58v24h192v-281c52 58 89 78 142 78c82 0 135 -55 135 -141v-248c0 -42 13 -57 49 -60v-24h-235v24c34 4 47 20 47 57v242c0 56 -17 83 -52 83z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="278" 
+d="M208 461v-380c0 -38 12 -52 47 -57v-24h-239v24c46 11 53 19 53 60v294c0 41 -9 50 -53 59v24h192zM138 691c43 0 77 -35 77 -78c0 -44 -34 -77 -78 -77s-77 33 -77 78c0 42 35 77 78 77z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="333" 
+d="M64 -96c0 -23 -23 -45 -23 -59c0 -10 13 -17 32 -17c33 0 48 23 48 76v474c0 43 -12 55 -63 59v24h202v-459c0 -110 -38 -205 -177 -205c-82 0 -140 41 -140 100c0 36 25 61 62 61c32 0 59 -24 59 -54zM185 691c43 0 78 -35 78 -78s-35 -77 -78 -77c-45 0 -77 33 -77 78
+c0 42 34 77 77 77z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="556" 
+d="M358 411c0 22 -30 22 -59 27v23h214v-23c-63 -8 -89 -26 -189 -131l194 -268c9 -12 14 -15 25 -15v-24h-234v24c28 1 42 7 42 19c0 8 -7 20 -24 45l-95 134l-23 -24v-114c0 -47 5 -53 52 -60v-24h-239v24c33 3 48 21 48 60v510c0 38 -14 55 -48 58v24h187v-431l128 128
+c11 11 21 29 21 38z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="278" 
+d="M206 676v-592c0 -40 16 -59 49 -60v-24h-239v24c34 3 51 23 51 60v510c0 37 -16 55 -51 58v24h190z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="833" 
+d="M294 406c-40 0 -84 -46 -84 -58v-267c0 -38 11 -52 46 -57v-24h-240v24c44 8 55 19 55 60v294c0 41 -11 53 -55 59v24h191v-75c38 60 84 87 147 87s98 -24 128 -87c52 64 90 87 147 87c82 0 135 -55 135 -141v-251c0 -43 11 -55 50 -57v-24h-238v24c38 3 49 15 49 57v242
+c0 59 -15 83 -53 83c-39 0 -85 -47 -85 -58v-267c0 -38 12 -53 47 -57v-24h-234v24c37 3 48 16 48 57v242c0 60 -15 83 -54 83z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="556" 
+d="M299 406c-42 0 -86 -47 -86 -58v-267c0 -37 12 -52 49 -57v-24h-241v24c45 9 53 18 53 60v294c0 42 -9 52 -53 59v24h191v-75c37 59 83 87 143 87c82 0 135 -55 135 -141v-251c0 -42 10 -54 49 -57v-24h-235v24c34 4 47 20 47 57v242c0 56 -17 83 -52 83z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="500" 
+d="M251 473c129 0 225 -104 225 -244c0 -139 -96 -243 -225 -243c-131 0 -226 103 -226 246c0 136 99 241 226 241zM252 442c-62 0 -80 -52 -80 -228c0 -146 20 -197 79 -197c58 0 78 52 78 206c0 164 -19 219 -77 219z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="556" 
+d="M212 461v-69c31 58 67 81 126 81c111 0 186 -95 186 -234c0 -148 -80 -252 -192 -252c-44 0 -70 13 -118 60v-141c0 -67 17 -87 78 -90v-21h-273v24c48 8 56 17 56 58v501c0 42 -10 52 -54 59v24h191zM300 416c-48 0 -86 -56 -86 -70v-243c15 -38 44 -61 77 -61
+c57 0 85 59 85 183c0 131 -24 191 -76 191z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="556" 
+d="M342 -97v139c-41 -40 -76 -56 -123 -56c-109 0 -185 96 -185 233c0 149 92 254 222 254c50 0 81 -14 132 -57l78 56h15v-595c0 -40 9 -49 55 -58v-24h-267v25c65 12 73 21 73 83zM342 98v263c0 48 -27 80 -67 80c-63 0 -95 -70 -95 -205c0 -131 31 -196 93 -196
+c34 0 59 21 69 58z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="444" 
+d="M371 328c-53 0 -67 59 -88 59c-33 0 -61 -43 -61 -95v-189c0 -62 12 -75 73 -79v-24h-266v24c44 8 54 19 54 60v294c0 40 -11 53 -54 59v24h189v-82c47 67 85 94 135 94c47 0 81 -33 81 -78c0 -39 -26 -67 -63 -67z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="389" 
+d="M184 473c50 0 87 -22 110 -22c12 0 18 5 24 20h22v-145h-25c-28 81 -72 114 -122 114c-38 0 -66 -25 -66 -58c0 -101 234 -78 234 -244c0 -90 -63 -152 -154 -152c-71 0 -107 29 -131 29c-9 0 -15 -7 -26 -28h-25v165h28c21 -87 67 -132 137 -132c45 0 75 26 75 65
+c0 94 -238 87 -238 242c0 84 66 146 157 146z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="333" 
+d="M305 461v-44h-94v-301c0 -40 11 -57 39 -57c21 0 37 14 57 52l25 -11c-41 -82 -81 -112 -148 -112c-69 0 -112 40 -112 105v324h-52v27c65 55 105 100 166 186h25v-169h94z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="556" 
+d="M343 -13v65c-58 -50 -93 -66 -145 -66c-83 0 -133 52 -133 140v252c0 42 -8 51 -49 59v24h188v-339c0 -51 15 -71 56 -71c28 0 49 11 82 44v283c0 43 -12 55 -62 59v24h201v-360c0 -43 12 -56 56 -58v-23l-62 -7c-65 -7 -89 -11 -132 -26z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="500" 
+d="M485 461v-24c-31 -3 -40 -11 -58 -55l-160 -396h-26l-120 296c-16 41 -63 140 -65 140c-6 9 -12 12 -35 15v24h250v-24c-8 -1 -16 -2 -18 -2c-25 -2 -35 -9 -35 -24c0 -6 2 -12 9 -31l79 -203l72 182c7 18 11 34 11 45c0 24 -12 31 -55 33v24h151z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="722" 
+d="M541 180c63 178 79 183 79 222c0 23 -11 31 -48 35v24h135v-24c-26 -5 -35 -12 -50 -50l-155 -401h-23l-102 310l-125 -310h-24l-148 374c-27 66 -31 72 -57 77v24h222v-24c-28 -4 -38 -12 -38 -28c0 -21 50 -146 60 -169l24 -64l68 171l-6 19c-19 66 -20 67 -59 71v24
+h234v-24c-38 -3 -48 -8 -48 -24c0 -29 18 -58 61 -233z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="500" 
+d="M286 303c43 61 74 84 74 110c0 15 -8 21 -31 22c-3 0 -11 1 -20 2v24h168v-24c-31 -5 -51 -16 -70 -39l-101 -126l148 -228c7 -11 14 -15 30 -20v-24h-241v24c31 2 45 8 45 20s-10 31 -33 64l-42 63c-15 -19 -80 -96 -80 -123c0 -15 14 -22 50 -24v-24h-169v24
+c49 3 57 23 178 177l-128 197c-20 30 -26 35 -52 39v24h250v-24c-33 -1 -47 -7 -47 -19c0 -19 53 -93 71 -115z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="500" 
+d="M138 -111c0 -8 -3 -16 -3 -20c0 -9 8 -17 17 -17c23 0 49 32 66 82l18 53l-120 295c-17 42 -62 140 -65 140c-6 9 -12 12 -35 15v24h250v-24l-16 -1c-25 -2 -37 -11 -37 -25c0 -8 0 -8 20 -59l72 -185l68 192c9 25 11 34 11 45c0 24 -12 31 -55 33v24h151v-24
+c-31 -3 -42 -13 -58 -55l-149 -397c-38 -101 -64 -190 -160 -190c-57 0 -97 33 -97 79c0 38 27 64 64 64c34 0 58 -20 58 -49z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="444" 
+d="M214 32c103 0 150 27 178 128h28l-16 -160h-383v25l234 404h-11c-130 0 -156 -18 -180 -110h-26l7 142h371v-26l-231 -403h29z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="394" 
+d="M340 -175c-157 2 -211 31 -211 141v179c0 71 -22 95 -107 116c85 21 107 45 107 116v179c0 110 52 140 211 142v-12c-80 -17 -106 -48 -106 -124v-171c0 -84 -24 -110 -118 -130c94 -20 118 -46 118 -130v-171c0 -76 27 -107 106 -123v-12z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="220" 
+d="M66 -19v710h88v-710h-88z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="394" 
+d="M54 698c146 -2 211 -24 211 -141v-179c0 -71 22 -95 107 -116c-85 -21 -107 -45 -107 -116v-179c0 -110 -52 -140 -211 -142v12c80 17 106 48 106 124v171c0 83 25 110 118 130c-94 20 -118 46 -118 130v171c0 75 -27 107 -106 123v12z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="520" 
+d="M153 331c72 0 168 -68 215 -68c23 0 43 13 68 45l55 -48c-45 -63 -77 -85 -123 -85c-86 0 -127 68 -217 68c-29 0 -46 -10 -69 -42l-53 46c34 59 70 84 124 84z" />
+    <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="250" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="333" 
+d="M167 332c-47 0 -85 39 -85 86c0 46 38 83 86 83c47 0 83 -37 83 -85c0 -45 -38 -84 -84 -84zM83 -101c0 80 42 86 70 355h29c27 -258 70 -281 70 -357c0 -63 -31 -100 -85 -100c-53 0 -84 37 -84 102z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="500" 
+d="M181 5c-121 58 -128 173 -128 218c0 143 99 250 232 250c21 0 36 -2 60 -8l44 123h40l-48 -136c44 -24 63 -51 63 -88c0 -38 -27 -64 -66 -64c-18 0 -32 6 -44 20l-82 -230c27 -27 49 -37 83 -37c43 0 71 15 105 56l18 -18c-25 -31 -80 -105 -191 -105c-19 0 -31 2 -50 7
+l-47 -133h-40zM225 128l96 269v3c0 24 -18 42 -43 42c-51 0 -84 -66 -84 -168c0 -58 9 -100 31 -146z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="500" 
+d="M105 489c0 113 79 195 203 195c93 0 151 -44 151 -113c0 -44 -26 -72 -68 -72c-37 0 -62 25 -62 61v4l2 44v3c0 28 -16 43 -44 43c-33 0 -56 -25 -56 -63c0 -22 20 -133 39 -218h114v-65h-109c1 -19 2 -33 2 -54c0 -48 -4 -74 -20 -120c43 -16 70 -22 97 -22
+c62 0 85 17 100 71h23c-7 -79 -20 -197 -131 -197c-43 0 -71 14 -125 63c-33 -43 -67 -62 -112 -62c-56 0 -88 31 -88 85c0 60 37 92 106 92c18 0 31 -2 51 -7c-2 37 -6 53 -41 151h-98v65h80c-11 61 -14 86 -14 116zM181 86c-27 24 -45 32 -72 32c-34 0 -56 -20 -56 -52
+c0 -29 23 -49 56 -49c37 0 58 20 72 69z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="500" 
+d="M-26 119l98 98c-26 38 -37 73 -37 120c0 46 11 83 37 122l-98 98l58 56l96 -96c40 25 76 35 122 35s82 -10 122 -35l96 96l58 -56l-98 -98c27 -43 37 -76 37 -122c0 -47 -11 -84 -37 -120l98 -98l-58 -58l-96 98c-41 -26 -78 -37 -122 -37s-81 11 -122 37l-96 -98z
+M250 470c-71 0 -127 -58 -127 -133c0 -74 56 -133 127 -133c69 0 127 60 127 131c0 75 -56 135 -127 135z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="500" 
+d="M450 292h-131l-4 -11v-67h135v-50h-135v-49c0 -68 16 -83 99 -90v-25h-331v25c85 7 102 22 102 90v49h-135v50h135v57l-11 21h-124v50h99l-130 255c-19 36 -42 50 -83 53v26h301v-26c-60 -2 -77 -8 -77 -29c0 -34 42 -87 118 -250l15 -29l119 230c5 11 8 23 8 35
+c0 32 -14 40 -78 43v26h205v-26c-34 -3 -51 -13 -64 -37l-144 -271h111v-50z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="220" 
+d="M66 -19v277h88v-277h-88zM66 414v277h88v-277h-88z" />
+    <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="500" 
+d="M218 -23c0 -35 -46 -44 -46 -57c0 -15 33 -29 68 -29c53 0 79 24 79 71c0 31 -9 47 -37 70l-57 46c-141 114 -168 148 -168 215c0 79 44 122 123 122h19c-82 72 -100 98 -100 146c0 76 62 130 149 130c78 0 145 -46 145 -99c0 -33 -31 -64 -65 -64c-29 0 -60 30 -60 57
+c0 31 42 49 42 62c0 11 -26 21 -54 21c-49 0 -83 -28 -83 -69c0 -34 35 -73 104 -119c90 -59 166 -134 166 -224c0 -84 -55 -110 -141 -112c74 -52 102 -93 102 -147c0 -75 -69 -129 -164 -129c-83 0 -150 45 -150 100c0 37 28 65 63 65s65 -26 65 -56zM367 225
+c0 68 -141 167 -181 167c-31 0 -54 -24 -54 -56c0 -36 10 -51 70 -103c61 -53 82 -66 112 -66s53 24 53 58z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M62 666c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64zM271 666c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="747" 
+d="M402 544c45 0 125 -15 125 -40v-72h-19c-18 61 -51 89 -107 89c-79 0 -123 -63 -123 -177s45 -179 123 -179c56 0 92 26 124 91h19l-16 -74c-2 -23 -88 -40 -138 -40c-131 0 -214 76 -214 198c0 124 88 204 226 204zM374 691c195 0 347 -155 347 -354
+c0 -204 -150 -356 -352 -356c-191 0 -343 157 -343 354c0 200 152 356 348 356zM374 639c-154 0 -277 -135 -277 -304c0 -166 123 -302 273 -302c158 0 280 133 280 303c0 168 -123 303 -276 303z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="300" 
+d="M279 435c5 0 6 2 12 8l10 -12c-24 -25 -44 -34 -73 -34c-32 0 -46 11 -53 41c-35 -29 -64 -41 -102 -41c-44 0 -74 27 -74 66c0 50 39 75 174 110v40c0 37 -14 52 -50 52c-22 0 -41 -10 -41 -22c0 -8 20 -20 20 -35c0 -21 -20 -35 -48 -35c-26 0 -42 15 -42 40
+c0 46 51 75 129 75s127 -32 127 -82v-156c0 -11 3 -15 11 -15zM172 465v87c-50 -15 -75 -39 -75 -73c0 -23 13 -40 32 -40c16 0 29 8 43 26z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="500" 
+d="M355 227c43 -63 118 -139 118 -176c0 -9 -5 -15 -12 -15s-20 7 -36 23l-206 166v4l203 164c7 5 22 22 37 22c8 0 12 -4 12 -11c0 -36 -91 -144 -116 -177zM159 227c43 -63 118 -139 118 -176c0 -9 -5 -15 -12 -15s-20 7 -36 23l-206 166v4l203 164c7 5 22 22 37 22
+c8 0 12 -4 12 -11c0 -36 -91 -144 -116 -177z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="680" 
+d="M618 64h-95v200h-461v98h556v-298z" />
+    <glyph glyph-name="softhyphen" unicode="&#xad;" horiz-adv-x="333" 
+d="M287 287v-116h-243v116h243z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="747" 
+d="M482 153c-29 0 -49 64 -112 167h-37v-105c0 -40 1 -41 46 -44v-18h-172v18c45 3 46 4 46 44v255c0 41 0 41 -46 44v18h193c71 0 115 -37 115 -96c0 -48 -27 -84 -80 -105l58 -82c29 -40 49 -65 70 -85v-11h-81zM333 510v-168h35c39 0 62 32 62 88c0 54 -20 80 -61 80h-36
+zM374 691c195 0 347 -155 347 -354c0 -204 -150 -356 -352 -356c-191 0 -343 157 -343 354c0 200 152 356 348 356zM374 639c-154 0 -277 -135 -277 -304c0 -166 123 -302 273 -302c158 0 280 133 280 303c0 168 -123 303 -276 303z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M331 637v-72h-330v72h330z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="400" 
+d="M200 688c80 0 143 -63 143 -143c0 -81 -63 -143 -145 -143c-78 0 -141 64 -141 143c0 80 63 143 143 143zM200 652c-56 0 -102 -49 -102 -107s46 -107 101 -107c57 0 103 48 103 107c0 58 -47 107 -102 107z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="676" 
+d="M614 268h-227v-181h-96v181h-228v96h228v194h96v-194h227v-96zM613 -44h-551v92h551v-92z" />
+    <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="300" 
+d="M300 402l-30 -127h-270v14c149 149 184 197 184 255c0 42 -33 76 -75 76c-34 0 -55 -15 -76 -54h-24c34 84 79 122 143 122c70 0 120 -46 120 -111c0 -44 -21 -80 -74 -130l-99 -92h92c66 0 74 4 93 47h16z" />
+    <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="300" 
+d="M43 363c69 -7 70 -59 116 -59c38 0 63 26 63 65c0 58 -34 90 -130 121v10c61 18 84 39 84 79c0 37 -26 61 -65 61c-31 0 -50 -13 -75 -50l-20 7c36 61 84 91 149 91c67 0 106 -30 106 -81c0 -36 -13 -54 -54 -76c54 -22 80 -57 80 -107c0 -87 -86 -156 -194 -156
+c-61 0 -100 21 -100 54c0 19 13 32 40 41z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M86 528l137 157c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="micro" unicode="&#xb5;" horiz-adv-x="556" 
+d="M33 -129c0 43 33 103 33 217v373h139v-312c0 -44 23 -74 57 -74c21 0 46 9 74 27v359h139v-360c0 -26 18 -47 40 -47c7 0 12 1 21 6v-24c-44 -39 -64 -49 -106 -49c-48 0 -79 16 -101 52c-31 -38 -58 -52 -99 -52c-40 0 -70 10 -102 35c8 -63 33 -116 33 -152
+c0 -49 -23 -76 -63 -76c-41 0 -65 28 -65 77z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="540" 
+d="M199 265c-166 6 -199 126 -199 216c0 134 69 195 219 195h300v-25c-11 -1 -22 -2 -26 -2c-49 -6 -55 -11 -55 -50l-1 -10v-688l1 -10c1 -39 5 -44 53 -50c3 0 13 -1 23 -2v-25h-171v837h-50v-837h-175v25c74 7 80 11 80 52l1 10v364zM199 651c-50 -13 -109 -34 -109 -168
+c0 -105 34 -166 109 -193v361z" />
+    <glyph glyph-name="middot" unicode="&#xb7;" horiz-adv-x="250" 
+d="M123 310c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M84 -163c20 -7 34 -14 60 -14c36 0 57 15 57 41c0 22 -17 36 -46 36c-9 0 -17 -1 -28 -4l-11 8l43 96h42l-28 -64c12 4 20 5 33 5c55 0 88 -26 88 -70c0 -55 -50 -89 -130 -89c-33 0 -60 5 -96 18z" />
+    <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="270" 
+d="M70 617c-17 0 -42 -10 -56 -15v21l164 65h11v-337c0 -46 11 -55 70 -56v-20h-243v20c64 0 77 10 77 60v221c0 28 -7 41 -23 41z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="330" 
+d="M165 688c84 0 147 -62 147 -145c0 -86 -62 -146 -149 -146c-83 0 -145 62 -145 145c0 84 63 146 147 146zM165 667c-38 0 -50 -32 -50 -129c0 -89 13 -121 49 -121c37 0 50 30 50 119c0 100 -12 131 -49 131z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="500" 
+d="M145 224c-30 44 -118 139 -118 176c0 9 5 15 11 15s19 -5 37 -23l206 -166v-4l-209 -169c-16 -14 -23 -17 -31 -17s-12 4 -12 11c0 21 35 76 93 147zM341 224c-30 44 -118 139 -118 176c0 9 5 15 12 15c13 0 33 -21 36 -23l206 -166v-4l-203 -164
+c-15 -15 -30 -22 -37 -22c-8 0 -12 4 -12 11c0 21 35 77 92 147z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="750" 
+d="M702 153h41v-66h-41v-87h-94v87h-161v67c42 63 75 105 164 213l39 46h52v-260zM609 153v175l-137 -175h137zM615 688h56l-439 -700h-58zM84 617c-17 0 -42 -10 -56 -15v21l164 65h11v-337c0 -46 11 -55 70 -56v-20h-243v20c64 0 77 10 77 60v221c0 28 -7 41 -23 41z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="750" 
+d="M573 688h56l-439 -700h-58zM49 617c-17 0 -42 -10 -56 -15v21l164 65h11v-337c0 -46 11 -55 70 -56v-20h-243v20c64 0 77 10 77 60v221c0 28 -7 41 -23 41zM775 127l-30 -127h-270v14c149 149 184 197 184 255c0 42 -33 76 -75 76c-34 0 -55 -15 -76 -54h-24
+c34 84 79 122 143 122c70 0 120 -46 120 -111c0 -44 -20 -80 -74 -130l-93 -87v-5h86c66 0 74 4 93 47h16z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="750" 
+d="M613 688h56l-439 -700h-58zM63 363c69 -7 70 -59 116 -59c38 0 63 26 63 65c0 58 -34 90 -130 121v10c61 18 84 39 84 79c0 37 -26 61 -65 61c-31 0 -50 -13 -75 -50l-20 7c36 61 84 91 149 91c67 0 106 -30 106 -81c0 -35 -13 -54 -50 -74v-4c50 -20 76 -56 76 -105
+c0 -87 -86 -156 -194 -156c-61 0 -100 21 -100 54c0 19 13 32 40 41zM692 153h41v-66h-41v-87h-94v87h-161v67c42 63 75 105 164 213l39 46h52v-260zM599 153v175l-137 -175h137z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="500" 
+d="M349 -125c0 29 -37 33 -37 80c0 38 25 64 63 64c39 0 68 -32 68 -76c0 -84 -78 -144 -188 -144c-120 0 -200 66 -200 166c0 69 30 110 121 166c63 39 71 53 71 126h30c2 -30 2 -35 2 -46c0 -85 -75 -120 -75 -246c0 -82 31 -130 84 -130c36 0 61 16 61 40zM261 332
+c-46 0 -84 39 -84 85c0 47 37 84 84 84c48 0 85 -37 85 -85c0 -45 -39 -84 -85 -84z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="722" 
+d="M689 25v-25h-324v25c14 2 27 3 32 3c35 2 48 12 48 33c0 22 -12 58 -46 136h-225l-15 -39c-21 -54 -29 -79 -29 -92c0 -26 23 -37 82 -41v-25h-203v25c48 9 60 24 98 117l222 548h28l223 -526c50 -118 66 -139 105 -139h4zM189 236h195l-101 243zM406 715h-56l-142 88
+c-29 18 -40 32 -40 52c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="722" 
+d="M689 25v-25h-324v25c14 2 27 3 32 3c35 2 48 12 48 33c0 22 -12 58 -46 136h-225l-15 -39c-21 -54 -29 -79 -29 -92c0 -26 23 -37 82 -41v-25h-203v25c48 9 60 24 98 117l222 548h28l223 -526c50 -118 66 -139 105 -139h4zM189 236h195l-101 243zM262 715l137 157
+c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="722" 
+d="M689 25v-25h-324v25c14 2 27 3 32 3c35 2 48 12 48 33c0 22 -12 58 -46 136h-225l-15 -39c-21 -54 -29 -79 -29 -92c0 -26 23 -37 82 -41v-25h-203v25c48 9 60 24 98 117l222 548h28l223 -526c50 -118 66 -139 105 -139h4zM189 236h195l-101 243zM455 723l-112 98
+l-112 -98h-56l122 176h92l123 -176h-57z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="722" 
+d="M689 25v-25h-324v25c14 2 27 3 32 3c35 2 48 12 48 33c0 22 -12 58 -46 136h-225l-15 -39c-21 -54 -29 -79 -29 -92c0 -26 23 -37 82 -41v-25h-203v25c48 9 60 24 98 117l222 548h28l223 -526c50 -118 66 -139 105 -139h4zM189 236h195l-101 243zM209 725h-42
+c18 86 54 125 116 125c21 0 45 -6 73 -19l40 -18c24 -11 28 -12 39 -12c27 0 41 13 54 49h43c-23 -87 -60 -127 -117 -127c-20 0 -45 6 -64 14l-29 13c-43 19 -51 22 -64 22c-26 0 -45 -19 -49 -47z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="722" 
+d="M689 25v-25h-324v25c14 2 27 3 32 3c35 2 48 12 48 33c0 22 -12 58 -46 136h-225l-15 -39c-21 -54 -29 -79 -29 -92c0 -26 23 -37 82 -41v-25h-203v25c48 9 60 24 98 117l222 548h28l223 -526c50 -118 66 -139 105 -139h4zM189 236h195l-101 243zM237 848
+c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64zM446 848c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="722" 
+d="M689 25v-25h-324v25c14 2 27 3 32 3c35 2 48 12 48 33c0 22 -12 58 -46 136h-225l-15 -39c-21 -54 -29 -79 -29 -92c0 -26 23 -37 82 -41v-25h-203v25c48 9 60 24 98 117l222 548h28l223 -526c50 -118 66 -139 105 -139h4zM189 236h195l-101 243zM342 900
+c54 0 99 -46 99 -100c0 -55 -45 -99 -100 -99s-99 45 -99 101c0 52 46 98 100 98zM341 855c-29 0 -54 -26 -54 -55c0 -30 24 -54 53 -54c31 0 56 24 56 53c0 30 -25 56 -55 56z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1000" 
+d="M884 475c-22 107 -45 166 -224 166c-54 0 -68 -6 -68 -30v-248c117 10 127 20 155 149h23v-338h-23c-18 124 -43 150 -155 157v-243c0 -43 16 -54 76 -54c85 0 144 19 184 61c34 35 68 86 76 116h23l-41 -211h-566v25c73 4 88 20 88 94v184h-190l-100 -188
+c-11 -20 -15 -33 -15 -45c0 -27 14 -37 66 -43l17 -2v-25h-206v25c39 6 48 15 110 128l213 389c9 14 35 60 35 75c0 24 -21 33 -87 37v22h634v-201h-25zM264 343h168v290h-7z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="722" 
+d="M427 29c96 0 165 55 230 123l30 -25c-94 -107 -169 -145 -286 -146l-20 -45c12 4 20 5 33 5c55 0 88 -26 88 -70c0 -55 -50 -89 -130 -89c-33 0 -60 5 -96 18l16 37c15 -5 35 -14 59 -14c37 0 58 15 58 41c0 22 -17 36 -46 36c-9 0 -17 -1 -28 -4l-11 8l35 79l-3 1
+c-182 18 -307 160 -307 348c0 205 149 359 348 359c109 0 161 -49 201 -49c19 0 30 11 44 46h27v-234h-25c-24 51 -102 204 -234 204c-120 0 -184 -110 -184 -317c0 -240 88 -312 201 -312z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="667" 
+d="M349 31c158 0 216 74 264 177h28l-40 -208h-585v25c74 8 88 19 88 71v484c0 51 -19 67 -88 71v25h577v-201h-25c-25 133 -74 167 -237 167c-52 0 -65 -9 -65 -47v-232h4c105 0 143 37 158 149h26v-338h-26c-12 116 -53 155 -162 155v-242c0 -43 19 -56 83 -56zM406 715
+h-56l-142 88c-29 18 -40 32 -40 52c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="667" 
+d="M349 31c158 0 216 74 264 177h28l-40 -208h-585v25c74 8 88 19 88 71v484c0 51 -19 67 -88 71v25h577v-201h-25c-25 133 -74 167 -237 167c-52 0 -65 -9 -65 -47v-232h4c105 0 143 37 158 149h26v-338h-26c-12 116 -53 155 -162 155v-242c0 -43 19 -56 83 -56zM246 715
+l137 157c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="667" 
+d="M349 31c158 0 216 74 264 177h28l-40 -208h-585v25c74 8 88 19 88 71v484c0 51 -19 67 -88 71v25h577v-201h-25c-25 133 -74 167 -237 167c-52 0 -65 -9 -65 -47v-232h4c105 0 143 37 158 149h26v-338h-26c-12 116 -53 155 -162 155v-242c0 -43 19 -56 83 -56zM439 723
+l-112 98l-112 -98h-56l122 176h92l123 -176h-57z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="667" 
+d="M349 31c158 0 216 74 264 177h28l-40 -208h-585v25c74 8 88 19 88 71v484c0 51 -19 67 -88 71v25h577v-201h-25c-25 133 -74 167 -237 167c-52 0 -65 -9 -65 -47v-232h4c105 0 143 37 158 149h26v-338h-26c-12 116 -53 155 -162 155v-242c0 -43 19 -56 83 -56zM223 849
+c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64zM432 849c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="389" 
+d="M109 96v484c0 51 -21 66 -93 71v25h350v-25c-74 -3 -95 -19 -95 -71v-484c0 -52 19 -66 95 -71v-25h-350v25c75 7 93 21 93 71zM262 714h-56l-142 88c-29 18 -40 32 -40 52c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="389" 
+d="M109 96v484c0 51 -21 66 -93 71v25h350v-25c-74 -3 -95 -19 -95 -71v-484c0 -52 19 -66 95 -71v-25h-350v25c75 7 93 21 93 71zM111 715l137 157c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="389" 
+d="M109 96v484c0 51 -21 66 -93 71v25h350v-25c-74 -3 -95 -19 -95 -71v-484c0 -52 19 -66 95 -71v-25h-350v25c75 7 93 21 93 71zM302 724l-112 98l-112 -98h-56l122 176h92l123 -176h-57z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="389" 
+d="M109 96v484c0 51 -21 66 -93 71v25h350v-25c-74 -3 -95 -19 -95 -71v-484c0 -52 19 -66 95 -71v-25h-350v25c75 7 93 21 93 71zM86 858c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64zM295 858c36 0 66 -30 66 -66
+c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M6 326v47h91v211c0 46 -19 61 -83 67v25h305c231 0 371 -125 371 -331c0 -207 -144 -345 -360 -345h-316v25c58 2 83 22 83 66v235h-91zM319 642c-54 0 -60 -16 -60 -47v-222h114v-47h-114v-233c0 -45 13 -58 58 -58c104 0 199 63 199 295c0 246 -107 312 -197 312z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="722" 
+d="M230 676l349 -429v305c0 71 -19 92 -93 99v25h215v-25c-65 -10 -78 -23 -78 -80v-589h-28l-447 544v-402c0 -71 18 -90 95 -99v-25h-227v25c73 9 88 23 88 80v474c-48 57 -65 72 -85 72v25h211zM214 759h-42c18 86 54 125 116 125c21 0 45 -6 73 -19l40 -18
+c24 -11 28 -12 39 -12c27 0 41 13 54 49h43c-23 -87 -60 -127 -117 -127c-20 0 -45 6 -64 14l-29 13c-43 19 -51 22 -64 22c-26 0 -45 -19 -49 -47z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="778" 
+d="M393 691c201 0 350 -151 350 -355c0 -207 -147 -355 -354 -355s-354 147 -354 354c0 208 149 356 358 356zM392 658c-117 0 -180 -116 -180 -332c0 -202 62 -312 177 -312s177 110 177 315c0 208 -64 329 -174 329zM462 715h-56l-142 88c-29 18 -40 32 -40 52
+c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="778" 
+d="M393 691c201 0 350 -151 350 -355c0 -207 -147 -355 -354 -355s-354 147 -354 354c0 208 149 356 358 356zM392 658c-117 0 -180 -116 -180 -332c0 -202 62 -312 177 -312s177 110 177 315c0 208 -64 329 -174 329zM302 715l137 157c17 19 34 28 53 28
+c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="778" 
+d="M393 691c201 0 350 -151 350 -355c0 -207 -147 -355 -354 -355s-354 147 -354 354c0 208 149 356 358 356zM392 658c-117 0 -180 -116 -180 -332c0 -202 62 -312 177 -312s177 110 177 315c0 208 -64 329 -174 329zM505 723l-112 98l-112 -98h-56l122 176h92l123 -176
+h-57z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="778" 
+d="M393 691c201 0 350 -151 350 -355c0 -207 -147 -355 -354 -355s-354 147 -354 354c0 208 149 356 358 356zM392 658c-117 0 -180 -116 -180 -332c0 -202 62 -312 177 -312s177 110 177 315c0 208 -64 329 -174 329zM250 727h-42c18 86 54 125 116 125c21 0 45 -6 73 -19
+l40 -18c24 -11 28 -12 39 -12c27 0 41 13 54 49h43c-23 -87 -60 -127 -117 -127c-20 0 -45 6 -64 14l-29 13c-43 19 -51 22 -64 22c-26 0 -45 -19 -49 -47z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="778" 
+d="M393 691c201 0 350 -151 350 -355c0 -207 -147 -355 -354 -355s-354 147 -354 354c0 208 149 356 358 356zM392 658c-117 0 -180 -116 -180 -332c0 -202 62 -312 177 -312s177 110 177 315c0 208 -64 329 -174 329zM277 853c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63
+c-35 0 -64 30 -64 65c0 34 30 64 64 64zM486 853c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="676" 
+d="M614 51l-68 -68l-208 208l-208 -208l-68 68l206 206l-206 206l68 68l208 -207l208 207l68 -68l-206 -206z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="778" 
+d="M167 52c-39 34 -132 113 -132 283c0 207 148 356 355 356c68 0 119 -13 182 -47l63 93h50l-78 -115c47 -39 136 -114 136 -286c0 -208 -147 -355 -354 -355c-72 0 -124 14 -187 49l-71 -104h-50zM234 151l286 418c-35 64 -72 89 -131 89c-113 0 -177 -119 -177 -330
+c0 -74 5 -116 22 -177zM540 524l-287 -420c34 -64 73 -90 136 -90c116 0 177 110 177 317c0 80 -6 128 -26 193z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M354 651c-77 -3 -97 -13 -97 -92v-334c0 -136 45 -195 147 -195c119 0 175 69 175 217v305c0 73 -20 93 -98 99v25h220v-25c-64 -10 -78 -26 -78 -85v-319c0 -152 -65 -266 -258 -266c-73 0 -137 18 -185 53c-61 44 -82 93 -82 191v334c0 72 -12 85 -82 92v25h338v-25z
+M448 715h-56l-142 88c-29 18 -40 32 -40 52c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M354 651c-77 -3 -97 -13 -97 -92v-334c0 -136 45 -195 147 -195c119 0 175 69 175 217v305c0 73 -20 93 -98 99v25h220v-25c-64 -10 -78 -26 -78 -85v-319c0 -152 -65 -266 -258 -266c-73 0 -137 18 -185 53c-61 44 -82 93 -82 191v334c0 72 -12 85 -82 92v25h338v-25z
+M308 715l137 157c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M354 651c-77 -3 -97 -13 -97 -92v-334c0 -136 45 -195 147 -195c119 0 175 69 175 217v305c0 73 -20 93 -98 99v25h220v-25c-64 -10 -78 -26 -78 -85v-319c0 -152 -65 -266 -258 -266c-73 0 -137 18 -185 53c-61 44 -82 93 -82 191v334c0 72 -12 85 -82 92v25h338v-25z
+M501 724l-112 98l-112 -98h-56l122 176h92l123 -176h-57z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M354 651c-77 -3 -97 -13 -97 -92v-334c0 -136 45 -195 147 -195c119 0 175 69 175 217v305c0 73 -20 93 -98 99v25h220v-25c-64 -10 -78 -26 -78 -85v-319c0 -152 -65 -266 -258 -266c-73 0 -137 18 -185 53c-61 44 -82 93 -82 191v334c0 72 -12 85 -82 92v25h338v-25z
+M277 853c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64zM486 853c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="722" 
+d="M699 676v-25c-34 -5 -54 -16 -68 -39l-191 -311v-184c0 -74 10 -84 92 -92v-25h-347v25c82 8 93 19 93 92v147l-183 332c-20 34 -46 53 -80 55v25h335v-25l-25 -1c-41 0 -56 -8 -56 -30s20 -47 24 -59l120 -232l111 185c25 41 39 76 39 95c0 29 -17 37 -84 42v25h220z
+M313 715l137 157c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="632" 
+d="M262 546h66c179 0 272 -63 272 -183c0 -64 -31 -116 -88 -151c-55 -32 -91 -38 -250 -39v-56c0 -73 9 -82 88 -92v-25h-334v25c11 2 21 4 24 4c47 6 60 26 60 88v442c0 70 -14 86 -84 92v25h334v-25c-80 -11 -88 -20 -88 -93v-12zM262 208c128 0 166 28 166 151
+c0 108 -33 152 -116 152c-33 0 -50 -12 -50 -35v-268z" />
+    <glyph glyph-name="ssharp" unicode="&#xdf;" horiz-adv-x="556" 
+d="M371 195c0 151 -35 174 -102 178v34c57 1 70 24 70 123c0 94 -21 133 -71 133c-38 0 -59 -27 -59 -77v-586h-190v24c43 7 51 17 51 63v420c0 107 86 184 207 184c114 0 199 -66 199 -154c0 -92 -85 -128 -156 -144c47 -14 197 -45 197 -199c0 -114 -84 -206 -189 -206
+c-18 0 -34 4 -64 15l14 34l10 -7c9 -6 13 -7 22 -7c47 0 61 40 61 172z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="500" 
+d="M147 404c0 -14 30 -35 30 -65c0 -34 -28 -58 -68 -58c-41 0 -65 25 -65 66c0 75 76 126 189 126c122 0 198 -53 198 -137v-261c0 -16 7 -25 21 -25c5 0 8 1 11 4l10 10l15 -21c-38 -41 -69 -57 -112 -57c-49 0 -71 19 -82 70c-55 -50 -101 -70 -158 -70
+c-64 0 -111 45 -111 106c0 113 153 153 269 188v73c0 61 -26 88 -84 88c-35 0 -63 -16 -63 -37zM293 100v145c-80 -21 -122 -63 -122 -121c0 -40 21 -67 51 -67c24 0 44 12 71 43zM329 528h-56l-142 88c-29 18 -40 32 -40 52c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="500" 
+d="M147 404c0 -14 30 -35 30 -65c0 -34 -28 -58 -68 -58c-41 0 -65 25 -65 66c0 75 76 126 189 126c122 0 198 -53 198 -137v-261c0 -16 7 -25 21 -25c5 0 8 1 11 4l10 10l15 -21c-38 -41 -69 -57 -112 -57c-49 0 -71 19 -82 70c-55 -50 -101 -70 -158 -70
+c-64 0 -111 45 -111 106c0 113 153 153 269 188v73c0 61 -26 88 -84 88c-35 0 -63 -16 -63 -37zM293 100v145c-80 -21 -122 -63 -122 -121c0 -40 21 -67 51 -67c24 0 44 12 71 43zM155 528l137 157c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56
+z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="500" 
+d="M147 404c0 -14 30 -35 30 -65c0 -34 -28 -58 -68 -58c-41 0 -65 25 -65 66c0 75 76 126 189 126c122 0 198 -53 198 -137v-261c0 -16 7 -25 21 -25c5 0 8 1 11 4l10 10l15 -21c-38 -41 -69 -57 -112 -57c-49 0 -71 19 -82 70c-55 -50 -101 -70 -158 -70
+c-64 0 -111 45 -111 106c0 113 153 153 269 188v73c0 61 -26 88 -84 88c-35 0 -63 -16 -63 -37zM293 100v145c-80 -21 -122 -63 -122 -121c0 -40 21 -67 51 -67c24 0 44 12 71 43zM362 528l-112 98l-112 -98h-56l122 176h92l123 -176h-57z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="500" 
+d="M147 404c0 -14 30 -35 30 -65c0 -34 -28 -58 -68 -58c-41 0 -65 25 -65 66c0 75 76 126 189 126c122 0 198 -53 198 -137v-261c0 -16 7 -25 21 -25c5 0 8 1 11 4l10 10l15 -21c-38 -41 -69 -57 -112 -57c-49 0 -71 19 -82 70c-55 -50 -101 -70 -158 -70
+c-64 0 -111 45 -111 106c0 113 153 153 269 188v73c0 61 -26 88 -84 88c-35 0 -63 -16 -63 -37zM293 100v145c-80 -21 -122 -63 -122 -121c0 -40 21 -67 51 -67c24 0 44 12 71 43zM110 549h-42c18 86 54 125 116 125c21 0 45 -6 73 -19l40 -18c24 -11 28 -12 39 -12
+c27 0 41 13 54 49h43c-23 -87 -60 -127 -117 -127c-20 0 -45 6 -64 14l-29 13c-43 19 -51 22 -64 22c-26 0 -45 -19 -49 -47z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="500" 
+d="M147 404c0 -14 30 -35 30 -65c0 -34 -28 -58 -68 -58c-41 0 -65 25 -65 66c0 75 76 126 189 126c122 0 198 -53 198 -137v-261c0 -16 7 -25 21 -25c5 0 8 1 11 4l10 10l15 -21c-38 -41 -69 -57 -112 -57c-49 0 -71 19 -82 70c-55 -50 -101 -70 -158 -70
+c-64 0 -111 45 -111 106c0 113 153 153 269 188v73c0 61 -26 88 -84 88c-35 0 -63 -16 -63 -37zM293 100v145c-80 -21 -122 -63 -122 -121c0 -40 21 -67 51 -67c24 0 44 12 71 43zM140 645c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64z
+M349 645c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="500" 
+d="M147 404c0 -14 30 -35 30 -65c0 -34 -28 -58 -68 -58c-41 0 -65 25 -65 66c0 75 76 126 189 126c122 0 198 -53 198 -137v-261c0 -16 7 -25 21 -25c5 0 8 1 11 4l10 10l15 -21c-38 -41 -69 -57 -112 -57c-49 0 -71 19 -82 70c-55 -50 -101 -70 -158 -70
+c-64 0 -111 45 -111 106c0 113 153 153 269 188v73c0 61 -26 88 -84 88c-35 0 -63 -16 -63 -37zM293 100v145c-80 -21 -122 -63 -122 -121c0 -40 21 -67 51 -67c24 0 44 12 71 43zM240 722c54 0 99 -46 99 -100c0 -55 -45 -99 -100 -99s-99 45 -99 101c0 52 46 98 100 98z
+M239 677c-29 0 -54 -26 -54 -55c0 -30 24 -54 53 -54c31 0 56 24 56 53c0 30 -25 56 -55 56z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="722" 
+d="M153 406c0 -19 29 -25 29 -65c0 -36 -23 -57 -63 -57c-42 0 -69 25 -69 64c0 72 77 125 182 125c66 0 104 -14 142 -51c37 36 75 51 127 51c77 0 187 -34 187 -225h-254v-23c0 -115 34 -164 115 -164c49 0 84 19 123 67l21 -15c-59 -90 -114 -122 -209 -122
+c-70 0 -109 22 -147 84c-56 -56 -112 -89 -186 -89c-77 0 -118 38 -118 108c0 112 126 141 263 186v80c0 58 -22 81 -78 81c-38 0 -65 -15 -65 -35zM296 81v167c-88 -32 -119 -65 -119 -127c0 -47 20 -72 57 -72c23 0 38 7 62 32zM434 285h133v33c0 93 -16 125 -63 125
+c-52 0 -70 -40 -70 -158z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="444" 
+d="M153 -163c15 -5 35 -14 59 -14c37 0 58 15 58 41c0 22 -17 36 -46 36c-9 0 -17 -1 -28 -4l-11 8l37 83c-119 11 -197 104 -197 235c0 145 100 251 236 251c88 0 155 -48 155 -110c0 -39 -26 -63 -68 -63c-37 0 -55 23 -56 72c0 42 0 42 -5 51c-6 11 -21 19 -37 19
+c-52 0 -84 -63 -84 -166c0 -136 55 -223 142 -223c41 0 67 14 104 56l18 -18c-47 -63 -96 -94 -165 -104l-23 -51c12 4 20 5 33 5c55 0 88 -26 88 -70c0 -55 -50 -89 -130 -89c-33 0 -60 5 -96 18z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="444" 
+d="M169 245c4 -74 18 -187 119 -187c43 0 74 18 114 67l24 -14c-65 -93 -114 -125 -195 -125c-124 0 -206 96 -206 242s84 245 209 245c151 0 180 -129 187 -228h-252zM298 297c-3 86 -6 145 -64 145c-49 0 -67 -40 -70 -160h134v15zM313 528h-56l-142 88
+c-29 18 -40 32 -40 52c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="444" 
+d="M169 245c4 -74 18 -187 119 -187c43 0 74 18 114 67l24 -14c-65 -93 -114 -125 -195 -125c-124 0 -206 96 -206 242s84 245 209 245c151 0 180 -129 187 -228h-252zM298 297c-3 86 -6 145 -64 145c-49 0 -67 -40 -70 -160h134v15zM159 527l137 157c17 19 34 28 53 28
+c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="444" 
+d="M169 245c4 -74 18 -187 119 -187c43 0 74 18 114 67l24 -14c-65 -93 -114 -125 -195 -125c-124 0 -206 96 -206 242s84 245 209 245c151 0 180 -129 187 -228h-252zM298 297c-3 86 -6 145 -64 145c-49 0 -67 -40 -70 -160h134v15zM348 504l-112 98l-112 -98h-56l122 176
+h92l123 -176h-57z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="444" 
+d="M169 245c4 -74 18 -187 119 -187c43 0 74 18 114 67l24 -14c-65 -93 -114 -125 -195 -125c-124 0 -206 96 -206 242s84 245 209 245c151 0 180 -129 187 -228h-252zM298 297c-3 86 -6 145 -64 145c-49 0 -67 -40 -70 -160h134v15zM124 642c35 0 65 -30 65 -66
+c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64zM333 642c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M208 461v-380c0 -38 12 -52 47 -57v-24h-239v24c46 11 53 19 53 60v294c0 41 -9 50 -53 59v24h192zM212 528h-56l-142 88c-29 18 -40 32 -40 52c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M208 461v-380c0 -38 12 -52 47 -57v-24h-239v24c46 11 53 19 53 60v294c0 41 -9 50 -53 59v24h192zM52 528l137 157c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M208 461v-380c0 -38 12 -52 47 -57v-24h-239v24c46 11 53 19 53 60v294c0 41 -9 50 -53 59v24h192zM244 528l-112 98l-112 -98h-56l122 176h92l123 -176h-57z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M208 461v-380c0 -38 12 -52 47 -57v-24h-239v24c46 11 53 19 53 60v294c0 41 -9 50 -53 59v24h192zM28 642c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64zM237 642c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66
+c0 33 30 63 63 63z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="500" 
+d="M335 614c140 -115 141 -251 141 -321c0 -194 -83 -307 -225 -307c-130 0 -226 103 -226 243c0 139 97 244 224 244c42 0 65 -11 91 -41l2 3c-19 57 -45 98 -86 139l-110 -56l-48 31l117 59c-43 31 -83 49 -133 58l46 25c61 -6 110 -20 160 -46l90 46l49 -30zM172 222
+c0 -141 14 -205 80 -205c58 0 77 52 77 216c0 154 -20 209 -77 209c-61 0 -80 -54 -80 -220z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="556" 
+d="M299 406c-42 0 -86 -47 -86 -58v-267c0 -37 12 -52 49 -57v-24h-241v24c45 9 53 18 53 60v294c0 42 -9 52 -53 59v24h191v-75c37 59 83 87 143 87c82 0 135 -55 135 -141v-251c0 -42 10 -54 49 -57v-24h-235v24c34 4 47 20 47 57v242c0 56 -17 83 -52 83zM137 549h-42
+c18 86 54 125 116 125c21 0 45 -6 73 -19l40 -18c24 -11 28 -12 39 -12c27 0 41 13 54 49h43c-23 -87 -60 -127 -117 -127c-20 0 -45 6 -64 14l-29 13c-43 19 -51 22 -64 22c-26 0 -45 -19 -49 -47z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="500" 
+d="M251 473c129 0 225 -104 225 -244c0 -139 -96 -243 -225 -243c-131 0 -226 103 -226 246c0 136 99 241 226 241zM252 442c-62 0 -80 -52 -80 -228c0 -146 20 -197 79 -197c58 0 78 52 78 206c0 164 -19 219 -77 219zM329 528h-56l-142 88c-29 18 -40 32 -40 52
+c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="500" 
+d="M251 473c129 0 225 -104 225 -244c0 -139 -96 -243 -225 -243c-131 0 -226 103 -226 246c0 136 99 241 226 241zM252 442c-62 0 -80 -52 -80 -228c0 -146 20 -197 79 -197c58 0 78 52 78 206c0 164 -19 219 -77 219zM171 528l137 157c17 19 34 28 53 28
+c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="500" 
+d="M251 473c129 0 225 -104 225 -244c0 -139 -96 -243 -225 -243c-131 0 -226 103 -226 246c0 136 99 241 226 241zM252 442c-62 0 -80 -52 -80 -228c0 -146 20 -197 79 -197c58 0 78 52 78 206c0 164 -19 219 -77 219zM362 519l-112 98l-112 -98h-56l122 176h92l123 -176
+h-57z" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="500" 
+d="M251 473c129 0 225 -104 225 -244c0 -139 -96 -243 -225 -243c-131 0 -226 103 -226 246c0 136 99 241 226 241zM252 442c-62 0 -80 -52 -80 -228c0 -146 20 -197 79 -197c58 0 78 52 78 206c0 164 -19 219 -77 219zM110 519h-42c18 86 54 125 116 125c21 0 45 -6 73 -19
+l40 -18c24 -11 28 -12 39 -12c27 0 41 13 54 49h43c-23 -87 -60 -127 -117 -127c-20 0 -45 6 -64 14l-29 13c-43 19 -51 22 -64 22c-26 0 -45 -19 -49 -47z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="500" 
+d="M251 473c129 0 225 -104 225 -244c0 -139 -96 -243 -225 -243c-131 0 -226 103 -226 246c0 136 99 241 226 241zM252 442c-62 0 -80 -52 -80 -228c0 -146 20 -197 79 -197c58 0 78 52 78 206c0 164 -19 219 -77 219zM145 639c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63
+c-35 0 -64 30 -64 65c0 34 30 64 64 64zM354 639c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="676" 
+d="M421 495c0 -42 -35 -75 -76 -75s-75 34 -75 75s34 75 75 75s76 -33 76 -75zM614 209h-552v96h552v-96zM421 19c0 -42 -35 -75 -76 -75s-75 34 -75 75s34 75 75 75s76 -33 76 -75z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="500" 
+d="M461 549l-73 -123c61 -55 88 -115 88 -197c0 -140 -96 -243 -225 -243c-40 0 -71 8 -107 27l-63 -105h-47l76 128c-60 56 -85 114 -85 193c0 140 97 244 227 244c38 0 68 -7 103 -25l60 101h46zM173 140l143 242c-13 43 -31 60 -64 60c-62 0 -80 -52 -80 -232
+c0 -28 0 -50 1 -70zM327 324l-144 -244c13 -45 33 -63 68 -63c58 0 78 53 78 202c0 28 -1 58 -2 105z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="556" 
+d="M343 -13v65c-58 -50 -93 -66 -145 -66c-83 0 -133 52 -133 140v252c0 42 -8 51 -49 59v24h188v-339c0 -51 15 -71 56 -71c28 0 49 11 82 44v283c0 43 -12 55 -62 59v24h201v-360c0 -43 12 -56 56 -58v-23l-62 -7c-65 -7 -89 -11 -132 -26zM358 528h-56l-142 88
+c-29 18 -40 32 -40 52c0 25 21 45 47 45c19 0 38 -10 54 -28z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="556" 
+d="M343 -13v65c-58 -50 -93 -66 -145 -66c-83 0 -133 52 -133 140v252c0 42 -8 51 -49 59v24h188v-339c0 -51 15 -71 56 -71c28 0 49 11 82 44v283c0 43 -12 55 -62 59v24h201v-360c0 -43 12 -56 56 -58v-23l-62 -7c-65 -7 -89 -11 -132 -26zM184 528l137 157
+c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="556" 
+d="M343 -13v65c-58 -50 -93 -66 -145 -66c-83 0 -133 52 -133 140v252c0 42 -8 51 -49 59v24h188v-339c0 -51 15 -71 56 -71c28 0 49 11 82 44v283c0 43 -12 55 -62 59v24h201v-360c0 -43 12 -56 56 -58v-23l-62 -7c-65 -7 -89 -11 -132 -26zM386 528l-112 98l-112 -98h-56
+l122 176h92l123 -176h-57z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="556" 
+d="M343 -13v65c-58 -50 -93 -66 -145 -66c-83 0 -133 52 -133 140v252c0 42 -8 51 -49 59v24h188v-339c0 -51 15 -71 56 -71c28 0 49 11 82 44v283c0 43 -12 55 -62 59v24h201v-360c0 -43 12 -56 56 -58v-23l-62 -7c-65 -7 -89 -11 -132 -26zM159 639c35 0 65 -30 65 -66
+c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64zM368 639c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="500" 
+d="M138 -111c0 -8 -3 -16 -3 -20c0 -9 8 -17 17 -17c23 0 49 32 66 82l18 53l-120 295c-17 42 -62 140 -65 140c-6 9 -12 12 -35 15v24h250v-24l-16 -1c-25 -2 -37 -11 -37 -25c0 -8 0 -8 20 -59l72 -185l68 192c9 25 11 34 11 45c0 24 -12 31 -55 33v24h151v-24
+c-31 -3 -42 -13 -58 -55l-149 -397c-38 -101 -64 -190 -160 -190c-57 0 -97 33 -97 79c0 38 27 64 64 64c34 0 58 -20 58 -49zM170 528l137 157c17 19 34 28 53 28c29 0 48 -18 48 -44c0 -23 -8 -33 -40 -53l-142 -88h-56z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="556" 
+d="M214 676v-285c29 59 64 82 124 82c111 0 186 -95 186 -234c0 -148 -80 -252 -192 -252c-44 0 -70 13 -118 60v-141c0 -67 17 -87 78 -90v-21h-273v24c48 8 56 17 56 58v717c0 40 -9 49 -55 58v24h194zM300 416c-48 0 -86 -56 -86 -70v-243c19 -41 45 -61 79 -61
+c55 0 83 61 83 183c0 131 -24 191 -76 191z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="500" 
+d="M138 -111c0 -8 -3 -16 -3 -20c0 -9 8 -17 17 -17c23 0 49 32 66 82l18 53l-120 295c-17 42 -62 140 -65 140c-6 9 -12 12 -35 15v24h250v-24l-16 -1c-25 -2 -37 -11 -37 -25c0 -8 0 -8 20 -59l72 -185l68 192c9 25 11 34 11 45c0 24 -12 31 -55 33v24h151v-24
+c-31 -3 -42 -13 -58 -55l-149 -397c-38 -101 -64 -190 -160 -190c-57 0 -97 33 -97 79c0 38 27 64 64 64c34 0 58 -20 58 -49zM160 641c35 0 65 -30 65 -66c0 -35 -29 -63 -65 -63c-35 0 -64 30 -64 65c0 34 30 64 64 64zM369 641c36 0 66 -30 66 -66c0 -35 -29 -63 -66 -63
+c-35 0 -63 29 -63 66c0 33 30 63 63 63z" />
+
+</font>
+</defs>
+<g font-family="FreeSerif" font-size="18" font-weight="700"> 
+<text x="20" y="60">&#160; !&quot;#$%&amp;&apos;()*+,-./0123456789:;&lt;&gt;?</text> 
+<text x="20" y="120">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</text> 
+<text x="20" y="180">`abcdefghijklmnopqrstuvwxyz|{}~</text> 
+</g>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/resources/FreeSerifBoldItalic.svg b/Tests/W3CTestSuite/resources/FreeSerifBoldItalic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4fe571b60295ed7545bf6bfdb56fbb7ea40b5fe6
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/FreeSerifBoldItalic.svg
@@ -0,0 +1,570 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20100204 at Mon Mar  8 20:53:15 2010
+ By Chris Lilley,,,
+Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation.
+</metadata>
+<defs>
+<font id="FreeSerifBoldItalic" horiz-adv-x="0" >
+  <font-face 
+    font-family="FreeSerif"
+    font-weight="700"
+    font-style="italic"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 2 7 3 6 5 5 9 3 4"
+    ascent="800"
+    descent="-200"
+    x-height="449"
+    cap-height="669"
+    bbox="-786.998 -300 1867 924"
+    underline-thickness="50"
+    underline-position="-100"
+    slope="-15.3"
+    stemh="27"
+    stemv="120"
+    unicode-range="U+0020-U+00FF"
+  />
+<missing-glyph horiz-adv-x="500" 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="250" />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="389" 
+d="M167 212c76 396 32 472 134 472c41 0 69 -29 69 -73c0 -71 -54 -98 -174 -407zM140 133c38 0 73 -36 73 -75s-33 -71 -74 -71s-72 30 -72 71c0 42 32 75 73 75z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="555" 
+d="M177 398h-41l16 214c3 38 40 73 78 73c26 0 46 -22 46 -49c0 -12 0 -14 -17 -52zM437 398h-41l16 214c3 38 40 73 78 73c26 0 46 -22 46 -49c0 -12 0 -14 -17 -52z" />
+    <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="500" 
+d="M449 283l-20 -73h-97l-85 -210h-78l85 210h-113l-85 -210h-78l85 210h-96l20 73h106l54 134h-96l20 73h105l87 210h77l-86 -210h113l87 210h77l-86 -210h88l-20 -73h-97l-54 -134h87zM338 417h-113l-54 -134h113z" />
+    <glyph glyph-name="dollar" unicode="$" horiz-adv-x="500" 
+d="M292 410c78 -68 140 -120 140 -209c0 -114 -101 -201 -231 -201h-23l-28 -100h-52l29 107c-63 15 -94 32 -147 79l42 142l22 -6c3 -108 23 -148 93 -180l74 261c-106 81 -132 117 -132 185c0 103 85 182 196 182c8 0 16 0 38 -2l18 65h50l-20 -72c33 -6 80 -25 118 -49
+l18 -14l-42 -133l-21 5c1 11 1 24 1 30c0 69 -24 105 -84 125zM248 436l55 199c-5 2 -9 2 -15 2c-66 0 -110 -38 -110 -95c0 -40 17 -66 70 -106zM186 32c116 0 137 74 137 125c0 47 -15 73 -70 117z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="833" 
+d="M450 128c0 105 100 248 226 248c70 0 117 -47 117 -116c0 -57 -45 -270 -210 -270c-80 0 -133 55 -133 138zM759 257c0 41 -24 68 -53 68c-78 0 -139 -192 -139 -236c0 -30 21 -53 50 -53c76 0 142 138 142 221zM263 679c78 0 69 -56 173 -56c63 0 113 20 169 69h39
+l-394 -700h-56l349 620c-43 -18 -82 -27 -119 -27c-10 0 -23 2 -43 5c-2 -179 -99 -296 -213 -296c-75 0 -129 57 -129 137c0 124 112 248 224 248zM285 631c-62 0 -131 -189 -131 -241c0 -29 20 -50 48 -50c70 0 145 123 145 237c0 41 -19 20 -45 46c-5 4 -10 8 -17 8z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="778" 
+d="M5 148c0 150 181 211 240 236c-8 45 -11 68 -11 92c0 122 75 206 185 206c80 0 138 -48 138 -114c0 -67 -58 -122 -182 -172c12 -74 45 -161 86 -227c57 72 74 101 74 129c0 22 -14 31 -56 38v25h212v-25c-62 -12 -67 -17 -205 -203c39 -51 71 -72 110 -72
+c27 0 48 11 77 40l26 -21c-61 -73 -104 -98 -170 -98c-53 0 -94 18 -139 62c-66 -45 -122 -63 -192 -63c-114 0 -193 68 -193 167zM253 343c-84 -41 -115 -83 -115 -153c0 -79 55 -138 127 -138c31 0 57 8 97 28c-56 87 -83 152 -109 263zM366 434c25 15 111 59 111 148
+c0 42 -19 67 -52 67c-45 0 -70 -42 -70 -119c0 -25 2 -42 11 -96z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="278" 
+d="M169 398h-41l16 214c3 38 40 73 78 73c26 0 46 -22 46 -49c0 -12 0 -14 -17 -52z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M344 665c-89 -82 -222 -222 -222 -555c0 -116 16 -178 71 -274l-23 -15c-101 138 -142 249 -142 386c0 287 224 424 298 478z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M128 685c83 -114 143 -228 143 -386c0 -281 -225 -426 -298 -478l-17 20c76 70 107 108 139 173c50 100 82 252 82 385c0 114 -18 181 -72 271z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="500" 
+d="M144 497c-67 0 -79 32 -79 52c0 28 24 54 49 54c54 0 61 -76 128 -115l11 -6v12c0 81 -43 91 -43 139c0 31 20 52 51 52c30 0 50 -21 50 -52c0 -46 -43 -60 -43 -139v-12l11 6c69 40 73 115 128 115c25 0 49 -26 49 -55c0 -22 -16 -51 -79 -51c-44 -1 -57 -4 -90 -23
+l-11 -6l11 -6c33 -19 44 -21 90 -23c67 0 79 -31 79 -51c0 -29 -23 -54 -50 -54c-52 0 -59 73 -127 114l-11 6v-12c0 -78 43 -91 43 -139c0 -30 -20 -51 -51 -51c-30 0 -50 21 -50 52c0 48 43 56 43 138v12l-11 -6c-72 -43 -74 -114 -127 -114c-27 0 -50 25 -50 54
+c0 20 12 51 79 51c46 2 57 4 90 23l11 6l-11 6c-33 19 -46 22 -90 23z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="570" 
+d="M241 297v209h88v-209h208v-88h-208v-209h-88v209h-208v88h208z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="250" 
+d="M58 -41c0 42 -70 37 -70 102c0 42 30 73 71 73c51 0 85 -39 85 -98c0 -81 -76 -167 -191 -218l-13 24c78 42 118 81 118 117z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M271 282l-23 -116h-246l24 116h245z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="250" 
+d="M66 135c40 0 73 -34 73 -74c0 -42 -33 -74 -75 -74c-41 0 -73 32 -73 73c0 43 32 75 75 75z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M255 685h87l-319 -703h-87z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="500" 
+d="M17 206c0 198 124 477 310 477c91 0 150 -95 150 -241c0 -188 -120 -456 -300 -456c-96 0 -160 87 -160 220zM325 654c-37 0 -65 -40 -102 -144c-47 -130 -103 -365 -103 -429c0 -40 20 -66 50 -66c41 0 70 38 103 134c26 75 101 361 101 433c0 45 -18 72 -49 72z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="500" 
+d="M5 0v23c72 0 104 19 119 74l128 459c2 9 4 18 4 24c0 22 -15 33 -46 33c-19 0 -36 -1 -63 -5l2 23c116 17 179 30 270 52l-154 -560c-11 -40 -12 -45 -12 -54c0 -37 18 -45 97 -46v-23h-345z" />
+    <glyph glyph-name="two" unicode="2" horiz-adv-x="500" 
+d="M64 519c25 48 87 164 217 164c93 0 165 -74 165 -168c0 -75 -50 -157 -144 -237l-196 -167h149c78 0 101 14 139 80h25l-79 -191h-367v24l90 90c188 187 249 278 249 369c0 69 -35 110 -93 110c-52 0 -93 -27 -133 -86z" />
+    <glyph glyph-name="three" unicode="3" horiz-adv-x="500" 
+d="M285 189c0 63 -22 152 -157 158l4 22c129 27 189 76 189 153c0 55 -34 90 -87 90c-47 0 -75 -18 -116 -75l-21 13c62 93 123 133 204 133c85 0 149 -58 149 -136c0 -60 -36 -109 -107 -144l-12 -6c57 -43 77 -81 77 -147c0 -146 -129 -263 -290 -263
+c-82 0 -133 31 -133 80c0 34 24 56 60 56c74 0 57 -96 130 -96c61 0 110 73 110 162z" />
+    <glyph glyph-name="four" unicode="4" horiz-adv-x="500" 
+d="M453 248l-27 -98h-68l-42 -150h-128l41 150h-244l28 105l427 428h63l-119 -435h69zM53 248h203l79 280z" />
+    <glyph glyph-name="five" unicode="5" horiz-adv-x="500" 
+d="M307 189c0 71 -41 174 -234 183l131 297h283l-36 -109h-254l-34 -76c92 -19 119 -28 153 -51c62 -40 96 -105 96 -183c0 -148 -128 -263 -292 -263c-79 0 -131 32 -131 79c0 33 25 57 59 57c71 0 68 -96 125 -96c70 0 134 77 134 162z" />
+    <glyph glyph-name="six" unicode="6" horiz-adv-x="500" 
+d="M503 679l6 -24c-135 -51 -217 -125 -278 -246c30 10 42 13 62 13c93 0 150 -65 150 -171c0 -148 -109 -266 -246 -266c-109 0 -174 79 -174 210c0 141 75 280 201 374c81 59 145 84 279 110zM251 382c-32 0 -41 -9 -62 -62c-33 -82 -54 -172 -54 -225s18 -78 55 -78
+c25 0 48 15 61 39c33 63 68 197 68 259c0 46 -21 67 -68 67z" />
+    <glyph glyph-name="seven" unicode="7" horiz-adv-x="500" 
+d="M83 479h-26l87 190h381l-381 -669h-92l332 556h-133c-104 0 -131 -12 -168 -77z" />
+    <glyph glyph-name="eight" unicode="8" horiz-adv-x="500" 
+d="M300 683c91 0 176 -54 176 -143c0 -71 -40 -115 -143 -159v-5c61 -67 86 -119 86 -183c0 -119 -94 -206 -222 -206c-115 0 -194 67 -194 166c0 85 56 143 180 187v5c-56 59 -74 96 -74 154c0 106 81 184 191 184zM209 321c-32 -22 -109 -72 -109 -180
+c0 -77 38 -124 99 -124c62 0 107 55 107 130c0 52 -11 72 -97 174zM310 403c57 60 73 90 73 141c0 64 -32 106 -81 106c-48 0 -82 -41 -82 -97c0 -49 21 -85 90 -150z" />
+    <glyph glyph-name="nine" unicode="9" horiz-adv-x="500" 
+d="M299 683c141 0 176 -125 176 -207c0 -142 -77 -285 -202 -377c-80 -59 -144 -84 -279 -109l-6 25c122 37 216 120 277 244c-24 -11 -39 -14 -61 -14c-90 0 -151 67 -151 167c0 152 108 271 246 271zM314 651c-86 0 -137 -196 -137 -299c0 -41 23 -64 66 -64
+c42 0 50 10 77 89c12 36 43 117 43 205c0 46 -16 69 -49 69z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="333" 
+d="M98 135c40 0 73 -34 73 -74c0 -42 -33 -74 -75 -74c-41 0 -73 32 -73 74s33 74 75 74zM191 459c40 0 73 -34 73 -74c0 -42 -33 -74 -75 -74c-41 0 -73 32 -73 74s33 74 75 74z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="333" 
+d="M93 -42c0 42 -70 37 -70 102c0 42 30 73 71 73c51 0 85 -39 85 -98c0 -81 -75 -167 -191 -218l-13 24c78 42 118 81 118 117zM191 459c40 0 73 -34 73 -74c0 -42 -33 -74 -75 -74c-41 0 -73 32 -73 74s33 74 75 74z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="570" 
+d="M539 -12l-508 223v84l508 223v-96l-385 -169l385 -169v-96z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="570" 
+d="M537 399v-88h-504v88h504zM537 195v-88h-504v88h504z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="570" 
+d="M31 -12v96l385 169l-385 169v96l508 -223v-84z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="500" 
+d="M212 615c0 -14 29 -36 29 -68s-27 -59 -61 -59s-61 29 -61 67c0 75 74 129 175 129c105 0 176 -58 176 -145c0 -62 -37 -112 -126 -170l-66 -43c-38 -25 -54 -48 -82 -118l-29 7c4 55 25 101 71 159l41 51c44 55 64 101 64 148c0 49 -27 80 -69 80c-32 0 -62 -19 -62 -38
+zM154 135c40 0 73 -34 73 -74c0 -42 -33 -74 -75 -74c-41 0 -73 32 -73 74s33 74 75 74z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="832" 
+d="M272 257c0 55 43 258 201 258c36 0 50 -10 72 -52l11 38h71l-65 -257c-2 -6 -2 -11 -2 -20c0 -29 14 -45 37 -45c76 0 127 119 127 200c0 146 -130 267 -287 267c-165 0 -283 -135 -283 -324c0 -171 123 -294 295 -294c69 0 120 12 198 48l13 -35
+c-97 -45 -149 -59 -221 -59c-211 0 -376 152 -376 346c0 199 165 357 373 357c188 0 334 -130 334 -298c0 -132 -87 -245 -187 -245c-49 0 -91 34 -93 75c-35 -46 -82 -74 -125 -74c-52 0 -93 50 -93 114zM528 409c0 46 -25 58 -46 58c-50 0 -134 -77 -134 -192
+c0 -52 23 -85 59 -85c69 0 121 139 121 219z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="667" 
+d="M368 84c0 26 -8 67 -15 124h-215l-59 -102c-10 -17 -15 -33 -15 -46c0 -24 19 -35 65 -35v-25h-196v25c36 8 52 21 83 70l372 588h25l96 -572c13 -76 18 -81 84 -86v-25h-304v25c64 6 79 17 79 59zM161 248h185l-37 243z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="667" 
+d="M189 603c0 33 -27 38 -73 41v25h272c155 0 236 -50 236 -146c0 -126 -139 -156 -189 -168c101 -33 137 -71 137 -149c0 -128 -112 -206 -295 -206h-301v25c48 6 66 20 80 72l122 449c7 25 11 47 11 57zM255 32c100 0 164 88 164 197c0 97 -62 106 -150 109l-66 -244
+c-3 -13 -5 -22 -5 -29c0 -22 19 -33 57 -33zM277 368c120 5 200 29 200 168c0 67 -29 101 -87 101c-32 0 -42 -8 -52 -44z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="667" 
+d="M440 685c92 0 136 -29 169 -29c15 0 24 7 38 29h30l-51 -234l-32 6c2 13 3 22 3 35c0 98 -50 158 -131 158c-168 0 -280 -267 -280 -441c0 -109 56 -174 150 -174c118 0 179 81 210 118l30 -22c-32 -44 -48 -62 -78 -84c-57 -43 -123 -65 -194 -65
+c-163 0 -272 104 -272 259c0 242 185 444 408 444z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="744" 
+d="M189 602c0 33 -21 35 -73 42v25h290c189 0 301 -102 301 -273c0 -227 -190 -396 -445 -396h-286v25c49 6 66 21 80 72l121 446c8 32 12 49 12 59zM340 600l-129 -478c-7 -27 -12 -42 -12 -54c0 -23 17 -34 54 -34c95 0 166 37 219 113c54 77 88 196 88 310
+c0 122 -54 181 -165 181c-32 0 -48 -11 -55 -38z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="670" 
+d="M259 32c172 0 248 74 305 167l25 -5l-59 -194h-554v25c52 8 65 19 80 72l123 449c6 22 10 45 10 60c0 29 -25 31 -73 38v25h540l-43 -190l-27 5c0 89 -17 153 -184 153c-41 0 -53 -9 -63 -44l-61 -223h13c121 0 147 15 192 106l28 -4l-74 -273l-28 5c3 19 4 30 4 44
+c0 69 -30 88 -144 90l-56 -209c0 -6 -15 -46 -15 -63c0 -24 18 -34 61 -34z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="656" 
+d="M579 484c0 93 -24 153 -177 153c-40 0 -53 -9 -63 -44l-61 -223c131 1 151 12 198 106l28 -4l-74 -273l-28 5c3 19 4 30 4 44c0 68 -30 88 -137 90l-54 -201c-2 -6 -15 -53 -15 -68c0 -31 15 -40 71 -44v-25h-295v25c52 8 65 19 80 72l123 449c6 22 10 46 10 60
+c0 30 -23 31 -73 38v25h533l-43 -190z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="722" 
+d="M493 268c0 30 -33 32 -74 36v26h287v-26c-53 -4 -60 -12 -79 -82l-48 -181l-28 -13c-57 -26 -157 -46 -234 -46c-175 0 -296 110 -296 269c0 153 87 304 219 381c61 35 132 53 208 53c96 0 129 -30 160 -30c20 0 31 8 42 30h31l-51 -221l-29 4c-3 111 -35 181 -139 181
+c-182 0 -285 -267 -285 -441c0 -122 58 -188 164 -188c39 0 80 13 94 30c6 8 58 172 58 218z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="778" 
+d="M574 607c0 28 -20 29 -73 37v25h298v-25c-51 -7 -65 -19 -81 -72l-115 -419c-14 -50 -19 -73 -19 -87c0 -29 18 -39 73 -41v-25h-317v25c67 4 86 18 101 72l64 232h-239l-50 -181c-4 -22 -17 -54 -17 -80c0 -32 10 -38 73 -43v-25h-296v25c50 7 66 19 80 72l122 449
+c7 26 11 47 11 58c0 30 -21 33 -73 40v25h317v-25c-65 -2 -86 -17 -101 -72l-54 -199h239l47 173c5 18 10 49 10 61z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="393" 
+d="M189 607c0 28 -20 29 -73 37v25h298v-25c-51 -6 -68 -19 -82 -72l-114 -420c-13 -49 -18 -72 -18 -87c0 -28 15 -37 72 -40v-25h-296v25c49 6 66 20 80 72l123 449c5 18 10 49 10 61z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="500" 
+d="M300 607c0 22 -14 29 -73 37v25h297v-25c-49 -6 -67 -18 -81 -72l-128 -479c-35 -131 -101 -192 -209 -192c-88 0 -152 43 -152 101c0 39 28 70 64 70c35 0 63 -28 63 -63c0 -32 -23 -33 -23 -54c0 -12 9 -18 27 -18c36 0 51 28 90 177l114 432c7 26 11 49 11 61z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="664" 
+d="M189 604c0 30 -21 33 -73 40v25h310v-25c-59 -5 -80 -20 -94 -72l-62 -228c206 176 274 244 274 273c0 15 -10 22 -35 25c-3 0 -12 1 -21 2v25h211v-25c-43 -6 -51 -9 -94 -48l-216 -198l157 -338c11 -24 25 -31 63 -35v-25h-280v25c38 3 65 5 65 27c0 11 -4 23 -13 43
+l-113 242l-67 -249c-1 -5 -2 -11 -2 -17c0 -33 14 -42 66 -46v-25h-289v25c49 6 65.626 19.0996 80 72l122 449c7 26 11 47 11 58z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="609" 
+d="M189 607c0 28 -20 29 -73 37v25h317v-25c-66 -4 -86 -17 -101 -72l-129 -478c-3 -11 -5 -24 -5 -32c0 -21 20 -30 64 -30c82 0 153 20 207 58c39 28 61 53 95 109l24 -5l-59 -194h-553v25c49 7 66 20 80 72l123 449c5 18 10 49 10 61z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="896" 
+d="M917 669v-25c-51 -6 -67 -20 -81 -72l-125 -459c-5.90039 -21.6631 -8 -35 -8 -45c0 -32 14 -40 72 -43v-25h-312v25c65 4 85 18 100 72l125 464l-375 -573h-28l-67 559l-101 -369c-13 -48 -19 -76 -19 -92c0 -41 16 -53 80 -61v-25h-207v25c54 12 63 22 101 153l109 373
+c7 25 11 45 11 58c0 28 -9 32 -72 35v25h221l54 -480l310 480h212z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="722" 
+d="M304 669l215 -465l80 287c11 40 18 76 18 94c0 38 -21 54 -80 59v25h209v-25c-58 -13 -65 -21 -102 -153l-143 -506h-28l-257 549l-99 -356c-11 -41 -18 -76 -18 -94c0 -39 21 -54 80 -59v-25h-208v25c55 11 63 22 101 153l120 411c-19 44 -28 50 -83 55v25h195z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="722" 
+d="M27 221c0 191 177 464 422 464c139 0 242 -98 242 -231c0 -204 -171 -472 -428 -472c-141 0 -236 96 -236 239zM445 651c-64 0 -117 -41 -168 -131c-55 -96 -106 -281 -106 -383c0 -74 39 -121 102 -121c54 0 99 30 145 97c67 98 129 298 129 418c0 72 -41 120 -102 120z
+" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="614" 
+d="M189 606c0 30 -23 31 -73 38v25h287c139 0 213 -54 213 -155c0 -120 -107 -197 -273 -197c-26 0 -45 1 -81 5l-54 -199c-4.47852 -16.5059 -10 -49 -10 -59c0 -27 16 -36 72 -39v-25h-294v25c52 8 65.2168 18.0361 80 72l123 449c6 22 10 46 10 60zM386 637
+c-42 0 -44 -24 -50 -44l-64 -239c17 -1 28 -2 42 -2c70 0 107 23 133 82c14 31 23 77 23 112c0 58 -31 91 -84 91z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="722" 
+d="M396 -208c-100 0 -162 47 -240 47c-32 0 -59 -7 -114 -28l-14 24l156 130c18 16 13 10 19 19c-13 17 -55 11 -106 60c-45 42 -70 102 -70 167c0 243 206 474 422 474c140 0 242 -98 242 -233c0 -133 -67 -273 -177 -372c-77 -69 -132 -89 -262 -97
+c-21 -20 -46 -45 -46 -47c0 -10 88 -6 148 -26l42 -13c36 -11 57 -15 83 -15c60 0 97 19 155 78l21 -19c-81 -109 -150 -149 -259 -149zM445 651c-64 0 -117 -41 -168 -131c-55 -97 -106 -281 -106 -384c0 -73 39 -119 102 -119c54 0 99 30 145 97c67 98 129 297 129 417
+c0 72 -41 120 -102 120z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="672" 
+d="M189 607c0 28 -20 29 -73 37v25h276c158 0 236 -47 236 -143c0 -41 -16 -148 -192 -183l83 -246c20.3184 -60.2178 32 -67 88 -72v-25h-202l-107 331h-29l-55 -193c-9 -31 -14 -57 -14 -71c0 -30 14 -38 72 -42v-25h-296v25c49 6 66 20 80 72l123 449c5 17 10 49 10 61z
+M338 593l-60 -230c62 1 101 8 127 25c43 27 72 88 72 154c0 60 -33 95 -90 95c-31 0 -40 -8 -49 -44z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="556" 
+d="M239 -18c-85 0 -135 35 -169 35c-19 0 -26 -6 -38 -35h-30l36 224l29 -2c5 -81 31 -188 154 -188c77 0 126 57 126 126c0 127 -245 186 -245 349c0 110 87 194 201 194c61 0 119 -30 149 -30c21 0 35 8 44 26h30l-40 -201l-27 4c-13 117 -52 166 -132 166
+c-64 0 -104 -41 -104 -105c0 -45 15 -67 77 -114c122 -93 168 -160 168 -246c0 -124 -89 -203 -229 -203z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="611" 
+d="M650 669l-36 -192l-27 2c-5 111 -44 154 -138 155l-140 -506c-7 -26 -11 -47 -11 -62c0 -32 13 -38 83 -41v-25h-331v25h14c51 0 77 21 91 72l148 537c-102 -2 -165 -43 -217 -143l-25 7l38 171h551z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M744 669v-25c-55 -11 -64 -21 -102 -153l-66 -228c-23 -80 -57 -281 -286 -281c-131 0 -223 68 -223 166c0 33 11 95 33 175l56 206c9 33 15 64 15 76c0 22 -10 30 -42 35c-4 0 -17 2 -31 4v25h311v-25c-62 -3 -78 -15 -94 -72l-82 -300c-25 -91 -28 -106 -28 -133
+c0 -63 46 -101 122 -101c55 0 99 20 133 60c30 37 52 87 79 184l58 209c11 41 19 80 19 97c0 35 -23 51 -80 56v25h208z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="667" 
+d="M715 669v-25c-28 -9 -47 -21 -59 -40l-393 -622h-32l-76 509c-22 143 -28 153 -90 153v25h298v-25c-67 -6 -76 -11 -76 -45c0 -6 0 -10 1 -16l51 -401l190 302c39 61 59 105 59 127c0 19 -12 28 -40 31c-4 0 -14 1 -25 2v25h192z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="889" 
+d="M940 669v-24c-42 -6 -57 -17 -84 -73l-286 -590h-29l-59 489l-233 -489h-29l-78 579c-10 71 -12 73 -77 84v24h277v-25c-47 -6 -61 -17 -61 -53c0 -4 0 -11 1 -16l39 -349l150 311c-1 86 -11 100 -71 108v24h269v-25c-53 -5 -63 -14 -63 -58c0 -11 0 -14 6 -65l33 -295
+l156 327c12 26 15 34 15 46c0 36 -7 41 -63 45v25h187z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="667" 
+d="M586 25v-25h-308v25c54 5 68 13 68 38c0 40 -44 155 -57 201l-134 -148c-22 -24 -30 -38 -30 -51c0 -23 20 -36 65 -40v-25h-214v25c42 8 73 36 231 210l68 74l-84 272c-14.3711 46.5352 -31 57 -91 63v25h305v-25c-14 -2 -25 -3 -30 -3c-33 -4 -44 -13 -44 -36
+c0 -27 39 -145 40 -147l11 -37l94 99c51 54 70 80 70 98c0 15 -10 22 -33 24c-4 0 -12 1 -22 2v25h203v-25c-36 -5 -56 -16 -99 -61l-199 -205l74 -237c29 -94 44 -108 116 -116z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="611" 
+d="M234 313l-88 268c-17.5645 53.4932 -22 56 -73 63v25h283v-25c-55 -1 -70 -9 -70 -37c0 -29 16 -65 77 -255l129 186c20 29 26 42 26 60c0 35 -14 44 -67 46v25h208v-25c-38 -8 -58 -22 -91 -69l-190 -267l-52 -191c-6 -23 -8 -33 -8 -45c0 -37 12 -44 77 -47v-25h-322
+v25c69 5 84.9678 14.2861 101 72z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="611" 
+d="M226 35c162 0 232 53 301 164l27 -5l-59 -194h-506v29l434 605h-78c-110 0 -173 -37 -252 -147l-28 4l57 178h468v-29l-434 -605h70z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="333" 
+d="M355 639l-69 -0.000976562c-36 0 -38 -3 -52 -63l-158 -676c-0.338867 -1.12891 -0.511719 -2.30957 -0.511719 -3.51465c0 -9.46875 10.6738 -20.4844 35.5117 -20.4844h78l-7 -35h-219l199 833h200z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M-1 685h85l195 -703h-84z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="333" 
+d="M-49 -122h68c36 0 38 3 52 61l158 677v3c0 11 -15 20 -35 20h-78l7 35h220l-200 -831h-199z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="570" 
+d="M156 304h-89l178 365h80l178 -365h-89l-129 272z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="500" 
+d="M500 -125h-500v50h500v-50z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M297 516h-45l-133 89c-22 15 -34 32 -34 47c0 24 21 45 45 45c19 0 40 -13 56 -34z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="500" 
+d="M303 373c0 29 -18 47 -39 47c-63 0 -162 -206 -162 -308c0 -31 19 -54 45 -54c88 0 156 247 156 315zM434 127l21 -15c-57 -87 -104 -126 -151 -126c-37 0 -67 29 -67 66c0 14 3 28 14 67c-57 -95 -103 -132 -164 -132c-65 0 -108 51 -108 127c0 156 150 348 273 348
+c43 0 65 -21 74 -72l18 59l111 7l-71 -236c-24 -81 -34 -123 -34 -148c0 -9 5 -15 12 -15c16 0 31 15 72 70z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="500" 
+d="M76 642v27c89 10 138 17 208 30l-90 -328c51 67 87 91 138 91c66 0 112 -51 112 -124c0 -179 -157 -351 -320 -351c-65 0 -138 32 -138 60c0 5 11 49 20 81l94 327c26 91 39 144 39 157c0 23 -14 30 -63 30zM140 20c97 0 179 194 179 305c0 46 -15 69 -44 69
+c-98 0 -166 -308 -166 -347c0 -15 13 -27 31 -27z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="444" 
+d="M271 429c-99 0 -148 -229 -148 -288c0 -54 30 -90 73 -90s74 23 122 90l28 -18c-28 -40 -87 -136 -198 -136c-90 0 -153 62 -153 151c0 160 144 324 285 324c66 0 112 -37 112 -90c0 -41 -26 -70 -62 -70c-33 0 -58 22 -58 52c0 26 21 46 21 58c0 10 -10 17 -22 17z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="500" 
+d="M427 131l22 -16c-55 -88 -100 -126 -149 -126c-38 0 -60 23 -60 62c0 15 3 30 11 67c-57 -95 -103 -131 -166 -131c-61 0 -106 53 -106 125c0 157 150 350 272 350c29 0 48 -9 72 -33l19 68c20.3076 72.6787 28 109 28 118c0 18 -15 28 -41 28h-21v27
+c100 8 149 15 209 29l-111 -405c-35 -127 -57 -214 -57 -223c0 -6 6 -12 11 -12c15 0 40 27 67 72zM308 370c0 29 -15 50 -40 50c-85 0 -165 -233 -165 -303c0 -33 17 -58 41 -58c87 0 164 260 164 311z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="444" 
+d="M317 142l29 -17c-60 -99 -114 -138 -190 -138c-87 0 -151 63 -151 147c0 165 144 328 288 328c61 0 105 -36 105 -87c0 -43 -30 -149 -257 -193c-4 -20 -6 -33 -6 -49c0 -54 22 -82 65 -82c42 0 70 22 117 91zM148 214c77 28 158 71 158 181c0 22 -9 34 -28 34
+c-48 0 -94 -77 -130 -215z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="333" 
+d="M346 614c0 22 16 34 16 42s-7 13 -17 13c-35 0 -66 -50 -91 -149l-18 -71h92l-9 -42h-90c-78 -364 -120 -612 -299 -612c-60 0 -99 31 -99 79c0 29 24 54 52 54c25 0 49 -24 49 -48c0 -25 -16 -34 -16 -43c0 -6 8 -11 18 -11c62 0 64 79 178 581h-73l9 42h73
+c36 125 90 249 226 249c60 0 99 -31 99 -80c0 -31 -21 -53 -51 -53c-27 0 -49 22 -49 49z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="500" 
+d="M-52 -97c0 81 102 97 133 104c-44 15 -62 35 -62 66c0 37 15 51 96 97c-54 23 -80 59 -80 110c0 101 99 182 222 182c46 0 77 -9 110 -33h111v-56h-67c5 -16 6 -26 6 -42c0 -149 -168 -178 -216 -178c-31 0 -34 8 -51 8c-13 0 -28 -20 -28 -36c0 -15 19 -29 51 -38
+l53 -15c109 -31 149 -65 149 -125c0 -88 -99 -150 -239 -150c-115 0 -188 41 -188 106zM114 -6c-12 0 -79 -36 -79 -85c0 -46 46 -78 111 -78c76 0 120 26 120 69c0 26 -13 44 -41 57c-21 10 -102 37 -111 37zM194 184c66 0 106 125 106 188c0 34 -19 59 -45 59
+c-65 0 -104 -126 -104 -188c0 -38 15 -59 43 -59z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="556" 
+d="M187 283c67 96 127 179 212 179c47 0 76 -28 76 -75c0 -19 -10.1123 -60.9639 -30 -122l-58 -178c-3 -9 -3 -10 -3 -12c0 -7 10 -16 17 -16c13 0 32 21 75 83l22 -15c-66 -103 -106 -136 -167 -136c-39 0 -66 24 -66 58c0 54 25 123 72 264c7 20 11 31 11 33
+c3 9 5 17 5 23c0 11 -10 21 -22 21c-26 0 -59 -29 -101 -89c-50 -73 -71 -123 -122 -301h-121l154 567c5 19 8 34 8 43c0 22 -14 33 -41 33c-5 0 -14 0 -22 -1v27c81 7 131 15 208 30z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="278" 
+d="M216 141l22 -14c-70 -105 -107 -136 -167 -136c-41 0 -69 26 -69 63c0 13 5 41 13 69l58 215c4 17 7 32 7 40c0 21 -16 29 -59 29v27c78 6 148 16 202 28l-91 -334c-3 -12 -9 -46 -9 -52c0 -8 7 -15 15 -15c15 0 38 21 64 60zM194 685c37 0 69 -31 69 -68
+s-31 -67 -69 -67c-37 0 -66 30 -66 69c0 35 31 66 66 66z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="278" 
+d="M-91 -126c0 -22 -15 -29 -15 -38c0 -5 13 -12 24 -12c28 0 45 31 71 131l92 355c7 29 12 54 12 66c0 26 -12 31 -62 31v27c112 10 149 15 208 28l-114 -438c-40 -155 -109 -231 -209 -231c-62 0 -105 31 -105 77c0 29 23 53 49 53c27 0 49 -22 49 -49zM210 685
+c38 0 69 -31 69 -68s-31 -67 -69 -67c-37 0 -66 30 -66 69c0 35 31 66 66 66z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="500" 
+d="M149 188l-50 -188h-122l156 567c5 19 8 33 8 42c0 23 -14 34 -42 34c-4 0 -13 0 -21 -1v27c79 8 131 16 208 30l-123 -460c126 99 164 136 164 162c0 16 -12 21 -51 23v25h207v-25c-46 -6 -67 -18 -135 -76l-63 -55c38 -195 50 -230 78 -230c19 0 35 17 62 64l22 -11
+c-50 -91 -86 -124 -136 -124c-62 0 -92 53 -123 223z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="278" 
+d="M216 141l22 -14c-69 -105 -107 -136 -169 -136c-40 0 -67 24 -67 60c0 24 13 82 34 158l74 264c20 67 34 129 34 142c0 18 -15 28 -42 28c-4 0 -10 0 -21 -1v27c75 7 123 13 209 30l-145 -523c-14 -52 -22 -86 -22 -100c0 -8 7 -15 15 -15c17 0 38 21 78 80z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="778" 
+d="M631 59c14 0 36.999 25 68.999 76l22 -13c-58 -98 -98 -131 -160 -131c-43 0 -67 22 -67 63c0 28 14 90 36 153l45 131c4 13 7 24 7 30c0 11 -11 21 -23 21c-30 0 -70 -42 -112 -116c-36 -63 -42 -81 -101 -273h-120l65 207c33 102 45 144 45 159c0 13 -9 23 -19 23
+c-13 0 -42 -21 -64 -46c-56 -67 -94 -153 -147 -343h-121l67 238c27 95 35 129 35 143c0 18 -14 26 -46 26h-8v27c115 9 136 12 200 27l-64 -199c63 98 130 200 218 200c42 0 67 -26 67 -68c0 -28 -7 -54 -26 -104c84 132 130 172 198 172c44 0 77 -31 77 -71
+c0 -26 -8 -64 -23 -107l-45 -133c-19.8506 -58.668 -21.0205 -65.9668 -21.0205 -74.4219c0 -1.12988 0.0214844 -2.28125 0.0214844 -3.57812c0 -7 7 -14 16 -14z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="556" 
+d="M178 263c90 133 137 199 223 199c47 0 73 -27 73 -75c0 -24 -11 -69 -26 -115l-36 -109c-18 -54 -25 -77 -25 -87s6 -17 14 -17c17 0 30 14 70 76l22 -13c-58 -97 -100 -131 -159 -131c-42 0 -68 23 -68 60c0 26 12 83 28 131l55 166c3 10 5 18 5 21c0 10 -13 21 -25 21
+c-18 0 -49 -22 -69 -49c-62 -81 -98 -168 -145 -341h-121l56 204c34 120 46 167 46 178c0 19 -12 24 -54 25v27c56 2 136 13 200 27z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="500" 
+d="M284 462c91 0 157 -63 157 -151c0 -169 -136 -324 -285 -324c-92 0 -159 63 -159 148c0 168 140 327 287 327zM165 16c106 0 157 293 157 359c0 36 -18 58 -47 58c-94 0 -159 -233 -159 -355c0 -38 19 -62 49 -62z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="500" 
+d="M23 407v27c52 6 91 12 193 28l-38 -115c59 83 103 115 160 115c66 0 108 -47 108 -121c0 -173 -142 -354 -277 -354c-21 0 -33 4 -68 22l-12 -41c-18 -68 -25 -101 -25 -113c0 -24 16 -32 65 -33v-27h-249v27h6c41 0 53 13 69 74l100 388c13 49 22 89 22 98
+c0 19 -9 23 -54 25zM321 340c0 31 -17 51 -42 51c-81 0 -119 -156 -131 -196c-27 -91 -35 -121 -35 -137c0 -20 17 -36 39 -36c102 0 169 254 169 318z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="500" 
+d="M276 462c58 0 65 -38 71 -72l15 59h109c-42 -155 -61 -226 -85 -304c-42 -140 -80 -279 -80 -295c0 -20 15 -28 51 -28h14v-27h-267v27c62 3 75 11 90 63l63 213c-52 -82 -92 -111 -152 -111c-64 0 -104 50 -104 130c0 147 141 345 275 345zM325 371c0 37 -22 48 -38 48
+c-69 0 -161 -200 -161 -303c0 -38 13 -57 39 -57c95 0 160 252 160 312z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="389" 
+d="M330 323c-34 0 -48 38 -60 38c-27 0 -82 -83 -137 -257c-4 -15 -18 -58 -33 -104h-121c68 229 102 357 102 382c0 19 -9 23 -54 25v27c121 10 140 13 200 28l-66 -209c79 158 120 209 171 209c34 0 57 -26 57 -66c0 -42 -25 -73 -59 -73z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="389" 
+d="M181 462c39 0 72 -22 94 -22c15 0 18 2 29 21h29l-23 -153l-27 2c-16 83 -42 119 -88 119c-32 0 -53 -21 -53 -53c0 -63 137 -152 137 -257c0 -75 -64 -132 -148 -132c-45 0 -74 20 -94 20c-13 0 -25 -8 -29 -20h-27l22 166l27 -3c5 -32 19 -133 96 -133
+c32 0 57 24 57 54c0 73 -136 150 -136 265c0 76 53 126 134 126z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="278" 
+d="M281 449v-42h-83l-33 -118c-34.2588 -122.5 -54 -195 -54 -213c0 -7 8 -15 16 -15c16 0 42 27 76 80l22 -14c-66 -103 -106 -136 -166 -136c-42 0 -70 26 -70 65c0 17 9 62 24 113l68 238h-51v35c79 30 129 71 183 152h35l-39 -145h72z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="556" 
+d="M471 133l21 -13c-52 -89 -101 -129 -161 -129c-44 0 -65 20 -65 60c0 28 6 55 24 110c-103 -144 -133 -170 -200 -170c-49 0 -75 25 -75 74c0 24 7 60 21 108l40 133c9 29 14 57 14 73c0 20 -10 25 -56 28v27c79 3 180 23 209 28l-94 -308c-13 -43 -15 -51 -15 -66
+c0 -17 7 -25 21 -25c20 0 42 17 73 55c57 72 86 138 142 331h118l-78 -268c-23.292 -80.0293 -25.0557 -92.6445 -25.0557 -100.738c0 -1.44531 0.0556641 -2.74609 0.0556641 -4.26172c0 -9 6 -17 14 -17c17 0 37 21 72 74z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="444" 
+d="M90 164c0 243 -31 243 -74 243v27c83 12 106 16 155 28c21 -80 27 -138 31 -334c99 112 126 153 126 188c0 25 -44 51 -44 88c0 30 27 58 56 58c31 0 61 -32 61 -67c0 -87 -77 -205 -290 -408h-26l4 136c1 21 1 37 1 41z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="667" 
+d="M538 311c0 28 -41.001 56.001 -41.001 91.001c0 32 26 60 56 60c32 0 61 -29 61 -62c0 -84 -87 -217 -272 -413h-27l-23 285l-19 -35c-44 -79 -88 -156 -94 -164l-57 -86h-27c1.16504 52.4229 1.92188 62.7031 1.92188 78.5518
+c0 13.7041 -0.56543 31.5713 -1.9209 84.4473c-3 138 -17 231 -37 249c-8 7 -17 8 -42 8v27c83 14 114 19 155 28c23 -86 30 -150 33 -275l156 275h27l32 -332c89 105 119 151 119 181z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="500" 
+d="M413 348c-21 0 -44 20 -57 20c-39 0 -75 -72 -92 -95l32 -156c8 -38 18 -53 37 -53c18 0 28 9 67 59l21 -14c-61 -88 -103 -122 -151 -122c-58 0 -78 61 -97 155l-24 -39c-58 -96 -81 -116 -131 -116c-38 0 -64 24 -64 59c0 31 24 56 55 56c26 0 47 -21 61 -21
+c17 0 28 9 48 41l44 70l-30 154c-10 49 -24 67 -56 67c-9 0 -14 0 -35 -2v27l167 24c19 -28 27 -53 45 -138c80 111 111 138 158 138c30 0 58 -29 58 -62c0 -28 -26 -52 -56 -52z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="444" 
+d="M50 -125c35 0 92 70 92 121c0 56 -59 387 -98 410c-7 4 -12 5 -30 5v27c65 6 101 12 149 24c18 -47 47.0361 -158.475 66 -277l12 -75c69 133 87 175 87 205c0 38 -55 32 -55 89c0 31 27 58 57 58c33 0 62 -30 62 -64c0 -121 -235 -603 -424 -603c-35 0 -62 27 -62 60
+c0 29 24 55 50 55c40 0 73 -35 94 -35z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="389" 
+d="M34 5c-10 0 -17 -2 -52 -28l-25 22l292 354h-145c-30 0 -46 -15 -63 -61l-28 3l43 154h312v-10l-281 -335c122 -53 99 -153 154 -153c12 0 22 7 22 16c0 10 -20 25 -20 46c0 28 23 52 50 52c28 0 53 -24 53 -52c0 -51 -47 -91 -108 -91c-88 0 -158 83 -204 83z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="348" 
+d="M28 -96c0 75 61 217 61 275c0 35 -22 54 -84 70c89 19 118 44 137 116l46 179c28.2051 109.756 89 142 248 142l-3 -12c-81 -15 -118 -48 -138 -124l-45 -171c-23 -85 -53 -111 -151 -130c75 -20 92 -34 92 -76c0 -57 -59 -206 -59 -270c0 -46 22 -67 81 -78l-3 -12
+c-115 2 -182 14 -182 91z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="220" 
+d="M66 -18v703h88v-703h-88z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="348" 
+d="M279 598c0 -79 -61 -218 -61 -278c0 -35 22 -54 84 -70c-89 -20 -118 -44 -137 -116l-46 -179c-31 -109 -89 -142 -248 -142l3 12c81 15 118 48 138 124l45 171c23 85 53 111 151 130c-75 20 -92 34 -92 76c0 58 59 211 59 271c0 44 -24 66 -81 77l3 12
+c107 -2 182 -13 182 -88z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="570" 
+d="M175 331c78 0 170 -68 218 -68c23 0 43 13 68 45l55 -48c-46 -63 -77 -85 -123 -85c-86 0 -127 68 -217 68c-29 0 -45 -10 -69 -42l-53 46c33 58 71 84 121 84z" />
+    <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="250" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="389" 
+d="M221 267c-76 -396 -32 -472 -134 -472c-41 0 -69 29 -69 73c0 71 54 98 174 407zM248 346c-38 0 -73 36 -73 75s33 71 74 71s72 -30 72 -71c0 -42 -32 -75 -73 -75z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="500" 
+d="M431 576l-45 -127c36 -20 53 -45 53 -79c0 -39 -28 -68 -65 -68c-14 0 -25 4 -35 11l-92 -261c42 2 77 29 118 89l27 -18c-63 -90 -100 -120 -167 -133l-47 -133h-34l46 130c-94 6 -148 61 -148 151c0 161 143 324 285 324c9 0 16 -1 28 -3l41 117h35zM317 429
+c-93 0 -148 -219 -148 -282c0 -18 3 -67 45 -90l125 356v3c0 7 -10 13 -22 13z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="500" 
+d="M396 575c0 21 7 42 7 53c0 12 -10 21 -24 21c-29 0 -50 -27 -60 -77l-39 -202h114l-10 -60h-115c-13 -58 -38 -126 -64 -169l-11 -17c60 -23 93 -32 125 -32c48 0 68 14 90 63h25c-8 -38 -34 -167 -151 -167c-42 0 -75 16 -127 61c-27 -43 -55 -60 -98 -60
+c-53 0 -90 36 -90 86c0 52 39 87 96 87c21 0 36 -3 61 -14c7 67 9 78 19 162h-109l10 60h105c29 142 91 313 251 313c63 0 109 -39 109 -91c0 -38 -27 -68 -61 -68c-30 0 -53 22 -53 51zM113 90c-22 21 -42 30 -64 30c-31 0 -51 -20 -51 -50s23 -51 56 -51c30 0 48 22 59 71
+z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="500" 
+d="M-26 92l98 98c-26 38 -37 73 -37 120c0 46 11 83 37 122l-98 98l58 56l96 -96c40 25 76 35 122 35s82 -10 122 -35l96 96l58 -56l-98 -98c27 -43 37 -76 37 -122c0 -47 -11 -84 -37 -120l98 -98l-58 -58l-96 98c-41 -26 -78 -37 -122 -37s-81 11 -122 37l-96 -98z
+M250 443c-71 0 -127 -58 -127 -133c0 -74 56 -133 127 -133c69 0 127 60 127 131c0 75 -56 135 -127 135z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="500" 
+d="M504 342l-13 -50h-150l-21 -78h152l-14 -50h-152l-3 -11c-12 -43 -16 -66 -16 -85c0 -32 14 -40 81 -43v-25h-322v25c77 5 93 14 109 72l19 67h-141l14 50h141l22 78h-142l14 50h125l-79 239c-20 51 -27 57 -82 63v25h280v-25c-57 -2 -75 -9 -75 -32c0 -9 2 -20 6 -32
+l80 -236l135 194c20 29 26 42 26 60c0 35 -14 44 -70 46v25h200v-25c-40 -8 -60 -22 -93 -69l-166 -233h135z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="220" 
+d="M66 -18v259h88v-259h-88zM66 426v259h88v-259h-88z" />
+    <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="500" 
+d="M346 580c0 32 36 42 36 55c0 15 -28 28 -59 28c-49 0 -85 -30 -85 -73c0 -32 18 -64 68 -123l69 -81c38 -45 60 -96 60 -143c0 -66 -53 -122 -117 -122c-10 0 -18 1 -30 4l-2 -4c43 -54 59 -88 59 -130c0 -75 -72 -134 -164 -134c-82 0 -145 46 -145 105
+c0 35 25 60 58 60c32 0 56 -21 56 -50c0 -41 -35 -48 -35 -63s33 -29 67 -29c50 0 86 32 86 76c0 33 -12 53 -83 139l-66 80c-35 42 -51 81 -51 124c0 69 47 126 104 126c12 0 37 -3 49 -6l2 3c-35 39 -55 85 -55 129c0 79 64 134 155 134c79 0 136 -41 136 -98
+c0 -35 -25 -61 -58 -61c-30 0 -55 25 -55 54zM139 342c0 -46 96 -194 166 -194c31 0 59 27 59 58c0 67 -111 194 -169 194c-31 0 -56 -26 -56 -58z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M119 655c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM331 655c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="747" 
+d="M405 538c48 0 122 -16 122 -39v-71h-17c-13 60 -49 90 -110 90c-86 0 -135 -64 -135 -176c0 -114 50 -179 138 -179c58 0 94 26 123 87h18l-17 -72c-2 -10 -3 -11 -12 -14c-28 -12 -86 -24 -119 -24c-134 0 -216 74 -216 195c0 122 89 203 225 203zM374 685
+c192 0 344 -155 344 -351c0 -200 -150 -352 -349 -352c-187 0 -339 157 -339 350c0 197 152 353 344 353zM374 639c-155 0 -283 -138 -283 -306c0 -165 129 -305 279 -305c160 0 287 136 287 306c0 166 -129 305 -283 305z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="266" 
+d="M267 442c12 0 44 40 46 42l13 -9c-38 -53 -67 -76 -97 -76c-23 0 -44 18 -44 38c0 11 1 17 11 51c-37 -65 -66 -88 -110 -88c-41 0 -70 31 -70 76c0 96 98 209 180 209c26 0 40 -13 47 -45l11 36l76 4l-46 -140c-16 -47 -22 -73 -22 -89c0 -5 2 -9 5 -9zM218 630
+c0 24 -17 28 -22 28c-35 0 -102 -121 -102 -185c0 -15 11 -28 24 -28c56 0 100 145 100 185z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="500" 
+d="M195 32c-9 0 -28 28 -183 185v9l170 124c60 43 71 65 88 65c7 0 13 -6 13 -12c0 -21 -31 -62 -101 -134l-45 -49l40 -83c23 -47 33 -75 33 -90c0 -8 -7 -15 -15 -15zM380 32c-9 0 -28 28 -183 185v9l170 124c60 43 71 65 88 65c7 0 13 -6 13 -12c0 -21 -31 -62 -101 -134
+l-45 -49l40 -83c23 -47 33 -75 33 -90c0 -8 -7 -15 -15 -15z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="606" 
+d="M467 108v203h-416v88h504v-291h-88z" />
+    <glyph glyph-name="softhyphen" unicode="&#xad;" horiz-adv-x="333" 
+d="M271 282l-23 -116h-246l24 116h245z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="747" 
+d="M492 151c-32 0 -53 63 -120 166h-44v-102c0 -43 0 -43 48 -48v-16h-166v16c47 5 47 5 47 48v249c0 42 0 42 -47 47v16h183c72 0 117 -37 117 -95c0 -48 -27 -84 -81 -104l59 -82c31 -42 54 -68 74 -84v-11h-70zM328 506v-169h41c43 0 68 33 68 91c0 52 -23 78 -69 78h-40
+zM374 685c192 0 344 -155 344 -351c0 -200 -150 -352 -349 -352c-187 0 -339 157 -339 350c0 197 152 353 344 353zM374 639c-155 0 -283 -138 -283 -306c0 -165 129 -305 279 -305c160 0 287 136 287 306c0 166 -129 305 -283 305z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M393 623l-16 -70h-326l17 70h325z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="400" 
+d="M315 683c80 0 143 -63 143 -143c0 -81 -63 -143 -145 -143c-78 0 -141 64 -141 143c0 80 63 143 143 143zM315 647c-56 0 -102 -49 -102 -107s46 -107 101 -107c57 0 103 48 103 107c0 58 -47 107 -102 107z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="570" 
+d="M241 359v209h88v-209h208v-88h-208v-143h-88v143h-208v88h208zM33 0v88h504v-88h-504z" />
+    <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="300" 
+d="M108 290c144 137 218 206 218 266c0 41 -23 66 -59 66c-29 0 -50 -12 -82 -48l-18 11c36 66 83 98 144 98c60 0 108 -44 108 -99c0 -48 -26 -87 -92 -140l-125 -101h89c50 0 65 8 90 45h16l-51 -114h-238v16z" />
+    <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="300" 
+d="M150 356c47 0 40 -58 86 -58c39 0 70 40 70 92c0 58 -33 88 -100 91l2 14c82 15 121 42 121 85c0 32 -21 52 -55 52c-28 0 -47 -10 -75 -42l-14 13c40 56 80 80 133 80c56 0 99 -35 99 -81c0 -40 -16 -55 -79 -91c38 -26 52 -49 52 -88c0 -87 -86 -158 -192 -158
+c-53 0 -85 19 -85 50c0 24 16 41 37 41z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M188 516h-49l122 131c35 38 52 50 70 50c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="micro" unicode="&#xb5;" horiz-adv-x="576" 
+d="M69 -108c0 -79 -46 -99 -79 -99c-32 0 -50 22 -50 61c0 54 20 71 74 220l111 375h135l-93 -312c-4 -14 -7 -31 -7 -42c0 -16 7 -25 19 -25c42 0 117 107 151 215l51 164h135l-104 -336c-3 -10 -5 -20 -5 -27c0 -8 5 -14 12 -14c15 0 33 18 63 62l21 -16
+c-50 -68 -96 -131 -167 -131c-36 0 -63 27 -63 63c0 19 2 30 11 68c-53 -90 -84 -118 -130 -118c-24 0 -36 5 -62 24c-14 -43 -22 -89 -23 -132z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="500" 
+d="M141 258c-83 3 -145 31 -145 130c0 76 33 169 76 215c41 44 106 66 195 66h295l-6 -25c-81 -7 -84 -9 -98 -63l-169 -649c-4 -18 -16 -70 -16 -74c0 -13 14 -20 50 -24c3 0 13 -1 23 -2l-7 -25h-171l217 837h-55l-217 -837h-170l7 25c88 7 83 10 106 100zM147 283l94 361
+c-63 -16 -89 -33 -118 -80c-28 -46 -48 -116 -48 -170c0 -52 26 -92 72 -111z" />
+    <glyph glyph-name="middot" unicode="&#xb7;" horiz-adv-x="250" 
+d="M204.704 295c31.4199 0 53.4111 -22.8525 53.4111 -52.6006c0 -45.0371 -46.1934 -77.3994 -81.0439 -77.3994c-29.8486 0 -51.7002 23.1221 -51.7002 51.7744c0 37.4336 37.2598 78.2256 79.333 78.2256z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M-25 -92l66 97h44l-45 -67c10 2 16 3 26 3c52 0 90 -30 90 -72c0 -50 -53 -87 -124 -87c-36 0 -68 7 -112 25l22 33c28 -13 45 -17 67 -17c34 0 56 16 56 41c0 22 -18 36 -47 36c-10 0 -18 -1 -30 -4z" />
+    <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="272" 
+d="M264 612c0 5 -5 22 -26 22c-6 0 -17 -1 -32 -2l-11 -1l2 21c72 11 114 18 177 31l-100 -330c-4 -12 -6 -25 -6 -34c0 -22 10 -26 59 -26v-19h-224v19c78 0 72 34 101 121c24 71 60 188 60 198z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="300" 
+d="M347 592c0 -81 -76 -192 -185 -192c-61 0 -106 38 -106 89c0 100 92 196 187 196c61 0 104 -38 104 -93zM266 630c0 28 -14 35 -27 35c-65 0 -102 -160 -102 -210c0 -22 11 -35 28 -35c64 0 101 167 101 210z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="500" 
+d="M285 415c9 0 27 -28 183 -185v-9l-170 -124c-56 -40 -70 -65 -88 -65c-7 0 -13 6 -13 12c0 21 30 61 101 134l45 49l-40 83c-23 48 -33 75 -33 90c0 8 7 15 15 15zM100 415c9 0 27 -28 183 -185v-9l-170 -124c-56 -40 -70 -65 -88 -65c-7 0 -13 6 -13 12
+c0 21 30 61 101 134l45 49l-40 83c-23 48 -33 75 -33 90c0 8 7 15 15 15z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="750" 
+d="M718 149l-17 -61h-44l-28 -88h-86l27 88h-159l16 67l278 255h46l-78 -261h45zM455 149h132l52 170zM659 683l-435 -697h-58l435 697h58zM37 274v19c78 0 72 34 101 121c29 84 60 188 60 199s-12 21 -26 21c-7 0 -18 -1 -32 -2l-11 -1l2 21c72 11 114 18 177 31l-100 -330
+c-4 -12 -6 -25 -6 -34c0 -22 10 -26 59 -26v-19h-224z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="750" 
+d="M664 683l-435 -697h-58l435 697h58zM462 16c144 137 218 206 218 266c0 41 -23 66 -59 66c-29 0 -50 -12 -82 -48l-18 11c36 66 83 98 144 98c60 0 108 -44 108 -99c0 -48 -26 -87 -92 -140l-125 -101h89c50 0 65 8 90 45h16l-51 -114h-238v16zM41 274v19
+c78 0 72 34 101 121c29 84 60 188 60 199s-12 21 -26 21c-7 0 -18 -1 -32 -2l-11 -1l2 21c72 11 114 18 177 31l-100 -330c-4 -12 -6 -25 -6 -34c0 -22 10 -26 59 -26v-19h-224z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="750" 
+d="M734 149l-17 -61h-44l-28 -88h-86l27 88h-159l16 67l278 255h46l-78 -261h45zM471 149h132l52 170zM675 683l-435 -697h-58l435 697h58zM85 356c47 0 40 -58 85 -58c40 0 71 40 71 91c0 59 -32 89 -100 92l2 14c82 15 121 42 121 85c0 32 -21 52 -55 52
+c-28 0 -47 -10 -75 -42l-14 13c40 56 80 80 133 80c56 0 99 -35 99 -81c0 -39 -16 -54 -79 -91c38 -26 52 -49 52 -88c0 -87 -86 -158 -191 -158c-54 0 -86 19 -86 50c0 24 16 41 37 41z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="500" 
+d="M288 -136c0 14 -29 36 -29 68s27 59 61 59s61 -29 61 -67c0 -75 -74 -129 -175 -129c-105 0 -176 58 -176 145c0 62 37 112 126 170l66 43c38 25 54 48 82 118l29 -7c-4 -55 -25 -101 -71 -159l-41 -51c-44 -55 -64 -101 -64 -148c0 -49 27 -80 69 -80c32 0 62 19 62 38z
+M346 344c-40 0 -73 34 -73 74c0 42 33 74 75 74c41 0 73 -32 73 -74s-33 -74 -75 -74z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="667" 
+d="M368 84c0 26 -8 67 -15 124h-215l-59 -102c-10 -17 -15 -33 -15 -46c0 -24 19 -35 65 -35v-25h-196v25c36 8 52 21 83 70l372 588h25l96 -572c13 -76 18 -81 84 -86v-25h-304v25c64 6 79 17 79 59zM161 248h185l-37 243zM468 719h-45l-133 89c-22 15 -34 32 -34 47
+c0 24 21 45 45 45c19 0 40 -13 56 -34z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="667" 
+d="M368 84c0 26 -8 67 -15 124h-215l-59 -102c-10 -17 -15 -33 -15 -46c0 -24 19 -35 65 -35v-25h-196v25c36 8 52 21 83 70l372 588h25l96 -572c13 -76 18 -81 84 -86v-25h-304v25c64 6 79 17 79 59zM161 248h185l-37 243zM374 719h-49l122 131c35 38 52 50 70 50
+c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="667" 
+d="M368 84c0 26 -8 67 -15 124h-215l-59 -102c-10 -17 -15 -33 -15 -46c0 -24 19 -35 65 -35v-25h-196v25c36 8 52 21 83 70l372 588h25l96 -572c13 -76 18 -81 84 -86v-25h-304v25c64 6 79 17 79 59zM161 248h185l-37 243zM504 723l-88 95l-131 -95h-57l160 174h81l86 -174
+h-51z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="667" 
+d="M368 84c0 26 -8 67 -15 124h-215l-59 -102c-10 -17 -15 -33 -15 -46c0 -24 19 -35 65 -35v-25h-196v25c36 8 52 21 83 70l372 588h25l96 -572c13 -76 18 -81 84 -86v-25h-304v25c64 6 79 17 79 59zM161 248h185l-37 243zM388.225 844c58 0 109.072 -42 142.072 -42
+c23 0 38.3389 11 59.9277 42h41c-39.6426 -83 -82.2939 -119 -142.294 -119c-19 0 -30.3623 3 -54.2373 13l-54.1113 23c-11.9355 5 -25.2988 8 -36.2988 8c-22 0 -37.3389 -11 -57.1406 -43h-40c28.3047 72 84.082 118 141.082 118z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="667" 
+d="M368 84c0 26 -8 67 -15 124h-215l-59 -102c-10 -17 -15 -33 -15 -46c0 -24 19 -35 65 -35v-25h-196v25c36 8 52 21 83 70l372 588h25l96 -572c13 -76 18 -81 84 -86v-25h-304v25c64 6 79 17 79 59zM161 248h185l-37 243zM309 843c36 0 66 -30 66 -66
+c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM521 843c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="667" 
+d="M368 84c0 26 -8 67 -15 124h-215l-59 -102c-10 -17 -15 -33 -15 -46c0 -24 19 -35 65 -35v-25h-196v25c36 8 52 21 83 70l372 588h25l96 -572c13 -76 18 -81 84 -86v-25h-304v25c64 6 79 17 79 59zM161 248h185l-37 243zM443.93 900
+c47.1006 0 79.915 -34.9961 79.915 -79.7715c0 -60.0137 -58.2275 -119.229 -123.214 -119.229c-47.6641 0 -79.8828 33.7959 -79.8828 79.2588c0 64.834 64.2402 119.741 123.182 119.741zM433.364 855c-28.8105 0 -66.9297 -28.6738 -66.9297 -66.4678
+c0 -24.4219 17.5693 -42.5322 42.7607 -42.5322c31.0625 0 68.4756 26.3232 68.4756 64.2959c0 24.9443 -18.1533 44.7041 -44.3066 44.7041z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="944" 
+d="M543 32c169 0 226 79 281 167l26 -3l-59 -196h-527v25c52 8 63 18 78 71l46 159h-192l-114 -157c-9 -13 -15 -27 -15 -39c0 -22 16 -30 64 -34v-25h-195v25c37 7 30 5 88 77l366 472c12 16 20 33 20 44c0 18 -16 24 -81 28v23h589l-45 -190l-24 5l-2 40
+c-4 75 -58 113 -162 113c-42 0 -52 -5 -59 -32l-65 -235h19c102 0 135 20 175 106l26 -4l-73 -273l-25 5l1 11c1 7 2 15 2 36c0 65 -23 80 -133 87l-63 -241c-3 -11 -5 -22 -5 -28c0 -26 17 -37 58 -37zM225 294h173l92 333h-12z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="667" 
+d="M576 131c-33 -45 -119 -149 -272 -149c-21 0 -41 2 -63 6l-34 -50c10 2 16 3 26 3c52 0 90 -30 90 -72c0 -50 -53 -87 -124 -87c-37 0 -69 7 -112 25l22 33c28 -13 45 -17 67 -17c34 0 56 16 56 41c0 22 -18 36 -47 36c-10 0 -18 -1 -30 -4l-13 12l61 90
+c-109 36 -171 124 -171 243c0 242 185 444 408 444c92 0 136 -29 169 -29c15 0 24 7 38 29h30l-51 -234l-32 6c2 13 3 22 3 35c0 98 -50 158 -131 158c-168 0 -280 -267 -280 -441c0 -109 56 -174 150 -174c118 0 179 81 210 118z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="667" 
+d="M259 32c172 0 248 74 305 167l25 -5l-59 -194h-554v25c52 8 65 19 80 72l123 449c6 22 10 45 10 60c0 29 -25 31 -73 38v25h540l-43 -190l-27 5c0 89 -17 153 -184 153c-41 0 -53 -9 -63 -44l-61 -223h13c121 0 147 15 192 106l28 -4l-74 -273l-28 5c3 19 4 30 4 44
+c0 69 -30 88 -144 90l-56 -209c0 -6 -15 -46 -15 -63c0 -24 18 -34 61 -34zM478 719h-45l-133 89c-22 15 -34 32 -34 47c0 24 21 45 45 45c19 0 40 -13 56 -34z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="667" 
+d="M259 32c172 0 248 74 305 167l25 -5l-59 -194h-554v25c52 8 65 19 80 72l123 449c6 22 10 45 10 60c0 29 -25 31 -73 38v25h540l-43 -190l-27 5c0 89 -17 153 -184 153c-41 0 -53 -9 -63 -44l-61 -223h13c121 0 147 15 192 106l28 -4l-74 -273l-28 5c3 19 4 30 4 44
+c0 69 -30 88 -144 90l-56 -209c0 -6 -15 -46 -15 -63c0 -24 18 -34 61 -34zM377 719h-49l122 131c35 38 52 50 70 50c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="667" 
+d="M259 32c172 0 248 74 305 167l25 -5l-59 -194h-554v25c52 8 65 19 80 72l123 449c6 22 10 45 10 60c0 29 -25 31 -73 38v25h540l-43 -190l-27 5c0 89 -17 153 -184 153c-41 0 -53 -9 -63 -44l-61 -223h13c121 0 147 15 192 106l28 -4l-74 -273l-28 5c3 19 4 30 4 44
+c0 69 -30 88 -144 90l-56 -209c0 -6 -15 -46 -15 -63c0 -24 18 -34 61 -34zM536 723l-88 95l-131 -95h-57l160 174h81l86 -174h-51z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="667" 
+d="M259 32c172 0 248 74 305 167l25 -5l-59 -194h-554v25c52 8 65 19 80 72l123 449c6 22 10 45 10 60c0 29 -25 31 -73 38v25h540l-43 -190l-27 5c0 89 -17 153 -184 153c-41 0 -53 -9 -63 -44l-61 -223h13c121 0 147 15 192 106l28 -4l-74 -273l-28 5c3 19 4 30 4 44
+c0 69 -30 88 -144 90l-56 -209c0 -6 -15 -46 -15 -63c0 -24 18 -34 61 -34zM322 843c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM534 843c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="389" 
+d="M189 607c0 28 -20 29 -73 37v25h298v-25c-51 -6 -68 -19 -82 -72l-114 -420c-13 -49 -18 -72 -18 -87c0 -28 15 -37 72 -40v-25h-296v25c49 6 66 20 80 72l123 449c5 18 10 49 10 61zM366 719h-45l-133 89c-22 15 -34 32 -34 47c0 24 21 45 45 45c19 0 40 -13 56 -34z
+" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="389" 
+d="M189 607c0 28 -20 29 -73 37v25h298v-25c-51 -6 -68 -19 -82 -72l-114 -420c-13 -49 -18 -72 -18 -87c0 -28 15 -37 72 -40v-25h-296v25c49 6 66 20 80 72l123 449c5 18 10 49 10 61zM224 719h-49l122 131c35 38 52 50 70 50c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z
+" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="389" 
+d="M189 607c0 28 -20 29 -73 37v25h298v-25c-51 -6 -68 -19 -82 -72l-114 -420c-13 -49 -18 -72 -18 -87c0 -28 15 -37 72 -40v-25h-296v25c49 6 66 20 80 72l123 449c5 18 10 49 10 61zM377 723l-88 95l-131 -95h-57l160 174h81l86 -174h-51z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="389" 
+d="M189 607c0 28 -20 29 -73 37v25h298v-25c-51 -6 -68 -19 -82 -72l-114 -420c-13 -49 -18 -72 -18 -87c0 -28 15 -37 72 -40v-25h-296v25c49 6 66 20 80 72l123 449c5 18 10 49 10 61zM188 845c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64
+c0 36 29 66 64 66zM400 845c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M182 602c0 33 -21 35 -73 42v25h290c189 0 301 -102 301 -273c0 -227 -190 -396 -445 -396h-286v25c49 6 66 21 80 72l63 232h-102l12 44h102l46 170c8 31 12 49 12 59zM272 373h122l-12 -44h-122l-55 -203s-1 -2 -1 -4c-9 -26 -12 -42 -12 -54c0 -23 17 -34 54 -34
+c95 0 166 37 219 113c54 77 88 196 88 310c0 122 -54 181 -165 181c-32 0 -48 -11 -55 -38z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="722" 
+d="M304 669l215 -465l80 287c11 40 18 76 18 94c0 38 -21 54 -80 59v25h209v-25c-58 -13 -65 -21 -102 -153l-143 -506h-28l-257 549l-99 -356c-11 -41 -18 -76 -18 -94c0 -39 21 -54 80 -59v-25h-208v25c55 11 63 22 101 153l120 411c-19 44 -28 50 -83 55v25h195z
+M421.225 843c58 0 109.072 -42 142.072 -42c23 0 38.3389 11 59.9277 42h41c-39.6426 -83 -82.2939 -119 -142.294 -119c-19 0 -30.3623 3 -54.2373 13l-54.1113 23c-11.9355 5 -25.2988 8 -36.2988 8c-22 0 -37.3389 -11 -57.1406 -43h-40
+c28.3047 72 84.082 118 141.082 118z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="722" 
+d="M27 221c0 191 177 464 422 464c139 0 242 -98 242 -231c0 -204 -171 -472 -428 -472c-141 0 -236 96 -236 239zM445 651c-64 0 -117 -41 -168 -131c-55 -96 -106 -281 -106 -383c0 -74 39 -121 102 -121c54 0 99 30 145 97c67 98 129 298 129 418c0 72 -41 120 -102 120z
+M542 719h-45l-133 89c-22 15 -34 32 -34 47c0 24 21 45 45 45c19 0 40 -13 56 -34z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="722" 
+d="M27 221c0 191 177 464 422 464c139 0 242 -98 242 -231c0 -204 -171 -472 -428 -472c-141 0 -236 96 -236 239zM445 651c-64 0 -117 -41 -168 -131c-55 -96 -106 -281 -106 -383c0 -74 39 -121 102 -121c54 0 99 30 145 97c67 98 129 298 129 418c0 72 -41 120 -102 120z
+M433 719h-49l122 131c35 38 52 50 70 50c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="722" 
+d="M27 221c0 191 177 464 422 464c139 0 242 -98 242 -231c0 -204 -171 -472 -428 -472c-141 0 -236 96 -236 239zM445 651c-64 0 -117 -41 -168 -131c-55 -96 -106 -281 -106 -383c0 -74 39 -121 102 -121c54 0 99 30 145 97c67 98 129 298 129 418c0 72 -41 120 -102 120z
+M569 723l-88 95l-131 -95h-57l160 174h81l86 -174h-51z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="722" 
+d="M27 221c0 191 177 464 422 464c139 0 242 -98 242 -231c0 -204 -171 -472 -428 -472c-141 0 -236 96 -236 239zM445 651c-64 0 -117 -41 -168 -131c-55 -96 -106 -281 -106 -383c0 -74 39 -121 102 -121c54 0 99 30 145 97c67 98 129 298 129 418c0 72 -41 120 -102 120z
+M443.225 843c58 0 109.072 -42 142.072 -42c23 0 38.3389 11 59.9277 42h41c-39.6426 -83 -82.2939 -119 -142.294 -119c-19 0 -30.3623 3 -54.2373 13l-54.1113 23c-11.9355 5 -25.2988 8 -36.2988 8c-22 0 -37.3389 -11 -57.1406 -43h-40
+c28.3047 72 84.082 118 141.082 118z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="722" 
+d="M27 221c0 191 177 464 422 464c139 0 242 -98 242 -231c0 -204 -171 -472 -428 -472c-141 0 -236 96 -236 239zM445 651c-64 0 -117 -41 -168 -131c-55 -96 -106 -281 -106 -383c0 -74 39 -121 102 -121c54 0 99 30 145 97c67 98 129 298 129 418c0 72 -41 120 -102 120z
+M350 842c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM562 842c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="570" 
+d="M223 253l-175 175l62 62l175 -176l175 176l62 -62l-176 -175l176 -175l-62 -62l-175 176l-175 -176l-62 62z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="722" 
+d="M144 11c-39 23 -117 80 -117 201c0 241 207 473 422 473c30 0 50 -3 82 -13l53 92h49l-63 -108c32 -19 121 -74 121 -203c0 -203 -176 -471 -425 -471c-31 0 -52 3 -83 13l-70 -120h-48zM182 77l324 553c-19 15 -38 21 -63 21c-61 0 -116 -43 -165 -130
+c-58 -103 -107 -278 -107 -380c0 -22 4 -44 11 -64zM273 16c184 0 274 405 274 510c0 22 -5 45 -14 67l-325 -555c20 -16 39 -22 65 -22z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M744 669v-25c-55 -11 -64 -21 -102 -153l-66 -228c-23 -80 -57 -281 -286 -281c-131 0 -223 68 -223 166c0 33 11 95 33 175l56 206c9 33 15 64 15 76c0 22 -10 30 -42 35c-4 0 -17 2 -31 4v25h311v-25c-62 -3 -78 -15 -94 -72l-82 -300c-25 -91 -28 -106 -28 -133
+c0 -63 46 -101 122 -101c55 0 99 20 133 60c30 37 52 87 79 184l58 209c11 41 19 80 19 97c0 35 -23 51 -80 56v25h208zM551 719h-45l-133 89c-22 15 -34 32 -34 47c0 24 21 45 45 45c19 0 40 -13 56 -34z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M744 669v-25c-55 -11 -64 -21 -102 -153l-66 -228c-23 -80 -57 -281 -286 -281c-131 0 -223 68 -223 166c0 33 11 95 33 175l56 206c9 33 15 64 15 76c0 22 -10 30 -42 35c-4 0 -17 2 -31 4v25h311v-25c-62 -3 -78 -15 -94 -72l-82 -300c-25 -91 -28 -106 -28 -133
+c0 -63 46 -101 122 -101c55 0 99 20 133 60c30 37 52 87 79 184l58 209c11 41 19 80 19 97c0 35 -23 51 -80 56v25h208zM409 719h-49l122 131c35 38 52 50 70 50c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M744 669v-25c-55 -11 -64 -21 -102 -153l-66 -228c-23 -80 -57 -281 -286 -281c-131 0 -223 68 -223 166c0 33 11 95 33 175l56 206c9 33 15 64 15 76c0 22 -10 30 -42 35c-4 0 -17 2 -31 4v25h311v-25c-62 -3 -78 -15 -94 -72l-82 -300c-25 -91 -28 -106 -28 -133
+c0 -63 46 -101 122 -101c55 0 99 20 133 60c30 37 52 87 79 184l58 209c11 41 19 80 19 97c0 35 -23 51 -80 56v25h208zM571 723l-88 95l-131 -95h-57l160 174h81l86 -174h-51z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M744 669v-25c-55 -11 -64 -21 -102 -153l-66 -228c-23 -80 -57 -281 -286 -281c-131 0 -223 68 -223 166c0 33 11 95 33 175l56 206c9 33 15 64 15 76c0 22 -10 30 -42 35c-4 0 -17 2 -31 4v25h311v-25c-62 -3 -78 -15 -94 -72l-82 -300c-25 -91 -28 -106 -28 -133
+c0 -63 46 -101 122 -101c55 0 99 20 133 60c30 37 52 87 79 184l58 209c11 41 19 80 19 97c0 35 -23 51 -80 56v25h208zM354 839c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM566 839c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64
+c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="611" 
+d="M234 313l-88 268c-17.5645 53.4932 -22 56 -73 63v25h283v-25c-55 -1 -70 -9 -70 -37c0 -29 16 -65 77 -255l129 186c20 29 26 42 26 60c0 35 -14 44 -67 46v25h208v-25c-38 -8 -58 -22 -91 -69l-190 -267l-52 -191c-6 -23 -8 -33 -8 -45c0 -37 12 -44 77 -47v-25h-322
+v25c69 5 84.9678 14.2861 101 72zM350 719h-49l122 131c35 38 52 50 70 50c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="609" 
+d="M113 644v25h294v-25c-53 -7 -62 -15 -82 -72l-13 -38h48c139 0 214 -54 214 -155c0 -120 -107 -197 -274 -197c-26 0 -45 1 -81 5l-14 -64c-7 -31 -10 -50 -10 -59c0 -27 16 -36 72 -39v-25h-294v25c52 8 65 19 80 72l123 449c6 22 10 46 10 61c0 20 -11 29 -42 33
+c-5 0 -17 2 -31 4zM344 502c-41 0 -44 -21 -51 -44l-64 -239c19 -1 31 -2 42 -2c71 0 108 23 134 82c14 31 23 77 23 112c0 58 -31 91 -84 91z" />
+    <glyph glyph-name="ssharp" unicode="&#xdf;" horiz-adv-x="500" 
+d="M315 304c0 64 -31 74 -74 80l7 37h16c4 0 4 -2 10 -2c37 0 88 78 88 196c0 40 -15 60 -47 60c-45 0 -75 -49 -101 -166l-91 -407c-45 -200 -121 -302 -226 -302c-57 0 -97 31 -97 77c0 32 20 53 51 53c30 0 48 -17 48 -45c0 -34 -17 -26 -17 -43c0 -8 4 -11 16 -11
+c33 0 57 19 86 149l92 423c43 198 129 302 251 302c85 0 146 -55 146 -131c0 -98 -94 -142 -182 -175c33 -7 144 -29 144 -143c0 -139 -104 -263 -220 -263c-30 0 -51 6 -73 22l20 35c5 -6 19 -23 47 -23c65 0 106 177 106 277z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="500" 
+d="M303 373c0 29 -18 47 -39 47c-63 0 -162 -206 -162 -308c0 -31 19 -54 45 -54c88 0 156 247 156 315zM434 127l21 -15c-57 -87 -104 -126 -151 -126c-37 0 -67 29 -67 66c0 14 3 28 14 67c-57 -95 -103 -132 -164 -132c-65 0 -108 51 -108 127c0 156 150 348 273 348
+c43 0 65 -21 74 -72l18 59l111 7l-71 -236c-24 -81 -34 -123 -34 -148c0 -9 5 -15 12 -15c16 0 31 15 72 70zM380 516h-45l-133 89c-22 15 -34 32 -34 47c0 24 21 45 45 45c19 0 40 -13 56 -34z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="500" 
+d="M303 373c0 29 -18 47 -39 47c-63 0 -162 -206 -162 -308c0 -31 19 -54 45 -54c88 0 156 247 156 315zM434 127l21 -15c-57 -87 -104 -126 -151 -126c-37 0 -67 29 -67 66c0 14 3 28 14 67c-57 -95 -103 -132 -164 -132c-65 0 -108 51 -108 127c0 156 150 348 273 348
+c43 0 65 -21 74 -72l18 59l111 7l-71 -236c-24 -81 -34 -123 -34 -148c0 -9 5 -15 12 -15c16 0 31 15 72 70zM272 516h-49l122 131c35 38 52 50 70 50c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="500" 
+d="M303 373c0 29 -18 47 -39 47c-63 0 -162 -206 -162 -308c0 -31 19 -54 45 -54c88 0 156 247 156 315zM434 127l21 -15c-57 -87 -104 -126 -151 -126c-37 0 -67 29 -67 66c0 14 3 28 14 67c-57 -95 -103 -132 -164 -132c-65 0 -108 51 -108 127c0 156 150 348 273 348
+c43 0 65 -21 74 -72l18 59l111 7l-71 -236c-24 -81 -34 -123 -34 -148c0 -9 5 -15 12 -15c16 0 31 15 72 70zM400 516l-88 95l-131 -95h-57l160 174h81l86 -174h-51z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="500" 
+d="M303 373c0 29 -18 47 -39 47c-63 0 -162 -206 -162 -308c0 -31 19 -54 45 -54c88 0 156 247 156 315zM434 127l21 -15c-57 -87 -104 -126 -151 -126c-37 0 -67 29 -67 66c0 14 3 28 14 67c-57 -95 -103 -132 -164 -132c-65 0 -108 51 -108 127c0 156 150 348 273 348
+c43 0 65 -21 74 -72l18 59l111 7l-71 -236c-24 -81 -34 -123 -34 -148c0 -9 5 -15 12 -15c16 0 31 15 72 70zM252.225 628c58 0 109.072 -42 142.072 -42c23 0 38.3389 11 59.9277 42h41c-39.6426 -83 -82.2939 -119 -142.294 -119c-19 0 -30.3623 3 -54.2373 13
+l-54.1113 23c-11.9355 5 -25.2988 8 -36.2988 8c-22 0 -37.3389 -11 -57.1406 -43h-40c28.3047 72 84.082 118 141.082 118z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="500" 
+d="M303 373c0 29 -18 47 -39 47c-63 0 -162 -206 -162 -308c0 -31 19 -54 45 -54c88 0 156 247 156 315zM434 127l21 -15c-57 -87 -104 -126 -151 -126c-37 0 -67 29 -67 66c0 14 3 28 14 67c-57 -95 -103 -132 -164 -132c-65 0 -108 51 -108 127c0 156 150 348 273 348
+c43 0 65 -21 74 -72l18 59l111 7l-71 -236c-24 -81 -34 -123 -34 -148c0 -9 5 -15 12 -15c16 0 31 15 72 70zM193 634c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM405 634c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64
+c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="500" 
+d="M303 373c0 29 -18 47 -39 47c-63 0 -162 -206 -162 -308c0 -31 19 -54 45 -54c88 0 156 247 156 315zM434 127l21 -15c-57 -87 -104 -126 -151 -126c-37 0 -67 29 -67 66c0 14 3 28 14 67c-57 -95 -103 -132 -164 -132c-65 0 -108 51 -108 127c0 156 150 348 273 348
+c43 0 65 -21 74 -72l18 59l111 7l-71 -236c-24 -81 -34 -123 -34 -148c0 -9 5 -15 12 -15c16 0 31 15 72 70zM307.93 710c47.1006 0 79.915 -34.9961 79.915 -79.7715c0 -60.0137 -58.2275 -119.229 -123.214 -119.229c-47.6641 0 -79.8828 33.7959 -79.8828 79.2588
+c0 64.834 64.2402 119.741 123.182 119.741zM297.364 665c-28.8105 0 -66.9297 -28.6738 -66.9297 -66.4678c0 -24.4219 17.5693 -42.5322 42.7607 -42.5322c31.0625 0 68.4756 26.3232 68.4756 64.2959c0 24.9443 -18.1533 44.7041 -44.3066 44.7041z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="722" 
+d="M425 -13c-86 0 -127 40 -143 131c-56 -92 -106 -130 -173 -130c-66 0 -114 50 -114 118c0 163 150 356 276 356c43 0 63 -16 81 -66l18 58l103 5l-20 -65c43 50 71 65 120 65c63 0 100 -32 100 -87c0 -82 -83 -149 -228 -182l-39 -9c-4 -20 -5 -31 -5 -47
+c0 -51 26 -84 67 -84c47 0 89 30 123 89l28 -17c-43 -88 -110 -135 -194 -135zM169 58c97 0 164 242 164 305c0 32 -20 56 -48 56c-94 0 -164 -236 -164 -300c0 -36 19 -61 48 -61zM413 214c70 10 170 75 170 174c0 28 -10 41 -33 41c-50 0 -92 -64 -132 -198z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="444" 
+d="M346 123c-29 -41 -87 -136 -198 -136c-6 0 -11 0 -18 1l-34 -50c10 2 16 3 26 3c52 0 90 -30 90 -72c0 -50 -53 -87 -124 -87c-36 0 -68 7 -112 25l22 33c28 -13 45 -17 67 -17c34 0 56 16 56 41c0 22 -18 36 -47 36c-10 0 -18 -1 -30 -4l-13 12l60 88
+c-61 22 -96 74 -96 142c0 160 144 324 285 324c67 0 112 -37 112 -90c0 -41 -26 -70 -62 -70c-33 0 -58 22 -58 52c0 26 21 46 21 58c0 10 -10 17 -22 17c-99 0 -148 -229 -148 -288c0 -54 30 -90 73 -90s74 23 122 90z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="444" 
+d="M364 516h-45l-133 89c-22 15 -34 32 -34 47c0 24 21 45 45 45c19 0 40 -13 56 -34zM317 142l29 -17c-60 -99 -114 -138 -190 -138c-87 0 -151 63 -151 147c0 165 144 328 288 328c61 0 105 -36 105 -87c0 -43 -30 -149 -257 -193c-4 -20 -6 -33 -6 -49
+c0 -54 22 -82 65 -82c42 0 70 22 117 91zM148 214c77 28 158 71 158 181c0 22 -9 34 -28 34c-48 0 -94 -77 -130 -215z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="444" 
+d="M317 142l29 -17c-60 -99 -114 -138 -190 -138c-87 0 -151 63 -151 147c0 165 144 328 288 328c61 0 105 -36 105 -87c0 -43 -30 -149 -257 -193c-4 -20 -6 -33 -6 -49c0 -54 22 -82 65 -82c42 0 70 22 117 91zM148 214c77 28 158 71 158 181c0 22 -9 34 -28 34
+c-48 0 -94 -77 -130 -215zM244 516h-49l122 131c35 38 52 50 70 50c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="444" 
+d="M317 142l29 -17c-60 -99 -114 -138 -190 -138c-87 0 -151 63 -151 147c0 165 144 328 288 328c61 0 105 -36 105 -87c0 -43 -30 -149 -257 -193c-4 -20 -6 -33 -6 -49c0 -54 22 -82 65 -82c42 0 70 22 117 91zM148 214c77 28 158 71 158 181c0 22 -9 34 -28 34
+c-48 0 -94 -77 -130 -215zM372 516l-88 95l-131 -95h-57l160 174h81l86 -174h-51z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="444" 
+d="M317 142l29 -17c-60 -99 -114 -138 -190 -138c-87 0 -151 63 -151 147c0 165 144 328 288 328c61 0 105 -36 105 -87c0 -43 -30 -149 -257 -193c-4 -20 -6 -33 -6 -49c0 -54 22 -82 65 -82c42 0 70 22 117 91zM148 214c77 28 158 71 158 181c0 22 -9 34 -28 34
+c-48 0 -94 -77 -130 -215zM165 630c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM377 630c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M216 141l22 -14c-70 -105 -107 -136 -167 -136c-41 0 -69 26 -69 63c0 13 5 41 13 69l58 215c4 17 7 32 7 40c0 21 -16 29 -59 29v27c78 6 148 16 202 28l-91 -334c-3 -12 -9 -46 -9 -52c0 -8 7 -15 15 -15c15 0 38 21 64 60zM260 516h-45l-133 89c-22 15 -34 32 -34 47
+c0 24 21 45 45 45c19 0 40 -13 56 -34z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M216 141l22 -14c-70 -105 -107 -136 -167 -136c-41 0 -69 26 -69 63c0 13 5 41 13 69l58 215c4 17 7 32 7 40c0 21 -16 29 -59 29v27c78 6 148 16 202 28l-91 -334c-3 -12 -9 -46 -9 -52c0 -8 7 -15 15 -15c15 0 38 21 64 60zM161 516h-49l122 131c35 38 52 50 70 50
+c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M216 141l22 -14c-70 -105 -107 -136 -167 -136c-41 0 -69 26 -69 63c0 13 5 41 13 69l58 215c4 17 7 32 7 40c0 21 -16 29 -59 29v27c78 6 148 16 202 28l-91 -334c-3 -12 -9 -46 -9 -52c0 -8 7 -15 15 -15c15 0 38 21 64 60zM274 516l-88 95l-131 -95h-57l160 174h81
+l86 -174h-51z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M216 141l22 -14c-70 -105 -107 -136 -167 -136c-41 0 -69 26 -69 63c0 13 5 41 13 69l58 215c4 17 7 32 7 40c0 21 -16 29 -59 29v27c78 6 148 16 202 28l-91 -334c-3 -12 -9 -46 -9 -52c0 -8 7 -15 15 -15c15 0 38 21 64 60zM81 636c36 0 66 -30 66 -66
+c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM293 636c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="500" 
+d="M283 574l-119 -62l-33 31l122 64c-39 37 -76 58 -116 65l44 27c49 -7 89 -25 132 -60l107 57l34 -32l-107 -56c67 -79 94 -146 94 -236c0 -209 -131 -385 -286 -385c-90 0 -158 63 -158 147c0 165 137 328 275 328c31 0 52 -13 71 -42l2 4c-4 54 -23 100 -62 150zM165 16
+c106 0 157 293 157 359c0 36 -18 58 -46 58c-93 0 -160 -230 -160 -347c0 -47 16 -70 49 -70z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="556" 
+d="M178 263c90 133 137 199 223 199c47 0 73 -27 73 -75c0 -24 -11 -69 -26 -115l-36 -109c-18 -54 -25 -77 -25 -87s6 -17 14 -17c17 0 30 14 70 76l22 -13c-58 -97 -100 -131 -159 -131c-42 0 -68 23 -68 60c0 26 12 83 28 131l55 166c3 10 5 18 5 21c0 10 -13 21 -25 21
+c-18 0 -49 -22 -69 -49c-62 -81 -98 -168 -145 -341h-121l56 204c34 120 46 167 46 178c0 19 -12 24 -54 25v27c56 2 136 13 200 27zM287.225 631c58 0 109.072 -42 142.072 -42c23 0 38.3389 11 59.9277 42h41c-39.6426 -83 -82.2939 -119 -142.294 -119
+c-19 0 -30.3623 3 -54.2373 13l-54.1113 23c-11.9355 5 -25.2988 8 -36.2988 8c-22 0 -37.3389 -11 -57.1406 -43h-40c28.3047 72 84.082 118 141.082 118z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="500" 
+d="M284 462c91 0 157 -63 157 -151c0 -169 -136 -324 -285 -324c-92 0 -159 63 -159 148c0 168 140 327 287 327zM165 16c106 0 157 293 157 359c0 36 -18 58 -47 58c-94 0 -159 -233 -159 -355c0 -38 19 -62 49 -62zM380 516h-45l-133 89c-22 15 -34 32 -34 47
+c0 24 21 45 45 45c19 0 40 -13 56 -34z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="500" 
+d="M284 462c91 0 157 -63 157 -151c0 -169 -136 -324 -285 -324c-92 0 -159 63 -159 148c0 168 140 327 287 327zM165 16c106 0 157 293 157 359c0 36 -18 58 -47 58c-94 0 -159 -233 -159 -355c0 -38 19 -62 49 -62zM272 516h-49l122 131c35 38 52 50 70 50
+c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="500" 
+d="M284 462c91 0 157 -63 157 -151c0 -169 -136 -324 -285 -324c-92 0 -159 63 -159 148c0 168 140 327 287 327zM165 16c106 0 157 293 157 359c0 36 -18 58 -47 58c-94 0 -159 -233 -159 -355c0 -38 19 -62 49 -62zM400 516l-88 95l-131 -95h-57l160 174h81l86 -174h-51z
+" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="500" 
+d="M284 462c91 0 157 -63 157 -151c0 -169 -136 -324 -285 -324c-92 0 -159 63 -159 148c0 168 140 327 287 327zM165 16c106 0 157 293 157 359c0 36 -18 58 -47 58c-94 0 -159 -233 -159 -355c0 -38 19 -62 49 -62zM252.225 629c58 0 109.072 -42 142.072 -42
+c23 0 38.3389 11 59.9277 42h41c-39.6426 -83 -82.2939 -119 -142.294 -119c-19 0 -30.3623 3 -54.2373 13l-54.1113 23c-11.9355 5 -25.2988 8 -36.2988 8c-22 0 -37.3389 -11 -57.1406 -43h-40c28.3047 72 84.082 118 141.082 118z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="500" 
+d="M284 462c91 0 157 -63 157 -151c0 -169 -136 -324 -285 -324c-92 0 -159 63 -159 148c0 168 140 327 287 327zM165 16c106 0 157 293 157 359c0 36 -18 58 -47 58c-94 0 -159 -233 -159 -355c0 -38 19 -62 49 -62zM188 636c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64
+c-34 0 -64 30 -64 64c0 36 29 66 64 66zM400 636c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="570" 
+d="M537 209h-504v88h504v-88zM286 119c40 0 73 -34 73 -74c0 -41 -33 -74 -75 -74c-41 0 -73 32 -73 74s33 74 75 74zM286 535c40 0 73 -34 73 -74c0 -42 -33 -74 -75 -74c-41 0 -73 32 -73 74s33 74 75 74z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="500" 
+d="M424 560l-65 -116c57 -28 82 -69 82 -133c0 -168 -136 -324 -284 -324c-18 0 -31 2 -51 8l-64 -114h-40l72 126c-53 30 -77 70 -77 127c0 170 139 328 289 328c14 0 24 -1 42 -6l59 104h37zM275 433c-107 0 -159 -278 -159 -347v-8l191 341c-10 10 -19 14 -32 14zM165 16
+c101 0 157 276 157 356c0 2 0 3 -1 5l-193 -343c10 -12 21 -18 37 -18z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="556" 
+d="M471 133l21 -13c-52 -89 -101 -129 -161 -129c-44 0 -65 20 -65 60c0 28 6 55 24 110c-103 -144 -133 -170 -200 -170c-49 0 -75 25 -75 74c0 24 7 60 21 108l40 133c9 29 14 57 14 73c0 20 -10 25 -56 28v27c79 3 180 23 209 28l-94 -308c-13 -43 -15 -51 -15 -66
+c0 -17 7 -25 21 -25c20 0 42 17 73 55c57 72 86 138 142 331h118l-78 -268c-23.292 -80.0293 -25.0557 -92.6445 -25.0557 -100.738c0 -1.44531 0.0556641 -2.74609 0.0556641 -4.26172c0 -9 6 -17 14 -17c17 0 37 21 72 74zM408 516h-45l-133 89c-22 15 -34 32 -34 47
+c0 24 21 45 45 45c19 0 40 -13 56 -34z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="556" 
+d="M471 133l21 -13c-52 -89 -101 -129 -161 -129c-44 0 -65 20 -65 60c0 28 6 55 24 110c-103 -144 -133 -170 -200 -170c-49 0 -75 25 -75 74c0 24 7 60 21 108l40 133c9 29 14 57 14 73c0 20 -10 25 -56 28v27c79 3 180 23 209 28l-94 -308c-13 -43 -15 -51 -15 -66
+c0 -17 7 -25 21 -25c20 0 42 17 73 55c57 72 86 138 142 331h118l-78 -268c-23.292 -80.0293 -25.0557 -92.6445 -25.0557 -100.738c0 -1.44531 0.0556641 -2.74609 0.0556641 -4.26172c0 -9 6 -17 14 -17c17 0 37 21 72 74zM300 516h-49l122 131c35 38 52 50 70 50
+c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="556" 
+d="M471 133l21 -13c-52 -89 -101 -129 -161 -129c-44 0 -65 20 -65 60c0 28 6 55 24 110c-103 -144 -133 -170 -200 -170c-49 0 -75 25 -75 74c0 24 7 60 21 108l40 133c9 29 14 57 14 73c0 20 -10 25 -56 28v27c79 3 180 23 209 28l-94 -308c-13 -43 -15 -51 -15 -66
+c0 -17 7 -25 21 -25c20 0 42 17 73 55c57 72 86 138 142 331h118l-78 -268c-23.292 -80.0293 -25.0557 -92.6445 -25.0557 -100.738c0 -1.44531 0.0556641 -2.74609 0.0556641 -4.26172c0 -9 6 -17 14 -17c17 0 37 21 72 74zM424 516l-88 95l-131 -95h-57l160 174h81
+l86 -174h-51z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="556" 
+d="M471 133l21 -13c-52 -89 -101 -129 -161 -129c-44 0 -65 20 -65 60c0 28 6 55 24 110c-103 -144 -133 -170 -200 -170c-49 0 -75 25 -75 74c0 24 7 60 21 108l40 133c9 29 14 57 14 73c0 20 -10 25 -56 28v27c79 3 180 23 209 28l-94 -308c-13 -43 -15 -51 -15 -66
+c0 -17 7 -25 21 -25c20 0 42 17 73 55c57 72 86 138 142 331h118l-78 -268c-23.292 -80.0293 -25.0557 -92.6445 -25.0557 -100.738c0 -1.44531 0.0556641 -2.74609 0.0556641 -4.26172c0 -9 6 -17 14 -17c17 0 37 21 72 74zM216 633c36 0 66 -30 66 -66
+c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM428 633c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="444" 
+d="M50 -125c35 0 92 70 92 121c0 56 -59 387 -98 410c-7 4 -12 5 -30 5v27c65 6 101 12 149 24c18 -47 47.0361 -158.475 66 -277l12 -75c69 133 87 175 87 205c0 38 -55 32 -55 89c0 31 27 58 57 58c33 0 62 -30 62 -64c0 -121 -235 -603 -424 -603c-35 0 -62 27 -62 60
+c0 29 24 55 50 55c40 0 73 -35 94 -35zM244 516h-49l122 131c35 38 52 50 70 50c26 0 48 -22 48 -47c0 -19 -9 -30 -39 -47z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="500" 
+d="M129 -178v-27h-249v27h5c45 0 55 14 73 85l162 630c12 46 17 69 17 75c0 23 -14 30 -63 30v27c89 10 138 17 206 30l-95 -340l3 -3c50 75 94 106 151 106c65 0 107 -48 107 -121c0 -173 -142 -354 -277 -354c-21 0 -33 4 -68 22l-3 -13l-8 -28c-19 -68 -26 -101 -26 -114
+c0 -24 15 -31 65 -32zM321 340c0 31 -17 51 -42 51c-81 0 -119 -156 -131 -196c-27 -91 -35 -121 -35 -137c0 -20 17 -36 39 -36c102 0 169 254 169 318z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="444" 
+d="M50 -125c35 0 92 70 92 121c0 56 -59 387 -98 410c-7 4 -12 5 -30 5v27c65 6 101 12 149 24c18 -47 47.0361 -158.475 66 -277l12 -75c69 133 87 175 87 205c0 38 -55 32 -55 89c0 31 27 58 57 58c33 0 62 -30 62 -64c0 -121 -235 -603 -424 -603c-35 0 -62 27 -62 60
+c0 29 24 55 50 55c40 0 73 -35 94 -35zM160 633c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66zM372 633c36 0 66 -30 66 -66c0 -34 -31 -64 -66 -64c-34 0 -64 30 -64 64c0 36 29 66 64 66z" />
+
+
+</font>
+</defs>
+<g font-family="FreeSerif" font-size="18" font-weight="700" font-style="italic"> 
+<text x="20" y="60">&#160; !&quot;#$%&amp;&apos;()*+,-./0123456789:;&lt;&gt;?</text> 
+<text x="20" y="120">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</text> 
+<text x="20" y="180">`abcdefghijklmnopqrstuvwxyz|{}~</text> 
+</g>
+</svg>
diff --git a/Tests/W3CTestSuite/resources/FreeSerifItalic.svg b/Tests/W3CTestSuite/resources/FreeSerifItalic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8481f3276b293b1aeae6eb2bb6c9785a0ce5b1da
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/FreeSerifItalic.svg
@@ -0,0 +1,645 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20100204 at Mon Mar  8 20:49:20 2010
+ By Chris Lilley,,,
+Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation.
+</metadata>
+<defs>
+<font id="FreeSerifItalic" horiz-adv-x="500" >
+  <font-face 
+    font-family="FreeSerif"
+    font-weight="400"
+    font-style="italic"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 2 6 3 5 4 5 9 3 4"
+    ascent="800"
+    descent="-200"
+    x-height="428"
+    cap-height="653"
+    bbox="-879 -434 1673 900.002"
+    underline-thickness="50"
+    underline-position="-100"
+    slope="-15.5"
+    stemh="23"
+    stemv="78"
+    unicode-range="U+0020-U+00FF"
+  />
+<missing-glyph 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+    <glyph glyph-name="IJ" unicode="IJ" horiz-adv-x="707" 
+d="M-8 0v16c56 10 65 15 81 74l123 442c7 25 11 48 11 62c0 28 -12 36 -70 43v16h247v-16c-57 -10 -66 -15 -82 -74l-123 -443c-9 -32 -11 -44 -11 -63c0 -28 11 -34 68 -41v-16h-244zM754 653v-16c-57 -8 -65 -14 -82 -74l-103 -371c-15 -54 -49 -210 -195 -210
+c-70 0 -117 36 -117 88c0 32 19 54 46 54c25 0 48 -22 48 -47c0 -6 -1 -19 -1 -24c0 -27 11 -40 35 -40s38 15 49 54l131 465c8 28 12 50 12 64c0 27 -14 35 -77 41v16h254z" />
+    <glyph glyph-name="ij" unicode="ij" horiz-adv-x="553" 
+d="M241 606c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM441 606c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM484 439l-104 -411c-24 -94 -69 -235 -188 -235c-40 0 -78 20 -78 64c0 21 21 39 41 39
+s40 -15 40 -36c0 -19 -13 -22 -13 -33s13 -11 20 -11c57 0 85 139 95 181l63 253c-47 -77 -143 -261 -246 -261c-40 0 -55 20 -55 59c0 80 76 254 76 323c0 26 -21 29 -42 29h-18v14c50 6 101 15 150 27l3 -2c-10 -40 -92 -353 -92 -372c0 -14 7 -25 22 -25
+c66 0 228 268 228 336c0 19 -28 23 -50 23c-10 0 -20 -1 -25 -1v16c57 3 114 15 170 25z" />
+    <glyph glyph-name="thai_yo_u" unicode="&#xe0d;&#xe38;" horiz-adv-x="717" 
+d="M318 527c99 0 163 -38 163 -122c0 -15 -2 -33 -7 -53l-88 -326h80c29 0 46 16 55 49l119 443h78l-118 -443c-14 -50 -40 -75 -80 -75h-219l94 352c4 14 6 27 6 39c0 55 -41 92 -99 92c-63.752 0 -116.713 -16.8154 -170 -59c48 0 80 -20 98 -60c-37 -11 -62 -38 -74 -81
+l-41 -155c9 12 35 17 43 17c27 0 41 -25 41 -53c0 -53 -39 -103 -105 -103c-59.2002 0 -74 40.3379 -74 68c0 8 1 17 4 28l48 179c16 58 52 93 111 110c-18 18 -54 28 -105 28c21.4961 44.4736 119.309 125 240 125zM122 19c27 0 49 41 49 66c0 16 -8 32 -22 32
+c-22 -1 -48 -38 -48 -63c0 -14 4.2002 -35 21 -35zM393 -150c0 51.8555 33.3252 105 103 105c35 0 60 -25 60 -57c0 -7 -1 -13 -3 -20l-39 -146h-68l20 75c-7 -5.5 -21 -9 -33 -9c-26 0 -40 24 -40 52zM445 -171c36 0 46 54 46 65c0 17 -11 30 -24 30c-22 0 -48 -41 -48 -71
+c0 -21 16 -24 26 -24z" />
+    <glyph glyph-name="thai_yo_uu" unicode="&#xe0d;&#xe39;" horiz-adv-x="717" 
+d="M318 527c99 0 163 -38 163 -122c0 -15 -2 -33 -7 -53l-88 -326h80c29 0 46 16 55 49l119 443h78l-118 -443c-14 -50 -40 -75 -80 -75h-219l94 352c4 14 6 27 6 39c0 55 -41 92 -99 92c-63.752 0 -116.713 -16.8154 -170 -59c48 0 80 -20 98 -60c-37 -11 -62 -38 -74 -81
+l-41 -155c9 12 35 17 43 17c27 0 41 -25 41 -53c0 -53 -39 -103 -105 -103c-59.2002 0 -74 40.3379 -74 68c0 8 1 17 4 28l48 179c16 58 52 93 111 110c-18 18 -54 28 -105 28c21.4961 44.4736 119.309 125 240 125zM122 19c27 0 49 41 49 66c0 16 -8 32 -22 32
+c-22 -1 -48 -38 -48 -63c0 -14 4.2002 -35 21 -35zM303 -131c0 -21 15 -25 26 -25c21 0 43 31 43 63c0 11 -1 25 -22 29c-27 0 -47 -40 -47 -67zM274 -136c0 25.6621 16.0127 104 102 104c33 0 58 -25 58 -59c0 -5 -1 -12 -3 -18l-24 -90c-1 -4 -2 -8 -2 -12
+c0 -11 8 -18 24 -18c18 0 31 11 37 30l43 164h68l-40 -150c-15 -52 -47 -77 -101 -77h-34c-41 0 -61 16 -61 47c0 8 1 17 4 27l4 13c-19.9629 -9.45605 -18.082 -10 -36 -10c-31 0 -39 29 -39 49z" />
+    <glyph glyph-name="thai_yo_phinthu" unicode="&#xe0d;&#xe3a;" horiz-adv-x="717" 
+d="M318 527c99 0 163 -38 163 -122c0 -15 -2 -33 -7 -53l-88 -326h80c29 0 46 16 55 49l119 443h78l-118 -443c-14 -50 -40 -75 -80 -75h-219l94 352c4 14 6 27 6 39c0 55 -41 92 -99 92c-63.752 0 -116.713 -16.8154 -170 -59c48 0 80 -20 98 -60c-37 -11 -62 -38 -74 -81
+l-41 -155c9 12 35 17 43 17c27 0 41 -25 41 -53c0 -53 -39 -103 -105 -103c-59.2002 0 -74 40.3379 -74 68c0 8 1 17 4 28l48 179c16 58 52 93 111 110c-18 18 -54 28 -105 28c21.4961 44.4736 119.309 125 240 125zM122 19c27 0 49 41 49 66c0 16 -8 32 -22 32
+c-22 -1 -48 -38 -48 -63c0 -14 4.2002 -35 21 -35zM517 -59c24 0 40 -18 40 -42c0 -29 -30 -64 -71 -64c-22 0 -39 16 -39 39c0 40 41 67 70 67z" />
+    <glyph glyph-name="thai_tho_u" unicode="&#xe10;&#xe38;" horiz-adv-x="457" 
+d="M112 146c-35.2002 0 -44 34.8252 -44 53c0 23 20 103 101 103c31 0 74 -13 78 -81l16 56c1.45312 5.08496 2 12 2 17c0 73 -152 83 -203 91c28 79 93 143 192 144c55 0 98 -50 126 -52c26 0 48 15 68 43h30c-26 -54 -62 -77 -110 -77c-28 0 -31 3 -133 28
+c-67 0 -103 -21 -123 -62c156 0 235 -33 235 -103c0 -9 -2.03125 -18.9248 -5 -30l-74 -276h-77c17 67 27 122 27 165c0 42 -9 72 -25 90c0.696289 -3.08691 1 -5.43457 1 -8c0 -60 -50 -101 -82 -101zM95 201c0 -18 12 -30 26 -30c16 0 46 34 46 66c0 12 -5 34 -23 34
+c-26 0 -49 -42 -49 -70zM90 -150c0 51.8555 33.3252 105 103 105c35 0 60 -25 60 -57c0 -7 -1 -13 -3 -20l-39 -146h-68l20 75c-7 -5.5 -21 -9 -33 -9c-26 0 -40 24 -40 52zM142 -171c36 0 46 54 46 65c0 17 -11 30 -24 30c-22 0 -48 -41 -48 -71c0 -21 16 -24 26 -24z" />
+    <glyph glyph-name="thai_tho_uu" unicode="&#xe10;&#xe39;" horiz-adv-x="457" 
+d="M112 146c-35.2002 0 -44 34.8252 -44 53c0 23 20 103 101 103c31 0 74 -13 78 -81l16 56c1.45312 5.08496 2 12 2 17c0 73 -152 83 -203 91c28 79 93 143 192 144c55 0 98 -50 126 -52c26 0 48 15 68 43h30c-26 -54 -62 -77 -110 -77c-28 0 -31 3 -133 28
+c-67 0 -103 -21 -123 -62c156 0 235 -33 235 -103c0 -9 -2.03125 -18.9248 -5 -30l-74 -276h-77c17 67 27 122 27 165c0 42 -9 72 -25 90c0.696289 -3.08691 1 -5.43457 1 -8c0 -60 -50 -101 -82 -101zM95 201c0 -18 12 -30 26 -30c16 0 46 34 46 66c0 12 -5 34 -23 34
+c-26 0 -49 -42 -49 -70zM-1 -131c0 -21 15 -25 26 -25c21 0 43 31 43 63c0 11 -1 25 -22 29c-27 0 -47 -40 -47 -67zM-30 -136c0 25.6621 16.0127 104 102 104c33 0 58 -25 58 -59c0 -5 -1 -12 -3 -18l-24 -90c-1 -4 -2 -8 -2 -12c0 -11 8 -18 24 -18c18 0 31 11 37 30
+l43 164h68l-40 -150c-15 -52 -47 -77 -101 -77h-34c-41 0 -61 16 -61 47c0 8 1 17 4 27l4 13c-19.9629 -9.45605 -18.082 -10 -36 -10c-31 0 -39 29 -39 49z" />
+    <glyph glyph-name="thai_tho_phinthu" unicode="&#xe10;&#xe3a;" horiz-adv-x="457" 
+d="M112 146c-35.2002 0 -44 34.8252 -44 53c0 23 20 103 101 103c31 0 74 -13 78 -81l16 56c1.45312 5.08496 2 12 2 17c0 73 -152 83 -203 91c28 79 93 143 192 144c55 0 98 -50 126 -52c26 0 48 15 68 43h30c-26 -54 -62 -77 -110 -77c-28 0 -31 3 -133 28
+c-67 0 -103 -21 -123 -62c156 0 235 -33 235 -103c0 -9 -2.03125 -18.9248 -5 -30l-74 -276h-77c17 67 27 122 27 165c0 42 -9 72 -25 90c0.696289 -3.08691 1 -5.43457 1 -8c0 -60 -50 -101 -82 -101zM95 201c0 -18 12 -30 26 -30c16 0 46 34 46 66c0 12 -5 34 -23 34
+c-26 0 -49 -42 -49 -70zM221 -59c24 0 40 -18 40 -42c0 -29 -30 -64 -71 -64c-22 0 -39 16 -39 39c0 40 41 67 70 67z" />
+    <glyph glyph-name="thai_ru_saraaa" unicode="&#xe24;&#xe32;" horiz-adv-x="814" 
+d="M205 92c0 -57 -41 -103 -104 -103c-65 0 -77 38.7305 -77 64c0 10 2 20 5 31l47 181c16 56 53 93 112 108c-17 19 -53 28 -105 28c32 61 144 127 234 127c113 0 170 -39 170 -117c0 -17 -4 -37 -10 -59l-153 -572h-79l153 572c5 14 7 27 7 39c0 55 -40 91 -97 91
+c-63.7871 0 -117.686 -15.4951 -170 -58c48 0 80 -20 98 -60c-39 -12 -65 -40 -76 -81l-41 -154c10.4238 10.4238 25.7188 16 45 16c28 0 41 -26 41 -53zM175 68c1 6 2 11 2 16c0 17 -7 33 -22 33c-22.9229 -1.04199 -48 -38.335 -48 -64c0 -16 7 -35 21 -35c9 0 28 3 47 50
+zM692 528c64 0 107 -34 107 -86c0 -10 -2 -22 -5 -34l-171 -635h-83l170 634c2 6 2 12 2 18c0 34 -25 57 -61 57c-27 0 -75 -8 -130 -72l-17 10c38 59 112 108 188 108z" />
+    <glyph glyph-name="thai_lu_saraaa" unicode="&#xe26;&#xe32;" horiz-adv-x="859" 
+d="M-2 44c0 40 36 103 84 103c13 0 25 -5 35 -16l40 149c12 45 42 77 91 95c-21 19 -57 28 -107 28c41 67 135 127 233 127c114 0 172 -39 172 -117c0 -18 -3 -38 -9 -59l-156 -579h-78l155 579c4 15 6 28 6 41c0 58 -42 89 -105 89c-60 0 -113 -19 -161 -58
+c53 0 85 -20 97 -60c-27 -8 -44 -27 -52 -55l-57 -217c-19 -68 -62 -103 -128 -103c-45.0605 0 -60 29.8545 -60 53zM51 20c24 0 47 42 47 70c0 17 -7 26 -23 29c-12 0 -49 -25 -49 -67c0 -20 12 -32 25 -32zM737 528c64 0 107 -34 107 -86c0 -10 -2 -22 -5 -34l-171 -635
+h-83l170 634c2 6 2 12 2 18c0 34 -25 57 -61 57c-27 0 -75 -8 -130 -72l-17 10c38 59 112 108 188 108z" />
+    <glyph glyph-name="ff" unicode="ff" horiz-adv-x="526" 
+d="M677 613c0 -22 -20 -40 -41 -40c-22 0 -38 16 -38 38c0 19 10 23 10 33c0 11 -16 12 -23 12c-80 0 -110 -168 -121 -228h108l-6 -32h-109l-72 -320c-22 -97 -75 -283 -201 -283c-33 0 -78 19 -78 59c0 20 13 43 36 43c20 0 40 -16 40 -37c0 -15 -9 -17 -9 -28
+c0 -10 10 -16 19 -16c63 0 88 114 98 162l88 420h-168l-72 -320c-22 -98 -75 -283 -201 -283c-37 0 -78 20 -78 62c0 21 15 40 37 40c20 0 39 -16 39 -37c0 -13 -9 -19 -9 -28c0 -12 10 -13 20 -13h4c58 0 84 115 93 159l58 285c9 42 14 95 31 135h-87l7 32h87
+c36 123 92 253 242 253c37 0 90 -15 99 -57c27 33 66 54 109 54c39 0 88 -19 88 -65zM441 569c-25 0 -43 15 -43 41c0 24 13 23 13 33c0 15 -25 16 -35 16c-108 0 -137 -150 -160 -231h171c15 48 30 96 54 141z" />
+    <glyph glyph-name="fi" unicode="fi" 
+d="M-65 -143c0 -14 -9 -17 -9 -27c0 -9 5 -13 20 -13c76 0 96 155 119 269c39 194 61 295 67 310h-87l7 32h87c40 130 94 253 239 253c60 0 103 -29 103 -70c0 -25 -17 -42 -42 -42c-24 0 -41 17 -41 42c0 21 13 25 13 32c0 10 -13 16 -34 16c-91 0 -118 -82 -161 -231h150
+c59 0 82 8 99 8l5 -3c0 -34 -100 -351 -100 -386c0 -5 5 -10 11 -10c15 0 41 25 78 69l16 -9c-56 -77 -92 -105 -132 -105c-29 0 -48 20 -48 49c0 51 86 328 86 345c0 7 -5 10 -16 10h-155l-72 -320c-42 -185 -111 -283 -201 -283c-45 0 -78 26 -78 62c0 22 16 40 37 40
+s39 -17 39 -38z" />
+    <glyph glyph-name="fl" unicode="fl" 
+d="M295 41c0 60 58 248 80 355h-166l-69 -310c-42 -189 -113 -290 -203 -290c-45 0 -78 26 -78 62c0 22 16 40 36 40c22 0 40 -17 40 -37c0 -13 -9 -21 -9 -27c0 -9 6 -13 21 -13c58 0 90 78 155 443l28 132h-89l6 32h91c36 120 98 254 245 254c35 0 76 -11 92 -11
+c9 0 32 11 38 11c3 0 5 -4 5 -9c0 -1 -49 -206 -147 -616l-1 -10c0 -6 5 -11 11 -11c14 0 33 17 78 69l16 -9c-59 -81 -90 -105 -132 -105c-29 0 -48 20 -48 50zM410 608c0 13 11.999 23.999 11.999 29.999c0 11 -21 22 -43 22c-72 0 -122 -66 -158 -212l-5 -20h167l36 144
+c0.533203 1.7334 0.764648 3.37891 0.764648 4.96289c0 10.2959 -9.76367 18.0381 -9.76367 31.0381z" />
+    <glyph glyph-name="ffi" unicode="ffi" horiz-adv-x="747" 
+d="M717 433c0 -63 -100 -310 -100 -385c0 -7 5 -11 12 -11c20 0 64 53 77 69l16 -9c-28 -39 -77 -105 -131 -105c-31 0 -49 21 -49 51c0 49 68 272 85 334c1 3 2 6 2 8c0 9 -10 11 -17 11h-155l-72 -320c-22 -98 -75 -283 -201 -283c-37 0 -78 20 -78 62c0 21 15 40 37 40
+c20 0 39 -16 39 -37c0 -13 -9 -19 -9 -28c0 -12 10 -13 20 -13h4c58 0 84 115 93 159l58 285c9 42 14 95 31 135h-169l-72 -320c-22 -98 -75 -283 -201 -283c-37 0 -78 20 -78 62c0 21 15 40 37 40c20 0 39 -16 39 -37c0 -13 -9 -19 -9 -28c0 -12 10 -13 20 -13h4
+c58 0 84 115 93 159l58 285c9 42 14 95 31 135h-87l7 32h87c36 123 92 253 242 253c39 0 94 -17 99 -62c39 42 91 62 148 62c41 0 100 -19 100 -69c0 -26 -17 -43 -42 -43c-24 0 -41 17 -41 41s13 23 13 33c0 15 -25 16 -35 16c-108 0 -137 -150 -160 -231h150
+c34 0 66 7 99 8zM442 569c-25 0 -44 14 -44 41c0 24 13 23 13 33c0 15 -25 16 -35 16c-108 0 -137 -150 -160 -231h170c14 49 30 97 56 141z" />
+    <glyph glyph-name="ffl" unicode="ffl" horiz-adv-x="748" 
+d="M618 48c0 -8 5 -12 12 -12c20 0 64 54 77 69l16 -9c-29 -42 -76 -105 -133 -105c-31 0 -47 23 -47 52c0 86 61 258 80 353h-166l-69 -310c-21 -96 -76 -290 -202 -290c-37 0 -79 18 -79 61c0 22 14 41 37 41c19 0 39 -16 39 -36c0 -14 -9 -19 -9 -28c0 -12 11 -13 21 -13
+h4c76 0 81 136 179 575h-168l-72 -320c-22 -98 -75 -283 -201 -283c-37 0 -78 20 -78 62c0 21 15 40 37 40c20 0 39 -16 39 -37c0 -13 -9 -19 -9 -28c0 -12 10 -13 20 -13h4c58 0 84 115 93 159l58 285c9 42 14 95 31 135h-87l7 32h87c36 123 92 253 242 253
+c40 0 98 -18 100 -66c41 44 96 67 156 67c29 0 57 -11 85 -11c14 0 26 11 39 11c5 0 5 -7 5 -10c0 -28 -29 -111 -108 -446c-10 -43 -40 -136 -40 -178zM670 637c0 18 -29 23 -42 23c-107 0 -143 -150 -164 -232h167c6 22 36 136 36 151c0 7 -9 18 -9 29c0 13 12 24 12 29z
+M445 570l-6 -1c-24 0 -41 17 -41 41s13 23 13 33c0 15 -25 16 -35 16c-108 0 -137 -150 -160 -231h170c14 49 32 98 59 142z" />
+    <glyph glyph-name="yodyodpatahhebrew" unicode="&#x5f2;&#x5b7;" horiz-adv-x="537" 
+d="M349 478c-34 0 -42 25 -42 45c0 30 34 89 58 108c0 -6.59961 8.2002 -33 41 -33c15 0 34 2 51 2c26 0 48 -8 48 -45c0 -25 -16 -51 -26 -78c-23 -60 -72 -156 -82 -156c0 4 32 63 32 107c0 20 -7 51 -49 51c-10 0 -21 -1 -31 -1zM88 478c-34 0 -42 25 -42 45
+c0 30 34 89 57 108c0 -1 8 -33 42 -33c15 0 34 2 51 2c29 0 49 -11 49 -46c0 -25 -16 -50 -27 -77c-23 -60 -72 -156 -82 -156c0 6 31 63 31 107c0 20 -7 51 -48 51c-10 0 -21 -1 -31 -1zM122 203l14 52h200l-14 -52h-200z" />
+    <glyph glyph-name=".notdef" 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="250" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="333" 
+d="M120 181c91 420 75 486 142 486c26 0 40 -18 40 -51c0 -66 -27 -65 -165 -439zM91 95c29 0 54 -25 54 -54c0 -28 -25 -52 -55 -52c-29 0 -51 23 -51 54c0 27 25 52 52 52z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="420" 
+d="M323 421c14 175 14 245 77 245c18 0 32 -13 32 -29s-31 -92 -88 -216h-21zM144 421c14 181 15 245 78 245c17 0 31 -13 31 -29s-30 -90 -88 -216h-21z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M465 267l-11 -54h-105l-79 -213h-62l80 213h-130l-79 -213h-62l80 213h-95l11 54h105l54 143h-96l11 54h105l80 212h61l-80 -212h130l80 212h61l-80 -212h96l-11 -54h-105l-54 -143h95zM363 410h-130l-54 -143h130z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M258 329c-73 52 -135 106 -135 184c0 52 28 99 75 126c41 24 68 29 143 29l17 63h34l-16 -68c47 -11 89 -28 121 -51l-28 -114l-15 2c-2 74 -24 109 -85 133l-56 -237c117 -91 142 -127 142 -206c0 -76 -30 -181 -240 -190l-21 -89h-35l22 91c-62 12 -114 35 -150 65
+l27 123l16 3c11 -105 37 -142 115 -161zM336 641c-72 0 -135 -19 -135 -103c0 -45 19 -73 81 -118zM289 306l-68 -281c106 8 159 54 159 137c0 56 -18 84 -91 144z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="833" 
+d="M790 263c0 -107 -73 -263 -202 -263c-76 0 -120 50 -120 136c0 116 109 235 215 235c67 0 107 -41 107 -108zM605 30c90 0 160 140 160 229c0 44 -32 80 -71 80c-96 0 -150 -184 -150 -238c0 -47 20 -71 61 -71zM403 541c0 -93 -81 -252 -205 -252
+c-67 0 -119 57 -119 130c0 123 108 243 218 243c26 0 54 -9 68 -21l18 -16c12 -11 37 -17 69 -17c67 0 111 19 161 68h40l-386 -689h-47l350 626c-42 -23 -66 -30 -112 -30c-27 0 -42 2 -62 10c1 -3 1 -3 1 -6c4 -17 6 -33 6 -46zM368 600c-57 15 -52 32 -67 32
+c-63 0 -146 -139 -146 -246c0 -39 23 -63 59 -63c82 0 163 113 163 226c0 16 -2 29 -9 51z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="778" 
+d="M586 572c0 -33 -16 -97 -172 -175c24 -102 55 -188 87 -237c63 76 79 105 79 139c0 22 -11 29 -50 32v19h185v-17c-69 -7 -53 -14 -195 -208c40 -67 75 -94 122 -94c23 0 41 8 70 30l11 -11c-43 -49 -79 -68 -129 -68c-53 0 -92 22 -137 79c-103 -66 -136 -79 -199 -79
+c-111 0 -182 61 -182 158c0 143 184 207 255 238c-1 19 -7 63 -7 82c0 121 66 206 160 206c58 0 102 -41 102 -94zM333 345c-100 -38 -163 -109 -163 -181c0 -73 55 -130 128 -130c50 0 93 17 140 56c-34 43 -69 128 -105 255zM410 428c85 54 107 85 107 149
+c0 40 -13 57 -45 57c-45 0 -67 -42 -67 -130c0 -26 1 -46 5 -76z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="214" 
+d="M132 421c14 175 14 245 77 245c18 0 32 -13 32 -29s-31 -92 -88 -216h-21z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M141 -181c-67 122 -99 213 -99 361c0 273 182 418 260 489l13 -15c-65 -68 -97 -115 -129 -194c-46 -111 -75 -255 -75 -375c0 -96 12 -159 48 -260z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M190 669c62 -111 99 -214 99 -365c0 -206 -100 -345 -260 -484l-13 15c61 64 91 106 120 171c50 107 84 269 84 396c0 100 -15 181 -49 262z" />
+    <glyph glyph-name="asterisk" unicode="*" 
+d="M346 627c0 -33 -27 -75 -27 -127v-27c91 62 103 109 135 109c22 0 38 -15 38 -37c0 -55 -64 -23 -164 -86l37 -19c54 -29 127 -14 127 -62c0 -22 -17 -39 -38 -39c-32 0 -58 63 -135 107c2 -104 28 -119 28 -151c0 -23 -16 -40 -39 -40c-20 0 -35 16 -35 38
+c0 29 29 72 29 124c0 5 0 12 -2 29c-14 -14 -38 -13 -87 -75c-16 -20 -33 -31 -50 -31c-19 0 -35 17 -35 37c0 52 69 26 166 84l-12 7c-79 50 -154 17 -154 78c0 20 15 35 35 35c45 0 36 -48 138 -105c0 90 -26 119 -26 150c0 25 13 40 35 40c21 0 36 -16 36 -39z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="675" 
+d="M305 286v220h66v-220h219v-66h-219v-220h-66v220h-219v66h219z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="250" 
+d="M71 -23c0 29 -45 37 -45 77c0 27 22 47 51 47c33 0 58 -31 58 -71c0 -56 -46 -112 -130 -159l-9 17c52 35 75 62 75 89z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M282 255l-13 -63h-220l14 63h219z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="250" 
+d="M82 100c30 0 56 -26 56 -57c0 -30 -26 -54 -58 -54c-28 0 -53 25 -53 54c0 31 25 57 55 57z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M313 666h73l-378 -684h-73z" />
+    <glyph glyph-name="zero" unicode="0" 
+d="M497 423c0 -172 -122 -430 -304 -430c-97 0 -161 88 -161 220c0 235 152 463 309 463c97 0 156 -95 156 -253zM197 21c133 0 221 313 221 501c0 80 -30 126 -84 126c-151 0 -223 -394 -223 -492c0 -85 32 -135 86 -135z" />
+    <glyph glyph-name="one" unicode="1" 
+d="M49 0v13.999c79 7 102 17 112 54l138 492c5 18 7 28 7 34c0 18.3145 -13.9375 31.0547 -35.542 31.0547c-0.807617 0 -1.62793 -0.0175781 -2.45801 -0.0537109l-57 -2v15c11 2 19 4 21 4l172 34c3 0 5 -3 5 -7c0 -5 -2 -14 -6 -29l-143 -519c-2 -12 -18 -57 -18 -74
+c0 -22 21 -32 70 -32h16v-15h-279z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M80 516c50 124 131 160 210 160c91 0 162 -74 162 -170c0 -66 -32 -116 -149 -233l-192 -192v-5h190c54 0 75 13 99 63l17 -7l-50 -132h-355v17l210 224c118 125 144 192 144 240c0 70 -54 122 -125 122c-60 0 -103 -29 -140 -94z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M140 377c62 10 239 41 239 166c0 54 -36 91 -89 91c-42 0 -77 -21 -112 -67l-16 5c33 64 95 104 164 104c80 0 140 -54 140 -127c0 -68 -35 -101 -156 -148v-3c67 -31 96 -77 96 -149c0 -132 -106 -256 -279 -256c-71 0 -112 21 -112 59c0 25 16 39 44 39
+c51 0 82 -60 136 -60c69 0 131 63 131 164c0 134 -74 166 -186 166v16z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M453 241l-14 -65h-100l-46 -176h-79l49 178h-262l20 67l417 431h41l-121 -435h95zM277 241l96 322h-4l-304 -318v-4h212z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M350 242c0 152 -132 172 -219 191v15l104 218h256l-23 -71h-230l-39 -88c81 -20 117 -36 154 -71c43 -41 66 -94 66 -156c0 -159 -133 -287 -298 -287c-66 0 -106 22 -106 57c0 24 17 40 41 40c41 0 71 -55 123 -55c90 0 171 98 171 207z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M521 686v-16c-118 -14 -252 -115 -322 -242l4 -2c28 13 61 21 89 21c99 0 170 -74 170 -176c0 -151 -114 -278 -249 -278c-111 0 -183 83 -183 211c0 143 77 285 204 379c86 63 153 88 287 103zM203 19c135 0 170 208 170 265c0 77 -44 127 -114 127
+c-47 0 -79 -20 -107 -66c-26 -44 -46 -128 -46 -195c0 -82 36 -131 97 -131z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M537 656l-388 -664h-70l367 598l-2 3h-222c-58 0 -85 -15 -133 -72l-14 9l81 136h375z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M229 -7c-121 0 -199 70 -199 168c0 88 69 158 195 199c-66 73 -87 112 -87 166c0 89 73 150 180 150c102 0 175 -59 175 -141c0 -71 -46 -114 -164 -153c85 -88 115 -142 115 -209c0 -103 -92 -180 -215 -180zM247 344c-39 -15 -149 -69 -149 -189
+c0 -81 56 -140 135 -140c78 0 136 59 136 140c0 56 -12 74 -122 189zM311 399l33 16c56 29 81 67 81 120c0 70 -43 118 -107 118c-63 0 -102 -43 -102 -113c0 -42 17 -68 95 -141z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M23 -17v18c192 41 309 214 329 271l-4 2c-52 -33 -88 -45 -129 -45c-88 0 -150 75 -150 179c0 140 116 268 242 268c109 0 181 -87 181 -218c0 -135 -68 -269 -184 -360c-83 -65 -150 -92 -285 -115zM318 650c-136 0 -161 -191 -161 -236c0 -88 37 -139 100 -139
+c38 0 79 17 105 43c30 29 55 122 55 200c0 83 -37 132 -99 132z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="333" 
+d="M106 100c30 0 55 -26 55 -57c0 -30 -25 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 56 57zM205 441c31 0 56 -25 56 -57c0 -30 -25 -54 -57 -54c-30 0 -54 24 -54 54c0 32 24 57 55 57z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="333" 
+d="M102 -23c0 29 -45 37 -45 77c0 27 22 47 51 47c33 0 58 -31 58 -71c0 -56 -46 -112 -130 -159l-9 17c52 35 75 62 75 89zM205 441c31 0 56 -25 56 -57c0 -30 -25 -54 -57 -54c-30 0 -54 24 -54 54c0 32 24 57 55 57z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="675" 
+d="M592 -10l-508 230v66l508 230v-72l-420 -191l420 -191v-72z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="675" 
+d="M590 386v-66h-504v66h504zM590 186v-66h-504v66h504z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="675" 
+d="M84 -10v72l420 191l-420 191v72l508 -230v-66z" />
+    <glyph glyph-name="question" unicode="?" 
+d="M248 594c0 -20 15 -33 15 -52c0 -20 -17 -35 -40 -35c-24 0 -39 18 -39 48c0 64 58 109 140 109c89 0 148 -51 148 -129c0 -141 -210 -177 -249 -332l-7 -29l-17 2c17 99 28 122 112 216c64 72 87 113 87 165c0 54 -29 85 -80 85c-43 0 -70 -18 -70 -48zM184 93
+c29 0 53 -24 53 -53c0 -27 -25 -52 -52 -52c-30 0 -53 23 -53 52s23 53 52 53z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="920" 
+d="M321 250c0 100 71 250 195 250c35 0 49 -10 71 -51l10 37h69l-65 -252c-2 -7 -3 -16 -3 -21c0 -27 13 -42 37 -42c84 0 131 118 131 196c0 146 -129 268 -285 268c-163 0 -280 -135 -280 -322c0 -171 122 -292 293 -292c65 0 114 12 192 47l12 -29
+c-94 -44 -145 -57 -216 -57c-204 0 -364 148 -364 337c0 193 160 347 363 347c183 0 325 -127 325 -290c0 -128 -85 -238 -184 -238c-47 0 -83 29 -89 72c-36 -45 -81 -71 -123 -71c-50 0 -89 48 -89 111zM570 400c0 44 -25 56 -43 56c-49 0 -135 -76 -135 -191
+c0 -52 22 -84 59 -84c67 0 119 133 119 219z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="611" 
+d="M564 16v-16h-246v16c64 6 78 15 78 53c0 8 -1 17 -2 26l-20 131h-220l-57 -113c-17 -34 -20 -43 -20 -62c0 -25 8 -30 59 -35v-16h-187v16c40 8 51 18 129 152l290 500h26l94 -566c13 -73 19 -81 76 -86zM175 262h194l-44 260z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="611" 
+d="M413 351c63 -27 126 -59 126 -151c0 -118 -108 -200 -265 -200h-282v16c56 10 65 15 81 74l123 442c7 24 11 49 11 64c0 28 -15 36 -77 41v16h258c129 0 200 -52 200 -147c0 -122 -137 -146 -175 -155zM238 331c-53 -207 -67 -214 -67 -259c0 -27 22 -42 64 -42
+c122 0 196 66 196 174c0 54 -25 98 -66 115c-20 8 -62 12 -127 12zM313 595l-65 -232c90 0 138 7 172 27c43 24 67 68 67 125c0 74 -37 108 -117 108c-39 0 -51 -6 -57 -28z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="667" 
+d="M472 666c67 0 130 -24 158 -24c20 0 30 6 38 22h21l-37 -199l-18 3c-10 108 -61 162 -153 162c-66 0 -129 -28 -177 -77c-78 -81 -126 -202 -126 -321c0 -129 64 -205 175 -205c82 0 140 30 230 118l17 -14c-90 -105 -170 -149 -273 -149c-153 0 -261 108 -261 261
+c0 222 193 423 406 423z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="722" 
+d="M700 384c0 -216 -182 -384 -455 -384h-253v16c56 10 65 15 81 74l123 442c7 25 11 49 11 64c0 27 -15 35 -77 41v16h278c178 0 292 -105 292 -269zM589 408c0 87 -32 215 -215 215c-40 0 -55 -7 -61 -29l-121 -432c-17 -60 -22 -82 -22 -95c0 -26 19 -37 65 -37
+c212 0 354 151 354 378z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="604" 
+d="M249 33c189 0 228 45 296 137l16 -8l-62 -162h-507v16c56 10 65 17 81 74l123 442c5 18 11 53 11 64c0 27 -15 35 -77 41v16h497l-31 -153l-21 2c1 17 2 32 2 45c0 60 -35 73 -192 73c-56 0 -67 -4 -73 -26l-66 -233c35 1 67 2 79 2c91 4 100 10 138 95l18 -4l-68 -232
+l-20 5c5 22 7 35 7 52c0 33 -13 46 -77 46h-8c-12 0 -43 1 -78 3c-55 -209 -68 -215 -68 -261c0 -24 24 -34 80 -34z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="611" 
+d="M397 279c0 44 -21 46 -77 46c-22 0 -44 1 -81 3l-62 -223c-6 -22 -9 -37 -9 -45c0 -30 18 -41 76 -44v-16h-252v16c57 8 65 14 82 74l123 442c7 24 11 49 11 64c0 29 -12 35 -77 41v16h498l-32 -153l-21 2c2 21 3 24 3 43c0 62 -36 75 -204 75c-41 0 -55 -6 -61 -26
+l-66 -233c168 2 171 3 216 93l18 -5l-76 -234l-17 5c6 31 8 43 8 59z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="722" 
+d="M455 666c92 0 143 -34 178 -34c26 0 43 10 60 34l15 -4l-49 -197l-18 3c-12 110 -79 164 -178 164c-241 0 -301 -312 -301 -408c0 -131 73 -205 202 -205c122 0 125 70 142 126c22 74 28 102 28 124c0 18 -16 28 -49 31c-4 0 -17 2 -29 3v16h266v-16
+c-65 -4 -82 -16 -97 -72l-49 -187c-77 -43 -149 -62 -237 -62c-176 0 -287 118 -287 264c0 220 192 420 403 420z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="722" 
+d="M767 653v-16c-57 -10 -66 -16 -82 -74l-132 -481c-2 -8 -3 -14 -3 -24c0 -28 14 -36 78 -42v-16h-273v16c65 7 87 22 101 74l65 236h-285l-66 -244c-2 -7 -3 -15 -3 -22c0 -29 11 -36 71 -44v-16h-246v16c56 10 65 15 81 74l123 442c7 25 11 48 11 62c0 29 -15 37 -77 43
+v16h273v-16c-60 -4 -87 -23 -101 -74l-54 -195h285l46 164c7 25 11 48 11 62c0 28 -12 36 -70 43v16h247z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="339" 
+d="M-8 0v16c56 10 65 15 81 74l123 442c7 25 11 48 11 62c0 28 -12 36 -70 43v16h247v-16c-57 -10 -66 -15 -82 -74l-123 -443c-9 -32 -11 -44 -11 -63c0 -28 11 -34 68 -41v-16h-244z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="444" 
+d="M491 653v-16c-57 -8 -65 -14 -82 -74l-103 -371c-15 -54 -49 -210 -195 -210c-70 0 -117 36 -117 88c0 32 19 54 46 54c25 0 48 -22 48 -47c0 -6 -1 -19 -1 -24c0 -27 11 -40 35 -40s38 15 49 54l131 465c8 28 12 50 12 64c0 27 -14 35 -77 41v16h254z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="652" 
+d="M707 653v-16c-24 -4 -47 -15 -75 -36l-300 -226l174 -303c28 -47 34 -50 97 -56v-16h-275v16c13 2 24 3 29 3c32 3 46 11 46 26c0 19 -14 54 -38 95l-121 208l-68 -249c-6 -20 -8 -29 -8 -39c0 -31 9 -37 72 -44v-16h-248v16c59 9 65 14 82 74l123 442c7 25 11 48 11 62
+c0 29 -15 37 -77 43v16h273v-16c-59 -4 -87 -24 -101 -74l-53 -194l152 106c89 62 144 116 144 140c0 11 -10 17 -34 19c-4 0 -15 2 -27 3v16h222z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="556" 
+d="M270 36c160 0 207 22 269 149l20 -6l-58 -179h-509v16c56 10 65 15 81 74l123 442c7 25 11 48 11 62c0 29 -15 37 -77 43v16h273v-16c-60 -4 -87 -23 -101 -74l-123 -443c-5 -19 -10 -43 -10 -50c0 -26 25 -34 101 -34z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="828" 
+d="M873 653v-16c-59 -9 -65 -14 -82 -74l-123 -443c-9 -31 -11 -44 -11 -61c0 -31 9 -37 77 -43v-16h-273v16c65 7 86 22 101 75l129 470l-377 -561h-17l-61 546l-118 -433c-5 -17 -9 -43 -9 -53c0 -28 20 -40 71 -44v-16h-198v16c52 6 68 26 98 130l106 372
+c10 42 22 66 22 82c0 23 -24 34 -74 37v16h181l55 -493l336 493h167z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="657" 
+d="M589 534c0 8 11 24 11 52c0 36 -13 46 -70 51v16h199v-16c-63 -14 -67 -20 -104 -149l-144 -503h-18l-230 550l-114 -422c-6 -21 -9 -41 -9 -54c0 -28 19 -39 70 -43v-16h-198v16c57 8 66 20 103 148l119 417c-18 39 -39 52 -86 56v16h161l208 -499z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="722" 
+d="M60 221c0 246 239 445 414 445c129 0 225 -100 225 -234c0 -188 -174 -450 -421 -450c-127 0 -218 99 -218 239zM295 15c179 0 299 291 299 466c0 94 -50 152 -129 152c-73 0 -134 -38 -190 -119c-60 -87 -110 -236 -110 -330c0 -108 46 -169 130 -169z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="603" 
+d="M597 504c0 -82 -54 -199 -271 -199c-41 0 -67 2 -92 8l-53 -193c-10 -36 -12 -46 -12 -58c0 -34 5 -37 68 -46v-16h-245v16c57 8 65 14 82 74l118 425c13 45 17 66 17 80c0 26 -14 35 -71 42v16h248c136 0 211 -53 211 -149zM494 504c0 64 -22 119 -134 119
+c-28 0 -40 -7 -46 -28l-71 -248c27 -4 35 -5 52 -5c114 0 199 30 199 162z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="722" 
+d="M60 221c0 246 243 445 410 445c133 0 229 -98 229 -233c0 -158 -101 -320 -249 -403c-56 -31 -94 -41 -171 -46l-54 -57h25c2 0 6 1 7 1c31 0 173 -43 227 -43c72 0 113 19 169 77l15 -11c-59 -82 -153 -134 -239 -134c-87 0 -190 45 -245 45c-39 0 -77 -10 -115 -31
+l-10 15c77 54 86 62 177 142c-44 10 -66 20 -92 41c-54 42 -84 110 -84 192zM293 17c186 0 301 295 301 463c0 95 -49 153 -129 153c-73 0 -134 -38 -190 -119c-61 -87 -110 -236 -110 -331c0 -105 47 -166 128 -166z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="616" 
+d="M593 509c0 -141 -155 -167 -197 -176l93 -245c19 -52 39 -69 83 -72v-16h-148l-123 324l-65 5l-56 -209c-9 -35 -12 -48 -12 -58c0 -33 7 -38 68 -46v-16h-244v16c56 9 65 15 81 74l123 442c7 27 12 51 12 63c0 35 -32 36 -71 42v16h248c134 0 208 -51 208 -144zM313 595
+l-65 -229c24 -4 35 -5 51 -5c125 0 189 51 189 150c0 74 -41 112 -124 112c-32 0 -45 -7 -51 -28z" />
+    <glyph glyph-name="S" unicode="S" 
+d="M309 666c71 0 102 -25 131 -25c22 0 31 5 45 26h23l-40 -199l-18 3c-3 90 -21 162 -121 162c-68 0 -110 -39 -110 -102c0 -49 9 -63 99 -154s113 -130 113 -195c0 -113 -87 -200 -202 -200c-67 0 -122 36 -156 36c-20 0 -31 -10 -38 -33h-18l34 223l20 -2
+c-1 -7 -2 -15 -2 -23c0 -95 63 -166 146 -166c73 0 129 58 129 133c0 131 -213 200 -213 349c0 98 74 167 178 167z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="556" 
+d="M633 653l-44 -163l-17 2c2 17 3 32 3 45c0 56 -32 81 -104 81h-55l-139 -498c-9 -34 -12 -46 -12 -59c0 -30 12 -39 52 -42c6 0 21 -2 38 -3v-16h-290v16c66 5 92 21 106 74l144 528h-21c-135 0 -167 -20 -217 -123l-18 4l42 154h532z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M637 591c0 35 -28 42 -71 46v16h199v-16c-62 -14 -66 -19 -104 -149l-83 -285c-44 -150 -127 -221 -258 -221c-126 0 -218 69 -218 165c0 40 13 104 43 212l53 192c4 17 7 33 7 45c0 29 -11 35 -78 41v16h273v-16c-93 -10 -93 -52 -110 -110c-67 -231 -98 -352 -98 -386
+c0 -70 57 -118 140 -118c182 0 212 219 231 281c48 169 74 271 74 287z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="611" 
+d="M688 653v-16c-23 -1 -39 -13 -56 -40l-373 -615h-19l-85 520c-21 125 -23 128 -79 135v16h241v-16c-63 -7 -77 -17 -77 -51c0 -6 0 -10 1 -15l66 -443l206 356c33 57 52 100 52 119s-18 29 -63 34v16h186z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="833" 
+d="M906 653v-16c-38 -12 -48 -21 -75 -72l-303 -583h-20l-50 454h-5l-222 -454h-19l-62 517c-14 104 -7 129 -79 138v16h236v-16c-61 -7 -73 -16 -73 -55c0 -2 0 -9 1 -14l44 -406l172 348l-9 69c-7 49 -17 56 -75 58v16h238v-16c-54 -5 -68 -18 -68 -59l41 -416l187 368
+c13 26 21 51 21 67c0 28 -11 35 -65 40v16h185z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="611" 
+d="M655 653v-16c-43 -14 -74 -36 -125 -95l-169 -194l102 -258c25 -60 34 -66 104 -74v-16h-273v16c66 5 76 10 76 39c0 15 -4 31 -11 49l-67 165l-151 -172c-13 -15 -21 -32 -21 -47c0 -25 17 -34 65 -34v-16h-214v16c74 15 100 67 303 297l-106 263c-19 46 -34 56 -92 61
+v16h264v-16c-55 -7 -71 -16 -71 -41c0 -13 4 -30 15 -56l59 -147l145 167c14 16 20 28 20 41c0 23 -12 30 -61 36v16h208z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="556" 
+d="M278 56c0 -33 23 -36 89 -40v-16h-289v16c66 4 89 20 105 74l61 212l-77 269c-17 55 -20 58 -76 66v16h239v-16c-60 -6 -72 -12 -72 -36c0 -25 15 -64 67 -254l38 46c104 121 150 186 150 213c0 25 -29 28 -69 31v16h189v-16c-30 -14 -38 -21 -70 -61l-219 -270l-29 -101
+c-7 -30 -37 -114 -37 -149z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="556" 
+d="M302 617c-176 0 -189 -74 -209 -115l-19 5l46 146h486v-14l-483 -603h161c183 0 205 45 250 135l19 -3l-54 -168h-505v14l479 603h-171z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="389" 
+d="M384 636h-62c-29 0 -41 -9 -47 -35l-160 -678c-4 -16 -4 -16 -4 -21c0 -19 17 -28 49 -28h56l-7 -27h-188l197 816h173z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M-41 666h72l288 -684h-71z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="389" 
+d="M19 -126h62c30 0 39 7 46 36l161 678c4 16 4 17 4 21c0 18 -17 27 -49 27h-57l7 27h189l-197 -816h-173z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="422" 
+d="M68 301h-68l181 365h60l181 -365h-68l-143 289z" />
+    <glyph glyph-name="underscore" unicode="_" 
+d="M500 -125h-500v50h500v-50z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M543.484 513h-40l-112.766 97c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918c0 4.55859 0.967773 9.58008 3.30664 15.082c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="a" unicode="a" 
+d="M384 41c15 0 46 35 80 69l12 -10c-74 -91 -99 -110 -139 -110c-28 0 -40 12 -40 41c0 24 3 37 23 115c-88 -124 -131 -157 -201 -157c-64 0 -102 41 -102 111c0 158 154 341 286 341c43 0 72 -21 80 -58l11 48l3 3l61 7l7 -3c-2 -9 -3 -11 -6 -21
+c-47 -172 -89 -343 -89 -363c0 -7 6 -13 14 -13zM365 358c0 37 -24 61 -61 61c-120 0 -203 -239 -203 -306c0 -46 23 -75 58 -75c98 0 206 197 206 320z" />
+    <glyph glyph-name="b" unicode="b" 
+d="M110 643v17c67 8 103 14 153 23l5 -5l-104 -388c71 110 123 151 193 151c67 0 116 -50 116 -120c0 -157 -166 -332 -317 -332c-56 0 -133 30 -133 53v4l136 501c4 14 16 56 16 69c0 22 -6 25 -65 27zM155 12c147 0 233 227 233 294c0 53 -27 86 -70 86
+c-128 0 -209 -267 -209 -346c0 -23 15 -34 46 -34z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="444" 
+d="M315 420c-127 0 -199 -169 -199 -281c0 -71 34 -114 91 -114c49 0 88 22 143 81l16 -10c-60 -76 -115 -107 -189 -107c-93 0 -147 55 -147 150c0 156 140 302 290 302c60 0 105 -35 105 -81c0 -26 -21 -46 -48 -46c-24 0 -39 14 -39 38c0 18 15 37 15 48
+c0 12 -15 20 -38 20z" />
+    <glyph glyph-name="d" unicode="d" 
+d="M463 111l12 -10c-52 -73 -104 -114 -146 -114c-25 0 -42 18 -42 45c0 23 2 38 13 89c-68 -100 -112 -132 -180 -132c-65 0 -105 43 -105 114c0 150 162 338 292 338c39 0 57 -16 65 -58l44 164c14 51 15 57 15 70c0 21 -7 24 -62 26v17c64 6 100 12 153 23l5 -5
+c-51 -200 -72 -280 -99 -372c-33 -110 -65 -232 -65 -246c0 -11 8 -20 18 -20c17 0 28 9 82 71zM356 361c0 49 -28 57 -49 57c-95 0 -205 -191 -205 -315c0 -39 24 -66 58 -66c92 0 196 172 196 324z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="444" 
+d="M358 109l12 -12c-59 -67 -136 -108 -207 -108c-78 0 -132 56 -132 137c0 150 157 315 301 315c50 0 80 -26 80 -68c0 -86 -106 -162 -256 -183l-28 -4c-8 -32 -10 -47 -10 -62c0 -54 37 -90 94 -90c43 0 74 16 146 75zM135 208c189 46 211 134 211 171
+c0 23 -14 39 -35 39c-51 0 -125 -77 -159 -166z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="278" 
+d="M-71 -143c0 -15 -9 -17 -9 -27c0 -9 8 -16 20 -16c42 0 75 55 97 162l88 420h-90l7 32h92c33 107 82 250 204 250c49 0 86 -28 86 -65c0 -22 -19 -40 -42 -40c-22 0 -37 16 -37 40c0 15 10 24 10 31s-9 12 -22 12c-56 0 -93 -71 -122 -228h108l-6 -32h-109l-72 -320
+c-41 -184 -111 -283 -200 -283c-44 0 -79 27 -79 61c0 23 16 41 37 41s39 -17 39 -38z" />
+    <glyph glyph-name="g" unicode="g" 
+d="M297 441c78 0 99 -36 114 -36h61v-39h-50c6 -20 9 -40 9 -56c0 -78 -94 -159 -185 -159c-24 0 -32 4 -38 4c-13 0 -36 -26 -36 -41c0 -51 213 -35 213 -174c0 -87 -84 -146 -210 -146c-101 0 -167 45 -167 114c0 46 18 66 117 131c-19 14 -27 26 -27 39c0 24 18 44 77 84
+c-57 26 -79 56 -79 108c0 94 90 171 201 171zM148 28c-3 0 -85 -41 -85 -110c0 -64 47 -102 127 -102c77 0 135 40 135 94c0 70 -99 92 -172 116c-2 1 -4 2 -5 2zM234 172c74 0 118 107 118 176c0 47 -19 71 -56 71c-65 0 -122 -80 -122 -172c0 -47 22 -75 60 -75z" />
+    <glyph glyph-name="h" unicode="h" 
+d="M448 374c0 -58 -81 -282 -81 -318c0 -9 7 -18 16 -18c16 0 28 11 82 79l13 -12c-60 -87 -95 -114 -146 -114c-27 0 -44 16 -44 42c0 12 7 43 20 92l55 207c4 16 7 29 7 33c0 13 -13 25 -28 25c-35 0 -103 -62 -155 -141c-40 -61 -53 -95 -93 -249h-75l135 512
+c17 61 24 84 24 105c0 12 -18 26 -32 26c-7 0 -5 -2 -9 -2h-26v15c60 7 99 14 157 27l5 -5l-120 -448c93 145 164 211 229 211c39 0 66 -27 66 -67z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="278" 
+d="M140 36c17 0 44 28 82 78l13 -11c-57 -84 -94 -114 -140 -114c-30 0 -46 20 -46 57c0 20 6 51 22 109l48 177c6 20 9 36 9 44c0 20 -10 23 -63 24v16c39 3 59 6 160 25l3 -2l-94 -344c-5.41895 -19.5098 -10 -34 -10 -44c0 -7 8 -15 16 -15zM214 654c27 0 50 -26 50 -55
+c0 -28 -23 -51 -49 -51c-29 0 -48 21 -48 53c0 30 20 53 47 53z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="278" 
+d="M109 400h-36v16c31 1 81 9 170 25l3 -2l-104 -411c-40 -159 -100 -235 -187 -235c-46 0 -79 26 -79 61c0 24 17 42 40 42s41 -16 41 -37c0 -19 -13 -21 -13 -32c0 -7 6 -11 18 -11c40 0 63 44 97 181l72 292c11 43 16 70 16 80c0 27 -24 31 -38 31zM226 654
+c27 0 50 -26 50 -55c0 -28 -23 -51 -49 -51c-29 0 -48 21 -48 53c0 31 20 53 47 53z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="444" 
+d="M236 258c79 -180 90 -217 118 -217c15 0 27 11 45 42l15 26l15 -11c-45 -84 -71 -109 -111 -109c-26 0 -64 18 -139 223l-42 -32l-48 -180h-75l127 483c7 32 29 102 33 132c-1 18 -18 25 -59 25h-9v16c59 7 97 14 156 27l5 -5l-120 -457c39 27 186 140 186 173
+c0 11 -14 18 -39 18h-16v16h183v-16c-47 -3 -78 -23 -225 -154z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="278" 
+d="M132 32c23 0 32 12 96 91l13 -9c-65 -96 -100 -125 -152 -125c-32 0 -49 20 -49 56c0 5 2 15 5 26l137 528c3 9 4 15 4 18c0 16 -20 23 -68 23v16c59 7 97 14 156 27l5 -5l-151 -579c-1 -2 -11 -39 -11 -49c0 -11 5 -18 15 -18z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="722" 
+d="M604 38c17 0 30 13 85 79l15 -12c-43 -60 -89 -114 -149 -114c-26 0 -40 16 -40 46c0 10 4 29 13 66l58 230c5 18 7 30 7 35c0 11 -9 21 -20 21c-29 0 -79 -44 -128 -112c-51 -71 -71 -121 -111 -277h-75c63 234 95 355 95 364c0 16 -7 25 -20 25
+c-34 0 -94 -56 -150 -141c-34 -52 -49 -89 -97 -248h-75c13 51 16 61 39 143c36 127 59 218 59 229c0 15 -13 22 -39 22h-25v16c83 15 104 19 160 31l3 -2l-58 -209c92 145 162 211 223 211c34 0 57 -25 57 -60c0 -19 -15 -76 -40 -152c29 46 128 212 222 212
+c34 0 59 -27 59 -63c0 -6 -2 -24 -3 -28l-68 -251c-6 -24 -10 -40 -10 -45c0 -10 5 -16 13 -16z" />
+    <glyph glyph-name="n" unicode="n" 
+d="M460 117l14 -13c-69 -92 -95 -113 -140 -113c-33 0 -47 16 -47 54c0 10 2.37305 23.8994 16 75l44 165c8 31 14 64 14 76c0 18 -9 29 -24 29c-37 0 -88 -50 -148 -142c-44 -68 -53 -90 -100 -248h-75l96 350c1 5 2 11 2 17c0 20 -13 26 -64 27v16c87 16 108 20 162 31
+l3 -2l-67 -218c103 160 166 220 230 220c39 0 66 -25 66 -61c0 -14 -3 -36 -9 -57l-57 -206c-14 -56 -14 -56 -14 -63c0 -8 8 -16 16 -16c14 0 32 16 61 53z" />
+    <glyph glyph-name="o" unicode="o" 
+d="M468 301c0 -129 -131 -312 -294 -312c-91 0 -147 54 -147 140c0 157 148 312 298 312c85 0 143 -57 143 -140zM189 10c112 0 195 198 195 316c0 57 -28 94 -71 94c-106 0 -202 -189 -202 -319c0 -55 31 -91 78 -91z" />
+    <glyph glyph-name="p" unicode="p" 
+d="M89 404h-33l-2 15c52.0918 7.42285 150.745 22 156 22c2.56152 0 5 -0.3125 5 -4l-32 -109c58 81 106 113 171 113c71 0 115 -47 115 -125c0 -159 -154 -327 -300 -327c-23 0 -41 4 -66 17c-20 -74 -37 -152 -37 -166c0 -21 17 -30 64 -30v-15h-205v16
+c72 2 56 28 125 283c35 132 71 274 71 283c0 13 -19 27 -32 27zM379 312c0 48 -12 86 -66 86c-49 0 -105 -48 -131 -114c-29 -74 -65 -205 -65 -239c0 -22 20 -37 48 -37c129 0 214 195 214 304z" />
+    <glyph glyph-name="q" unicode="q" 
+d="M391 -191v-18h-241v16c65 5 82 13 94 53l89 293c-89 -127 -135 -164 -206 -164c-63 0 -102 45 -102 116c0 152 161 336 293 336c41 0 61 -16 77 -62l15 47h73l-164 -577c-2.0625 -8.24805 -2 -9.59961 -2 -12c0 -18 21 -28 57 -28h17zM167 42c95 0 213 197 213 316
+c0 34 -26 61 -59 61c-92 0 -210 -185 -210 -300c0 -47 22 -77 56 -77z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="389" 
+d="M366 340c-44 0 -30 36 -52 36c-17 0 -45 -31 -78 -87c-46 -76 -63 -119 -115 -289h-76l81 292c14.5166 52.332 16.1318 64.3945 16.1318 73.749c0 2.67871 -0.131836 5.13477 -0.131836 8.25098c0 18 -13 28 -35 28c-7 0 -10 0 -34 -5v17c73 12 82 14 155 27l3 -2
+l-53 -217l14 36c17 43 104 183 173 183c28 0 47 -21 47 -52s-17 -49 -46 -49z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="389" 
+d="M160 -11c-39 0 -71 19 -104 19c-10 0 -16 -5 -24 -21h-16l20 159h16c16 -95 47 -136 102 -136c44 0 74 32 74 77c0 88 -119 149 -119 244c0 67 48 110 121 110c37 0 70 -17 92 -17c14 0 22 4 30 18h14l-20 -139h-16c-10 78 -40 115 -92 115c-35 0 -56 -21 -56 -54
+c0 -74 122 -149 122 -245c0 -76 -60 -130 -144 -130z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="278" 
+d="M296 428l-5 -32h-84l-88 -333c-1 -3 -1 -4 -1 -5c0 -12 6 -20 15 -20c16 0 32 16 81 79l13 -7c-63 -93 -96 -121 -142 -121c-27 0 -48 16 -48 38c0 19 20 81 23 94l72 275h-74c-1 3 -1 5 -1 6c0 32 70 11 165 135c6 8 9 9 15 9c5 0 8 -3 8 -10c0 -1 0 -3 -1 -5l-28 -103
+h80z" />
+    <glyph glyph-name="u" unicode="u" 
+d="M118 376c0 20 -19 24 -60 24v14c57 7 93 14 150 27l3 -2l-91 -363c-1 -3 -1 -5 -1 -9c0 -15 9 -25 21 -25c32 0 81 51 141 146c46 73 53 89 110 244h74l-79 -299c-19 -72 -19 -72 -19 -78c0 -11 4 -17 11 -17c16 0 31 14 83 79l14 -9c-68 -97 -91 -117 -138 -117
+c-30 0 -48 18 -48 48c0 21 16 90 45 197c-115 -193 -168 -247 -239 -247c-35 0 -53 19 -53 55c0 18 7 52 25 123l37 142c9 34 14 59 14 67z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="444" 
+d="M375 333c0 28 -42 34 -42 74c0 21 15 34 37 34c30 0 56 -27 56 -59c0 -37 -26 -102 -61 -152c-102 -142 -195 -248 -220 -248c-7 0 -9 7 -9 35c0 58 -12 209 -22 278c-14 92 -24 109 -63 109c-11 0 -19 0 -30 -1v13c105 17 108 25 131 25c22 0 47 -203 55 -371l31 32
+c71 74 137 185 137 231z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="667" 
+d="M51 405c-9 0 -8 -1 -15 -1h-20v13c12 2 22 4 26 4c79 12 81 20 98 20c28 0 48 -260 50 -315l192 304c5 8 8 10 13 10c6 0 7 -3 8 -14l32 -352c131 163 165 217 165 260c0 31 -43 41 -43 73c0 21 15 34 39 34c30 0 52 -22 52 -52c0 -106 -243 -407 -266 -407
+c-7 0 -9 3 -11 30l-29 319l-89 -156c-67 -118 -97 -193 -119 -193c-9 0 -11 8 -13 47l-4 88c-3 79 -15 185 -27 242c-6 35 -15 46 -39 46z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="444" 
+d="M334 44c18 0 19 12 68 67l14 -8c-58 -90 -84 -114 -122 -114c-32 0 -45 16 -58 67l-30 120c-125 -173 -147 -187 -183 -187c-30 0 -50 16 -50 42c0 20 15 35 34 35c23 0 40 -19 58 -19c11 0 30 18 51 48l82 117l-29 123c-14 60 -20 69 -45 69c-9 0 -18 -2 -56 -11l-4 15
+l11 4c61 20 95 29 117 29c27 0 38 -20 52 -88l11 -55c69 107 107 143 151 143c24 0 41 -16 41 -37s-14 -36 -35 -36c-20 0 -33 17 -51 17s-54 -44 -98 -121c0 -20 30 -140 40 -179c7 -28 16 -41 31 -41z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="444" 
+d="M15 417c97 18 110 21 143 24c15 0 71 -165 86 -253l20 -116c85 141 122 219 122 259c0 37 -54 32 -54 73c0 22 16 37 39 37c30 0 55 -25 55 -55c0 -128 -279 -592 -399 -592c-29 0 -51 19 -51 44c0 22 17 39 39 39c23 0 47 -28 61 -28c32 0 129 121 129 159
+c0 17 -24 134 -41 199c-46 172 -61 197 -118 197c-11 0 -18 -1 -31 -4v17z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="389" 
+d="M269 -81c-76 0 -147 86 -216 86c-17 0 -30 -5 -46 -18l-9 9l310 372h-146c-47 0 -60 -9 -81 -59l-16 4l31 115h284v-11l-290 -344c134 -30 117 -133 191 -133c16 0 27 6 27 15c0 10 -14 25 -14 45c0 18 14 31 34 31c21 0 35 -15 35 -36c0 -40 -44 -76 -94 -76z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="400" 
+d="M51 -99c0 61 66 235 66 297c0 29 -13 43 -52 57c64 17 85 41 105 114l48 178c31 106 76 140 189 140l-3 -11c-62 -16 -88 -45 -109 -124l-45 -168c-22 -83 -48 -112 -113 -129c39 -17 55 -36 55 -63c0 -47 -66 -249 -66 -292c0 -37 15 -55 53 -66l-3 -11
+c-92 3 -125 23 -125 78z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="275" 
+d="M105 -18v684h66v-684h-66z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="400" 
+d="M208 318c0 48 66 253 66 291c0 37 -15 56 -53 67l3 11c91 -3 125 -24 125 -78c0 -59 -66 -233 -66 -297c0 -29 13 -43 52 -57c-64 -17 -85 -41 -105 -114l-48 -178c-31 -106 -77 -140 -189 -140l3 11c62 16 88 45 109 124l45 168c22 83 47 112 113 129
+c-39 17 -55 36 -55 63z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="541" 
+d="M163 320c100 0 134 -68 211 -68c31 0 48 12 74 51l54 -32c-46 -64 -77 -85 -123 -85c-100 0 -134 68 -211 68c-31 0 -48 -12 -74 -51l-54 32c46 64 77 85 123 85z" />
+    <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="250" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="389" 
+d="M241 281c-87 -395 -75 -486 -142 -486c-26 0 -40 17 -40 51c0 71 36 87 165 439zM270 474c29 0 51 -23 51 -55c0 -26 -25 -51 -52 -51c-29 0 -54 25 -54 54c0 28 25 52 55 52z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" 
+d="M185 -7c-28 6 -108 29 -108 147c0 122 94 274 265 300l42 120h30l-42 -120c62 -5 100 -33 100 -80c0 -26 -20 -46 -48 -46c-24 0 -39 14 -39 38c0 18 15 37 15 48c0 12 -12 19 -35 20l-137 -391c8 -3 14 -4 24 -4c51 0 89 22 145 81l16 -10c-60 -75 -114 -107 -186 -107
+c-5 0 -7 0 -12 1l-47 -133h-31zM334 417c-146 -42 -171 -224 -171 -278c0 -45 12 -75 39 -98z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" 
+d="M478 553c-59 0 -12 88 -76 88c-57 0 -80 -54 -122 -280h123l-7 -42h-126c-26 -110 -32 -126 -73 -215c71 -27 118 -38 160 -38c29 0 51 7 79 27l10 7l11 -9c-25 -62 -75 -97 -142 -97c-49 0 -80 14 -144 63c-39 -49 -61 -63 -96 -63c-39 0 -65 26 -65 64
+c0 40 39 68 94 68c15 0 16 0 56 -11l25 204h-113l9 42h110c24 134 84 309 233 309c55 0 93 -31 93 -76c0 -27 -14 -41 -39 -41zM146 73c-30 21 -39 25 -60 25c-32 0 -54 -18 -54 -45c0 -21 19 -37 43 -37c30 0 59 23 71 57z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" 
+d="M-22 103l98 96c-29 42 -41 79 -41 126c0 48 12 86 41 126l-98 98l50 48l96 -96c43 28 80 39 127 39c48 0 87 -12 125 -39l98 96l48 -48l-96 -98c27 -41 39 -78 39 -125s-11 -84 -39 -127l96 -96l-48 -50l-98 98c-39 -28 -78 -41 -125 -41c-46 0 -85 13 -127 41l-96 -98z
+M253 476c-83 0 -150 -66 -150 -149c0 -85 66 -153 148 -153c81 0 146 67 146 152c0 82 -65 150 -144 150z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" 
+d="M483 606c0 25 -29 28 -69 31v16h189v-16c-32 -14 -41 -21 -73 -61l-181 -224h151l-12 -40h-170l-6 -8l-24 -82h180l-12 -40h-180c-25 -79 -31 -103 -31 -125c0 -35 24 -37 92 -41v-16h-285l4 16c63 4 94 22 109 74l27 92h-165l12 40h164l23 80l-3 10h-163l12 40h140
+l-63 219c-17 54 -22 58 -88 66v16h239v-16c-64 -6 -75 -11 -75 -36c0 -15 11 -58 39 -154l29 -100c42 48 190 217 190 259z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="275" 
+d="M105 -18v275h66v-275h-66zM105 391v275h66v-275h-66z" />
+    <glyph glyph-name="section" unicode="&#xa7;" 
+d="M156 -41c0 -50 -42 -39 -42 -63c0 -20 34 -37 71 -37c60 0 102 37 102 90c0 30 -12 54 -50 97l-76 87c-47 53 -71 106 -71 153c0 67 48 123 106 123c17 0 36 -4 53 -11l2 3c-50 61 -67 96 -67 140c0 73 61 125 147 125c76 0 130 -41 130 -99c0 -34 -20 -55 -52 -55
+c-27 0 -46 19 -46 45c0 33 34 40 34 57s-26 31 -60 31c-57 0 -92 -32 -92 -83c0 -26 9 -52 26 -72l123 -150c26 -32 41 -73 41 -114c0 -75 -48 -126 -118 -126c-14 0 -21 2 -33 7l-2 -3c53 -68 63 -89 63 -129c0 -78 -68 -137 -156 -137c-76 0 -136 47 -136 108
+c0 35 21 56 56 56c29 0 47 -16 47 -43zM377 192c0 69 -100 196 -164 196c-36 0 -66 -29 -66 -66c0 -71 107 -201 165 -201c35 0 65 33 65 71z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M157 606c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM357 606c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="760" 
+d="M409 523c47 0 120 -15 120 -39v-69h-16c-10 59 -45 88 -106 88c-90 0 -139 -61 -139 -172c0 -112 51 -175 141 -175c57 0 92 25 120 84h16l-15 -68c-4 -23 -82 -36 -132 -36c-126 0 -207 73 -207 187c0 118 89 200 218 200zM380 666c192 0 339 -151 339 -348
+c0 -185 -151 -336 -337 -336c-190 0 -341 151 -341 341s151 343 339 343zM381 624c-155 0 -285 -137 -285 -301c0 -163 130 -299 285 -299c153 0 283 136 283 295c0 169 -126 305 -283 305z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="276" 
+d="M307 447c3 0 16 15 36 35l7 -10c-49 -55 -64 -66 -90 -66c-19 0 -31 10 -31 26s3 26 17 61c-49 -68 -77 -87 -126 -87c-48 0 -78 27 -78 70c0 93 101 200 189 200c34 0 54 -11 59 -35l7 30l2 2l53 2c-33 -116 -50 -182 -54 -203l-3 -15c-1 -3 -1 -6 -1 -8c0 -3 2 -6 4 -6
+s9 4 9 4zM269 620c0 16 -5 38 -24 38c-51 0 -130 -106 -130 -178c0 -20 14 -40 29 -40c69 0 125 139 125 180z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="444" 
+d="M364 37c-12 0 -136 160 -149 179v9l36 27c57 44 65 51 91 74c66 58 90 77 96 77c4 0 7 -4 7 -8c0 -28 -87 -104 -156 -178l20 -40c36 -67 62 -123 62 -133c0 -4 -3 -7 -7 -7zM200 37c-12 0 -136 160 -149 179v9l36 27c57 44 65 51 91 74c66 58 90 77 96 77c4 0 7 -4 7 -8
+c0 -28 -87 -104 -156 -178l20 -40c36 -67 62 -123 62 -133c0 -4 -3 -7 -7 -7z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="675" 
+d="M524 108v212h-438v66h504v-278h-66z" />
+    <glyph glyph-name="softhyphen" unicode="&#xad;" horiz-adv-x="333" 
+d="M282 255l-13 -63h-220l14 63h219z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="760" 
+d="M500 146c-30 0 -37 36 -120 161h-47v-98c0 -43 0 -43 48 -48v-15h-160v15c48 5 48 5 48 48v239c0 43 0 43 -48 48v15h175c70 0 114 -36 114 -91c0 -47 -27 -82 -79 -103l57 -78c31 -42 55 -69 75 -84v-9h-63zM333 492v-167h42c44 0 68 32 68 89c0 51 -24 78 -69 78h-41z
+M380 666c192 0 339 -151 339 -348c0 -185 -151 -336 -337 -336c-190 0 -341 151 -341 341s151 343 339 343zM381 624c-155 0 -285 -137 -285 -301c0 -163 130 -299 285 -299c153 0 283 136 283 295c0 169 -126 305 -283 305z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M411 583l-11 -51h-301l11 51h301z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="400" 
+d="M244 676c80 0 143 -63 143 -143c0 -81 -63 -143 -145 -143c-78 0 -141 64 -141 143c0 80 63 143 143 143zM244 642c-57 0 -104 -50 -104 -109s47 -109 103 -109c58 0 105 49 105 109c0 59 -48 109 -104 109z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="675" 
+d="M86 0v66h504v-66h-504zM305 348v220h66v-220h219v-66h-219v-160h-66v160h-219v66h219z" />
+    <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="300" 
+d="M169 580c31 73 85 96 135 96c61 0 111 -46 111 -101c0 -35 -12 -52 -99 -136l-114 -110l2 -5h108c36 0 49 7 65 34l11 -8l-33 -79h-231v18l133 130c62 60 93 107 93 139c0 37 -35 67 -78 67c-36 0 -61 -15 -90 -53z" />
+    <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="300" 
+d="M320 392c0 78 -50 97 -113 97v9c100 18 147 49 147 94c0 30 -22 52 -50 52c-26 0 -44 -9 -73 -36l-10 7c20 38 60 61 105 61c54 0 95 -33 95 -76c0 -39 -24 -60 -101 -87c18 -9 63 -22 63 -88c0 -92 -77 -157 -185 -157c-47 0 -73 14 -73 39c0 15 13 28 30 28
+c27 0 49 -36 81 -36c48 0 84 40 84 93z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M180 494l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="micro" unicode="&#xb5;" 
+d="M73 18c0 -49 2 -35 2 -84c0 -87 -28 -143 -71 -143c-23 0 -34 15 -34 45c0 80 46 101 72 218l85 374h88l-67 -284c-2 -7 -3 -21 -3 -30c0 -42 27 -69 69 -69c43 0 87 25 122 70l73 313h88l-78 -336c-6 -22 -6 -24 -6 -34c0 -18 9 -28 26 -28s31 7 56 26
+c-5 -14 -48 -66 -110 -66c-38 0 -57 20 -57 59c0 10 1 17 4 31c-53 -62 -101 -90 -154 -90s-84 24 -103 76c-1 -21 -2 -32 -2 -48z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="523" 
+d="M92 403c0 97 40 250 267 250h257l-6 -21c-76 -5 -84 -10 -97 -58l-156 -585c-3 -9 -15 -50 -15 -65c0 -14 14 -20 49 -24c3 0 13 -1 23 -2l-5 -21h-148l200 755h-58l-200 -755h-148l5 21c46 4 62 7 74 13c22 7 65 204 111 372c-133 5 -153 71 -153 120zM334 632
+c-118 -8 -165 -145 -165 -226c0 -57 28 -96 86 -102z" />
+    <glyph glyph-name="middot" unicode="&#xb7;" horiz-adv-x="250" 
+d="M192 286c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M21 -96l60 96h38l-44 -66c10 2 17 3 25 3c50 0 82 -27 82 -68c0 -50 -50 -86 -119 -86c-28 0 -51 5 -93 21l17 29c30 -11 47 -15 68 -15c34 0 53 15 53 41s-19 44 -46 44c-10 0 -18 -2 -32 -7z" />
+    <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="250" 
+d="M223 654c100 16 103 20.999 125 20.999c1 0 3 1 3 1h3c2 0 5 -3 5 -5s-1 -8 -4 -16l-86 -274c-12 -38 -19 -65 -19 -74c0 -15 11 -19 49 -20v-16h-181v16c47 5 60 10 65 25l90 285c4 12 5 17 5 21c0 10.9883 -7.8584 17.6895 -16.3291 17.6895
+c-1.55078 0 -3.12305 -0.224609 -4.6709 -0.688477h-34v19z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="310" 
+d="M265 676c57 0 97 -35 97 -84c0 -92 -100 -186 -198 -186c-59 0 -97 33 -97 83c0 95 97 187 198 187zM289 607c0 35 -14 47 -34 47c-54 0 -115 -95 -115 -178c0 -28 15 -46 38 -46c63 0 111 111 111 177z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="444" 
+d="M261 403c13 0 141 -167 149 -179v-9c-91 -70 -101 -78 -127 -101c-64 -56 -90 -77 -96 -77c-4 0 -7 4 -7 8c0 30 95 112 154 178l-18 40c-36 67 -62 123 -62 133c0 4 3 7 7 7zM98 403c13 0 141 -167 149 -179v-9c-91 -70 -101 -78 -127 -101c-64 -56 -90 -77 -96 -77
+c-4 0 -7 4 -7 8c0 30 95 112 154 178l-18 40c-36 67 -62 123 -62 133c0 4 3 7 7 7z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="750" 
+d="M770 147l-9 -43h-58l-30 -104h-63l32 105h-168l13 42l271 259h36l-79 -259h55zM711 333l-189 -186h129zM707 676l-455 -686h-51l455 686h51zM272 287v-16.001h-181v16c47 5 60 10 65 25l90 285c4 12 5 17 5 21c0 12.6533 -7.82715 17.4795 -18.6787 17.4795
+c-2.0127 0 -4.12988 -0.166016 -6.32129 -0.478516h-30v19l70 12c27 5 55 10 60 10c3 0 5 -2 5 -5c0 -4 -1 -11 -3 -16l-86 -274c-12 -38 -19 -65 -19 -74c0 -15 11 -19 49 -20z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="750" 
+d="M679 676l-455 -686h-51l455 686h51zM183 654c100 17 103 20.999 125 20.999c1 0 3 1 3 1h2c3 0 5 -2 5 -5c0 -1 0.111328 -1.66699 0.111328 -2.59277c0 -1.85059 -0.444336 -4.73926 -3.11133 -13.4062l-86 -274c-12 -39 -19 -66 -19 -74c0 -15 11 -19 49 -20v-16h-181
+v16c47 5 60 10 65 25l90 285c5 15 5 15 5 20c0 15 -8.66699 18 -24 18h-31v19zM547 308.999c31 74 86 97 136 97c60 0 110 -47 110 -102c0 -35 -12 -52 -99 -136l-114 -110l2 -5h108c36 0 49 7 65 34l11 -8l-33 -79h-231v18l133 130c61 60 93 107 93 139c0 37 -35 67 -78 67
+c-36 0 -61 -15 -90 -53z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="750" 
+d="M782 147l-9 -43h-58l-30 -104h-63l32 105h-168l13 42l271 259h36l-79 -259h55zM723 333l-189 -186h129zM720 676l-455 -686h-51l455 686h51zM288 392c0 78 -50 97 -113 97v9c100 18 147 49 147 94c0 30 -22 52 -50 52c-26 0 -44 -9 -73 -36l-10 7c20 38 60 61 105 61
+c54 0 95 -33 95 -76c0 -39 -24 -60 -101 -87c18 -9 63 -22 63 -88c0 -92 -77 -157 -185 -157c-47 0 -73 14 -73 39c0 15 13 28 30 28c27 0 49 -36 81 -36c48 0 84 40 84 93z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" 
+d="M252 -135c0 19 -15 33 -15 52c0 20 16 35 40 35s39 -18 39 -48c0 -64 -58 -109 -141 -109c-89 0 -147 51 -147 129c0 141 210 177 249 332l7 29l17 -2c-18 -99 -28 -122 -112 -216c-64 -72 -87 -113 -87 -166c0 -54 29 -84 80 -84c43 0 70 18 70 48zM314 473
+c30 0 53 -23 53 -52c0 -30 -23 -53 -52 -53s-53 24 -53 53c0 27 24 52 52 52z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="611" 
+d="M564 16v-16h-246v16c64 6 78 15 78 53c0 8 -1 17 -2 26l-20 131h-220l-57 -113c-17 -34 -20 -43 -20 -62c0 -25 8 -30 59 -35v-16h-187v16c40 8 51 18 129 152l290 500h26l94 -566c13 -73 19 -81 76 -86zM175 262h194l-44 260zM425.484 725h-40l-112.766 97
+c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918c0 4.55859 0.967773 9.58008 3.30664 15.082c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="611" 
+d="M564 16v-16h-246v16c64 6 78 15 78 53c0 8 -1 17 -2 26l-20 131h-220l-57 -113c-17 -34 -20 -43 -20 -62c0 -25 8 -30 59 -35v-16h-187v16c40 8 51 18 129 152l290 500h26l94 -566c13 -73 19 -81 76 -86zM175 262h194l-44 260zM319 706l162 160c7 6 15 10 25 10
+c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="611" 
+d="M564 16v-16h-246v16c64 6 78 15 78 53c0 8 -1 17 -2 26l-20 131h-220l-57 -113c-17 -34 -20 -43 -20 -62c0 -25 8 -30 59 -35v-16h-187v16c40 8 51 18 129 152l290 500h26l94 -566c13 -73 19 -81 76 -86zM175 262h194l-44 260zM547.767 719h-34l-100.107 103
+l-142.893 -103h-34l159.496 167h62z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="611" 
+d="M564 16v-16h-246v16c64 6 78 15 78 53c0 8 -1 17 -2 26l-20 131h-220l-57 -113c-17 -34 -20 -43 -20 -62c0 -25 8 -30 59 -35v-16h-187v16c40 8 51 18 129 152l290 500h26l94 -566c13 -73 19 -81 76 -86zM175 262h194l-44 260zM569.121 802h29
+c-53.3086 -76 -95.0625 -106 -150.062 -106c-25 0 -38.2988 4 -70.7969 24l-18.3242 11c-12.0234 7 -24.3242 11 -36.3242 11c-23 0 -46.375 -15 -70.5547 -46h-29c42.6328 65 93.9375 101 143.938 101c22 0 44.4492 -6 62.3477 -18l18.8984 -12
+c15.1738 -9 31.623 -15 46.623 -15c23 0 41.1016 12 74.2559 50z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="611" 
+d="M564 16v-16h-246v16c64 6 78 15 78 53c0 8 -1 17 -2 26l-20 131h-220l-57 -113c-17 -34 -20 -43 -20 -62c0 -25 8 -30 59 -35v-16h-187v16c40 8 51 18 129 152l290 500h26l94 -566c13 -73 19 -81 76 -86zM175 262h194l-44 260zM296 801c25 0 48 -24 48 -49
+c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM496 801c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="611" 
+d="M564 16v-16h-246v16c64 6 78 15 78 53c0 8 -1 17 -2 26l-20 131h-220l-57 -113c-17 -34 -20 -43 -20 -62c0 -25 8 -30 59 -35v-16h-187v16c40 8 51 18 129 152l290 500h26l94 -566c13 -73 19 -81 76 -86zM175 262h194l-44 260zM431.128 900
+c47.9111 0 80.9756 -34.1465 80.9756 -79.3057c0 -66.4229 -64.2393 -119.694 -123.274 -119.694c-48.4219 0 -80.1309 32.8965 -80.1309 78.0039c0 66.7627 64.0957 120.996 122.43 120.996zM424.9 866c-40.8994 0 -81.3047 -37.1377 -81.3047 -78.835
+c0 -29.5361 21.0625 -52.165 51.46 -52.165c38.7861 0 82.2598 34.4561 82.2598 78.4277c0 29.7354 -21.8779 52.5723 -52.415 52.5723z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="889" 
+d="M221 234c-24 -31 -125 -146 -125 -187c0 -19 11 -25 64 -31v-16h-187v16c24 6 36 16 84 76l369 465c30 37 32 41 32 53c0 16 -11 24 -38 26c-4 0 -15 1 -26 2v15h517l-33 -153l-17 2c1 13 1 30 1 36c0 70 -28 82 -192 82c-47 0 -55 -5 -64 -37l-61 -222
+c159 1 169 6 211 97l18 -4l-69 -232l-17 4c4 24 6 38 6 52c0 41 -21 50 -118 50h-40c-58 -206 -71 -254 -71 -266c0 -20 16 -29 51 -29h30c150 0 204 27 280 136l18 -5l-64 -164h-498v16c61 6 69 11 80 48l49 170h-190zM249 271h173l95 342z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="667" 
+d="M472 666c67 0 130 -24 158 -24c20 0 30 6 38 22h21l-37 -199l-18 3c-10 108 -61 162 -153 162c-66 0 -129 -28 -177 -77c-78 -81 -126 -202 -126 -321c0 -129 64 -205 175 -205c82 0 140 30 230 118l17 -14c-90 -105 -170 -149 -273 -149c-16 0 -32 1 -50 4l-35 -52
+c10 2 17 3 25 3c50 0 82 -27 82 -68c0 -50 -50 -86 -119 -86c-28 0 -51 5 -93 21l17 29c29 -11 47 -15 68 -15c34 0 53 15 53 41s-19 44 -46 44c-10 0 -18 -2 -32 -7l-9 8l56 90c-109 32 -178 128 -178 249c0 222 193 423 406 423z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="611" 
+d="M249 33c189 0 228 45 296 137l16 -8l-62 -162h-507v16c56 10 65 17 81 74l123 442c5 18 11 53 11 64c0 27 -15 35 -77 41v16h497l-31 -153l-21 2c1 17 2 32 2 45c0 60 -35 73 -192 73c-56 0 -67 -4 -73 -26l-66 -233c35 1 67 2 79 2c91 4 100 10 138 95l18 -4l-68 -232
+l-20 5c5 22 7 35 7 52c0 33 -13 46 -77 46h-8c-12 0 -43 1 -78 3c-55 -209 -68 -215 -68 -261c0 -24 24 -34 80 -34zM489.484 725h-40l-112.766 97c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918c0 4.55859 0.967773 9.58008 3.30664 15.082
+c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="611" 
+d="M249 33c189 0 228 45 296 137l16 -8l-62 -162h-507v16c56 10 65 17 81 74l123 442c5 18 11 53 11 64c0 27 -15 35 -77 41v16h497l-31 -153l-21 2c1 17 2 32 2 45c0 60 -35 73 -192 73c-56 0 -67 -4 -73 -26l-66 -233c35 1 67 2 79 2c91 4 100 10 138 95l18 -4l-68 -232
+l-20 5c5 22 7 35 7 52c0 33 -13 46 -77 46h-8c-12 0 -43 1 -78 3c-55 -209 -68 -215 -68 -261c0 -24 24 -34 80 -34zM333 706l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="611" 
+d="M249 33c189 0 228 45 296 137l16 -8l-62 -162h-507v16c56 10 65 17 81 74l123 442c5 18 11 53 11 64c0 27 -15 35 -77 41v16h497l-31 -153l-21 2c1 17 2 32 2 45c0 60 -35 73 -192 73c-56 0 -67 -4 -73 -26l-66 -233c35 1 67 2 79 2c91 4 100 10 138 95l18 -4l-68 -232
+l-20 5c5 22 7 35 7 52c0 33 -13 46 -77 46h-8c-12 0 -43 1 -78 3c-55 -209 -68 -215 -68 -261c0 -24 24 -34 80 -34zM584.767 719h-34l-100.107 103l-142.893 -103h-34l159.496 167h62z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="611" 
+d="M249 33c189 0 228 45 296 137l16 -8l-62 -162h-507v16c56 10 65 17 81 74l123 442c5 18 11 53 11 64c0 27 -15 35 -77 41v16h497l-31 -153l-21 2c1 17 2 32 2 45c0 60 -35 73 -192 73c-56 0 -67 -4 -73 -26l-66 -233c35 1 67 2 79 2c91 4 100 10 138 95l18 -4l-68 -232
+l-20 5c5 22 7 35 7 52c0 33 -13 46 -77 46h-8c-12 0 -43 1 -78 3c-55 -209 -68 -215 -68 -261c0 -24 24 -34 80 -34zM331 801c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM531 801c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50
+c0 26 22 48 50 48z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="333" 
+d="M-8 0v16c56 10 65 15 81 74l123 442c7 25 11 48 11 62c0 28 -12 36 -70 43v16h247v-16c-57 -10 -66 -15 -82 -74l-123 -443c-9 -32 -11 -44 -11 -63c0 -28 11 -34 68 -41v-16h-244zM375.484 725h-40l-112.766 97c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918
+c0 4.55859 0.967773 9.58008 3.30664 15.082c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="333" 
+d="M-8 0v16c56 10 65 15 81 74l123 442c7 25 11 48 11 62c0 28 -12 36 -70 43v16h247v-16c-57 -10 -66 -15 -82 -74l-123 -443c-9 -32 -11 -44 -11 -63c0 -28 11 -34 68 -41v-16h-244zM180 706l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106
+h-35z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="333" 
+d="M-8 0v16c56 10 65 15 81 74l123 442c7 25 11 48 11 62c0 28 -12 36 -70 43v16h247v-16c-57 -10 -66 -15 -82 -74l-123 -443c-9 -32 -11 -44 -11 -63c0 -28 11 -34 68 -41v-16h-244zM446.767 719h-34l-100.107 103l-142.893 -103h-34l159.496 167h62z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="333" 
+d="M-8 0v16c56 10 65 15 81 74l123 442c7 25 11 48 11 62c0 28 -12 36 -70 43v16h247v-16c-57 -10 -66 -15 -82 -74l-123 -443c-9 -32 -11 -44 -11 -63c0 -28 11 -34 68 -41v-16h-244zM187 818c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z
+M387 818c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M700 384c0 -216 -182 -384 -455 -384h-253v16c56 10 65 16 81 74l65 236h-90l12 42h90l46 164c7 24 11 48 11 64c0 27 -14 35 -77 41v16h278c178 0 292 -105 292 -269zM589 408c0 85 -32 215 -212 215c-42 0 -58 -7 -64 -29l-63 -226h153l-12 -42h-153l-46 -164
+c-16 -56 -22 -83 -22 -95c0 -26 19 -37 65 -37c212 0 354 151 354 378z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="667" 
+d="M589 534c0 8 11 24 11 52c0 36 -13 46 -70 51v16h199v-16c-63 -14 -67 -20 -104 -149l-144 -503h-18l-230 550l-114 -422c-6 -21 -9 -41 -9 -54c0 -28 19 -39 70 -43v-16h-198v16c57 8 66 20 103 148l119 417c-18 39 -39 52 -86 56v16h161l208 -499zM619.121 838h29
+c-53.3086 -76 -95.0625 -106 -150.062 -106c-25 0 -38.2988 4 -70.7969 24l-18.3242 11c-12.0234 7 -24.3242 11 -36.3242 11c-23 0 -46.375 -15 -70.5547 -46h-29c42.6328 65 93.9375 101 143.938 101c22 0 44.4492 -6 62.3477 -18l18.8984 -12
+c15.1738 -9 31.623 -15 46.623 -15c23 0 41.1016 12 74.2559 50z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="722" 
+d="M60 221c0 246 239 445 414 445c129 0 225 -100 225 -234c0 -188 -174 -450 -421 -450c-127 0 -218 99 -218 239zM295 15c179 0 299 291 299 466c0 94 -50 152 -129 152c-73 0 -134 -38 -190 -119c-60 -87 -110 -236 -110 -330c0 -108 46 -169 130 -169zM536.484 725h-40
+l-112.766 97c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918c0 4.55859 0.967773 9.58008 3.30664 15.082c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="722" 
+d="M60 221c0 246 239 445 414 445c129 0 225 -100 225 -234c0 -188 -174 -450 -421 -450c-127 0 -218 99 -218 239zM295 15c179 0 299 291 299 466c0 94 -50 152 -129 152c-73 0 -134 -38 -190 -119c-60 -87 -110 -236 -110 -330c0 -108 46 -169 130 -169zM416 706l162 160
+c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="722" 
+d="M60 221c0 246 239 445 414 445c129 0 225 -100 225 -234c0 -188 -174 -450 -421 -450c-127 0 -218 99 -218 239zM295 15c179 0 299 291 299 466c0 94 -50 152 -129 152c-73 0 -134 -38 -190 -119c-60 -87 -110 -236 -110 -330c0 -108 46 -169 130 -169zM650.767 719h-34
+l-100.107 103l-142.893 -103h-34l159.496 167h62z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="722" 
+d="M60 221c0 246 239 445 414 445c129 0 225 -100 225 -234c0 -188 -174 -450 -421 -450c-127 0 -218 99 -218 239zM295 15c179 0 299 291 299 466c0 94 -50 152 -129 152c-73 0 -134 -38 -190 -119c-60 -87 -110 -236 -110 -330c0 -108 46 -169 130 -169zM666.121 801h29
+c-53.3086 -76 -95.0625 -106 -150.062 -106c-25 0 -38.2988 4 -70.7969 24l-18.3242 11c-12.0234 7 -24.3242 11 -36.3242 11c-23 0 -46.375 -15 -70.5547 -46h-29c42.6328 65 93.9375 101 143.938 101c22 0 44.4492 -6 62.3477 -18l18.8984 -12
+c15.1738 -9 31.623 -15 46.623 -15c23 0 41.1016 12 74.2559 50z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="722" 
+d="M60 221c0 246 239 445 414 445c129 0 225 -100 225 -234c0 -188 -174 -450 -421 -450c-127 0 -218 99 -218 239zM295 15c179 0 299 291 299 466c0 94 -50 152 -129 152c-73 0 -134 -38 -190 -119c-60 -87 -110 -236 -110 -330c0 -108 46 -169 130 -169zM398 802
+c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM598 802c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="675" 
+d="M289 253l-196 196l48 48l196 -197l197 197l48 -48l-197 -196l197 -197l-48 -48l-197 197l-196 -197l-48 48z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="722" 
+d="M60 222c0 246 244 444 408 444c37 0 68 -6 105 -22l52 78h44l-64 -96c33 -26 94 -78 94 -195c0 -226 -208 -449 -418 -449c-31 0 -56 6 -94 21l-74 -108h-44l86 127c-66 48 -95 110 -95 200zM464 633c-179 0 -299 -288 -299 -457c0 -38 7 -68 25 -102l356 533
+c-25 18 -49 26 -82 26zM570 574l-355 -530c22 -21 46 -29 80 -29c71 0 133 38 188 117c62 90 111 241 111 343c0 39 -8 70 -24 99z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M637 591c0 35 -28 42 -71 46v16h199v-16c-62 -14 -66 -19 -104 -149l-83 -285c-44 -150 -127 -221 -258 -221c-126 0 -218 69 -218 165c0 40 13 104 43 212l53 192c4 17 7 33 7 45c0 29 -11 35 -78 41v16h273v-16c-93 -10 -93 -52 -110 -110c-67 -231 -98 -352 -98 -386
+c0 -70 57 -118 140 -118c182 0 212 219 231 281c48 169 74 271 74 287zM559.484 725h-40l-112.766 97c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918c0 4.55859 0.967773 9.58008 3.30664 15.082c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M637 591c0 35 -28 42 -71 46v16h199v-16c-62 -14 -66 -19 -104 -149l-83 -285c-44 -150 -127 -221 -258 -221c-126 0 -218 69 -218 165c0 40 13 104 43 212l53 192c4 17 7 33 7 45c0 29 -11 35 -78 41v16h273v-16c-93 -10 -93 -52 -110 -110c-67 -231 -98 -352 -98 -386
+c0 -70 57 -118 140 -118c182 0 212 219 231 281c48 169 74 271 74 287zM437 706l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M637 591c0 35 -28 42 -71 46v16h199v-16c-62 -14 -66 -19 -104 -149l-83 -285c-44 -150 -127 -221 -258 -221c-126 0 -218 69 -218 165c0 40 13 104 43 212l53 192c4 17 7 33 7 45c0 29 -11 35 -78 41v16h273v-16c-93 -10 -93 -52 -110 -110c-67 -231 -98 -352 -98 -386
+c0 -70 57 -118 140 -118c182 0 212 219 231 281c48 169 74 271 74 287zM638.767 719h-34l-100.107 103l-142.893 -103h-34l159.496 167h62z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M637 591c0 35 -28 42 -71 46v16h199v-16c-62 -14 -66 -19 -104 -149l-83 -285c-44 -150 -127 -221 -258 -221c-126 0 -218 69 -218 165c0 40 13 104 43 212l53 192c4 17 7 33 7 45c0 29 -11 35 -78 41v16h273v-16c-93 -10 -93 -52 -110 -110c-67 -231 -98 -352 -98 -386
+c0 -70 57 -118 140 -118c182 0 212 219 231 281c48 169 74 271 74 287zM394 801c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM594 801c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="556" 
+d="M278 56c0 -33 23 -36 89 -40v-16h-289v16c66 4 89 20 105 74l61 212l-77 269c-17 55 -20 58 -76 66v16h239v-16c-60 -6 -72 -12 -72 -36c0 -25 15 -64 67 -254l38 46c104 121 150 186 150 213c0 25 -29 28 -69 31v16h189v-16c-30 -14 -38 -21 -70 -61l-219 -270l-29 -101
+c-7 -30 -37 -114 -37 -149zM344 706l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="611" 
+d="M569 369c0 -82 -55 -199 -274 -199c-42 0 -65 3 -89 10l-17 -60c-9 -33 -12 -46 -12 -58c0 -34 5 -37 68 -46v-16h-245v16c57 8 65 14 82 74l118 425c13 46 17 66 17 80c0 27 -14 35 -71 42v16h238v-16c-40 -5 -55 -14 -62 -42l-20 -77h56c136 0 211 -53 211 -149z
+M466 368c0 64 -22 120 -134 120c-28 0 -40 -8 -46 -29l-71 -248c30 -5 35 -5 52 -5c114 0 199 30 199 162z" />
+    <glyph glyph-name="ssharp" unicode="&#xdf;" 
+d="M493 548c0 -66 -35 -116 -163 -164v-3c112 -14 124 -107 124 -137c0 -111 -85 -257 -213 -257c-48 0 -80 27 -80 66c0 28 18 47 44 47c23 0 38 -16 38 -40c0 -20 -12 -30 -12 -38c0 -7 9 -13 18 -13c94 0 118 212 118 253c0 70 -26 105 -81 107c-20 1 -26 5 -26 15
+s4 13 17 13c81 0 136 73 136 180c0 51 -22 79 -62 79c-58 0 -107 -74 -145 -218l-111 -426c-36 -137 -105 -219 -185 -219c-47 0 -78 25 -78 62c0 26 15 42 39 42c23 0 40 -15 40 -36c0 -18 -12 -28 -12 -36c0 -5 7 -8 18 -8c49 0 76 44 106 179l72 319
+c58 256 135 364 259 364c83 0 139 -53 139 -131z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" 
+d="M384 41c15 0 46 35 80 69l12 -10c-74 -91 -99 -110 -139 -110c-28 0 -40 12 -40 41c0 24 3 37 23 115c-88 -124 -131 -157 -201 -157c-64 0 -102 41 -102 111c0 158 154 341 286 341c43 0 72 -21 80 -58l11 48l3 3l61 7l7 -3c-2 -9 -3 -11 -6 -21
+c-47 -172 -89 -343 -89 -363c0 -7 6 -13 14 -13zM365 358c0 37 -24 61 -61 61c-120 0 -203 -239 -203 -306c0 -46 23 -75 58 -75c98 0 206 197 206 320zM371.484 513h-40l-112.766 97c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918
+c0 4.55859 0.967773 9.58008 3.30664 15.082c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" 
+d="M384 41c15 0 46 35 80 69l12 -10c-74 -91 -99 -110 -139 -110c-28 0 -40 12 -40 41c0 24 3 37 23 115c-88 -124 -131 -157 -201 -157c-64 0 -102 41 -102 111c0 158 154 341 286 341c43 0 72 -21 80 -58l11 48l3 3l61 7l7 -3c-2 -9 -3 -11 -6 -21
+c-47 -172 -89 -343 -89 -363c0 -7 6 -13 14 -13zM365 358c0 37 -24 61 -61 61c-120 0 -203 -239 -203 -306c0 -46 23 -75 58 -75c98 0 206 197 206 320zM264 494l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" 
+d="M384 41c15 0 46 35 80 69l12 -10c-74 -91 -99 -110 -139 -110c-28 0 -40 12 -40 41c0 24 3 37 23 115c-88 -124 -131 -157 -201 -157c-64 0 -102 41 -102 111c0 158 154 341 286 341c43 0 72 -21 80 -58l11 48l3 3l61 7l7 -3c-2 -9 -3 -11 -6 -21
+c-47 -172 -89 -343 -89 -363c0 -7 6 -13 14 -13zM365 358c0 37 -24 61 -61 61c-120 0 -203 -239 -203 -306c0 -46 23 -75 58 -75c98 0 206 197 206 320zM479.767 507h-34l-100.107 103l-142.893 -103h-34l159.496 167h62z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" 
+d="M384 41c15 0 46 35 80 69l12 -10c-74 -91 -99 -110 -139 -110c-28 0 -40 12 -40 41c0 24 3 37 23 115c-88 -124 -131 -157 -201 -157c-64 0 -102 41 -102 111c0 158 154 341 286 341c43 0 72 -21 80 -58l11 48l3 3l61 7l7 -3c-2 -9 -3 -11 -6 -21
+c-47 -172 -89 -343 -89 -363c0 -7 6 -13 14 -13zM365 358c0 37 -24 61 -61 61c-120 0 -203 -239 -203 -306c0 -46 23 -75 58 -75c98 0 206 197 206 320zM480.121 626h29c-53.3086 -76 -95.0625 -106 -150.062 -106c-25 0 -38.2988 4 -70.7969 24l-18.3242 11
+c-12.0234 7 -24.3242 11 -36.3242 11c-23 0 -46.375 -15 -70.5547 -46h-29c42.6328 65 93.9375 101 143.938 101c22 0 44.4492 -6 62.3477 -18l18.8984 -12c15.1738 -9 31.623 -15 46.623 -15c23 0 41.1016 12 74.2559 50z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" 
+d="M384 41c15 0 46 35 80 69l12 -10c-74 -91 -99 -110 -139 -110c-28 0 -40 12 -40 41c0 24 3 37 23 115c-88 -124 -131 -157 -201 -157c-64 0 -102 41 -102 111c0 158 154 341 286 341c43 0 72 -21 80 -58l11 48l3 3l61 7l7 -3c-2 -9 -3 -11 -6 -21
+c-47 -172 -89 -343 -89 -363c0 -7 6 -13 14 -13zM365 358c0 37 -24 61 -61 61c-120 0 -203 -239 -203 -306c0 -46 23 -75 58 -75c98 0 206 197 206 320zM241 600c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM441 600c25 0 48 -24 48 -49
+c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" 
+d="M384 41c15 0 46 35 80 69l12 -10c-74 -91 -99 -110 -139 -110c-28 0 -40 12 -40 41c0 24 3 37 23 115c-88 -124 -131 -157 -201 -157c-64 0 -102 41 -102 111c0 158 154 341 286 341c43 0 72 -21 80 -58l11 48l3 3l61 7l7 -3c-2 -9 -3 -11 -6 -21
+c-47 -172 -89 -343 -89 -363c0 -7 6 -13 14 -13zM365 358c0 37 -24 61 -61 61c-120 0 -203 -239 -203 -306c0 -46 23 -75 58 -75c98 0 206 197 206 320zM358.128 711c47.9111 0 80.9746 -34.1465 80.9746 -79.3057c0 -66.4229 -64.2383 -119.694 -123.273 -119.694
+c-48.4219 0 -80.1309 32.8965 -80.1309 78.0039c0 66.7627 64.0957 120.996 122.43 120.996zM351.9 677c-40.8994 0 -81.3047 -37.1377 -81.3047 -78.835c0 -29.5361 21.0625 -52.165 51.46 -52.165c38.7861 0 82.2598 34.4561 82.2598 78.4277
+c0 29.7354 -21.8779 52.5723 -52.415 52.5723z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="667" 
+d="M588 113l10 -12c-56 -68 -132 -112 -195 -112s-107 51 -107 122c0 14 2 24 6 40c-85 -124 -131 -162 -195 -162c-49 0 -84 39 -84 94c0 158 156 358 280 358c34 0 50 -11 66 -47l19 43l71 2l-22 -62c47 46 81 64 122 64c50 0 81 -27 81 -70c0 -104 -157 -144 -256 -173
+c-6 -28 -8 -39 -8 -61c0 -66 24 -101 70 -101c43 0 83 21 142 77zM350 370c0 31 -19 51 -48 51c-84 0 -193 -199 -193 -329c0 -34 13 -53 34 -53c91 0 207 205 207 331zM390 223c79 23 184 61 184 156c0 24 -12 37 -35 37c-88 0 -136 -153 -149 -193z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="444" 
+d="M316 420c-159 0 -200 -221 -200 -281c0 -71 34 -114 91 -114c49 0 88 22 143 81l16 -10c-60 -77 -114 -107 -190 -107h-8l-37 -55c10 2 17 3 25 3c50 0 82 -27 82 -68c0 -50 -50 -86 -119 -86c-28 0 -51 5 -93 21l17 29c29 -11 47 -15 68 -15c34 0 53 15 53 41
+s-19 44 -46 44c-10 0 -18 -2 -32 -7l-9 8l56 90c-67 16 -103 66 -103 145c0 156 140 302 290 302c60 0 105 -35 105 -81c0 -26 -21 -46 -48 -46c-24 0 -39 14 -39 38c0 18 15 37 15 48c0 12 -15 20 -37 20z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="444" 
+d="M358 109l12 -12c-59 -67 -136 -108 -207 -108c-78 0 -132 56 -132 137c0 150 157 315 301 315c50 0 80 -26 80 -68c0 -86 -106 -162 -256 -183l-28 -4c-8 -32 -10 -47 -10 -62c0 -54 37 -90 94 -90c43 0 74 16 146 75zM135 208c189 46 211 134 211 171
+c0 23 -14 39 -35 39c-51 0 -125 -77 -159 -166zM387.484 513h-40l-112.766 97c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918c0 4.55859 0.967773 9.58008 3.30664 15.082c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="444" 
+d="M358 109l12 -12c-59 -67 -136 -108 -207 -108c-78 0 -132 56 -132 137c0 150 157 315 301 315c50 0 80 -26 80 -68c0 -86 -106 -162 -256 -183l-28 -4c-8 -32 -10 -47 -10 -62c0 -54 37 -90 94 -90c43 0 74 16 146 75zM135 208c189 46 211 134 211 171
+c0 23 -14 39 -35 39c-51 0 -125 -77 -159 -166zM280 494l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="444" 
+d="M358 109l12 -12c-59 -67 -136 -108 -207 -108c-78 0 -132 56 -132 137c0 150 157 315 301 315c50 0 80 -26 80 -68c0 -86 -106 -162 -256 -183l-28 -4c-8 -32 -10 -47 -10 -62c0 -54 37 -90 94 -90c43 0 74 16 146 75zM135 208c189 46 211 134 211 171
+c0 23 -14 39 -35 39c-51 0 -125 -77 -159 -166zM458.767 507h-34l-100.107 103l-142.893 -103h-34l159.496 167h62z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="444" 
+d="M358 109l12 -12c-59 -67 -136 -108 -207 -108c-78 0 -132 56 -132 137c0 150 157 315 301 315c50 0 80 -26 80 -68c0 -86 -106 -162 -256 -183l-28 -4c-8 -32 -10 -47 -10 -62c0 -54 37 -90 94 -90c43 0 74 16 146 75zM135 208c189 46 211 134 211 171
+c0 23 -14 39 -35 39c-51 0 -125 -77 -159 -166zM203 601c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM403 601c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M140 36c17 0 44 28 82 78l13 -11c-57 -84 -94 -114 -140 -114c-30 0 -46 20 -46 57c0 20 6 51 22 109l48 177c6 20 9 36 9 44c0 20 -10 23 -63 24v16c39 3 59 6 160 25l3 -2l-88 -322c-7 -26 -16 -54 -16 -66c0 -7 8 -15 16 -15zM284.484 513h-40l-112.766 97
+c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918c0 4.55859 0.967773 9.58008 3.30664 15.082c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M140 36c17 0 44 28 82 78l13 -11c-57 -84 -94 -114 -140 -114c-30 0 -46 20 -46 57c0 20 6 51 22 109l48 177c6 20 9 36 9 44c0 20 -10 23 -63 24v16c39 3 59 6 160 25l3 -2l-88 -322c-7 -26 -16 -54 -16 -66c0 -7 8 -15 16 -15zM133 494l162 160c7 6 15 10 25 10
+c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M140 36c17 0 44 28 82 78l13 -11c-57 -84 -94 -114 -140 -114c-30 0 -46 20 -46 57c0 20 6 51 22 109l48 177c6 20 9 36 9 44c0 20 -10 23 -63 24v16c39 3 59 6 160 25l3 -2l-88 -322c-7 -26 -16 -54 -16 -66c0 -7 8 -15 16 -15zM361.767 507h-34l-100.107 103
+l-142.893 -103h-34l159.496 167h62z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M140 36c17 0 44 28 82 78l13 -11c-57 -84 -94 -114 -140 -114c-30 0 -46 20 -46 57c0 20 6 51 22 109l48 177c6 20 9 36 9 44c0 20 -10 23 -63 24v16c39 3 59 6 160 25l3 -2l-88 -322c-7 -26 -16 -54 -16 -66c0 -7 8 -15 16 -15zM105 602c25 0 48 -24 48 -49
+c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM305 602c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" 
+d="M324 567l-117 -51l-33 29l123 54c-35 33 -61 50 -103 67l35 17c45 -10 82 -28 122 -61l99 43l32 -28l-101 -45c61 -73 86 -140 86 -233c0 -198 -136 -370 -293 -370c-91 0 -147 54 -147 140c0 151 146 312 283 312c38 0 67 -17 84 -49l2 1c-10 69 -32 122 -72 174z
+M189 10c112 0 195 198 195 316c0 57 -28 94 -71 94c-106 0 -202 -191 -202 -319c0 -54 31 -91 78 -91z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" 
+d="M460 117l14 -13c-69 -92 -95 -113 -140 -113c-33 0 -47 16 -47 54c0 10 2.37305 23.8994 16 75l44 165c8 31 14 64 14 76c0 18 -9 29 -24 29c-37 0 -88 -50 -148 -142c-44 -68 -53 -90 -100 -248h-75l96 350c1 5 2 11 2 17c0 20 -13 26 -64 27v16c87 16 108 20 162 31
+l3 -2l-67 -218c103 160 166 220 230 220c39 0 66 -25 66 -61c0 -14 -3 -36 -9 -57l-57 -206c-14 -56 -14 -56 -14 -63c0 -8 8 -16 16 -16c14 0 32 16 61 53zM488.121 626h29c-53.3086 -76 -95.0625 -106 -150.062 -106c-25 0 -38.2988 4 -70.7969 24l-18.3242 11
+c-12.0234 7 -24.3242 11 -36.3242 11c-23 0 -46.375 -15 -70.5547 -46h-29c42.6328 65 93.9375 101 143.938 101c22 0 44.4492 -6 62.3477 -18l18.8984 -12c15.1738 -9 31.623 -15 46.623 -15c23 0 41.1016 12 74.2559 50z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" 
+d="M468 301c0 -129 -131 -312 -294 -312c-91 0 -147 54 -147 140c0 157 148 312 298 312c85 0 143 -57 143 -140zM189 10c112 0 195 198 195 316c0 57 -28 94 -71 94c-106 0 -202 -189 -202 -319c0 -55 31 -91 78 -91zM400.484 513h-40l-112.766 97
+c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918c0 4.55859 0.967773 9.58008 3.30664 15.082c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" 
+d="M468 301c0 -129 -131 -312 -294 -312c-91 0 -147 54 -147 140c0 157 148 312 298 312c85 0 143 -57 143 -140zM189 10c112 0 195 198 195 316c0 57 -28 94 -71 94c-106 0 -202 -189 -202 -319c0 -55 31 -91 78 -91zM264 494l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36
+c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" 
+d="M468 301c0 -129 -131 -312 -294 -312c-91 0 -147 54 -147 140c0 157 148 312 298 312c85 0 143 -57 143 -140zM189 10c112 0 195 198 195 316c0 57 -28 94 -71 94c-106 0 -202 -189 -202 -319c0 -55 31 -91 78 -91zM496.767 507h-34l-100.107 103l-142.893 -103h-34
+l159.496 167h62z" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" 
+d="M468 301c0 -129 -131 -312 -294 -312c-91 0 -147 54 -147 140c0 157 148 312 298 312c85 0 143 -57 143 -140zM189 10c112 0 195 198 195 316c0 57 -28 94 -71 94c-106 0 -202 -189 -202 -319c0 -55 31 -91 78 -91zM519.121 609h29
+c-53.3086 -76 -95.0625 -106 -150.062 -106c-25 0 -38.2988 4 -70.7969 24l-18.3242 11c-12.0234 7 -24.3242 11 -36.3242 11c-23 0 -46.375 -15 -70.5547 -46h-29c42.6328 65 93.9375 101 143.938 101c22 0 44.4492 -6 62.3477 -18l18.8984 -12
+c15.1738 -9 31.623 -15 46.623 -15c23 0 41.1016 12 74.2559 50z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" 
+d="M468 301c0 -129 -131 -312 -294 -312c-91 0 -147 54 -147 140c0 157 148 312 298 312c85 0 143 -57 143 -140zM189 10c112 0 195 198 195 316c0 57 -28 94 -71 94c-106 0 -202 -189 -202 -319c0 -55 31 -91 78 -91zM241 599c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49
+s-49 22 -49 50c0 26 22 48 50 48zM441 599c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="675" 
+d="M590 220h-504v66h504v-66zM338 100c30 0 56 -26 56 -57c0 -30 -26 -54 -58 -54c-28 0 -53 25 -53 54c0 31 25 57 55 57zM338 517c30 0 56 -26 56 -57c0 -29 -26 -54 -57 -54c-29 0 -54 25 -54 54c0 31 25 57 55 57z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" 
+d="M124 -4c-76 24 -96 82 -96 134c0 153 150 311 295 311c4 0 9 0 16 -1l55 114h34l-58 -119c77 -22 99 -83 99 -137c0 -133 -139 -309 -293 -309c-9 0 -14 0 -20 2l-61 -126h-35zM318 420c-116 0 -206 -198 -206 -323c0 -27 9 -49 28 -68l188 389c-5 1 -8 2 -10 2zM189 10
+c110 0 196 191 196 315c0 35 -9 60 -28 81l-190 -392c8 -3 13 -4 22 -4z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" 
+d="M118 376c0 20 -19 24 -60 24v14c57 7 93 14 150 27l3 -2l-91 -363c-1 -3 -1 -5 -1 -9c0 -15 9 -25 21 -25c32 0 81 51 141 146c46 73 53 89 110 244h74l-79 -299c-19 -72 -19 -72 -19 -78c0 -11 4 -17 11 -17c16 0 31 14 83 79l14 -9c-68 -97 -91 -117 -138 -117
+c-30 0 -48 18 -48 48c0 21 16 90 45 197c-115 -193 -168 -247 -239 -247c-35 0 -53 19 -53 55c0 18 7 52 25 123l37 142c9 34 14 59 14 67zM354.484 513h-40l-112.766 97c-6.34473 5.9043 -14.0254 15.0762 -14.0254 27.918c0 4.55859 0.967773 9.58008 3.30664 15.082
+c0.849609 2 14.1777 31 45.1777 31h3c14 0 18.5742 -1 31.2227 -23z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" 
+d="M118 376c0 20 -19 24 -60 24v14c57 7 93 14 150 27l3 -2l-91 -363c-1 -3 -1 -5 -1 -9c0 -15 9 -25 21 -25c32 0 81 51 141 146c46 73 53 89 110 244h74l-79 -299c-19 -72 -19 -72 -19 -78c0 -11 4 -17 11 -17c16 0 31 14 83 79l14 -9c-68 -97 -91 -117 -138 -117
+c-30 0 -48 18 -48 48c0 21 16 90 45 197c-115 -193 -168 -247 -239 -247c-35 0 -53 19 -53 55c0 18 7 52 25 123l37 142c9 34 14 59 14 67zM254 494l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" 
+d="M118 376c0 20 -19 24 -60 24v14c57 7 93 14 150 27l3 -2l-91 -363c-1 -3 -1 -5 -1 -9c0 -15 9 -25 21 -25c32 0 81 51 141 146c46 73 53 89 110 244h74l-79 -299c-19 -72 -19 -72 -19 -78c0 -11 4 -17 11 -17c16 0 31 14 83 79l14 -9c-68 -97 -91 -117 -138 -117
+c-30 0 -48 18 -48 48c0 21 16 90 45 197c-115 -193 -168 -247 -239 -247c-35 0 -53 19 -53 55c0 18 7 52 25 123l37 142c9 34 14 59 14 67zM457.767 507h-34l-100.107 103l-142.893 -103h-34l159.496 167h62z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" 
+d="M118 376c0 20 -19 24 -60 24v14c57 7 93 14 150 27l3 -2l-91 -363c-1 -3 -1 -5 -1 -9c0 -15 9 -25 21 -25c32 0 81 51 141 146c46 73 53 89 110 244h74l-79 -299c-19 -72 -19 -72 -19 -78c0 -11 4 -17 11 -17c16 0 31 14 83 79l14 -9c-68 -97 -91 -117 -138 -117
+c-30 0 -48 18 -48 48c0 21 16 90 45 197c-115 -193 -168 -247 -239 -247c-35 0 -53 19 -53 55c0 18 7 52 25 123l37 142c9 34 14 59 14 67zM231 600c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM431 600c25 0 48 -24 48 -49
+c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="444" 
+d="M15 417c97 18 110 21 143 24c15 0 71 -165 86 -253l20 -116c85 141 122 219 122 259c0 37 -54 32 -54 73c0 22 16 37 39 37c30 0 55 -25 55 -55c0 -128 -279 -592 -399 -592c-29 0 -51 19 -51 44c0 22 17 39 39 39c23 0 47 -28 61 -28c32 0 129 121 129 159
+c0 17 -24 134 -41 199c-46 172 -61 197 -118 197c-11 0 -18 -1 -31 -4v17zM237 494l162 160c7 6 15 10 25 10c20 0 36 -16 36 -36c0 -12 -5 -21 -17 -28l-171 -106h-35z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" 
+d="M130 -190v-15h-205v16c43 1 55 13 67 59l187 703c7 23 9 34 9 43c0 22 -6 25 -65 27v17c67 8 103 14 152 23l5 -5c-64 -245 -81 -312 -91 -343l2 -2c46 73 99 108 162 108c73 0 116 -47 116 -126c0 -158 -154 -326 -300 -326c-23 0 -41 4 -66 17
+c-19 -73 -37 -152 -37 -165c0 -23 17 -31 64 -31zM166 8c120 0 213 182 213 304c0 58 -21 86 -62 86c-54 0 -108 -45 -135 -114c-29 -74 -65 -205 -65 -239c0 -22 20 -37 49 -37z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="444" 
+d="M15 417c97 18 110 21 143 24c15 0 71 -165 86 -253l20 -116c85 141 122 219 122 259c0 37 -54 32 -54 73c0 22 16 37 39 37c30 0 55 -25 55 -55c0 -128 -279 -592 -399 -592c-29 0 -51 19 -51 44c0 22 17 39 39 39c23 0 47 -28 61 -28c32 0 129 121 129 159
+c0 17 -24 134 -41 199c-46 172 -61 197 -118 197c-11 0 -18 -1 -31 -4v17zM193 601c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48zM393 601c25 0 48 -24 48 -49c0 -27 -22 -49 -49 -49s-49 22 -49 50c0 26 22 48 50 48z" />
+
+</font>
+</defs>
+<g font-family="FreeSerif" font-size="18" font-weight="400" font-style="italic"> 
+<text x="20" y="60">&#160; !&quot;#$%&amp;&apos;()*+,-./0123456789:;&lt;&gt;?</text> 
+<text x="20" y="120">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</text> 
+<text x="20" y="180">`abcdefghijklmnopqrstuvwxyz|{}~</text> 
+</g>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/resources/Heb.svg b/Tests/W3CTestSuite/resources/Heb.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cdafd8df1c312fb9c3b47f35fe6270ad3b7dd86c
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/Heb.svg
@@ -0,0 +1,1077 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<metadata>
+Created by FontForge 20100429 at Mon May 17 18:41:30 2010
+ By Chris Lilley,,,
+Hebrew layout intelligence copyright (c) 2003 &#38; 2007 Ralph Hancock (http://www.hancock.dircon.co.uk/) and John Hudson (http://www.tiro.com), and licensed under the MIT/X11 License. 
+
+All other font software is copyright (c) 1997-2007, SIL International (http://www.sil.org/), and is licensed under the SIL Open Font License, version 1.1 (http://scripts.sil.org/OFL), with Reserved Font Names "SIL" and "Ezra". 
+
+This Font Software is licensed under the SIL Open Font License, Version 1.0. See the license informaation in the font. The text of the license is also available at: http://scripts.sil.org/OFL .
+
+This SVG version created with Fontographer by Chris Lilley. In accordance with the 
+SIL Open Font License, version 1.1 (http://scripts.sil.org/OFL), the Reserved Font Names "SIL" and "Ezra"
+are not used in this SVG version. 
+</metadata>
+<defs>
+<font id="SVGHebrew" horiz-adv-x="0" >
+  <font-face 
+    font-family="SVGHebrew"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="2048"
+    panose-1="2 0 4 0 0 0 0 0 0 0"
+    ascent="1638"
+    descent="-410"
+    x-height="987"
+    cap-height="1374"
+    bbox="-309 -827 2476 2181"
+    underline-thickness="20"
+    underline-position="-113"
+    unicode-range="U+000D-FEFF"
+  />
+<missing-glyph horiz-adv-x="1024" 
+d="M128 0v1536h768v-1536h-768zM256 128h512v1280h-512v-1280z" />
+    <glyph glyph-name=".notdef" horiz-adv-x="1024" 
+d="M128 0v1536h768v-1536h-768zM256 128h512v1280h-512v-1280z" />
+    <glyph glyph-name=".null" horiz-adv-x="1024" 
+ />
+    <glyph glyph-name="uni000D" unicode="&#xd;" horiz-adv-x="1024" 
+ />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="700" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="887" 
+d="M502 1243l-76 -878h-98l-74 878q-1 14 -1 26q0 132 124 132q126 0 126 -132q0 -12 -1 -26zM504 111q0 -52 -37.5 -89.5t-89.5 -37.5t-88.5 37t-36.5 90q0 51 36.5 88t88.5 37t89.5 -37t37.5 -88z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="682" 
+d="M594 1362l-72 -500h-33l-69 500q0 100 86 100q88 0 88 -100zM262 1362l-69 -500h-33l-72 500q0 100 88 100q86 0 86 -100z" />
+    <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1522" 
+d="M1397 862h-322l-98 -293h330v-102h-365l-174 -514l-102 33l161 481h-297l-174 -514l-102 35l164 479h-291v102h324l100 293h-330v105h365l164 483l104 -33l-156 -450h299l162 483l107 -33l-156 -450h287v-105zM961 862h-297l-99 -293h297z" />
+    <glyph glyph-name="dollar" unicode="$" horiz-adv-x="1153" 
+d="M1038 389q0 -169 -154 -286q-125 -95 -255 -103v-211h-94v211q-147 9 -193 13q-131 14 -221 40v348h104l37 -229q59 -72 273 -72v518q-381 88 -381 373q0 168 131 272q103 82 252 105v154h94v-148q164 0 348 -47v-323h-105l-32 217q-47 53 -211 53v-488q194 -58 270 -113
+q137 -99 137 -284zM537 813v453q-193 -40 -193 -234q0 -148 193 -219zM850 350q0 174 -221 244v-485q221 39 221 241z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="1763" 
+d="M1700 406q0 -191 -79 -307q-84 -124 -237 -124q-152 0 -237 124q-78 116 -78 307t78 306q84 124 237 124t237 -124q79 -115 79 -306zM1380 1374l-868 -1374h-129l870 1374h127zM694 971q0 -191 -77 -306q-84 -124 -236 -124q-153 0 -237 124q-78 115 -78 306t78 306
+q84 124 237 124q152 0 236 -124q77 -115 77 -306zM1542 406q0 352 -158 352q-159 0 -159 -352q0 -353 159 -353q158 0 158 353zM537 971q0 352 -156 352q-162 0 -162 -352q0 -353 162 -353q156 0 156 353z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1460" 
+d="M1419 0h-377v49l-92 103q-110 -87 -175 -120q-112 -57 -240 -57q-177 0 -301.5 116.5t-124.5 289.5q0 246 274 360q-172 172 -172 314q0 152 111 249t278 97q155 0 258 -88t103 -221q0 -135 -95 -229q-67 -67 -207 -130l345 -371q99 127 114 240q1 10 -10.5 23.5
+t-24.5 15.5l-110 16v86h420v-86l-148 -22q-48 -172 -174 -346l166 -191l182 -10v-88zM772 1079q0 94 -47 154q-52 67 -145 67q-82 0 -133.5 -55.5t-51.5 -136.5q0 -89 68 -177q25 -33 123 -128q186 93 186 276zM885 223l-422 459q-148 -104 -148 -254q0 -137 86 -228
+t211 -91q139 0 273 114z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="350" 
+d="M262 1362l-69 -500h-33l-72 500q0 100 86 100q88 0 88 -100z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="1100" 
+d="M1012 -373q-388 44 -578 372q-166 287 -166 755t166 755q191 329 578 371v-117q-267 -44 -388 -309q-112 -244 -112 -700q0 -457 112 -700q121 -266 388 -310v-117z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="1100" 
+d="M834 754q0 -468 -167 -755q-191 -328 -579 -372v117q267 44 388 310q112 243 112 700q0 456 -112 700q-121 265 -388 309v117q387 -42 579 -371q167 -288 167 -755z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="1032" 
+d="M944 1315l-100 -127l-287 -17l-10 31l239 160zM598 1503l-76 -276h-33l-75 276l92 137zM776 797l-153 57l-103 266l25 21l225 -180zM467 1202l-10 -31l-289 17l-102 127l157 47zM492 1120l-103 -266l-153 -57l6 164l225 180z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="1706" 
+d="M1462 551h-551v-551h-116v551h-551v117h551v549h116v-549h551v-117z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="432" 
+d="M387 150q0 -83 -92 -188q-82 -93 -115 -93q-11 0 -15.5 4t-4.5 18q0 9 23.5 41t23.5 68q0 83 -162 154q56 34 115 94q56 58 73 96q154 -84 154 -194z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="657" 
+d="M565 416h-475v153h475v-153z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="592" 
+d="M483 166q-120 -73 -188 -191q-68 118 -189 191q121 70 189 190q68 -120 188 -190z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="1026" 
+d="M1024 1497l-891 -1599h-133l891 1599h133z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="1135" 
+d="M1057 678q0 -307 -121 -496q-132 -207 -369 -207q-236 0 -367 207q-120 189 -120 496q0 305 120 494q131 206 367 206q237 0 369 -206q121 -189 121 -494zM844 678q0 600 -277 600q-274 0 -274 -600q0 -602 274 -602q277 0 277 602z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="1135" 
+d="M901 0h-684v90l207 8q43 2 43 45v1063l-313 -53v90l436 135h76v-1235q0 -43 45 -45l190 -8v-90z" />
+    <glyph glyph-name="two" unicode="2" horiz-adv-x="1135" 
+d="M1040 0h-944v135q412 342 506 442q199 210 199 398q0 138 -86 219q-80 76 -203 76q-58 0 -116 -21l-54 -22v-226q-41 -32 -98 -32q-121 0 -121 116q0 126 133 211q130 82 311 82q199 0 325 -105.5t126 -279.5q0 -188 -219 -411q-110 -112 -492 -412h598l37 174h98v-344z
+" />
+    <glyph glyph-name="three" unicode="3" horiz-adv-x="1135" 
+d="M1040 385q0 -180 -152.5 -295t-375.5 -115q-189 0 -310 78q-106 68 -106 152q0 45 30.5 77.5t88.5 32.5q49 0 68 -14l61 -180q80 -43 174 -43q136 0 228 93q88 89 88 214q0 134 -102 202q-82 54 -202 54q-66 0 -122 -10v127q6 -2 51 -2q138 0 226 61q99 69 99 195
+q0 120 -81 191q-75 65 -185 65q-99 0 -182 -49v-201q-53 -27 -90 -27q-44 0 -76 25q-41 32 -41 90q0 114 133 194q130 78 313 78q180 0 295 -90q119 -94 119 -250q0 -236 -309 -325q144 -7 243 -83q117 -90 117 -245z" />
+    <glyph glyph-name="four" unicode="4" horiz-adv-x="1135" 
+d="M1057 401h-172v-426h-191v426h-614v140l661 837h144v-839h172v-138zM694 539v581l-454 -581h454z" />
+    <glyph glyph-name="five" unicode="5" horiz-adv-x="1135" 
+d="M1044 438q0 -211 -145 -334q-152 -129 -424 -129q-152 0 -270 76q-113 72 -113 154q0 114 125 114q31 0 55 -8l78 -186q51 -51 156 -51q150 0 246 104q86 93 86 211q0 164 -99 252q-92 82 -245 82q-122 0 -324 -70v701h780v-170h-635v-383q-14 0 86.5 25.5t184.5 25.5
+q212 0 335 -110t123 -304z" />
+    <glyph glyph-name="six" unicode="6" horiz-adv-x="1135" 
+d="M1057 463q0 -217 -144 -354q-139 -134 -348 -134q-219 0 -344 137q-141 154 -141 468q0 366 212 580q217 218 597 218v-125l-70 2q-197 6 -341 -127q-149 -139 -179 -374q148 129 338 129q188 0 304 -119t116 -301zM852 436q0 149 -76.5 232.5t-210.5 83.5t-272 -103
+q-4 -43 -4 -110q0 -459 276 -459q140 0 217 103q70 95 70 253z" />
+    <glyph glyph-name="seven" unicode="7" horiz-adv-x="1135" 
+d="M1053 1241l-664 -1198v-68h-213l666 1209h-623l-31 -187h-104v357h969v-113z" />
+    <glyph glyph-name="eight" unicode="8" horiz-adv-x="1135" 
+d="M1055 369q0 -171 -139.5 -282.5t-348.5 -111.5q-221 0 -353 108t-132 282q0 229 287 335q-96 40 -159 111q-75 87 -75 197q0 171 119 272q118 98 313 98q185 0 307.5 -95.5t122.5 -242.5q0 -210 -243 -327q301 -110 301 -344zM813 1022q0 120 -73 189q-68 65 -173 65
+q-102 0 -167.5 -64.5t-65.5 -156.5q0 -102 88 -177q77 -66 244 -128q147 106 147 272zM850 336q0 113 -106 184q-64 44 -295 135q-181 -99 -181 -276q0 -134 76 -212q79 -81 223 -81q128 0 207 73q76 71 76 177z" />
+    <glyph glyph-name="nine" unicode="9" horiz-adv-x="1135" 
+d="M1057 774q0 -365 -214 -580q-217 -219 -597 -219v125l69 -2q197 -5 341 128q150 138 182 374q-149 -129 -338 -129q-188 0 -304 119t-116 301q0 217 142 354q139 133 347 133q221 0 346 -136q142 -154 142 -468zM848 815q0 459 -279 459q-139 0 -214 -102
+q-70 -95 -70 -254q0 -148 75.5 -232t208.5 -84q137 0 275 103q4 43 4 110z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="600" 
+d="M438 850q0 -57 -40 -97t-97 -40t-96 40t-39 97q0 58 39 97.5t96 39.5t97 -40t40 -97zM438 121q0 -57 -40 -97t-97 -40t-96 40t-39 97t39 97t96 40q58 0 97.5 -40t39.5 -97z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="592" 
+d="M475 645q-116 -67 -186 -188q-69 119 -189 188q118 68 189 191q72 -125 186 -191zM442 147q0 -82 -91 -186q-81 -92 -113 -92q-23 0 -23 22q0 9 22.5 41t22.5 68q0 84 -160 154q57 34 114 93t75 97q153 -84 153 -197z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="1706" 
+d="M1442 76l-1178 481v105l1178 483v-127l-1000 -408l1000 -405v-129z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="1706" 
+d="M1452 743h-1198v117h1198v-117zM1452 360h-1198v117h1198v-117z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="1706" 
+d="M1442 557l-1178 -481v129l1000 405l-1000 408v127l1178 -483v-105z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="1071" 
+d="M924 1069q0 -177 -141 -304q-89 -80 -263 -157v-233h-119v305q124 41 205 123q103 104 103 248q0 293 -301 293l-89 -218l-34 -2q-138 0 -138 115q0 84 82 142q92 67 254 67q191 0 314 -103q127 -106 127 -276zM596 113q0 -54 -39.5 -91.5t-93.5 -37.5t-91.5 38.5
+t-37.5 92.5t37.5 92.5t91.5 38.5q55 0 94 -39t39 -94z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="1917" 
+d="M1776 764q0 -288 -173 -480q-152 -169 -327 -169q-160 0 -160 170q-168 -168 -295 -168q-113 0 -184.5 91t-71.5 243q0 230 157 396q153 161 351 161q100 0 201 -56l37 47h116q-10 -30 -141 -608q-8 -36 -8 -65q0 -95 84 -95q104 0 203 143q112 163 112 388
+q0 272 -179 426q-160 137 -396 137q-348 0 -573.5 -227.5t-225.5 -571.5q0 -322 189 -525q197 -212 528 -212q268 0 541 152l30 -74q-337 -180 -620 -180q-341 0 -572 214q-243 226 -243 588q0 430 289 690q262 236 632 236q313 0 502 -167q197 -175 197 -484zM1204 805
+q6 30 -30 72q-40 45 -91 45q-149 0 -242 -133q-89 -128 -89 -320q0 -221 161 -221q102 0 209 133z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="1360" 
+d="M1360 0h-488v88l119 10q9 1 16.5 14t4.5 21l-140 375h-475l-135 -369q-1 -3 -1 -6q0 -33 30 -35l121 -10v-88h-412v88l119 25l477 1278h154l475 -1248q9 -23 15 -29t28 -10l92 -16v-88zM834 606l-203 553l-197 -553h400z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="1247" 
+d="M1159 406q0 -223 -179 -327q-135 -79 -341 -79h-573v88l108 8q43 3 43 45v1092q0 42 -43 45l-108 8v88h548q461 0 461 -330q0 -240 -295 -315q157 0 258 -71q121 -85 121 -252zM854 1030q0 250 -315 250q-25 0 -69 -3t-48 -3v-518q53 -2 74 -2q193 0 279 72q79 66 79 204
+zM936 389q0 270 -330 270q-41 0 -113 -6t-71 -6v-541q91 -6 127 -6q210 0 301 72q86 67 86 217z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="1296" 
+d="M1210 47q-180 -72 -409 -72q-330 0 -530 217q-185 201 -185 498q0 318 198 513.5t519 195.5q174 0 407 -72v-321h-123l-30 186q-5 33 -35 47q-95 45 -209 45q-218 0 -350 -147q-141 -156 -141 -441t137.5 -446.5t380.5 -161.5q101 0 166 27q32 13 38 41l48 223h118v-332z
+" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="1430" 
+d="M1346 690q0 -296 -163 -479q-187 -211 -548 -211h-569v88l108 8q45 3 45 45v1092q0 42 -45 45l-108 8v88h528q340 0 537 -165q215 -179 215 -519zM1114 686q0 590 -532 590h-158v-1178l168 2q522 6 522 586z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="1198" 
+d="M1130 0h-1064v88l108 8q45 3 45 45v1092q0 42 -45 45l-108 8v88h995v-305h-123l-29 168q-7 39 -37 39h-448v-510h311q32 0 37 35l19 141h104v-457h-104l-19 142q-5 37 -37 37h-311v-564h522q30 0 37 39l35 203h112v-342z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="1110" 
+d="M1059 1049h-121l-29 188q-6 37 -35 37h-438v-533h316q31 0 36 37l19 144h102v-461h-102l-19 143q-5 37 -36 37h-316v-500q0 -42 43 -45l137 -8v-88h-536v88l108 8q43 3 43 45v1092q0 42 -43 45l-125 8v88h996v-325z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="1430" 
+d="M1378 575l-104 -10q-43 -4 -43 -43v-473q-225 -74 -430 -74q-329 0 -529 215q-186 202 -186 500q0 324 199.5 516.5t541.5 192.5q166 0 402 -62v-331h-123l-33 184q-6 34 -41 49q-105 45 -213 45q-227 0 -361 -149q-139 -156 -139 -435q0 -291 143 -452
+q139 -158 382 -158q55 0 120 11.5t60 11.5v409q0 40 -43 43l-137 10v89h534v-89z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="1522" 
+d="M1456 0h-516v88l117 8q43 3 43 45v529h-676v-529q0 -42 43 -45l117 -8v-88h-518v88l106 8q45 3 45 45v1092q0 40 -45 43l-106 8v90h518v-90l-117 -8q-43 -3 -43 -43v-461h676v461q0 40 -43 43l-117 8v90h516v-90l-106 -8q-45 -3 -45 -43v-1092q0 -42 45 -45l106 -8v-88z
+" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="676" 
+d="M608 0h-540v88l122 8q43 3 43 45v1092q0 40 -43 43l-122 8v90h540v-90l-125 -8q-43 -3 -43 -43v-1092q0 -42 43 -45l125 -8v-88z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="981" 
+d="M940 1286l-119 -8q-43 -3 -43 -45v-715q0 -267 -101 -399q-109 -144 -349 -144q-127 0 -277 50v350h123l45 -250q8 -45 94 -45q138 0 199 103t61 321v729q0 42 -43 45l-129 8v88h539v-88z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="1307" 
+d="M1307 0h-359v63l-381 547h-141l-2 -469q0 -42 45 -45l117 -8v-88h-520v88l108 8q43 3 43 45v1092q0 42 -43 45l-108 8v88h520v-88l-117 -8q-45 -3 -45 -45l2 -537h72l446 545q7 9 1 22q-6 12 -17 13l-105 10v88h434v-88l-139 -16l-418 -500l459 -672l148 -10v-88z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="1077" 
+d="M1051 0h-996v88l119 8q43 3 43 45v1092q0 42 -43 45l-119 8v88h523v-88l-109 -8q-45 -3 -45 -45v-1133h430q40 0 45 35l33 246h119v-381z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="1784" 
+d="M1722 0h-508v88l109 8q45 3 45 45v1129l-471 -1270h-102l-455 1251v-1110q0 -42 45 -45l117 -8v-88h-443v88l117 8q43 3 43 45v1092q0 42 -43 45l-117 8v88h459v-55l371 -1006l371 1000v61h462v-88l-110 -8q-45 -3 -45 -45v-1092q0 -42 45 -45l110 -8v-88z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="1466" 
+d="M1417 1286l-114 -8q-43 -3 -43 -45v-1233h-160l-762 1147v-1006q0 -42 43 -45l117 -8v-88h-443v88l117 8q45 3 45 45v1092q0 42 -45 45l-121 8v88h406v-51l682 -1030v940q0 42 -43 45l-117 8v88h438v-88z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="1507" 
+d="M1423 686q0 -304 -183 -508q-189 -211 -484 -211q-298 0 -486 206q-184 203 -184 515q0 307 181 510q188 211 487 211q298 0 487 -213q182 -205 182 -510zM1186 684q0 264 -107 429q-117 179 -323 179q-212 0 -328 -180q-106 -163 -106 -424q0 -262 106 -427
+q116 -181 324 -181q211 0 328 181q106 164 106 423z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="1157" 
+d="M1106 961q0 -217 -156 -337q-145 -111 -379 -110q-108 1 -145 8v-381q0 -42 43 -45l135 -8v-88h-538v88l108 8q45 3 45 45v1092q0 42 -45 45l-123 8v88h490q296 0 428 -93q137 -97 137 -320zM893 958q0 316 -363 316q-36 0 -104 -2v-645q-1 0 45.5 -5.5t69.5 -5.5
+q352 -3 352 342z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1520" 
+d="M1440 686q0 -279 -150 -468q-153 -191 -416 -234q3 -244 283 -244q98 0 197 22v-88q-159 -34 -303 -34q-396 0 -396 340q-253 36 -407 220q-162 192 -162 486q0 308 183 512q190 211 491 211q306 0 496 -210q184 -203 184 -513zM1198 686q0 260 -105 425
+q-117 183 -331 183q-213 0 -330 -180q-106 -163 -106 -424q0 -257 108 -423q119 -181 328 -181q211 0 329 179q107 164 107 421z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="1331" 
+d="M1331 2q-144 -16 -135 -16q-164 0 -230 72t-112 233q-48 170 -92 227q-72 94 -244 94q-26 0 -60.5 -2t-31.5 -2v-467q0 -42 43 -45l109 -8v-88h-510v88l106 8q45 3 45 45v1092q0 42 -45 45l-106 8v88h534q502 0 502 -364q0 -267 -336 -342q124 -30 176 -90
+q66 -77 102.5 -227.5t86.5 -207.5t198 -57v-84zM881 1001q0 273 -361 273h-94v-561q82 -2 102 -2q178 0 262 63q91 69 91 227z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="1085" 
+d="M997 385q0 -171 -127 -283q-145 -127 -415 -127q-205 0 -365 68v363h129l27 -232q4 -33 35 -45q98 -39 206 -39q134 0 217.5 61.5t83.5 172.5q0 107 -124 192q-41 28 -236 121q-158 75 -220 136q-95 92 -95 233q0 179 135 288q131 105 338 105q165 0 360 -62v-319h-117
+l-30 196q-3 21 -31 35q-58 39 -180 39t-193 -64t-71 -169q0 -163 284 -271q200 -76 287 -158q102 -96 102 -241z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="1227" 
+d="M1194 1047h-121l-29 192q-5 35 -34 35h-293v-1133q0 -42 43 -45l131 -8v-88h-555v88l131 8q43 3 43 45v1133h-295q-30 0 -35 -35l-28 -192h-119v327h1161v-327z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="1442" 
+d="M1397 1286l-117 -8q-43 -3 -43 -45v-778q0 -480 -528 -480q-510 0 -510 480v778q0 42 -43 45l-109 8v88h531v-88l-117 -8q-43 -3 -43 -45v-725q0 -197 67 -287q81 -108 281 -108q198 0 281 112q69 93 69 283v725q0 42 -45 45l-117 8v88h443v-88z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="1364" 
+d="M1343 1286l-118 -22l-459 -1274h-156l-469 1276l-121 20v88h490v-88l-121 -10q-10 -1 -16 -14t-2 -23l360 -999l346 995q4 12 -5 26t-23 15l-113 10v88h407v-88z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="1907" 
+d="M1886 1286l-125 -24l-313 -1272h-150l-342 1112l-335 -1112h-148l-334 1272l-119 24v88h469v-88l-122 -12q-31 -3 -21 -41l244 -911l321 1052h158l330 -1075l227 934q9 37 -29 41l-129 12v88h418v-88z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="1296" 
+d="M1278 0h-526v88l118 12q29 3 29 29q0 7 -4 14l-272 428l-316 -434q-25 -35 25 -39l123 -10v-88h-435v88l123 25l412 565l-373 586l-135 24v86h514v-86l-104 -10q-48 -5 -25 -41l250 -387l276 381q6 8 6 16q0 23 -28 27l-105 14v86h429v-86l-132 -20l-380 -525l403 -630
+l127 -25v-88z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1280" 
+d="M1260 1288l-111 -20l-412 -684v-443q0 -42 43 -45l131 -8v-88h-551v88l127 8q45 3 45 45v412l-393 711l-119 24v86h486v-86l-103 -10q-44 -4 -24 -41l287 -537l317 531q4 7 4 14q0 25 -29 29l-114 14v86h416v-86z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1202" 
+d="M1110 0h-1018v90l762 1182h-532q-29 0 -35 -35l-31 -190h-121v327h965v-94l-764 -1176h584q29 0 34 37l35 238h121v-379z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="655" 
+d="M586 -698h-412v2384h412v-44h-262v-2297h262v-43z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="1026" 
+d="M1024 -102h-131l-893 1599h135z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="655" 
+d="M481 -698h-411v43h262v2297h-262v44h411v-2384z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1962" 
+d="M1516 23h-130l-405 999l-408 -999h-127l484 1177h104z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="1024" 
+d="M1024 -483h-1024v133h1024v-133z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="717" 
+d="M475 1128h-117l-311 199q-47 30 -47 82q0 92 94 92q60 0 107 -55z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="1049" 
+d="M1024 0h-307l-27 121q-190 -137 -338 -137q-115 0 -188 69q-78 74 -78 199q0 128 101 200q129 92 503 173v88q0 202 -186 202q-81 0 -146 -26v-178h-149q-76 0 -76 59q0 117 137 183q119 57 289 57q324 0 324 -305v-574q0 -42 43 -45l98 -6v-80zM690 193v354
+q-251 -63 -339 -137q-62 -54 -62 -144q0 -67 40 -112q42 -50 113 -50q101 0 248 89z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="1126" 
+d="M1057 541q0 -244 -139 -386q-152 -155 -447 -155h-295v1362h-156v68l263 79h84v-575q159 76 282 76q193 0 305 -140q103 -130 103 -329zM850 500q0 389 -315 389q-79 0 -168 -31v-760q-2 0 37 -1t63 -1q190 0 282 90q101 98 101 314z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="963" 
+d="M891 84q-187 -100 -346 -100q-213 0 -341 140t-128 363q0 247 148 391q137 132 345 132q140 0 227 -53q91 -55 91 -152q0 -57 -35.5 -88t-85.5 -31q-52 0 -102 33v180q-44 25 -86 25q-135 0 -214 -114.5t-79 -295.5q0 -178 86 -286q91 -115 254 -115q131 0 266 88v-117z
+" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="1151" 
+d="M1110 0h-324v109q-164 -125 -317 -125q-192 0 -299 155q-94 134 -94 328q0 225 129 376q143 167 393 167q96 0 188 -23v375h-155v68l264 79h84v-1378q0 -42 43 -45l88 -6v-80zM786 186v697q-85 30 -174 30q-152 0 -242.5 -112.5t-90.5 -298.5q0 -171 77 -273
+q80 -106 219 -106q109 0 211 63z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="1014" 
+d="M940 102q-189 -118 -389 -118q-201 0 -330 121q-145 135 -145 378q0 237 135 382t346 145q185 0 287 -118q96 -111 96 -300q0 -39 -2 -57h-664q0 -181 72 -291q88 -135 270 -135q147 0 324 118v-125zM735 627v45q0 107 -48 170q-53 69 -150 69q-103 0 -173.5 -77
+t-78.5 -207h450z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="668" 
+d="M797 1401q0 -84 -95 -111q-5 5 -95.5 69t-92.5 66q-116 -60 -119 -309l-2 -155h254v-103h-254v-727q0 -43 43 -45l121 -6v-80h-498v80l101 6q43 3 43 45v727h-131v70l131 37q0 200 69 333q118 226 349 226q84 0 132 -37q44 -34 44 -86z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="1085" 
+d="M1051 850h-205q55 -88 55 -184q0 -148 -121 -239q-113 -86 -280 -86q-21 0 -41 1q-41 -66 -17 -137q210 -21 228 -35q327 -50 327 -252q0 -147 -155.5 -254.5t-376.5 -107.5q-182 0 -283.5 70.5t-101.5 195.5q0 93 53 159q58 70 164 89q-21 63 -21 94q0 86 103 192
+q-108 24 -178 103q-76 86 -76 205q0 160 113 253t299 93q107 0 237 -60h277v-100zM707 678q0 102 -49 172q-54 76 -142 76q-87 0 -140.5 -66.5t-53.5 -183.5q0 -108 49 -176q52 -74 145 -74q89 0 142 74q49 69 49 178zM821 -137q0 66 -37 99t-139.5 51.5l-224.5 41.5
+q-156 -56 -156 -192q0 -83 65 -142q74 -69 203 -69q136 0 217 69q72 60 72 142z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="1171" 
+d="M1135 0h-455v80l84 6q45 3 45 45v528q0 203 -203 203q-114 0 -221 -59v-672q0 -42 41 -45l88 -6v-80h-463v80l99 6q43 3 43 45v1231h-154v68l262 79h84v-624q205 125 336 125q124 0 197 -75q79 -81 79 -233v-571q0 -42 45 -45l93 -6v-80z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="621" 
+d="M446 1323q0 -53 -36 -90t-88 -37t-89.5 37.5t-37.5 89.5t37.5 88.5t89.5 36.5t88 -36.5t36 -88.5zM551 0h-481v80l100 6q43 3 43 45v731h-141v70l250 78h81v-879q0 -43 43 -45l105 -6v-80z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="631" 
+d="M436 1323q0 -52 -36.5 -89.5t-88.5 -37.5t-89.5 37.5t-37.5 89.5t37.5 88.5t89.5 36.5t88.5 -36.5t36.5 -88.5zM414 156q0 -286 -80 -410q-124 -192 -340 -192q-156 0 -156 114q0 88 88 119l199 -137q98 56 98 332v872h-145v68l252 77h84v-843z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="1104" 
+d="M1083 0h-317v72l-266 393h-115v-334q0 -42 43 -45l88 -6v-80h-465v80l101 6q43 3 43 45v1231h-156v68l262 79h84v-985h41l301 342q8 9 3 21q-5 13 -19 14l-84 8v78h397v-78l-131 -14l-270 -291l352 -512l108 -12v-80z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="608" 
+d="M553 0h-498v80l109 6q14 1 29.5 15t15.5 28v1233h-156v68l262 79h84v-1380q0 -14 14.5 -28t28.5 -15l111 -6v-80z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="1751" 
+d="M1714 0h-461v80l84 6q43 3 43 45v522q0 209 -182 209q-103 0 -217 -59v-672q0 -42 43 -45l86 -6v-80h-448v80l86 6q43 3 43 45v533q0 198 -181 198q-115 0 -219 -59v-672q0 -42 43 -45l86 -6v-80h-463v80l101 6q43 3 43 45v723h-142v68l248 77h84v-114q208 125 334 125
+q153 0 225 -140q224 140 355 140q146 0 215 -104q53 -80 53 -208v-567q0 -42 43 -45l98 -6v-80z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="1182" 
+d="M1130 0h-452v80l86 6q43 3 43 45v531q0 200 -197 200q-107 0 -225 -59v-672q0 -42 43 -45l86 -6v-80h-463v80l101 6q43 3 43 45v723h-144v68l250 77h84v-114q219 125 338 125q274 0 274 -314v-565q0 -42 43 -45l90 -6v-80z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="1122" 
+d="M1051 494q0 -222 -133 -364q-136 -146 -357 -146t-355 144q-130 141 -130 366t131 368q135 148 358 148t357 -150q129 -143 129 -366zM838 496q0 179 -68 295q-75 127 -207 127q-135 0 -207 -127q-65 -114 -65 -295q0 -178 67 -293q74 -127 205 -127q134 0 208 126
+q67 114 67 294z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="1149" 
+d="M1079 526q0 -243 -138.5 -387.5t-379.5 -144.5q-68 0 -182 18v-327q0 -39 45 -43l121 -11v-77h-498v77l98 11q43 5 43 43v1169h-141v68l250 77h82v-114q161 125 309 125q165 0 275 -128q116 -135 116 -356zM874 498q0 164 -72 264q-77 106 -214 106q-95 0 -209 -61v-686
+q88 -33 166 -33q160 0 249 125q80 112 80 285z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="1110" 
+d="M1100 -446h-496v77l121 11q43 4 43 43v389q-164 -80 -287 -80q-185 0 -297 135q-108 132 -108 340q0 252 157 397.5t435 145.5q151 0 290 -33v-1294q0 -38 43 -43l99 -11v-77zM768 143v754q-94 21 -141 21q-164 0 -256 -114q-88 -111 -88 -302q0 -171 72 -273
+q80 -114 237 -114q88 0 176 28z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="811" 
+d="M791 778h-80q-49 56 -111 56q-94 0 -205 -127v-576q0 -43 43 -45l135 -6v-80h-512v78l101 8q43 3 43 45v723h-148v68l254 77h84v-194q88 97 122 127q87 78 149 78q71 0 125 -29v-203z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="838" 
+d="M760 297q0 -150 -103.5 -232.5t-287.5 -82.5q-172 0 -285 45v274h104l25 -176q78 -51 182 -51q84 0 136 47q49 44 49 108q0 77 -66 128q-35 26 -184 98q-121 58 -172 111q-60 62 -60 149q0 138 97 217.5t272 79.5q158 0 262 -47v-242h-106l-17 145q-60 47 -155 47
+q-166 0 -166 -137q0 -67 49 -111q44 -39 178 -100q122 -55 178 -110q70 -68 70 -160z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="696" 
+d="M684 43q-141 -49 -278 -49q-118 0 -169 46t-51 165v653h-131v68l140 65l92 197h90v-227h289v-103h-289v-545q0 -117 41 -163q37 -41 123 -41q74 0 143 16v-82z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="1165" 
+d="M1122 0h-323v117q-174 -133 -330 -133q-283 0 -283 323v555h-143v70l252 78h84v-664q0 -223 196 -223q118 0 224 53v686h-144v70l250 78h82v-879q0 -42 45 -45l90 -6v-80z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="1083" 
+d="M1063 909l-109 -12l-358 -897h-133l-330 897l-113 12v78h453v-78l-98 -6q-17 -1 -27 -14.5t-4 -30.5l229 -643l252 643q6 16 -2.5 30t-25.5 15l-92 6v78h358v-78z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="1604" 
+d="M1583 909l-104 -12l-281 -897h-145l-242 766l-270 -766h-146l-262 897l-113 12v78h449v-78l-96 -6q-42 -3 -31 -45l170 -639l264 768h146l237 -768l189 639q13 42 -29 45l-94 6v78h358v-78z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="1051" 
+d="M1030 0h-442v80l71 8q13 2 19 14q5 12 -2 23l-176 262l-201 -262q-8 -10 -4 -23q5 -13 18 -14l101 -8v-80h-389v80l118 16l293 381l-280 414l-121 18v78h452v-78l-73 -10q-14 -2 -20 -14q-6 -13 1 -23l160 -231l180 231q8 10 3 22q-6 13 -19 15l-88 10v78h370v-78
+l-112 -18l-273 -352l302 -443l112 -16v-80z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="1085" 
+d="M1065 909l-107 -12l-393 -960q-89 -217 -176 -304q-79 -79 -178 -79q-69 0 -111 36q-39 33 -39 82q0 68 66 123l192 -88q93 93 162 295l-348 895l-113 12v78h453v-78l-98 -6q-33 -2 -33 -33q0 -6 2 -12l238 -606l243 606q6 15 -2.5 29.5t-25.5 15.5l-97 6v78h365v-78z
+" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="973" 
+d="M899 0h-807v109l543 782h-356q-35 0 -41 -43l-21 -152h-104v291h757v-84l-561 -805h414q13 0 28 16.5t17 32.5l20 162h111v-309z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="1278" 
+d="M1098 -655q-347 0 -457 131q-78 92 -98 247q-8 67 -8 291q0 171 -7 231q-14 140 -67 199q-48 55 -141 71q-50 9 -162 9v140q126 1 185 15q75 18 118 66q53 60 67 200q7 60 7 231q0 220 8 289q20 154 98 247q109 131 457 131v-123q-194 0 -267 -90q-48 -60 -59 -195
+q-4 -48 -4 -251q0 -305 -76 -416q-84 -124 -276 -172q193 -52 276 -176q76 -113 76 -416q0 -201 4 -251q12 -135 59 -195q70 -88 267 -88v-125z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="1024" 
+d="M584 -483h-142v2048h142v-2048z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="1278" 
+d="M1120 524q-113 0 -162 -9q-92 -16 -141 -71q-53 -59 -68 -199q-6 -58 -6 -231q0 -224 -8 -291q-20 -155 -98 -247q-110 -131 -457 -131v125q199 0 269 88q47 60 59 195q4 50 4 251q0 306 74 416q84 125 278 176q-194 48 -278 172q-74 108 -74 416q0 203 -4 251
+q-11 135 -59 195q-73 90 -269 90v123q348 0 457 -131q78 -93 98 -247q8 -69 8 -289q0 -173 6 -231q15 -140 68 -200q44 -49 118 -66q59 -14 185 -15v-140z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="1706" 
+d="M1530 627q-209 -144 -385 -144q-95 0 -289.5 69t-302.5 69q-156 0 -375 -160v133q202 145 389 145q102 0 297.5 -68.5t282.5 -68.5q165 0 383 158v-133z" />
+    <glyph glyph-name="uni00A0" unicode="&#xa0;" horiz-adv-x="700" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="692" 
+d="M473 1274q0 -52 -36.5 -88.5t-88.5 -36.5t-89.5 36.5t-37.5 88.5t37.5 89.5t89.5 37.5t88.5 -37.5t36.5 -89.5zM471 141q1 -14 1 -26q0 -131 -124 -131q-126 0 -126 131q0 12 1 26l76 879h98z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="1153" 
+d="M991 47q-11 -11 -78 -26q-94 -21 -217 -21v-203h-98v207q-207 23 -327.5 162t-120.5 350q0 204 123 344t325 168v209h98v-201q139 0 295 -51v-301h-98l-29 178q-6 36 -24 43q-50 29 -144 31v-838q80 2 144 29q14 7 24 33l27 196h100v-309zM598 104v826q-96 -22 -166 -116
+q-86 -116 -86 -292q0 -174 75 -288q68 -104 177 -130z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="1153" 
+d="M1057 1180q0 -49 -38 -83t-89 -34q-27 0 -74 10v205q-54 16 -92 16q-275 0 -275 -405q0 -84 5 -164h380v-102h-380q7 -321 -218 -467q132 12 170 12h607v-168h-973v125q230 59 223 399q4 7 -2 99h-143v102h141q-2 105 -2 162q0 298 178 432q104 78 258 78q117 0 210 -50
+q114 -60 114 -167z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="1589" 
+d="M1481 539l-95 -95l-266 267q-143 -111 -323 -111q-179 0 -328 113l-264 -269l-94 95l266 266q-115 144 -115 330q0 180 111 323l-262 264l94 93l260 -263q143 115 332 115q186 0 327 -113l262 261l95 -93l-262 -262q110 -143 110 -325q0 -189 -115 -332zM1198 1135
+q0 165 -117.5 283t-283.5 118q-168 0 -286 -117.5t-118 -283.5q0 -168 118 -286t286 -118q166 0 283.5 118t117.5 286z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="1221" 
+d="M1200 1288l-115 -26l-219 -388h289v-90h-340l-119 -209h459v-90h-457v-344q0 -40 54 -45l118 -10v-86h-534v86l121 10q51 4 51 45v344h-442v90h438l-111 209h-327v90h278l-203 390l-121 24v86h459v-86l-88 -14q-43 -7 -24 -45l270 -529l297 527q21 37 -27 45l-98 16v86
+h391v-86z" />
+    <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="1024" 
+d="M903 627q0 -113 -77 -207q-69 -85 -171 -125q211 -98 211 -270q0 -138 -107.5 -226t-273.5 -88q-165 0 -315 66v268h102l11 -63l18 -121q27 -18 72 -33q63 -21 121 -21q92 0 151.5 45t59.5 121q0 126 -340 279q-244 110 -244 334q0 125 71 206q53 61 170 115
+q-204 102 -204 262q0 301 397 301q176 0 285 -49v-266h-97l-20 166q-108 59 -193 59q-91 0 -147.5 -48.5t-56.5 -123.5q0 -64 86 -125q56 -40 211 -114q280 -134 280 -342zM743 575q0 172 -282 289q-89 -31 -139 -98q-46 -61 -46 -133q0 -90 72 -160q66 -63 223 -137
+q57 29 108 91q64 76 64 148z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="647" 
+d="M647 1313q0 -47 -32 -81t-78 -34t-79.5 34.5t-33.5 80.5q0 43 35 77.5t78 34.5q46 0 78 -33t32 -79zM223 1313q0 -46 -33 -80.5t-79 -34.5q-44 0 -77.5 34t-33.5 79t33.5 79.5t77.5 34.5q46 0 79 -33t33 -79z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1831" 
+d="M1706 696q0 -328 -230.5 -560t-557.5 -232q-324 0 -555.5 232t-231.5 558q0 328 231 560.5t558 232.5q328 0 557 -233.5t229 -557.5zM1618 694q0 291 -204.5 499t-493.5 208q-290 0 -495.5 -207.5t-205.5 -499.5q0 -290 205 -497t494 -207t494.5 207t205.5 497zM1241 260
+q-147 -49 -291 -49q-232 0 -371 145q-130 135 -130 338q0 214 138 348t365 134q113 0 289 -52v-243h-92l-31 155q-64 43 -145 43q-138 0 -233 -100q-103 -107 -103 -281q0 -179 98 -290q90 -103 217 -103q87 0 170 39l29 174h90v-258z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="711" 
+d="M686 784h-205l-18 72q-128 -80 -227 -80q-77 0 -126 41q-53 44 -53 119q0 80 78 124q85 49 328 97v55q0 121 -125 121q-42 0 -98 -16v-107h-101q-49 0 -49 35q0 70 93 111q81 35 194 35q215 0 215 -185v-344q0 -23 35 -26l59 -5v-47zM680 623h-617v61h617v-61zM463 899
+v211q-170 -38 -228 -81q-42 -31 -42 -85q0 -40 28 -67t76 -27q68 0 166 49z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="1159" 
+d="M1053 168l-437 356v211l437 357v-187l-301 -274l301 -283v-180zM537 168l-437 356v211l437 357v-187l-304 -274l304 -283v-180z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="1024" 
+d="M949 496h-155v446h-721v160h876v-606z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1831" 
+d="M1706 694q0 -327 -231.5 -558.5t-559.5 -231.5q-323 0 -553.5 231.5t-230.5 558.5q0 328 231 560.5t558 232.5q323 0 554.5 -232.5t231.5 -560.5zM1618 694q0 293 -204.5 500t-493.5 207t-495 -206.5t-206 -504.5q0 -288 204.5 -494t494.5 -206t495 207t205 497z
+M1427 268q-60 -10 -118 -10q-116 0 -162.5 47.5t-80.5 152.5q-36 110 -67 148q-51 62 -174 62q-19 0 -43.5 -1t-23.5 -1v-306q0 -26 30 -28l78 -6v-58h-362v58l78 6q30 2 30 28v713q0 27 -30 29l-78 6v57h381q358 0 358 -237q0 -172 -239 -223q88 -20 126 -60
+q47 -50 72 -147.5t62 -135.5t163 -38v-56zM1083 922q0 180 -256 180h-69v-369q62 -2 76 -2q249 0 249 191z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="616" 
+d="M616 1198h-616v131h616v-131z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="676" 
+d="M623 1171q0 -118 -83.5 -201t-201.5 -83t-201.5 83t-83.5 201t83.5 200.5t201.5 82.5t201.5 -82.5t83.5 -200.5zM541 1171q0 83 -60 142t-143 59t-143 -59t-60 -142t60 -142.5t143 -59.5t143 59.5t60 142.5z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="1706" 
+d="M1452 719h-539v-344h-118v344h-541v117h541v344h118v-344h539v-117zM1452 41h-1198v117h1198v-117z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="717" 
+d="M717 1409q0 -52 -47 -82l-312 -199h-116l272 318q47 55 109 55q94 0 94 -92z" />
+    <glyph glyph-name="uni00B5" unicode="&#xb5;" horiz-adv-x="1137" 
+d="M1094 299q0 -77 -52 -174q-78 -145 -221 -145q-83 0 -123 69q-33 57 -30 144q-91 -216 -281 -216q-95 0 -155 62q-56 59 -66 156q-6 -30 -72 -451q-26 -162 -96 -162q-84 0 -84 78q0 45 14 96q114 411 265 1129h161l-106 -510q-10 -48 -10 -88q0 -172 155 -172
+q191 0 242 237l115 533h163l-122 -578q-9 -45 -9 -80q0 -110 88 -110q66 0 107 55q20 27 61 125q15 37 33 37q23 0 23 -35z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1274" 
+d="M1202 1665l-162 -27v-1845h-127v1858h-200v-916q-311 0 -463 102q-180 121 -180 406q0 280 160 403q147 113 454 113h518v-94z" />
+    <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="786" 
+d="M694 891q0 -126 -87.5 -213.5t-213.5 -87.5t-213.5 87.5t-87.5 213.5t87.5 214.5t213.5 88.5t213.5 -88.5t87.5 -214.5z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="473" 
+d="M473 -266q0 -93 -65.5 -144t-171.5 -51q-67 0 -152 21v80q75 -17 123 -17q133 0 133 84q0 76 -96 76q-19 0 -47 -12v229h79v-129q56 8 48 8q149 0 149 -145z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="756" 
+d="M707 1081q0 -133 -90 -221t-238 -88t-238 88t-90 221q0 139 89 224.5t241 85.5q149 0 240 -91q86 -87 86 -219zM692 623h-626v61h626v-61zM561 1081q0 107 -45 176q-49 76 -137 76q-90 0 -140 -76q-44 -68 -44 -176q0 -106 46 -176q50 -76 138 -76q90 0 139 75
+q43 68 43 177z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="1159" 
+d="M1061 524l-438 -356v184l303 277l-303 280v183l438 -357v-211zM541 524l-435 -356v184l302 277l-302 280v183l435 -357v-211z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="995" 
+d="M686 1272q0 -52 -36.5 -88.5t-88.5 -36.5t-89.5 36.5t-37.5 88.5q0 53 37 90t90 37q52 0 88.5 -37.5t36.5 -89.5zM866 184q0 -80 -78 -136q-88 -64 -243 -64q-187 0 -306 98q-122 101 -122 266q0 289 389 447v227h115v-297q-297 -100 -297 -358q0 -283 292 -283l82 211
+h37q131 0 131 -111z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1360" 
+d="M778 1493h-114l-312 199q-49 31 -49 82q0 92 96 92q59 0 107 -56zM1360 0h-488v88l119 10q9 1 16.5 14t4.5 21l-140 375h-475l-135 -369q-1 -3 -1 -6q0 -33 30 -35l121 -10v-88h-412v88l119 25l477 1278h154l475 -1248q9 -23 15 -29t28 -10l92 -16v-88zM834 606l-203 553
+l-197 -553h400z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1360" 
+d="M1028 1774q0 -52 -47 -82l-309 -199h-117l272 317q48 56 109 56q92 0 92 -92zM1360 0h-488v88l119 10q9 1 16.5 14t4.5 21l-140 375h-475l-135 -369q-1 -3 -1 -6q0 -33 30 -35l121 -10v-88h-412v88l119 25l477 1278h154l475 -1248q9 -23 15 -29t28 -10l92 -16v-88z
+M834 606l-203 553l-197 -553h400z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1360" 
+d="M993 1487h-123l-211 205l-213 -205h-122l258 348h153zM1360 0h-488v88l119 10q9 1 16.5 14t4.5 21l-140 375h-475l-135 -369q-1 -3 -1 -6q0 -33 30 -35l121 -10v-88h-412v88l119 25l477 1278h154l475 -1248q9 -23 15 -29t28 -10l92 -16v-88zM834 606l-203 553l-197 -553
+h400z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1360" 
+d="M1028 1776q-57 -226 -237 -226q-51 0 -132 49.5t-151 49.5q-40 0 -72 -30.5t-37 -68.5h-82q57 226 238 226q51 0 133 -49.5t152 -49.5q40 0 70.5 30t35.5 69h82zM1360 0h-488v88l119 10q9 1 16.5 14t4.5 21l-140 375h-475l-135 -369q-1 -3 -1 -6q0 -33 30 -35l121 -10
+v-88h-412v88l119 25l477 1278h154l475 -1248q9 -23 15 -29t28 -10l92 -16v-88zM834 606l-203 553l-197 -553h400z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1360" 
+d="M993 1665q0 -46 -33 -80.5t-79 -34.5t-79.5 34.5t-33.5 80.5q0 43 35 78t78 35q46 0 79 -33.5t33 -79.5zM569 1665q0 -46 -33 -80.5t-79 -34.5q-45 0 -79 34t-34 79t34.5 80t78.5 35q46 0 79 -33.5t33 -79.5zM1360 0h-488v88l119 10q9 1 16.5 14t4.5 21l-140 375h-475
+l-135 -369q-1 -3 -1 -6q0 -33 30 -35l121 -10v-88h-412v88l119 25l477 1278h154l475 -1248q9 -23 15 -29t28 -10l92 -16v-88zM834 606l-203 553l-197 -553h400z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1360" 
+d="M926 1743q0 -106 -75 -181t-181 -75t-180 75t-74 181t74 180t180 74t181 -74t75 -180zM1360 0h-488v88l119 10q9 1 16.5 14t4.5 21l-140 375h-475l-135 -369q-1 -3 -1 -6q0 -33 30 -35l121 -10v-88h-412v88l119 25l477 1278h154l475 -1248q9 -23 15 -29t28 -10l92 -16
+v-88zM803 1743q0 55 -39 94t-94 39t-94 -39t-39 -94t39 -94t94 -39t94 39t39 94zM834 606l-203 553l-197 -553h400z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1847" 
+d="M1835 0h-1014v88l101 8q53 4 53 45v371h-473l-230 -371q-25 -40 15 -43l116 -10v-88h-403v88l109 16l696 1131q4 6 4 12q0 28 -33 31l-100 10v86h1085v-305h-119l-28 168q-6 39 -35 39h-408v-510l269 -2q32 0 37 37l18 141h100v-457h-100l-18 144q-4 35 -37 35h-269v-564
+h480q31 0 37 39l30 203h117v-342zM975 614v666l-416 -668z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1296" 
+d="M1210 47q-174 -70 -393 -72v-104q56 8 47 8q150 0 150 -145q0 -93 -69 -145q-65 -50 -171 -50q-67 0 -151 21v80q77 -17 125 -17q131 0 131 84q0 76 -97 76q-19 0 -47 -12v206q-302 22 -481 234q-168 197 -168 479q0 318 198 513.5t519 195.5q174 0 407 -72v-321h-123
+l-30 186q-5 33 -35 47q-95 45 -209 45q-218 0 -350 -147q-141 -156 -141 -441t137.5 -446.5t380.5 -161.5q101 0 166 27q32 13 38 41l48 223h118v-332z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1198" 
+d="M752 1487h-117l-311 199q-48 31 -48 83q0 91 95 91q57 0 106 -56zM1130 0h-1064v88l108 8q45 3 45 45v1092q0 42 -45 45l-108 8v88h995v-305h-123l-29 168q-7 39 -37 39h-448v-510h311q32 0 37 35l19 141h104v-457h-104l-19 142q-5 37 -37 37h-311v-564h522q30 0 37 39
+l35 203h112v-342z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1198" 
+d="M963 1774q0 -50 -50 -82l-311 -199h-115l273 317q48 56 106 56q97 0 97 -92zM1130 0h-1064v88l108 8q45 3 45 45v1092q0 42 -45 45l-108 8v88h995v-305h-123l-29 168q-7 39 -37 39h-448v-510h311q32 0 37 35l19 141h104v-457h-104l-19 142q-5 37 -37 37h-311v-564h522
+q30 0 37 39l35 203h112v-342z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1198" 
+d="M948 1487h-123l-211 205l-211 -205h-122l258 348h153zM1130 0h-1064v88l108 8q45 3 45 45v1092q0 42 -45 45l-108 8v88h995v-305h-123l-29 168q-7 39 -37 39h-448v-510h311q32 0 37 35l19 141h104v-457h-104l-19 142q-5 37 -37 37h-311v-564h522q30 0 37 39l35 203h112
+v-342z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1198" 
+d="M952 1665q0 -47 -32 -81t-78 -34t-79.5 34.5t-33.5 80.5q0 43 35 78t78 35q46 0 78 -33.5t32 -79.5zM528 1665q0 -46 -33 -80.5t-79 -34.5q-44 0 -77.5 34t-33.5 79t33.5 80t77.5 35q46 0 79 -33.5t33 -79.5zM1130 0h-1064v88l108 8q45 3 45 45v1092q0 42 -45 45l-108 8
+v88h995v-305h-123l-29 168q-7 39 -37 39h-448v-510h311q32 0 37 35l19 141h104v-457h-104l-19 142q-5 37 -37 37h-311v-564h522q30 0 37 39l35 203h112v-342z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="676" 
+d="M473 1487h-117l-311 199q-47 30 -47 83q0 91 94 91q59 0 107 -56zM608 0h-540v88l125 8q43 3 43 45v1092q0 40 -43 43l-125 8v90h540v-90l-123 -8q-45 -3 -45 -43v-1092q0 -42 45 -45l123 -8v-88z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="676" 
+d="M662 1769q0 -52 -48 -83l-311 -199h-117l275 317q49 56 106 56q95 0 95 -91zM608 0h-540v88l122 8q43 3 43 45v1092q0 40 -43 43l-122 8v90h540v-90l-125 -8q-43 -3 -43 -43v-1092q0 -42 43 -45l125 -8v-88z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="676" 
+d="M672 1487h-123l-211 205l-211 -205h-125l258 348h156zM608 0h-540v88l125 8q43 3 43 45v1092q0 40 -43 43l-125 8v90h540v-90l-123 -8q-45 -3 -45 -43v-1092q0 -42 45 -45l123 -8v-88z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="676" 
+d="M662 1665q0 -46 -32.5 -80.5t-78.5 -34.5t-79.5 34.5t-33.5 80.5q0 43 34 78t77 35q46 0 79.5 -33.5t33.5 -79.5zM238 1665q0 -46 -33.5 -80.5t-79.5 -34.5q-44 0 -77.5 34t-33.5 79t33.5 80t77.5 35q46 0 79.5 -33.5t33.5 -79.5zM608 0h-540v88l125 8q43 3 43 45v1092
+q0 40 -43 43l-125 8v90h540v-90l-123 -8q-45 -3 -45 -43v-1092q0 -42 45 -45l123 -8v-88z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1466" 
+d="M1114 1776q-57 -226 -235 -226q-51 0 -133 49.5t-152 49.5q-40 0 -71 -30.5t-36 -68.5h-81q57 226 235 226q51 0 133 -49.5t152 -49.5q40 0 70.5 30t35.5 69h82zM1419 1286l-114 -8q-43 -3 -43 -45v-1233h-160l-762 1147v-1006q0 -42 43 -45l117 -8v-88h-443v88l117 8
+q45 3 45 45v1092q0 42 -45 45l-121 8v88h406v-51l682 -1030v940q0 42 -43 45l-117 8v88h438v-88z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1507" 
+d="M862 1487h-117l-311 199q-47 30 -47 83q0 91 94 91q59 0 107 -56zM1423 686q0 -304 -183 -508q-189 -211 -484 -211q-298 0 -486 206q-184 203 -184 515q0 307 181 510q188 211 487 211q298 0 487 -213q182 -205 182 -510zM1186 684q0 264 -107 429q-117 179 -323 179
+q-212 0 -328 -180q-106 -163 -106 -424q0 -262 106 -427q116 -181 324 -181q211 0 328 181q106 164 106 423z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1507" 
+d="M1112 1769q0 -53 -47 -83l-311 -199h-117l274 317q48 56 107 56q94 0 94 -91zM1423 686q0 -304 -183 -508q-189 -211 -484 -211q-298 0 -486 206q-184 203 -184 515q0 307 181 510q188 211 487 211q298 0 487 -213q182 -205 182 -510zM1186 684q0 264 -107 429
+q-117 179 -323 179q-212 0 -328 -180q-106 -163 -106 -424q0 -262 106 -427q116 -181 324 -181q211 0 328 181q106 164 106 423z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1507" 
+d="M1087 1487h-122l-211 205l-211 -205h-123l256 348h153zM1423 686q0 -304 -183 -508q-189 -211 -484 -211q-298 0 -486 206q-184 203 -184 515q0 307 181 510q188 211 487 211q298 0 487 -213q182 -205 182 -510zM1186 684q0 264 -107 429q-117 179 -323 179
+q-212 0 -328 -180q-106 -163 -106 -424q0 -262 106 -427q116 -181 324 -181q211 0 328 181q106 164 106 423z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1507" 
+d="M1106 1776q-57 -226 -238 -226q-51 0 -132.5 49.5t-151.5 49.5q-40 0 -71 -30.5t-36 -68.5h-82q57 226 238 226q51 0 131.5 -49.5t150.5 -49.5q40 0 72 30.5t37 68.5h82zM1425 686q0 -304 -183 -508q-189 -211 -484 -211q-298 0 -487 206q-185 203 -185 515
+q0 307 182 510q189 211 488 211q298 0 487 -213q182 -205 182 -510zM1188 684q0 264 -107 429q-117 179 -323 179q-212 0 -328 -180q-106 -163 -106 -424q0 -262 106 -427q116 -181 324 -181q211 0 328 181q106 164 106 423z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1507" 
+d="M1075 1665q0 -47 -32 -81t-78 -34t-79.5 34.5t-33.5 80.5q0 43 34 78t77 35q46 0 79 -33.5t33 -79.5zM651 1665q0 -46 -33 -80.5t-79 -34.5q-44 0 -77.5 34t-33.5 79t33.5 80t77.5 35q46 0 79 -33.5t33 -79.5zM1425 686q0 -304 -183 -508q-189 -211 -484 -211
+q-298 0 -487 206q-185 203 -185 515q0 307 182 510q189 211 488 211q298 0 487 -213q182 -205 182 -510zM1188 684q0 264 -107 429q-117 179 -323 179q-212 0 -328 -180q-106 -163 -106 -424q0 -262 106 -427q116 -181 324 -181q211 0 328 181q106 164 106 423z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1507" 
+d="M1423 686q0 -304 -183 -508q-189 -211 -484 -211q-185 0 -330 82l-127 -211l-94 58l129 217q-248 206 -248 575q0 307 181 510q188 211 487 211q165 0 307 -74l117 197l96 -57l-119 -199q268 -207 268 -590zM1186 684q0 275 -119 444l-567 -954q104 -94 252 -94
+q211 0 328 181q106 164 106 423zM987 1214q-97 78 -231 78q-212 0 -328 -180q-106 -163 -106 -424q0 -260 102 -422z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1440" 
+d="M866 1487h-116l-312 199q-47 30 -47 83q0 91 94 91q59 0 107 -56zM1397 1286l-117 -8q-43 -3 -43 -45v-778q0 -480 -528 -480q-510 0 -510 480v778q0 42 -43 45l-109 8v88h531v-88l-117 -8q-43 -3 -43 -45v-725q0 -197 67 -287q81 -108 281 -108q198 0 281 112
+q69 93 69 283v725q0 42 -45 45l-117 8v88h443v-88z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1442" 
+d="M1114 1769q0 -53 -47 -83l-311 -199h-117l272 317q48 56 109 56q94 0 94 -91zM1397 1286l-117 -8q-43 -3 -43 -45v-778q0 -480 -528 -480q-510 0 -510 480v778q0 42 -43 45l-109 8v88h531v-88l-117 -8q-43 -3 -43 -45v-725q0 -197 67 -287q81 -108 281 -108
+q198 0 281 112q69 93 69 283v725q0 42 -45 45l-117 8v88h443v-88z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1442" 
+d="M1090 1487h-123l-213 205l-211 -205h-123l258 348h153zM1397 1286l-117 -8q-43 -3 -43 -45v-778q0 -480 -528 -480q-510 0 -510 480v778q0 42 -43 45l-109 8v88h531v-88l-117 -8q-43 -3 -43 -45v-725q0 -197 67 -287q81 -108 281 -108q198 0 281 112q69 93 69 283v725
+q0 42 -45 45l-117 8v88h443v-88z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1442" 
+d="M1085 1665q0 -47 -32 -81t-78 -34t-79.5 34.5t-33.5 80.5q0 43 34 78t77 35q46 0 79 -33.5t33 -79.5zM662 1665q0 -46 -33.5 -80.5t-79.5 -34.5q-44 0 -77.5 34t-33.5 79t33.5 80t77.5 35q46 0 79.5 -33.5t33.5 -79.5zM1399 1286l-115 -8q-45 -3 -45 -45v-778
+q0 -480 -526 -480q-510 0 -510 480v778q0 42 -43 45l-111 8v88h531v-88l-115 -8q-45 -3 -45 -45l2 -725q0 -197 66 -287q80 -108 280 -108q198 0 282 112q70 94 70 283v725q0 42 -45 45l-117 8v88h441v-88z" />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1264" 
+d="M1210 305q0 -146 -105 -235q-100 -84 -251 -84q-87 0 -242 41v274h111l18 -178q45 -41 123 -41q75 0 123.5 47.5t48.5 116.5q0 114 -223 237q-117 65 -164 120q-51 59 -51 138q0 108 70 184q67 73 176 97q20 96 20 147q0 101 -51 170q-56 78 -156 78q-166 0 -237 -180
+q-47 -118 -47 -289v-813q0 -47 30 -49l105 -8v-78h-469v78l98 10q41 4 41 45v795q0 237 123 402q141 190 393 190q172 0 267 -98q90 -93 90 -253q0 -48 -33 -213q1 0 -14.5 2.5t-32.5 2.5q-189 0 -189 -156q0 -102 222 -219q206 -109 206 -281z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="1049" 
+d="M659 1128h-116l-312 199q-47 30 -47 82q0 92 95 92q59 0 106 -55zM1024 0h-307l-27 121q-190 -137 -338 -137q-115 0 -188 69q-78 74 -78 199q0 128 101 200q129 92 503 173v88q0 202 -186 202q-81 0 -146 -26v-178h-149q-76 0 -76 59q0 117 137 183q119 57 289 57
+q324 0 324 -305v-574q0 -42 43 -45l98 -6v-80zM690 193v354q-251 -63 -339 -137q-62 -54 -62 -144q0 -67 40 -112q42 -50 113 -50q101 0 248 89z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="1049" 
+d="M877 1409q0 -51 -48 -82l-311 -199h-117l275 318q48 55 106 55q95 0 95 -92zM1024 0h-307l-27 121q-190 -137 -338 -137q-115 0 -188 69q-78 74 -78 199q0 128 101 200q129 92 503 173v88q0 202 -186 202q-81 0 -146 -26v-178h-149q-76 0 -76 59q0 117 137 183
+q119 57 289 57q324 0 324 -305v-574q0 -42 43 -45l98 -6v-80zM690 193v354q-251 -63 -339 -137q-62 -54 -62 -144q0 -67 40 -112q42 -50 113 -50q101 0 248 89z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="1049" 
+d="M844 1128h-123l-211 203l-211 -203h-125l258 347h156zM1024 0h-307l-27 121q-190 -137 -338 -137q-115 0 -188 69q-78 74 -78 199q0 128 101 200q129 92 503 173v88q0 202 -186 202q-81 0 -146 -26v-178h-149q-76 0 -76 59q0 117 137 183q119 57 289 57q324 0 324 -305
+v-574q0 -42 43 -45l98 -6v-80zM690 193v354q-251 -63 -339 -137q-62 -54 -62 -144q0 -67 40 -112q42 -50 113 -50q101 0 248 89z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="1049" 
+d="M881 1423q-57 -225 -238 -225q-51 0 -133 49t-152 49q-40 0 -70.5 -30t-35.5 -68h-82q57 225 238 225q51 0 131.5 -49t150.5 -49q40 0 72 30t37 68h82zM1024 0h-307l-27 121q-190 -137 -338 -137q-115 0 -188 69q-78 74 -78 199q0 128 101 200q129 92 503 173v88
+q0 202 -186 202q-81 0 -146 -26v-178h-149q-76 0 -76 59q0 117 137 183q119 57 289 57q324 0 324 -305v-574q0 -42 43 -45l98 -6v-80zM690 193v354q-251 -63 -339 -137q-62 -54 -62 -144q0 -67 40 -112q42 -50 113 -50q101 0 248 89z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="1049" 
+d="M856 1313q0 -46 -33.5 -80.5t-79.5 -34.5t-78 34t-32 81q0 43 33.5 77.5t76.5 34.5q46 0 79.5 -33t33.5 -79zM430 1313q0 -46 -33.5 -80.5t-79.5 -34.5q-44 0 -76 34t-32 79t33 79.5t77 34.5q46 0 78.5 -33t32.5 -79zM1024 0h-307l-27 121q-190 -137 -338 -137
+q-115 0 -188 69q-78 74 -78 199q0 128 101 200q129 92 503 173v88q0 202 -186 202q-81 0 -146 -26v-178h-149q-76 0 -76 59q0 117 137 183q119 57 289 57q324 0 324 -305v-574q0 -42 43 -45l98 -6v-80zM690 193v354q-251 -63 -339 -137q-62 -54 -62 -144q0 -67 40 -112
+q42 -50 113 -50q101 0 248 89z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="1049" 
+d="M782 1372q0 -101 -71 -172.5t-172 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172 -71.5t71 -172.5zM1024 0h-307l-27 121q-190 -137 -338 -137q-115 0 -188 69q-78 74 -78 199q0 128 101 200q129 92 503 173v88q0 202 -186 202q-81 0 -146 -26v-178h-149
+q-76 0 -76 59q0 117 137 183q119 57 289 57q324 0 324 -305v-574q0 -42 43 -45l98 -6v-80zM682 1372q0 60 -41.5 102t-101.5 42t-102 -42t-42 -102t42 -101.5t102 -41.5t101.5 41.5t41.5 101.5zM690 193v354q-251 -63 -339 -137q-62 -54 -62 -144q0 -67 40 -112
+q42 -50 113 -50q101 0 248 89z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="1507" 
+d="M1423 102q-163 -118 -340 -118q-221 0 -372 147q-194 -147 -361 -147q-126 0 -197 73q-67 70 -67 187q0 153 134 232q105 62 446 149v84q0 206 -183 206q-64 0 -129 -26v-178h-143q-78 0 -78 59q0 117 131 183q113 57 271 57q191 0 272 -119q100 119 276 119
+q172 0 261 -125q79 -110 79 -289q0 -21 -4 -72h-573v-272q131 -131 303 -131q149 0 274 104v-123zM1221 612v62q0 101 -42 167q-47 74 -132 74q-105 0 -157 -96q-44 -80 -44 -207h375zM666 193v354q-221 -60 -304 -122q-79 -58 -79 -153q0 -166 155 -166q89 0 228 87z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="963" 
+d="M891 84q-169 -93 -322 -100v-113q56 8 47 8q150 0 150 -145q0 -93 -68 -145q-64 -50 -170 -50q-67 0 -153 21v80q77 -17 125 -17q133 0 133 84q0 76 -98 76q-19 0 -46 -12v215q-189 18 -301 156t-112 345q0 247 148 391q137 132 345 132q140 0 227 -53q91 -55 91 -152
+q0 -57 -35.5 -88t-85.5 -31q-52 0 -102 33v180q-44 25 -86 25q-135 0 -214 -114.5t-79 -295.5q0 -178 86 -286q91 -115 254 -115q131 0 266 88v-117z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1014" 
+d="M662 1128h-117l-312 199q-47 30 -47 82q0 92 95 92q58 0 106 -55zM940 102q-189 -118 -389 -118q-201 0 -330 121q-145 135 -145 378q0 237 135 382t346 145q185 0 287 -118q96 -111 96 -300q0 -39 -2 -57h-664q0 -181 72 -291q88 -135 270 -135q147 0 324 118v-125z
+M735 627v45q0 107 -48 170q-53 69 -150 69q-103 0 -173.5 -77t-78.5 -207h450z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1014" 
+d="M897 1409q0 -52 -47 -82l-311 -199h-117l272 318q47 55 109 55q94 0 94 -92zM940 102q-189 -118 -389 -118q-201 0 -330 121q-145 135 -145 378q0 237 135 382t346 145q185 0 287 -118q96 -111 96 -300q0 -39 -2 -57h-664q0 -181 72 -291q88 -135 270 -135q147 0 324 118
+v-125zM735 627v45q0 107 -48 170q-53 69 -150 69q-103 0 -173.5 -77t-78.5 -207h450z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1014" 
+d="M856 1128h-123l-211 203l-211 -203h-123l256 347h154zM940 102q-189 -118 -389 -118q-201 0 -330 121q-145 135 -145 378q0 237 135 382t346 145q185 0 287 -118q96 -111 96 -300q0 -39 -2 -57h-664q0 -181 72 -291q88 -135 270 -135q147 0 324 118v-125zM735 627v45
+q0 107 -48 170q-53 69 -150 69q-103 0 -173.5 -77t-78.5 -207h450z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1014" 
+d="M852 1313q0 -46 -33.5 -80.5t-79.5 -34.5t-79 34.5t-33 80.5q0 43 33.5 77.5t76.5 34.5q46 0 80.5 -33t34.5 -79zM426 1313q0 -46 -33.5 -80.5t-79.5 -34.5q-44 0 -77 34t-33 79t33 79.5t77 34.5q46 0 79.5 -33t33.5 -79zM940 102q-189 -118 -389 -118q-201 0 -330 121
+q-145 135 -145 378q0 237 135 382t346 145q185 0 287 -118q96 -111 96 -300q0 -39 -2 -57h-664q0 -181 72 -291q88 -135 270 -135q147 0 324 118v-125zM735 627v45q0 107 -48 170q-53 69 -150 69q-103 0 -173.5 -77t-78.5 -207h450z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="621" 
+d="M446 1128h-114l-312 199q-49 31 -49 82q0 92 97 92q59 0 106 -55zM551 0h-481v80l100 6q43 3 43 45v723h-141v68l250 77h81v-868q0 -43 43 -45l105 -6v-80z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="621" 
+d="M553 1409q0 -52 -47 -82l-311 -199h-117l272 318q47 55 109 55q94 0 94 -92zM551 0h-481v80l100 6q43 3 43 45v723h-141v68l250 77h81v-868q0 -43 43 -45l105 -6v-80z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="621" 
+d="M643 1128h-123l-213 203l-211 -203h-123l258 347h154zM551 0h-481v80l100 6q43 3 43 45v723h-141v68l250 77h81v-868q0 -43 43 -45l105 -6v-80z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="621" 
+d="M633 1313q0 -46 -33.5 -80.5t-79.5 -34.5t-78 34t-32 81q0 43 33.5 77.5t76.5 34.5q46 0 79.5 -33t33.5 -79zM209 1313q0 -46 -33.5 -80.5t-79.5 -34.5q-44 0 -77 34t-33 79t33 79.5t77 34.5q46 0 79.5 -33t33.5 -79zM551 0h-481v80l100 6q43 3 43 45v723h-141v68l250 77
+h81v-868q0 -43 43 -45l105 -6v-80z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1182" 
+d="M940 1423q-57 -225 -238 -225q-51 0 -131.5 49t-150.5 49q-40 0 -72 -30t-37 -68h-82q57 225 238 225q51 0 133 -49t152 -49q40 0 70.5 30t35.5 68h82zM1130 0h-452v80l86 6q43 3 43 45v531q0 200 -197 200q-107 0 -225 -59v-672q0 -42 43 -45l86 -6v-80h-463v80l101 6
+q43 3 43 45v723h-144v68l250 77h84v-114q219 125 338 125q274 0 274 -314v-565q0 -42 43 -45l90 -6v-80z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1135" 
+d="M682 1128h-117l-311 199q-47 30 -47 82q0 92 94 92q60 0 107 -55zM1051 494q0 -222 -133 -364q-136 -146 -357 -146t-355 144q-130 141 -130 366t131 368q135 148 358 148t357 -150q129 -143 129 -366zM838 496q0 179 -68 295q-75 127 -207 127q-135 0 -207 -127
+q-65 -114 -65 -295q0 -178 67 -293q74 -127 205 -127q134 0 208 126q67 114 67 294z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1135" 
+d="M932 1409q0 -52 -47 -82l-312 -199h-116l272 318q47 55 109 55q94 0 94 -92zM1051 494q0 -222 -133 -364q-136 -146 -357 -146t-355 144q-130 141 -130 366t131 368q135 148 358 148t357 -150q129 -143 129 -366zM838 496q0 179 -68 295q-75 127 -207 127
+q-135 0 -207 -127q-65 -114 -65 -295q0 -178 67 -293q74 -127 205 -127q134 0 208 126q67 114 67 294z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1135" 
+d="M899 1128h-123l-211 203l-213 -203h-123l258 347h154zM1051 494q0 -222 -133 -364q-136 -146 -357 -146t-355 144q-130 141 -130 366q0 224 132 368q136 148 359 148t356 -150q128 -143 128 -366zM838 496q0 179 -68 295q-75 127 -207 127q-135 0 -207 -127
+q-65 -114 -65 -295q0 -178 67 -293q74 -127 205 -127q134 0 208 126q67 114 67 294z" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1135" 
+d="M930 1423q-57 -225 -238 -225q-51 0 -131.5 49t-150.5 49q-40 0 -72 -30t-37 -68h-82q57 225 238 225q51 0 132.5 -49t151.5 -49q40 0 71 30t36 68h82zM1051 494q0 -222 -133 -364q-136 -146 -357 -146t-355 144q-130 141 -130 366t131 368q135 148 358 148t357 -150
+q129 -143 129 -366zM838 496q0 179 -68 295q-75 127 -207 127q-135 0 -207 -127q-65 -114 -65 -295q0 -178 67 -293q74 -127 205 -127q134 0 208 126q67 114 67 294z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1135" 
+d="M893 1313q0 -46 -33.5 -80.5t-79.5 -34.5t-78 34t-32 81q0 43 33.5 77.5t76.5 34.5q46 0 79.5 -33t33.5 -79zM469 1313q0 -46 -33.5 -80.5t-79.5 -34.5q-44 0 -77 34t-33 79t33 79.5t77 34.5q46 0 79.5 -33t33.5 -79zM1051 494q0 -222 -133 -364q-136 -146 -357 -146
+t-355 144q-130 141 -130 366t131 368q135 148 358 148t357 -150q129 -143 129 -366zM838 496q0 179 -68 295q-75 127 -207 127q-135 0 -207 -127q-65 -114 -65 -295q0 -178 67 -293q74 -127 205 -127q134 0 208 126q67 114 67 294z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="1706" 
+d="M977 967q0 -52 -36 -87.5t-87 -35.5t-88 35.5t-37 87.5q0 51 37 87t88 36t87 -36t36 -87zM1452 553h-1198v117h1198v-117zM977 256q0 -50 -36 -85.5t-87 -35.5t-88 35.5t-37 85.5q0 52 37 88.5t88 36.5t87 -36.5t36 -88.5z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1122" 
+d="M1051 498q0 -218 -130 -363q-135 -151 -354 -151q-144 0 -235 53l-117 -205l-72 43l119 207q-186 154 -186 412q0 223 132 367q136 149 357 149q117 0 203 -43l104 182l74 -41l-104 -182q209 -154 209 -428zM711 864q-59 51 -150 51q-134 0 -208 -124q-66 -112 -66 -291
+q0 -178 55 -277zM838 492q0 194 -70 303l-375 -650q65 -69 168 -69q137 0 211 125q66 112 66 291z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1165" 
+d="M729 1128h-117l-311 199q-47 30 -47 82q0 92 94 92q62 0 109 -55zM1122 0h-323v117q-174 -133 -330 -133q-283 0 -283 323v555h-143v70l252 78h84v-664q0 -223 196 -223q118 0 224 53v686h-144v70l250 78h82v-879q0 -42 45 -45l90 -6v-80z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1165" 
+d="M942 1409q0 -53 -45 -82l-311 -199h-117l272 318q47 55 109 55q92 0 92 -92zM1122 0h-323v117q-174 -133 -330 -133q-283 0 -283 323v555h-143v70l252 78h84v-664q0 -223 196 -223q118 0 224 53v686h-144v70l250 78h82v-879q0 -42 45 -45l90 -6v-80z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1165" 
+d="M899 1128h-123l-211 203l-213 -203h-123l258 347h154zM1122 0h-323v117q-174 -133 -330 -133q-283 0 -283 323v555h-143v70l252 78h84v-664q0 -223 196 -223q118 0 224 53v686h-144v70l250 78h82v-879q0 -42 45 -45l90 -6v-80z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1165" 
+d="M926 1313q0 -46 -33.5 -80.5t-79.5 -34.5t-78.5 34.5t-32.5 80.5q0 43 34 77.5t77 34.5q46 0 79.5 -33t33.5 -79zM502 1313q0 -46 -34.5 -80.5t-80.5 -34.5q-44 0 -76 34t-32 79t33 79.5t77 34.5q46 0 79.5 -33t33.5 -79zM1122 0h-323v117q-174 -133 -330 -133
+q-283 0 -283 323v555h-143v70l252 78h84v-664q0 -223 196 -223q118 0 224 53v686h-144v70l250 78h82v-879q0 -42 45 -45l90 -6v-80z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="1085" 
+d="M899 1313q0 -46 -32.5 -80.5t-78.5 -34.5t-79 34.5t-33 80.5q0 43 34.5 77.5t77.5 34.5q46 0 78.5 -33t32.5 -79zM475 1313q0 -46 -33.5 -80.5t-79.5 -34.5q-44 0 -77 34t-33 79t33 79.5t77 34.5q46 0 79.5 -33t33.5 -79zM1065 909l-107 -12l-393 -960
+q-89 -217 -176 -304q-79 -79 -178 -79q-69 0 -111 36q-39 33 -39 82q0 68 66 123l192 -88q93 93 162 295l-348 895l-113 12v78h453v-78l-98 -6q-33 -2 -33 -33q0 -6 2 -12l238 -606l243 606q6 15 -2.5 29.5t-25.5 15.5l-97 6v78h365v-78z" />
+    <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="2042" 
+d="M1985 0h-859v242q-54 -108 -155 -178q-120 -82 -275 -82q-274 0 -445 205q-165 199 -165 499q0 295 160 493q172 214 459 214q302 0 421 -254v235h787v-305h-121l-29 168q-7 39 -37 39h-407v-510h270q31 0 35 35l18 141h105v-457h-105l-18 142q-5 37 -37 37h-268v-564
+h481q28 0 35 39l35 203h115v-342zM1130 684q0 258 -105 422q-110 174 -298 174q-199 0 -307 -176q-98 -160 -98 -416q0 -257 100 -417q109 -175 303 -175q189 0 299 169q106 161 106 419z" />
+    <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="1696" 
+d="M1616 592q0 -39 -2 -57h-617q0 -175 73 -285q88 -131 261 -131q138 0 283 108v-125q-168 -120 -350 -120q-228 0 -363 196q-148 -196 -360 -196q-214 0 -343 151q-122 142 -122 361q0 221 123 365q130 151 346 151q133 0 236 -61q89 -52 132 -132q54 89 146 141t196 52
+q174 0 270 -117q91 -111 91 -301zM1409 627v45q0 105 -44 170q-47 71 -130 71q-95 0 -157 -83q-59 -78 -70 -203h401zM803 489q0 186 -62 300q-68 124 -194 124t-196 -125q-62 -112 -62 -288q0 -181 64 -297q71 -127 194 -127q124 0 193 124q63 113 63 289z" />
+    <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1280" 
+d="M991 1665q0 -46 -33 -80.5t-79 -34.5t-78.5 34.5t-32.5 80.5q0 43 34 78t77 35q46 0 79 -33.5t33 -79.5zM565 1665q0 -46 -33 -80.5t-79 -34.5q-44 0 -77.5 34t-33.5 79t34.5 80t78.5 35q46 0 78 -33.5t32 -79.5zM1260 1288l-111 -20l-412 -684v-443q0 -42 43 -45l131 -8
+v-88h-551v88l127 8q45 3 45 45v412l-393 711l-119 24v86h486v-86l-103 -10q-44 -4 -24 -41l287 -537l317 531q4 7 4 14q0 25 -29 29l-114 14v86h416v-86z" />
+    <glyph glyph-name="florin" unicode="&#x192;" horiz-adv-x="1153" 
+d="M1053 1266q0 -84 -101 -131l-178 157q-75 -38 -105 -108q-36 -83 -36 -260v-168h330v-109h-328v-289q0 -383 -170 -557q-134 -137 -297 -137q-73 0 -113.5 35t-40.5 84q0 77 84 133l209 -131q139 95 139 338v524h-233v109h233q0 333 74 440q140 203 352 203q86 0 137 -43
+q44 -38 44 -90z" />
+    <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="670" 
+d="M670 1128h-123l-211 203l-213 -203h-123l258 347h154z" />
+    <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="711" 
+d="M711 1423q-57 -225 -238 -225q-51 0 -133 49t-152 49q-40 0 -70.5 -30t-35.5 -68h-82q57 225 238 225q51 0 131.5 -49t150.5 -49q40 0 72 30t37 68h82z" />
+    <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="1024" 
+d="M1024 541h-1024v180h1024v-180z" />
+    <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="2048" 
+d="M2048 541h-2048v180h2048v-180z" />
+    <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="494" 
+d="M508 1264q-57 -35 -114 -94t-75 -99q-153 88 -153 197q0 82 91 187q81 93 114 93q22 0 22 -24q0 -9 -23.5 -39.5t-23.5 -67.5q0 -83 162 -153z" />
+    <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="494" 
+d="M387 1352q0 -83 -92 -187q-82 -94 -115 -94q-20 0 -20 25q0 7 23.5 38.5t23.5 67.5q0 80 -162 156q56 32 115 93q56 57 73 97q154 -84 154 -196z" />
+    <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="440" 
+d="M367 37q0 -126 -93 -246q-39 -50 -133 -133l-75 16q101 119 107 128q64 93 63 182q0 6 -1.5 21t-1.5 20h-129q-30 33 -30 79q0 54 34 89.5t89 35.5q79 0 124.5 -51t45.5 -141z" />
+    <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="1057" 
+d="M893 1264q-58 -35 -115.5 -94.5t-72.5 -98.5q-154 86 -154 197q0 82 91 187q81 93 114 93q20 0 20 -24q0 -9 -23.5 -39.5t-23.5 -67.5q0 -82 164 -153zM508 1264q-57 -35 -114 -94t-75 -99q-153 88 -153 197q0 82 91 187q81 93 114 93q22 0 22 -24q0 -9 -23.5 -39.5
+t-23.5 -67.5q0 -83 162 -153z" />
+    <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="815" 
+d="M770 1352q0 -83 -91 -187q-81 -94 -114 -94q-20 0 -20 25q0 7 22.5 38.5t22.5 67.5q0 80 -162 156q57 33 115 92t73 98q154 -82 154 -196zM387 1352q0 -83 -92 -187q-82 -94 -115 -94q-20 0 -20 25q0 7 23.5 38.5t23.5 67.5q0 80 -162 156q56 32 115 93q56 57 73 97
+q154 -84 154 -196z" />
+    <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="815" 
+d="M770 150q0 -83 -91 -188q-81 -93 -114 -93q-11 0 -15.5 4t-4.5 18q0 9 22.5 41t22.5 68q0 83 -162 154q57 34 115 93t73 97q154 -82 154 -194zM387 150q0 -83 -92 -188q-82 -93 -115 -93q-11 0 -15.5 4t-4.5 18q0 9 23.5 41t23.5 68q0 83 -162 154q56 34 115 94
+q56 58 73 96q154 -84 154 -194z" />
+    <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="1024" 
+d="M608 1315l-82 -287h-28l-82 287l96 155zM995 985l-153 -94l-287 80v28l287 82zM471 971l-289 -80l-153 94l153 96l289 -82v-28zM616 602l-90 -866h-28l-90 866l90 340h28z" />
+    <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="1024" 
+d="M608 1315l-82 -287h-28l-80 287l94 155zM995 985l-153 -94l-287 80v28l287 82zM471 971l-289 -80l-153 94l153 96l289 -82v-28zM633 600l-107 -340h-28l-109 342l109 340h28zM995 217l-153 -96l-287 80v30l287 80zM471 201l-289 -80l-153 96l153 94l289 -80v-30z
+M608 -113l-96 -155l-94 155l80 287h28z" />
+    <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="762" 
+d="M662 748q0 -117 -82 -198t-199 -81t-199 81t-82 198t82 198.5t199 81.5t199 -81.5t82 -198.5z" />
+    <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="2048" 
+d="M1845 121q0 -57 -39.5 -97t-97.5 -40q-57 0 -97 40t-40 97t39 97t96 40t98 -41t41 -96zM1161 121q0 -58 -40 -97.5t-97 -39.5q-58 0 -97.5 40t-39.5 97t40 97t97 40t97 -40t40 -97zM479 121q0 -57 -40 -97t-97 -40t-97 40t-40 97t40 97t97 40t97 -40t40 -97z" />
+    <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2537" 
+d="M2476 406q0 -190 -78 -306q-84 -125 -235 -125q-152 0 -237 126q-79 116 -79 305q0 188 78 304q85 126 238 126q152 0 236 -125q77 -116 77 -305zM1700 406q0 -189 -80 -306q-85 -125 -236 -125q-152 0 -236 126q-77 116 -77 305t78 305q85 125 237 125t236 -126
+q78 -116 78 -304zM1380 1374l-868 -1374h-129l868 1374h129zM696 971q0 -190 -80 -306q-85 -124 -235 -124q-153 0 -237 126q-78 116 -78 304q0 189 78 305q85 125 237 125t237 -125q78 -116 78 -305zM2320 406q0 352 -159 352q-158 0 -158 -352q0 -353 158 -353
+q159 0 159 353zM1544 406q0 352 -160 352q-159 0 -159 -352q0 -353 159 -353q160 0 160 353zM539 971q0 352 -158 352q-160 0 -160 -352q0 -353 158 -353q160 0 160 353z" />
+    <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="502" 
+d="M426 131l-340 279v163l340 281v-143l-238 -219l238 -218v-143z" />
+    <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="502" 
+d="M418 410l-340 -279v143l235 218l-235 219v143l340 -281v-163z" />
+    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1671" 
+d="M1462 817h-223v45l61 10v428l-184 -483h-49l-174 483v-428l61 -10v-45h-186v45l63 10v424l-63 13v47h213v-27l135 -360l135 360v27h211v-47l-65 -13v-424l65 -10v-45zM709 1212h-56l-14 86q0 11 -8 11h-107v-437q26 -4 76 -10v-45h-252v45q23 2 78 10v437h-109
+q-8 0 -8 -11l-12 -86h-59v144h471v-144z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="1024" 
+d="M582 674h-140v760h140v-760zM582 -350h-140v760h140v-760z" />
+    <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="657" 
+d="M565 416h-475v153h475v-153z" />
+    <glyph glyph-name="uni00B2" unicode="&#xb2;" horiz-adv-x="748" 
+d="M686 604h-623v82q255 195 327 268q124 126 124 242q0 180 -174 180q-31 0 -109 -26v-136q-25 -20 -63 -20q-82 0 -82 72q0 77 86 127.5t205 50.5q129 0 204.5 -64t75.5 -172q0 -116 -137 -249q-79 -77 -317 -250h393l25 104h65v-209z" />
+    <glyph glyph-name="uni00B3" unicode="&#xb3;" horiz-adv-x="764" 
+d="M686 844q0 -111 -97 -180.5t-243 -69.5q-125 0 -202 46q-66 40 -66 91q0 70 78 70q28 0 45 -10l41 -109q51 -27 108 -27q89 0 147 58q54 54 54 131q0 151 -193 151q-44 0 -75 -4v76h34q201 0 201 156q0 74 -50 116q-47 39 -118 39q-67 0 -114 -28v-123q-34 -17 -60 -17
+q-78 0 -78 70t83.5 118t203.5 48q118 0 192 -55q76 -58 76 -154q0 -143 -204 -197q96 -3 161 -49q76 -53 76 -147z" />
+    <glyph glyph-name="uni00B9" unicode="&#xb9;" horiz-adv-x="688" 
+d="M592 604h-451v55l135 5q29 1 29 26v649l-207 -32v55l289 82h49v-754q0 -25 31 -26l125 -5v-55z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1792" 
+d="M1694 233h-152v-276h-115v276h-426v86l451 512h90v-514h152v-84zM1413 1430l-907 -1430h-131l909 1430h129zM592 604h-451v55l135 5q29 1 29 26v649l-207 -32v55l289 82h49v-754q0 -25 31 -26l125 -5v-55zM1427 317v371l-319 -371h319z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1792" 
+d="M1700 0h-625v82q255 195 328 269q125 127 125 243q0 178 -174 178q-28 0 -109 -27v-135q-27 -20 -65 -20q-80 0 -80 72q0 77 85 127.5t204 50.5q129 0 204.5 -64t75.5 -172q0 -116 -136 -250q-81 -79 -316 -250h393l22 107h68v-211zM1399 1430l-910 -1430h-129l910 1430
+h129zM588 604h-451v55l135 5q29 1 29 26v649l-207 -32v55l289 82h49v-754q0 -25 31 -26l125 -5v-55z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1792" 
+d="M1716 233h-151v-276h-115v276h-426v86l451 512h90v-514h151v-84zM1436 1430l-910 -1430h-129l910 1430h129zM686 844q0 -111 -97 -180.5t-243 -69.5q-125 0 -202 46q-66 40 -66 91q0 70 78 70q28 0 45 -10l41 -109q51 -27 108 -27q89 0 147 58q54 54 54 131
+q0 151 -193 151q-44 0 -75 -4v76h34q201 0 201 156q0 74 -50 116q-47 39 -118 39q-67 0 -114 -28v-123q-34 -17 -60 -17q-78 0 -78 70t83.5 118t203.5 48q118 0 192 -55q76 -58 76 -154q0 -143 -204 -197q96 -3 161 -49q76 -53 76 -147zM1450 317v371l-320 -371h320z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1432" 
+d="M1346 686q0 -304 -178 -489q-190 -197 -531 -197h-571v88l108 8q43 3 43 45v527h-186v104h186v461q0 39 -43 43l-108 10v88h526q337 0 534 -160q220 -178 220 -528zM1114 686q0 590 -532 590h-158v-504h328v-104h-328v-570h160q530 0 530 588z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="1706" 
+d="M1417 139l-92 -92l-471 473l-473 -473l-90 92l471 471l-471 473l90 93l473 -474l471 474l92 -93l-473 -473z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1280" 
+d="M975 1769q0 -53 -47 -83l-312 -199h-116l272 317q48 56 109 56q94 0 94 -91zM1260 1288l-111 -20l-412 -684v-443q0 -42 43 -45l131 -8v-88h-551v88l127 8q45 3 45 45v412l-393 711l-119 24v86h486v-86l-103 -10q-44 -4 -24 -41l287 -537l317 531q4 7 4 14q0 25 -29 29
+l-114 14v86h416v-86z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1157" 
+d="M1110 709q0 -209 -150 -327q-144 -113 -385 -112q-53 0 -147 11v-140q0 -42 45 -45l119 -8v-88h-520v88l106 8q45 3 45 45v1092q0 42 -45 45l-106 8v88h520v-88l-119 -8q-45 -3 -45 -45v-115l141 -2q283 -4 410 -97q131 -96 131 -310zM897 709q0 325 -371 311
+q-6 4 -98 -4v-633q40 -4 119 -8q350 -3 350 334z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1102" 
+d="M1034 555q0 -261 -135 -419q-133 -154 -346 -154q-217 0 -350 144t-133 374q0 224 142 362q138 135 353 135q46 0 137 -14q-26 46 -92 135q-56 77 -65 86l-260 -155l-45 81l235 142l-72 82l-172 22v58l252 73l148 -149l223 133l47 -82l-209 -127q342 -391 342 -727z
+M836 514q0 236 -80 367q-97 26 -156 26q-157 0 -240 -115q-77 -108 -77 -294q0 -180 64 -293q73 -131 212 -131q140 0 214 139q63 118 63 301z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="1085" 
+d="M903 1409q0 -50 -49 -82l-309 -199h-117l272 318q47 55 109 55q94 0 94 -92zM1065 909l-107 -12l-393 -960q-89 -217 -176 -304q-79 -79 -178 -79q-69 0 -111 36q-39 33 -39 82q0 68 66 123l192 -88q93 93 162 295l-348 895l-113 12v78h453v-78l-98 -6q-33 -2 -33 -33
+q0 -6 2 -12l238 -606l243 606q6 15 -2.5 29.5t-25.5 15.5l-97 6v78h365v-78z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1149" 
+d="M1087 528q0 -244 -140 -388t-380 -144q-70 0 -178 16v-327q0 -39 43 -43l121 -11v-77h-498v77l101 11q43 5 43 43v1677h-158v68l266 79h82v-622q167 125 309 125q159 0 270 -126q119 -136 119 -358zM885 500q0 165 -77 266.5t-214 101.5q-63 0 -136 -29l-69 -32v-686
+q80 -29 164 -29q159 0 250 124q82 113 82 284z" />
+    <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1145" 
+d="M932 1835l-258 -348h-154l-258 348h123l213 -205l211 205h123zM1030 385q0 -171 -127 -283q-146 -127 -416 -127q-205 0 -364 68v363h129l27 -240q8 -24 30 -35q89 -41 211 -41q134 0 217.5 62t83.5 172q0 112 -143 206q-62 41 -215 107q-140 60 -209 123
+q-109 100 -109 246q0 179 135 288q131 105 338 105q168 0 363 -62v-319h-119l-31 201q-7 16 -28 30q-60 39 -176 39q-126 0 -198.5 -63.5t-72.5 -169.5q0 -163 285 -271q200 -76 287 -158q102 -96 102 -241z" />
+    <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="844" 
+d="M776 1475l-258 -347h-153l-256 347h122l211 -203l211 203h123zM762 297q0 -150 -103.5 -232.5t-287.5 -82.5q-172 0 -285 45v274h104q2 -10 25 -176q71 -51 182 -51q84 0 136 47q49 44 49 108q0 75 -62 125q-39 30 -178 95q-125 58 -179 112q-63 64 -63 154
+q0 138 97 217.5t272 79.5q158 0 262 -47v-242h-106l-19 147q-57 45 -153 45q-166 0 -166 -137q0 -67 48 -111q44 -40 177 -100q123 -56 179 -110q71 -68 71 -160z" />
+    <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1202" 
+d="M981 1835l-256 -348h-156l-256 348h123l211 -205l211 205h123zM1110 0h-1018v90l762 1182h-524q-35 0 -41 -33l-33 -192h-121v327h965v-94l-764 -1176h577q34 0 39 33l37 242h121v-379z" />
+    <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="973" 
+d="M827 1475l-258 -347h-153l-258 347h123l211 -203l213 203h122zM899 0h-807v109l543 782h-361q-28 0 -34 -41l-23 -154h-104v291h757v-84l-561 -805h416q35 0 41 45l22 166h111v-309z" />
+    <glyph glyph-name="uni02C9" unicode="&#x2c9;" horiz-adv-x="616" 
+d="M616 1198h-616v131h616v-131z" />
+    <glyph glyph-name="number" horiz-adv-x="2" 
+d="M750 1638q0 -37 -28.5 -64.5t-66.5 -27.5t-65 27t-27 65q0 37 27 64t65 27t66.5 -27t28.5 -64z" />
+    <glyph glyph-name="number2" horiz-adv-x="2" 
+d="M903 1638q0 -38 -27.5 -65t-66.5 -27q-38 0 -64 27t-26 65t26 64.5t64 26.5t66 -27t28 -64zM596 1638q0 -38 -28 -65t-66 -27q-37 0 -63.5 27t-26.5 65q0 37 26.5 64t63.5 27q38 0 66 -27t28 -64z" />
+    <glyph glyph-name="mu" unicode="&#x3bc;" horiz-adv-x="1137" 
+d="M1094 299q0 -77 -52 -174q-78 -145 -221 -145q-83 0 -123 69q-33 57 -30 144q-91 -216 -281 -216q-95 0 -155 62q-56 59 -66 156q-6 -30 -72 -451q-26 -162 -96 -162q-84 0 -84 78q0 45 14 96q114 411 265 1129h161l-106 -510q-10 -48 -10 -88q0 -172 155 -172
+q191 0 242 237l115 533h163l-122 -578q-9 -45 -9 -80q0 -110 88 -110q66 0 107 55q20 27 61 125q15 37 33 37q23 0 23 -35z" />
+    <glyph glyph-name="uni0591" unicode="&#x591;" 
+d="M401 -607q0 -47 -47 -47t-47 47q0 91 -10 115q-20 50 -99 50q-75 0 -94 -50q-10 -25 -10 -115q0 -47 -47 -47t-47 47q0 111 20 162q32 79 126 93v151q0 47 47 47q48 0 48 -47v-149q102 -12 137 -90q23 -51 23 -167z" />
+    <glyph glyph-name="uni0592" unicode="&#x592;" 
+d="M352 1950q0 -37 -27.5 -63.5t-64.5 -26.5q-38 0 -65 26.5t-27 63.5q0 38 27 65t65 27t65 -27t27 -65zM520 1636q0 -36 -28.5 -63t-65.5 -27q-38 0 -65 26.5t-27 63.5q0 39 27 66t65 27t66 -27.5t28 -65.5zM185 1638q0 -38 -27.5 -65t-65.5 -27t-65 27t-27 65t27 65.5
+t65 27.5q37 0 65 -28t28 -65z" />
+    <glyph glyph-name="uni0593" unicode="&#x593;" 
+d="M344 1548h-344l199 166h-199l199 164h-199l301 254h43l-201 -168h201l-197 -166h197l-197 -166h197v-84z" />
+    <glyph glyph-name="uni0594" unicode="&#x594;" 
+d="M284 1952q0 -39 -28 -66.5t-66 -27.5t-64 27.5t-26 66.5q0 37 26 63.5t64 26.5t66 -26.5t28 -63.5zM284 1638q0 -38 -27.5 -65t-66.5 -27q-38 0 -64 27t-26 65t26 64.5t64 26.5t66 -27t28 -64z" />
+    <glyph glyph-name="uni0595" unicode="&#x595;" 
+d="M397 1952q0 -39 -27.5 -66.5t-66.5 -27.5q-37 0 -63.5 27.5t-26.5 66.5q0 37 26.5 63.5t63.5 26.5q39 0 66.5 -26.5t27.5 -63.5zM397 1638q0 -38 -27.5 -65t-66.5 -27q-37 0 -63.5 27t-26.5 65q0 37 26.5 64t63.5 27q39 0 66.5 -27t27.5 -64zM117 1546h-117v496h117v-496
+z" />
+    <glyph glyph-name="uni0596" unicode="&#x596;" 
+d="M237 -550q18 -18 18 -41q0 -56 -67 -56q-65 0 -125 96q-63 102 -63 230v121q0 47 47 47t47 -47v-95q0 -110 57 -179z" />
+    <glyph glyph-name="uni0597" unicode="&#x597;" 
+d="M363 1866l-182 -182l-179 182l179 184z" />
+    <glyph glyph-name="uni0598" unicode="&#x598;" 
+d="M724 1735q0 -86 -67.5 -142t-171.5 -56q-76 0 -140 69q-4 5 -93 129q-50 69 -93 69q-31 0 -54.5 -25t-23.5 -59q0 -39 31 -70q14 -14 14 -32q0 -47 -50 -46q-35 1 -60 50q-20 41 -20 79q0 86 67.5 142t171.5 56q76 0 140 -69q4 -5 93 -130q50 -69 93 -69q31 0 54.5 25.5
+t23.5 59.5q0 39 -31 70q-14 14 -14 32q0 47 50 46q35 -1 60 -50q20 -41 20 -79z" />
+    <glyph glyph-name="uni0599" unicode="&#x599;" 
+d="M255 1592q0 -47 -47 -47t-47 47v95q0 110 -57 179l-85 76q-19 19 -19 41q0 56 67 56q65 0 125 -96q63 -102 63 -230v-121z" />
+    <glyph glyph-name="uni059A" unicode="&#x59a;" horiz-adv-x="2" 
+d="M1436 -590l-68 -94l-378 264l378 266l68 -94l-244 -172z" />
+    <glyph glyph-name="uni059B" unicode="&#x59b;" 
+d="M353 -322q0 -128 -63 -230q-60 -96 -125 -96q-67 0 -67 56q0 23 18 41l85 76q57 69 57 179v94q0 48 48 48q47 0 47 -48v-120zM185 -321q0 -38 -28 -65.5t-66 -27.5q-37 0 -64 27.5t-27 65.5t26.5 64.5t64.5 26.5t66 -27t28 -64z" />
+    <glyph glyph-name="uni059C" unicode="&#x59c;" 
+d="M237 1942l-86 -76q-57 -69 -57 -179v-95q0 -47 -47 -47t-47 47v121q0 128 63 230q60 96 125 96q67 0 67 -56q0 -23 -18 -41z" />
+    <glyph glyph-name="uni059D" unicode="&#x59d;" horiz-adv-x="2" 
+d="M815 1942l-86 -76q-57 -69 -57 -179v-95q0 -47 -47 -47t-47 47v121q0 128 63 230q60 96 125 96q67 0 67 -56q0 -23 -18 -41z" />
+    <glyph glyph-name="uni059E" unicode="&#x59e;" 
+d="M455 1942l-85 -76q-57 -69 -57 -179v-95q0 -47 -47 -47t-47 47v121q0 128 63 230q60 96 125 96q67 0 67 -56q0 -22 -19 -41zM238 1942l-85 -76q-57 -69 -57 -179v-95q0 -47 -48 -47q-47 0 -47 47v121q0 128 63 230q60 96 125 96q67 0 67 -56q0 -23 -18 -41z" />
+    <glyph glyph-name="uni059F" unicode="&#x59f;" 
+d="M421 1976q0 -78 -52 -133l150 -149l150 149q-50 56 -50 133q0 85 59.5 145t145.5 60q85 0 146 -60t61 -145t-61 -146t-146 -61q-74 0 -135 52l-170 -170l-170 170q-61 -52 -135 -52q-86 0 -146.5 60.5t-60.5 146.5q0 85 60.5 145t146.5 60q85 0 146 -60t61 -145z
+M1000 1976q0 73 -52 124.5t-124 51.5t-124 -51.5t-52 -124.5q0 -72 52 -124t124 -52t124 52t52 124zM390 1976q0 73 -52 124.5t-124 51.5q-74 0 -125 -51.5t-51 -124.5q0 -72 51 -124t125 -52q72 0 124 52t52 124z" />
+    <glyph glyph-name="uni05A0" unicode="&#x5a0;" 
+d="M171 1774l-61 -232l-31 8l62 232q-60 22 -98 75t-38 119q0 85 60.5 145t146.5 60q85 0 145 -60t60 -145q0 -86 -60 -146.5t-145 -60.5q-16 0 -41 5zM386 1976q0 73 -51 124.5t-123 51.5t-124 -51.5t-52 -124.5q0 -72 52 -124t124 -52t123 52t51 124z" />
+    <glyph glyph-name="uni05A1" unicode="&#x5a1;" 
+d="M349 1858q0 -79 -68 -125q-64 -43 -165 -43v-145h-113v494h113v-272q120 0 119 117l-1 155h115v-181z" />
+    <glyph glyph-name="uni05A3" unicode="&#x5a3;" 
+d="M503 -657h-503v131h374v372h129v-503z" />
+    <glyph glyph-name="uni05A4" unicode="&#x5a4;" 
+d="M446 -590l-68 -94l-378 264l378 266l68 -94l-244 -172z" />
+    <glyph glyph-name="uni05A5" unicode="&#x5a5;" 
+d="M269 -321q0 -128 -63 -230q-60 -97 -125 -97q-67 0 -67 56q0 23 18 41l85 76q57 69 57 179v95q0 47 48 47q47 0 47 -47v-120z" />
+    <glyph glyph-name="uni05A6" unicode="&#x5a6;" 
+d="M473 -321q0 -128 -63 -230q-60 -97 -125 -97q-67 0 -67 56q0 23 18 41l85 76q57 69 57 179v95q0 47 48 47q47 0 47 -47v-120zM255 -321q0 -128 -63 -230q-60 -97 -125 -97q-67 0 -67 56q0 22 19 41l85 76q57 69 57 179v95q0 47 47 47t47 -47v-120z" />
+    <glyph glyph-name="uni05A7" unicode="&#x5a7;" 
+d="M334 -545q20 -29 20 -56q0 -54 -55 -54h-256q-47 0 -47 47t47 47h178l-203 297q-18 27 -18 55q0 57 59 57h253q47 0 47 -50q0 -49 -47 -49h-182z" />
+    <glyph glyph-name="uni05A8" unicode="&#x5a8;" 
+d="M255 1592q0 -47 -47 -47t-47 47v95q0 110 -57 179l-85 76q-19 19 -19 41q0 56 67 56q65 0 125 -96q63 -102 63 -230v-121z" />
+    <glyph glyph-name="uni05A9" unicode="&#x5a9;" 
+d="M342 1550l-31 -8l-61 232q-25 -5 -37 -5q-85 0 -145 60.5t-60 146.5q0 85 60 145t145 60q86 0 146.5 -60t60.5 -145q0 -66 -39.5 -120t-100.5 -74zM389 1976q0 73 -52 124.5t-124 51.5t-123 -51.5t-51 -124.5q0 -72 51 -124t123 -52t124 52t52 124z" />
+    <glyph glyph-name="uni05AA" unicode="&#x5aa;" 
+d="M241 -607q0 -47 -48 -47q-47 0 -47 47v151q-94 14 -126 93q-20 51 -20 162q0 47 47 47t47 -47q0 -90 10 -115q19 -50 94 -50q79 0 99 50q10 24 10 115q0 47 47 47t47 -47q0 -116 -23 -167q-35 -78 -137 -90v-149z" />
+    <glyph glyph-name="uni05AB" unicode="&#x5ab;" 
+d="M447 1659l-68 -96l-379 266l379 266l68 -96l-244 -170z" />
+    <glyph glyph-name="uni05AC" unicode="&#x5ac;" 
+d="M498 1544h-502v129h373v375h129v-504z" />
+    <glyph glyph-name="uni05AD" unicode="&#x5ad;" horiz-adv-x="2" 
+d="M1220 -550q18 -18 18 -41q0 -56 -67 -56q-65 0 -125 96q-63 102 -63 230v121q0 47 47 47t47 -47v-95q0 -110 57 -179z" />
+    <glyph glyph-name="uni05AE" unicode="&#x5ae;" 
+d="M489 1735q0 -86 -67.5 -142t-171.5 -56q-76 0 -140 69q-4 5 -93 129q-50 69 -93 69q-31 0 -54.5 -25t-23.5 -59q0 -39 31 -70q14 -14 14 -32q0 -47 -50 -46q-35 1 -60 50q-20 41 -20 79q0 86 67.5 142t171.5 56q76 0 140 -69q4 -5 93 -130q50 -69 93 -69q31 0 54.5 25.5
+t23.5 59.5q0 39 -31 70q-14 14 -14 32q0 47 50 46q35 -1 60 -50q20 -41 20 -79z" />
+    <glyph glyph-name="uni05AF" unicode="&#x5af;" 
+d="M213 2046q87 0 150 -62.5t63 -150.5t-63 -150.5t-150 -62.5q-89 0 -151 62.5t-62 150.5t62 150.5t151 62.5zM213 1987q-65 0 -109.5 -45.5t-44.5 -108.5t44.5 -108.5t109.5 -45.5q62 0 106.5 45.5t44.5 108.5t-44.5 108.5t-106.5 45.5z" />
+    <glyph glyph-name="uni05B0" unicode="&#x5b0;" 
+d="M187 -244q0 -38 -28.5 -66t-66.5 -28t-65 28t-27 66q0 37 27 63.5t65 26.5t66.5 -26.5t28.5 -63.5zM187 -557q0 -37 -29 -64.5t-66 -27.5q-38 0 -65 27.5t-27 64.5q0 38 27 64t65 26t66.5 -26t28.5 -64z" />
+    <glyph glyph-name="uni05B1" unicode="&#x5b1;" 
+d="M854 -244q0 -38 -27.5 -66t-64.5 -28q-38 0 -65 28t-27 66q0 37 27 63.5t65 26.5q37 0 64.5 -26.5t27.5 -63.5zM854 -557q0 -37 -27.5 -64.5t-64.5 -27.5q-38 0 -65 27.5t-27 64.5q0 38 26.5 64t65.5 26q37 0 64.5 -26t27.5 -64zM520 -246q0 -36 -28.5 -64t-65.5 -28
+q-38 0 -64 27.5t-26 64.5q0 39 26 65.5t64 26.5q37 0 65.5 -27t28.5 -65zM184 -246q0 -37 -28 -64.5t-66 -27.5q-36 0 -63 27.5t-27 64.5q0 38 26.5 65t63.5 27q39 0 66.5 -27t27.5 -65zM352 -557q0 -37 -28 -64.5t-66 -27.5q-37 0 -63.5 27.5t-26.5 64.5q0 38 26.5 64
+t63.5 26q39 0 66.5 -26t27.5 -64z" />
+    <glyph glyph-name="uni05B2" unicode="&#x5b2;" 
+d="M743 -244q0 -38 -27.5 -66t-64.5 -28q-38 0 -64 27.5t-26 66.5q0 38 26 64t64 26q37 0 64.5 -26.5t27.5 -63.5zM743 -557q0 -37 -27.5 -64.5t-64.5 -27.5q-38 0 -64 27.5t-26 64.5q0 38 26 64t64 26q37 0 64.5 -26t27.5 -64zM448 -268h-448v114h448v-114z" />
+    <glyph glyph-name="uni05B3" unicode="&#x5b3;" 
+d="M743 -244q0 -38 -27.5 -66t-64.5 -28q-38 0 -64 27.5t-26 66.5q0 38 26 64t64 26q37 0 64.5 -26.5t27.5 -63.5zM743 -557q0 -37 -27.5 -64.5t-64.5 -27.5q-38 0 -64 27.5t-26 64.5q0 38 26 64t64 26q37 0 64.5 -26t27.5 -64zM317 -553q0 -40 -28 -68t-68 -28
+q-41 0 -69.5 28t-28.5 68q0 39 90 285h-213v114h448v-114h-221q90 -246 90 -285z" />
+    <glyph glyph-name="uni05B4" unicode="&#x5b4;" 
+d="M187 -244q0 -38 -28.5 -66t-66.5 -28t-65 28t-27 66q0 37 27 63.5t65 26.5t66.5 -26.5t28.5 -63.5z" />
+    <glyph glyph-name="uni05B5" unicode="&#x5b5;" 
+d="M518 -246q0 -37 -28 -64.5t-66 -27.5q-37 0 -63.5 27.5t-26.5 64.5q0 38 26.5 65t63.5 27q38 0 66 -27t28 -65zM182 -246q0 -37 -27 -64.5t-65 -27.5t-64 27.5t-26 64.5q0 39 26 65.5t64 26.5t65 -26.5t27 -65.5z" />
+    <glyph glyph-name="uni05B6" unicode="&#x5b6;" 
+d="M518 -246q0 -37 -28 -64.5t-66 -27.5q-37 0 -63.5 27.5t-26.5 64.5q0 38 26.5 65t63.5 27q38 0 66 -27t28 -65zM182 -246q0 -37 -27 -64.5t-65 -27.5t-64 27.5t-26 64.5q0 39 26 65.5t64 26.5t65 -26.5t27 -65.5zM350 -557q0 -37 -27 -64.5t-65 -27.5q-37 0 -63.5 27.5
+t-26.5 64.5q0 38 26.5 64t63.5 26q39 0 65.5 -26t26.5 -64z" />
+    <glyph glyph-name="uni05B7" unicode="&#x5b7;" 
+d="M449 -268h-449v114h449v-114z" />
+    <glyph glyph-name="uni05B8" unicode="&#x5b8;" 
+d="M318 -553q0 -40 -29 -68t-70 -28q-39 0 -67.5 28t-28.5 68q0 59 90 285h-213v114h449v-114h-221q90 -246 90 -285z" />
+    <glyph glyph-name="uni05B9" unicode="&#x5b9;" 
+d="M195 1640q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5z" />
+    <glyph glyph-name="uni05BA" unicode="&#x5ba;" 
+d="M545 1640q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5z" />
+    <glyph glyph-name="uni05BB" unicode="&#x5bb;" 
+d="M166 -233q0 -34 -25.5 -59t-58.5 -25q-34 0 -58 25t-24 59q0 33 24 57t58 24t59 -24t25 -57zM358 -489q0 -34 -25 -59t-59 -25q-33 0 -57.5 25t-24.5 59q0 33 24 57t58 24t59 -24t25 -57zM553 -745q0 -34 -25 -58t-59 -24t-58 24t-24 58q0 33 24 57t58 24t59 -24t25 -57z
+" />
+    <glyph glyph-name="uni05BC" unicode="&#x5bc;" 
+d="M195 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uni05BD" unicode="&#x5bd;" 
+d="M117 -649h-117v495h117v-495z" />
+    <glyph glyph-name="uni05BE" unicode="&#x5be;" horiz-adv-x="952" 
+d="M862 1188h-772v166h772v-166z" />
+    <glyph glyph-name="uni05BF" unicode="&#x5bf;" 
+d="M540 1546h-415v115h415v-115z" />
+    <glyph glyph-name="uni05C0" unicode="&#x5c0;" horiz-adv-x="316" 
+d="M219 0h-117v1358h117v-1358z" />
+    <glyph glyph-name="uni05C1" unicode="&#x5c1;" horiz-adv-x="2" 
+d="M1320 1638q0 -37 -28.5 -64.5t-66.5 -27.5t-65 27t-27 65q0 37 27 64t65 27t66.5 -27t28.5 -64z" />
+    <glyph glyph-name="uni05C2" unicode="&#x5c2;" horiz-adv-x="2" 
+d="M380 1638q0 -37 -28.5 -64.5t-66.5 -27.5t-65 27t-27 65q0 37 27 64t65 27t66.5 -27t28.5 -64z" />
+    <glyph glyph-name="uni05C3" unicode="&#x5c3;" horiz-adv-x="813" 
+d="M483 166q-120 -73 -188 -191q-68 118 -189 191q121 70 189 190q68 -120 188 -190zM483 846q-120 -70 -188 -191q-68 121 -189 191q118 68 189 190q71 -122 188 -190z" />
+    <glyph glyph-name="uni05C4" unicode="&#x5c4;" 
+d="M379 1631q-96 -59 -150 -153q-54 94 -151 153q97 56 151 152q54 -96 150 -152z" />
+    <glyph glyph-name="uni05D0" unicode="&#x5d0;" horiz-adv-x="1221" 
+d="M1143 213q0 -96 -65 -177q-55 -69 -91 -69q-18 0 -18 29q0 4 13 24t13 35q0 49 -66 124l-102 102l-501 501q-56 -83 -56 -147q0 -87 123 -234.5t123 -234.5q0 -71 -54 -118.5t-132 -47.5h-267l11 51q131 17 131 88q0 35 -59.5 146.5t-59.5 179.5q0 157 190 366l-49 50
+q-90 90 -121 148q-36 70 -36 169q0 96 63 177q54 69 90 69q19 0 19 -29q0 -3 -13.5 -23t-13.5 -34q0 -50 66 -124l102 -101l299 -299l143 180q-74 56 -99 105q-17 35 -17 91q0 97 71 172q57 62 97 62q18 0 18 -19q0 -4 -5 -9t-5 -19q0 -49 108 -127q129 -94 129 -238
+q0 -100 -44 -154q-34 -42 -74 -42q-22 0 -40 34q-30 55 -83 101l-150 -187l252 -254q90 -91 122 -148q38 -70 38 -169z" />
+    <glyph glyph-name="uni05D1" unicode="&#x5d1;" horiz-adv-x="1362" 
+d="M1307 340l-179 -340h-1099l164 340h876l-16 567q-4 111 -172 111h-625q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h586q281 0 281 -297v-721h164z" />
+    <glyph glyph-name="uni05D2" unicode="&#x5d2;" horiz-adv-x="741" 
+d="M686 248q0 -248 -29 -248q-20 0 -22 27q-5 47 -63 232q-54 169 -54 284q0 64 11.5 202.5t11.5 161.5q0 111 -185 111h-100q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h62q278 0 278 -297q0 -51 -10 -103.5t-10 -134.5q0 -59 45 -266.5t45 -308.5
+zM545 340l-113 -340h-377l86 340h404z" />
+    <glyph glyph-name="uni05D3" unicode="&#x5d3;" horiz-adv-x="1380" 
+d="M1280 1188q0 -72 -37.5 -119.5t-87.5 -50.5l39 -854q1 -22 -55 -93t-72 -71q-27 0 -27 43q0 112 37 975h-833q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123z" />
+    <glyph glyph-name="uni05D4" unicode="&#x5d4;" horiz-adv-x="1380" 
+d="M1280 1188q0 -75 -39.5 -122.5t-91.5 -47.5h-8l53 -854q1 -22 -55 -93t-72 -71q-27 0 -27 43q0 176 21 975h-817q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123zM330 319q0 -201 -31 -233q-21 -22 -69 -52q-53 -34 -74 -34
+q-39 0 -39 41q0 25 15.5 52.5t32.5 54.5q23 54 23 163q0 35 -3 96t-3 117q0 65 41 136q39 67 66 67q26 0 26 -18q0 -8 -9 -38.5t-9 -68.5q0 -30 16.5 -109t16.5 -174z" />
+    <glyph glyph-name="uni05D5" unicode="&#x5d5;" horiz-adv-x="690" 
+d="M567 164q0 -23 -56.5 -93.5t-72.5 -70.5q-24 0 -24 43q0 27 34.5 394.5t34.5 463.5q0 117 -127 117h-137q-79 0 -109 54q-28 50 -28 171q0 201 55 201q12 0 30 -43t71 -43h127q200 0 200 -297z" />
+    <glyph glyph-name="uni05D6" unicode="&#x5d6;" horiz-adv-x="707" 
+d="M637 1157q0 -86 -38 -159q-34 -64 -60 -64q-13 0 -13 16q0 4 2 6t2 13q0 32 -141 49q-49 -88 -49 -133q0 -28 46 -252.5t46 -253.5q0 -113 -44 -249q-43 -130 -73 -130q-22 0 -22 23q0 -2 16.5 49t16.5 88q0 21 -45 242t-45 257q0 185 94 365l-35 2q-122 7 -162.5 48
+t-40.5 161q0 64 33.5 136.5t64.5 72.5q21 0 21 -21q0 -6 -3 -11.5t-3 -10.5q0 -28 198 -43q234 -18 234 -201z" />
+    <glyph glyph-name="uni05D7" unicode="&#x5d7;" horiz-adv-x="1380" 
+d="M1280 1188q0 -75 -39.5 -122.5t-91.5 -47.5h-8l53 -854q1 -22 -55 -93t-72 -71q-27 0 -27 43q0 176 21 975h-717q-76 -71 -76 -219q0 -11 31 -196t31 -284q0 -201 -31 -233q-21 -22 -69 -52q-53 -34 -74 -34q-39 0 -39 41q0 25 14 53q33 66 33 232q0 33 -5 167.5
+t-5 190.5q0 211 106 334h-16q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123z" />
+    <glyph glyph-name="uni05D8" unicode="&#x5d8;" horiz-adv-x="1356" 
+d="M1253 719q0 -150 -149 -719h-938q2 138 -22 329q-25 198 -25 316q0 200 121 381q-77 33 -103 82q-22 40 -22 127q0 90 44 157q35 52 56 52t21 -21q0 -6 -3.5 -11.5t-3.5 -10.5q0 -13 47 -28q86 -30 132 -50q69 -31 91.5 -65.5t22.5 -112.5q0 -82 -45 -166
+q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 14 -117 57q-88 -152 -88 -258q0 -87 38 -220q41 -145 44 -181h805q76 231 76 328q0 172 -89 267q-79 85 -198 85q-110 0 -165 -87q-44 -68 -44 -169q0 -15 3 -45t3 -39q0 -18 -13 -36.5t-28 -18.5q-57 0 -57 141q0 63 42 195
+q48 150 58 235q3 21 3 44q0 25 -4 61.5t-4 47.5q0 23 9 33q7 7 39 7q77 0 173 -31q121 -38 190 -105q100 -98 136 -207q27 -79 27 -204q0 -20 -1 -60.5t-1 -62.5z" />
+    <glyph glyph-name="uni05D9" unicode="&#x5d9;" horiz-adv-x="691" 
+d="M580 1061q0 -147 -20 -262q-21 -121 -52 -121q-28 0 -33 15v32q0 6 10.5 68.5t10.5 107.5q0 117 -166 117h-99q-79 0 -110 54q-29 50 -29 171q0 201 60 201q10 0 28.5 -43t71.5 -43h59q267 0 269 -297z" />
+    <glyph glyph-name="uni05DA" unicode="&#x5da;" horiz-adv-x="1380" 
+d="M1280 1188q0 -72 -37.5 -119.5t-87.5 -50.5l39 -1512q1 -21 -55 -91t-72 -70q-27 0 -27 43q0 52 15 738q16 738 22 892h-833q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123z" />
+    <glyph glyph-name="uni05DB" unicode="&#x5db;" horiz-adv-x="1262" 
+d="M1198 678q0 -392 -168 -544q-148 -134 -500 -134h-501l164 340h579q171 0 265 84q98 88 98 254q0 340 -363 340h-516q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h459q246 0 352 -150q111 -156 111 -530z" />
+    <glyph glyph-name="uni05DC" unicode="&#x5dc;" horiz-adv-x="1343" 
+d="M1225 782q0 -222 -219 -381q-143 -103 -221 -218l-80 -148q-31 -55 -84 -55q-37 0 -64 27q-31 30 -31 77q0 69 67 149q84 102 241 168q199 86 263 176q42 59 42 168q0 119 -54 193q-56 78 -149 78h-633q-127 0 -172 50q-39 44 -39 159v321q0 117 41 200q26 54 76 102
+q41 39 41 48q0 35 -79 58.5t-79 64.5q0 58 34 110q29 44 44 44q16 0 16 -10q0 -2 -2 -8.5t-2 -8.5q0 -9 44 -24q56 -19 82 -40q44 -35 44 -91q0 -30 -25 -67q-34 -49 -48 -91q-25 -77 -25 -207v-182q0 -48 13 -65q17 -21 69 -21h672q152 0 172 -127l37 -234q8 -52 8 -215z
+" />
+    <glyph glyph-name="uni05DD" unicode="&#x5dd;" horiz-adv-x="1350" 
+d="M358 1018q-118 -134 -114 -264l12 -414h877l-17 567q-2 69 -39 92q-30 19 -106 19h-613zM1231 0h-1104v715q0 163 119 303q-73 3 -101 57q-26 50 -26 168q0 201 57 201q12 0 29.5 -43t70.5 -43h676q279 0 279 -297v-1061z" />
+    <glyph glyph-name="uni05DE" unicode="&#x5de;" horiz-adv-x="1329" 
+d="M1229 719q0 -209 -125 -719h-655l75 340h574q37 143 37 301q0 166 -123 272.5t-318 106.5q-168 0 -297 -120t-129 -267q0 -96 18.5 -175t18.5 -139q0 -197 -33 -233q-78 -86 -116 -86q-39 0 -39 41q0 25 14 53q33 66 33 232q0 32 -5 122.5t-5 147.5q0 184 133 317
+q17 18 69 58l-77 26q-31 15 -68 31q-51 32 -67 78q-13 38 -13 129q0 89 63 157q48 52 74 52q19 0 19 -21q0 -6 -2 -11.5t-2 -10.5q0 -25 137 -72q71 -24 96 -61t25 -123q0 -43 -13 -80l93 26q65 22 65 56q0 44 -13.5 113t-13.5 92q0 66 63 66q73 0 179 -44q119 -50 186 -123
+q143 -153 143 -447q0 -18 -1 -47v-38z" />
+    <glyph glyph-name="uni05DF" unicode="&#x5df;" horiz-adv-x="752" 
+d="M567 1106q0 -61 -72 -206q-70 -141 -65 -236l59 -1158q2 -21 -54.5 -91t-72.5 -70q-24 0 -24 43v1257q0 116 42 199t42 98q0 28 -62 45l-116 25q-84 21 -112 77q-19 40 -19 132q0 91 36 158q29 53 48 53q18 0 18 -21q0 -6 -2 -12t-2 -10q0 -13 83 -30q119 -25 171 -42
+q64 -22 87 -82q15 -43 15 -129z" />
+    <glyph glyph-name="uni05E0" unicode="&#x5e0;" horiz-adv-x="717" 
+d="M662 272q0 -124 -41 -272h-566l62 340h407q-6 198 -6 293q0 63 11.5 157t11.5 117q0 111 -185 111h-100q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h62q278 0 278 -297q0 -51 -12 -116.5t-12 -147.5q0 -63 35 -252.5t35 -272.5z" />
+    <glyph glyph-name="uni05E1" unicode="&#x5e1;" horiz-adv-x="1274" 
+d="M373 1018q-90 -74 -135 -185q-31 -79 -31 -143q0 -154 93 -260q97 -111 243 -111h209q162 0 272.5 104.5t110.5 254.5q0 176 -74 253q-83 87 -289 87h-399zM1198 678q0 -312 -127 -495q-145 -210 -434 -210q-255 0 -382 172q-114 152 -114 418q0 303 152 455h-49
+q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h471q228 0 347 -178q116 -174 116 -502z" />
+    <glyph glyph-name="uni05E2" unicode="&#x5e2;" horiz-adv-x="1213" 
+d="M1150 1133q0 -66 -41 -164q-63 -151 -86 -228q-29 -97 -44 -241q-15 -137 -28 -174q-35 -102 -85 -144q-74 -62 -255 -92l-543 -90l50 348l288 47q12 21 12 46q0 49 -82 196.5t-82 239.5q0 71 40 135q-83 22 -110 78q-19 40 -19 131q0 92 36 158q28 53 48 53q18 0 18 -21
+q0 -6 -2 -12t-2 -10q0 -14 58 -30q120 -34 145 -42q68 -23 93 -63q21 -35 21 -109q0 -82 -33 -158q-27 -63 -40 -63q-23 0 -23 14v18q0 10 -41 18q-48 9 -96 17q-15 -30 -15 -64q0 -61 85 -194.5t85 -212.5q0 -55 -30 -108l153 18q136 16 184 48q45 30 79 120l63 170
+q23 63 52 111q22 38 22 41q0 23 -54 44l-139 46t-95 72q-23 44 -23 139q0 91 43 158q34 53 55 53q18 0 18 -21q0 -6 -2 -12t-2 -10q0 -26 137 -72q187 -63 187 -184z" />
+    <glyph glyph-name="uni05E3" unicode="&#x5e3;" horiz-adv-x="1262" 
+d="M1182 -494q0 -21 -57 -91t-72 -70q-25 0 -25 43q0 27 35 722t35 791q0 117 -178 117h-592q-95 -88 -95 -137q0 -36 36 -45q15 -5 65 -5q19 0 73.5 3.5t108.5 3.5q49 0 88 -37q45 -41 45 -107q0 -65 -46 -105q-39 -34 -87 -34h-272q-55 0 -86 -43t-39 -43q-17 0 -17 20
+q0 11 13.5 69t13.5 112q0 20 -6 66t-6 77q0 104 135 205q-77 1 -107 56q-26 49 -26 169q0 201 57 201q12 0 29.5 -43t70.5 -43h625q278 0 279 -297z" />
+    <glyph glyph-name="uni05E4" unicode="&#x5e4;" horiz-adv-x="1262" 
+d="M649 694q0 -65 -46 -105q-39 -34 -87 -34h-272q-55 0 -86 -43t-39 -43q-17 0 -17 20q0 11 13.5 69t13.5 112q0 20 -6 66t-6 77q0 104 135 205q-77 1 -107 56q-26 49 -26 169q0 201 57 201q12 0 29.5 -43t70.5 -43h463q258 0 357 -156q92 -145 92 -512v-377l-111 -313
+h-1024l88 340h969v272q0 229 -61 303q-86 103 -373 103h-348q-95 -88 -95 -137q0 -36 36 -45q15 -5 65 -5q19 0 73.5 3.5t108.5 3.5q49 0 88 -37q45 -41 45 -107z" />
+    <glyph glyph-name="uni05E5" unicode="&#x5e5;" horiz-adv-x="1210" 
+d="M563 1106q0 -61 -72 -206q-70 -141 -65 -236l12 -248q67 158 183 330q106 157 200 251q-81 46 -109 77q-32 33 -32 78q0 31 16 91q24 89 73 155q40 54 56 52q21 -3 17 -25q-3 -5 -8 -20q-4 -19 176 -115q91 -48 91 -131q0 -24 -5 -57q-13 -82 -60 -170q-41 -76 -53 -74
+q-21 4 -18 16q0 2 2 19t-72 63q-115 -115 -247 -336q-146 -245 -197 -440l43 -823q1 -21 -59.5 -91.5t-76.5 -70.5q-17 0 -22 14q-2 8 -2 27v1409q0 116 42 199t42 98q0 28 -62 45l-116 25q-84 21 -112 77q-19 40 -19 132q0 91 36 158q29 53 48 53q20 0 20 -21q0 -6 -3 -12
+t-3 -10q0 -13 83 -30q119 -25 171 -42q64 -22 86 -82q16 -43 16 -129z" />
+    <glyph glyph-name="uni05E6" unicode="&#x5e6;" horiz-adv-x="1313" 
+d="M1210 340q0 -81 -53 -215l-55 -125h-996l105 340h760q17 0 17 9q0 10 -17 20l-383 217q-117 66 -117 178v192q0 62 -55 62h-160q-79 0 -109 54q-28 50 -28 171q0 201 57 201q11 0 28.5 -43t71.5 -43h107q166 0 166 -205v-197q0 -143 104 -192l144 -68l137 303
+q-115 52 -141.5 87.5t-26.5 134.5q0 91 37 158q28 53 47 53q18 0 18 -21q0 -6 -2 -12t-2 -10q0 -14 58 -30q120 -34 145 -42q68 -23 93 -63q22 -35 22 -109q0 -83 -33 -177q-29 -81 -41 -81q-21 0 -21 12v19q0 16 -100 61l-133 -311q238 -107 306 -179q50 -52 50 -149z" />
+    <glyph glyph-name="uni05E7" unicode="&#x5e7;" horiz-adv-x="1247" 
+d="M1184 758q0 -260 -86 -367q-70 -88 -303 -170q-151 -53 -233 -112q-41 -30 -82 -80q-25 -31 -54 -31q-43 0 -43 61q0 107 58 177q96 114 360 190q195 56 235 87q82 62 82 232q0 130 -67 203q-63 70 -166 70h-629q-79 0 -109 54q-28 50 -28 171q0 201 57 201
+q12 0 29.5 -43t70.5 -43h574q165 0 237 -101q97 -135 97 -499zM307 756q0 -5 -40 -69.5t-40 -164.5q0 -188 37 -457.5t37 -383.5q0 -206 -39 -346q-35 -130 -80 -130q-63 0 -63 90q0 4 7 146.5t7 296.5q0 67 -12 378t-12 343q0 134 72 240q62 92 112 92q14 0 14 -35z" />
+    <glyph glyph-name="uni05E8" unicode="&#x5e8;" horiz-adv-x="1381" 
+d="M1221 164q0 -23 -57 -93.5t-72 -70.5q-25 0 -25 43q0 27 34 394.5t34 463.5q0 117 -179 117h-712q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h676q278 0 279 -297z" />
+    <glyph glyph-name="uni05E9" unicode="&#x5e9;" horiz-adv-x="1430" 
+d="M1341 1145q0 -153 -87 -396q-36 -101 -171 -415q-102 -236 -120 -334h-734q-6 123 -79 365q-68 229 -68 358q0 164 65 305q-51 32 -66 78q-13 38 -13 129q0 90 43 157q33 52 55 52q18 0 18 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q74 -25 97 -67q18 -34 18 -117
+q0 -82 -45 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 14 -12.5 20t-100.5 35q-6 2 -16 7q-47 -109 -47 -211q0 -78 49 -230q47 -144 94 -223h21q187 301 296 682q-56 31 -74 85q-14 39 -14 128q0 90 43 157q34 52 56 52q18 0 18 -21q0 -6 -2 -11.5t-2 -10.5
+q0 -25 137 -72q72 -24 95 -68q20 -35 20 -116q0 -82 -46 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 13 -13 20q-9 4 -91 31q-116 -395 -267 -653h532q25 65 179 331q119 205 119 298q0 21 -26 27q-83 19 -111 28q-70 23 -96 71q-23 44 -23 140q0 90 43 157
+q33 52 53 52q21 0 21 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q67 -23 91 -71q17 -37 17 -113z" />
+    <glyph glyph-name="uni05EA" unicode="&#x5ea;" horiz-adv-x="1348" 
+d="M1245 164q2 -23 -42.5 -93.5t-59.5 -70.5q-25 0 -25 43q0 16 2 427t2 431q0 117 -190 117h-592q-92 -173 -92 -324q0 -86 97 -229t97 -209q0 -121 -46 -191q-43 -65 -109 -65h-264l59 340h154q-31 34 -59 126q-25 87 -25 142q0 118 25 203q21 72 89 207h-22
+q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h649q256 0 275 -297z" />
+    <glyph glyph-name="uni05F0" unicode="&#x5f0;" horiz-adv-x="1217" 
+d="M1144 164q0 -23 -56.5 -93.5t-72.5 -70.5q-24 0 -24 43q0 27 34.5 394.5t34.5 463.5q0 117 -127 117h-137q-79 0 -109 54q-28 50 -28 171q0 201 55 201q12 0 30 -43t71 -43h127q200 0 200 -297zM567 164q0 -23 -56.5 -93.5t-72.5 -70.5q-24 0 -24 43q0 27 34.5 394.5
+t34.5 463.5q0 117 -127 117h-137q-79 0 -109 54q-28 50 -28 171q0 201 55 201q12 0 30 -43t71 -43h127q200 0 200 -297z" />
+    <glyph glyph-name="uni05F1" unicode="&#x5f1;" horiz-adv-x="1257" 
+d="M580 1061q0 -147 -20 -262q-21 -121 -52 -121q-28 0 -33 15v32q0 6 10.5 68.5t10.5 107.5q0 117 -166 117h-99q-79 0 -110 54q-29 50 -29 171q0 201 60 201q10 0 28.5 -43t71.5 -43h59q267 0 269 -297zM1182 164q0 -23 -56.5 -93.5t-72.5 -70.5q-24 0 -24 43
+q0 27 34.5 394.5t34.5 463.5q0 117 -127 117h-137q-79 0 -109 54q-28 50 -28 171q0 201 55 201q12 0 30 -43t71 -43h127q200 0 200 -297z" />
+    <glyph glyph-name="uni05F2" unicode="&#x5f2;" horiz-adv-x="1257" 
+d="M580 1061q0 -147 -20 -262q-21 -121 -52 -121q-28 0 -33 15v32q0 6 10.5 68.5t10.5 107.5q0 117 -166 117h-99q-79 0 -110 54q-29 50 -29 171q0 201 60 201q10 0 28.5 -43t71.5 -43h59q267 0 269 -297zM1181 1061q0 -147 -20 -262q-21 -121 -52 -121q-28 0 -33 15v32
+q0 6 10.5 68.5t10.5 107.5q0 117 -166 117h-99q-79 0 -110 54q-29 50 -29 171q0 201 60 201q10 0 28.5 -43t71.5 -43h59q267 0 269 -297z" />
+    <glyph glyph-name="uni05F3" unicode="&#x5f3;" horiz-adv-x="530" 
+d="M530 1280q0 -49 -47 -92l-342 -314h-141l260 394q62 94 148 94q122 0 122 -82z" />
+    <glyph glyph-name="uni05F4" unicode="&#x5f4;" horiz-adv-x="946" 
+d="M946 1280q0 -49 -47 -92l-342 -314h-141l260 394q62 94 147 94q123 0 123 -82zM530 1280q0 -49 -47 -92l-342 -314h-141l260 394q62 94 148 94q122 0 122 -82z" />
+    <glyph glyph-name="uni2000" unicode="&#x2000;" horiz-adv-x="1024" 
+ />
+    <glyph glyph-name="uni2001" unicode="&#x2001;" horiz-adv-x="2048" 
+ />
+    <glyph glyph-name="uni2002" unicode="&#x2002;" horiz-adv-x="1024" 
+ />
+    <glyph glyph-name="uni2003" unicode="&#x2003;" horiz-adv-x="2048" 
+ />
+    <glyph glyph-name="uni2004" unicode="&#x2004;" horiz-adv-x="683" 
+ />
+    <glyph glyph-name="uni2005" unicode="&#x2005;" horiz-adv-x="512" 
+ />
+    <glyph glyph-name="uni2006" unicode="&#x2006;" horiz-adv-x="341" 
+ />
+    <glyph glyph-name="uni2007" unicode="&#x2007;" horiz-adv-x="1135" 
+ />
+    <glyph glyph-name="uni2008" unicode="&#x2008;" horiz-adv-x="592" 
+ />
+    <glyph glyph-name="uni2009" unicode="&#x2009;" horiz-adv-x="200" 
+ />
+    <glyph glyph-name="uni200A" unicode="&#x200a;" horiz-adv-x="100" 
+ />
+    <glyph glyph-name="uni200B" unicode="&#x200b;" 
+ />
+    <glyph glyph-name="uni200C" unicode="&#x200c;" 
+d="M294 1019l-16 -24q-89 61 -200 72l148 -148l-32 -32l-183 183h-24l-180 -180l-32 32l145 145q-111 -10 -198 -70l-16 22q113 105 234 122l-163 163l32 32l190 -190l193 193l32 -32l-166 -166q122 -17 236 -122zM32 932q0 -32 -32 -32t-32 32t32 32t32 -32zM32 782
+q0 -32 -32 -32t-32 32t32 32t32 -32zM32 632q0 -32 -32 -32t-32 32t32 32t32 -32zM32 482q0 -32 -32 -32t-32 32t32 32t32 -32zM32 332q0 -32 -32 -32t-32 32t32 32t32 -32zM32 182q0 -32 -32 -32t-32 32t32 32t32 -32zM32 32q0 -32 -32 -32t-32 32t32 32t32 -32z" />
+    <glyph glyph-name="uni200D" unicode="&#x200d;" 
+d="M0 1145q158 0 294 -126q0 -5 -16 -24q-109 75 -278 75q-172 0 -278 -73q-16 17 -16 22q136 126 294 126zM32 932q0 -32 -32 -32t-32 32t32 32t32 -32zM32 782q0 -32 -32 -32t-32 32t32 32t32 -32zM32 632q0 -32 -32 -32t-32 32t32 32t32 -32zM32 482q0 -32 -32 -32
+t-32 32t32 32t32 -32zM32 332q0 -32 -32 -32t-32 32t32 32t32 -32zM32 182q0 -32 -32 -32t-32 32t32 32t32 -32zM32 32q0 -32 -32 -32t-32 32t32 32t32 -32z" />
+    <glyph glyph-name="uni200E" unicode="&#x200e;" 
+d="M80 1050l-100 -90v180z" />
+    <glyph glyph-name="uni200F" unicode="&#x200f;" 
+d="M20 960l-100 90l100 90v-180z" />
+    <glyph glyph-name="uni2010" unicode="&#x2010;" horiz-adv-x="657" 
+d="M565 416h-475v153h475v-153z" />
+    <glyph glyph-name="uni2011" unicode="&#x2011;" horiz-adv-x="657" 
+d="M565 416h-475v153h475v-153z" />
+    <glyph glyph-name="uni202A" unicode="&#x202a;" 
+d="M166 -70l-100 -90v70h-106v803h40v-763h66v70z" />
+    <glyph glyph-name="uni202B" unicode="&#x202b;" 
+d="M40 -90h-106v-70l-100 90l100 90v-70h66v763h40v-803z" />
+    <glyph glyph-name="uni202C" unicode="&#x202c;" 
+d="M90 713h-70v-763h62v-40h-164v40h62v763h-70l90 100z" />
+    <glyph glyph-name="uni202D" unicode="&#x202d;" 
+d="M166 1105l-100 -90v70h-211v40h211v70zM32 932q0 -32 -32 -32t-32 32t32 32t32 -32zM32 782q0 -32 -32 -32t-32 32t32 32t32 -32zM32 632q0 -32 -32 -32t-32 32t32 32t32 -32zM32 482q0 -32 -32 -32t-32 32t32 32t32 -32zM32 332q0 -32 -32 -32t-32 32t32 32t32 -32z
+M32 182q0 -32 -32 -32t-32 32t32 32t32 -32zM32 32q0 -32 -32 -32t-32 32t32 32t32 -32z" />
+    <glyph glyph-name="uni202E" unicode="&#x202e;" 
+d="M145 1085h-211v-70l-100 90l100 90v-70h211v-40zM32 932q0 -32 -32 -32t-32 32t32 32t32 -32zM32 782q0 -32 -32 -32t-32 32t32 32t32 -32zM32 632q0 -32 -32 -32t-32 32t32 32t32 -32zM32 482q0 -32 -32 -32t-32 32t32 32t32 -32zM32 332q0 -32 -32 -32t-32 32t32 32
+t32 -32zM32 182q0 -32 -32 -32t-32 32t32 32t32 -32zM32 32q0 -32 -32 -32t-32 32t32 32t32 -32z" />
+    <glyph glyph-name="uni20AA" unicode="&#x20aa;" horiz-adv-x="1153" 
+d="M1063 249q0 -249 -245 -249h-448v1101h149v-962h282q113 0 113 119v952h149v-961zM791 280h-151v825q0 130 -144 130h-249v-1067h-148v1206h449q102 0 169 -57q74 -61 74 -167v-870z" />
+    <glyph glyph-name="Euro" unicode="&#x20ac;" horiz-adv-x="1153" 
+d="M1081 47q-32 -15 -121 -38q-135 -34 -247 -34q-239 0 -400 161q-150 149 -193 389h-120l47 110h60q-2 27 -2 55t2 55h-107l47 110h72q42 250 201.5 397t394.5 147q167 0 366 -72v-321h-125l-25 186q-5 33 -30 47q-80 45 -178 45q-156 0 -259 -107q-108 -112 -138 -322
+h568l-47 -110h-530q-1 -24 -1 -49q0 -31 1 -61h486l-47 -110h-428q31 -209 138.5 -323t279.5 -114q86 0 141 27q28 13 33 41l40 223h121v-332z" />
+    <glyph glyph-name="minus" unicode="&#x2212;" horiz-adv-x="1706" 
+d="M1452 545h-1198v133h1198v-133z" />
+    <glyph glyph-name="uni2219" unicode="&#x2219;" horiz-adv-x="573" 
+d="M426 686q0 -58 -41 -97.5t-98 -39.5t-97 40t-40 97t40 98t97 41t98 -41t41 -98z" />
+    <glyph glyph-name="uni25CC" unicode="&#x25cc;" horiz-adv-x="1580" 
+d="M1232 1045q0 -56 -55 -56q-60 0 -60 56q0 57 60 57q55 0 55 -57zM1060 1160q0 -58 -56 -58q-60 0 -60 58q0 60 60 60q56 0 56 -60zM1350 872q0 -60 -60 -60q-58 0 -58 60q0 57 60 57q58 0 58 -57zM1391 668q0 -58 -55 -58q-60 0 -60 58q0 57 60 57q55 0 55 -57zM856 1203
+q0 -60 -58 -60t-58 60q0 58 58 58t58 -58zM654 1160q0 -58 -60 -58q-58 0 -58 58q0 60 58 60q60 0 60 -60zM1350 464q0 -58 -60 -58q-58 0 -58 58q0 60 58 60q60 0 60 -60zM479 1045q0 -56 -58 -56q-57 0 -57 53q0 60 57 60q58 0 58 -57zM1232 289q0 -58 -55 -58
+q-57 0 -57 58q0 60 57 60q55 0 55 -60zM1060 173q0 -55 -56 -55q-57 0 -57 55q0 60 57 60q56 0 56 -60zM364 872q0 -60 -56 -60q-60 0 -60 60q0 57 58 57t58 -57zM323 668q0 -58 -58 -58q-60 0 -60 58q0 57 60 57q58 0 58 -57zM856 135q0 -60 -58 -60t-58 60q0 58 58 58
+t58 -58zM364 464q0 -58 -58 -58t-58 58q0 60 58 60t58 -60zM654 178q0 -60 -60 -60q-58 0 -58 55q0 60 58 60q60 0 60 -55zM479 289q0 -58 -58 -58q-57 0 -57 58q0 60 57 60q58 0 58 -60z" />
+    <glyph glyph-name="uni05C6" unicode="&#x5c6;" horiz-adv-x="646" 
+d="M526 1018h-168q-118 -134 -114 -264l12 -414h270v-340h-399v715q0 163 119 303q-73 3 -101 57q-26 50 -26 168q0 201 57 201q12 0 29.5 -43t70.5 -43h250v-340z" />
+    <glyph glyph-name="underdot" 
+d="M195 -727q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5z" />
+    <glyph glyph-name="metegright" 
+d="M1167 -649h-117v495h117v-495z" />
+    <glyph glyph-name="metegleft" 
+d="M117 -649h-117v495h117v-495z" />
+    <glyph glyph-name="uniFB1D" unicode="&#xfb1d;" horiz-adv-x="691" 
+d="M580 1061q0 -147 -20 -262q-21 -121 -52 -121q-28 0 -33 15v32q0 6 10.5 68.5t10.5 107.5q0 117 -166 117h-99q-79 0 -110 54q-29 50 -29 171q0 201 60 201q10 0 28.5 -43t71.5 -43h59q267 0 269 -297zM422 196q0 -38 -28.5 -66t-66.5 -28t-65 28t-27 66q0 37 27 63.5
+t65 26.5t66.5 -26.5t28.5 -63.5z" />
+    <glyph glyph-name="uniFB1E" unicode="&#xfb1e;" 
+d="M496 1686q-28 -76 -102 -121q-68 -41 -146 -41t-146 41q-74 45 -102 121v92q51 -140 248 -140t248 140v-92z" />
+    <glyph glyph-name="uniFB1F" unicode="&#xfb1f;" horiz-adv-x="1257" 
+d="M1181 1061q0 -147 -20 -262q-21 -121 -52 -121q-28 0 -33 15v32q0 6 10.5 68.5t10.5 107.5q0 117 -166 117h-99q-79 0 -110 54q-29 50 -29 171q0 201 60 201q10 0 28.5 -43t71.5 -43h59q267 0 269 -297zM580 1061q0 -147 -20 -262q-21 -121 -52 -121q-28 0 -33 15v32
+q0 6 10.5 68.5t10.5 107.5q0 117 -166 117h-99q-79 0 -110 54q-29 50 -29 171q0 201 60 201q10 0 28.5 -43t71.5 -43h59q267 0 269 -297zM1124 443h-449v114h449v-114zM673 443h-449v114h449v-114z" />
+    <glyph glyph-name="uniFB20" unicode="&#xfb20;" horiz-adv-x="1213" 
+d="M1150 1133q0 -66 -41 -164q-63 -151 -86 -228q-29 -97 -44 -241q-15 -137 -28 -174q-35 -102 -85 -144q-74 -62 -255 -92l-543 -90l50 348l288 47q12 21 12 46q0 49 -82 196.5t-82 239.5q0 71 40 135q-83 22 -110 78q-19 40 -19 131q0 92 36 158q28 53 48 53q18 0 18 -21
+q0 -6 -2 -12t-2 -10q0 -14 58 -30q120 -34 145 -42q68 -23 93 -63q21 -35 21 -109q0 -82 -33 -158q-27 -63 -40 -63q-23 0 -23 14v18q0 10 -41 18q-48 9 -96 17q-15 -30 -15 -64q0 -61 85 -194.5t85 -212.5q0 -55 -30 -108l153 18q136 16 184 48q45 30 79 120l63 170
+q23 63 52 111q22 38 22 41q0 23 -54 44l-139 46t-95 72q-23 44 -23 139q0 91 43 158q34 53 55 53q18 0 18 -21q0 -6 -2 -12t-2 -10q0 -26 137 -72q187 -63 187 -184z" />
+    <glyph glyph-name="uniFB29" unicode="&#xfb29;" horiz-adv-x="1706" 
+d="M246 433h551v551h116v-551h551v-117h-1218v117z" />
+    <glyph glyph-name="uniFB2A" unicode="&#xfb2a;" horiz-adv-x="1430" 
+d="M1320 1639q0 -37 -28.5 -64.5t-66.5 -27.5t-65 27t-27 65q0 37 27 64t65 27t66.5 -27t28.5 -64zM1341 1145q0 -153 -87 -396q-36 -101 -171 -415q-102 -236 -120 -334h-734q-6 123 -79 365q-68 229 -68 358q0 164 65 305q-51 32 -66 78q-13 38 -13 129q0 90 43 157
+q33 52 55 52q18 0 18 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q74 -25 97 -67q18 -34 18 -117q0 -82 -45 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 14 -12.5 20t-100.5 35q-6 2 -16 7q-47 -109 -47 -211q0 -78 49 -230q47 -144 94 -223h21q187 301 296 682
+q-56 31 -74 85q-14 39 -14 128q0 90 43 157q34 52 56 52q18 0 18 -21q0 -6 -2 -11.5t-2 -10.5q0 -25 137 -72q72 -24 95 -68q20 -35 20 -116q0 -82 -46 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 13 -13 20q-9 4 -91 31q-116 -395 -267 -653h532q25 65 179 331
+q119 205 119 298q0 21 -26 27q-83 19 -111 28q-70 23 -96 71q-23 44 -23 140q0 90 43 157q33 52 53 52q21 0 21 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q67 -23 91 -71q17 -37 17 -113z" />
+    <glyph glyph-name="uniFB2B" unicode="&#xfb2b;" horiz-adv-x="1430" 
+d="M380 1639q0 -37 -28.5 -64.5t-66.5 -27.5t-65 27t-27 65q0 37 27 64t65 27t66.5 -27t28.5 -64zM1341 1145q0 -153 -87 -396q-36 -101 -171 -415q-102 -236 -120 -334h-734q-6 123 -79 365q-68 229 -68 358q0 164 65 305q-51 32 -66 78q-13 38 -13 129q0 90 43 157
+q33 52 55 52q18 0 18 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q74 -25 97 -67q18 -34 18 -117q0 -82 -45 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 14 -12.5 20t-100.5 35q-6 2 -16 7q-47 -109 -47 -211q0 -78 49 -230q47 -144 94 -223h21q187 301 296 682
+q-56 31 -74 85q-14 39 -14 128q0 90 43 157q34 52 56 52q18 0 18 -21q0 -6 -2 -11.5t-2 -10.5q0 -25 137 -72q72 -24 95 -68q20 -35 20 -116q0 -82 -46 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 13 -13 20q-9 4 -91 31q-116 -395 -267 -653h532q25 65 179 331
+q119 205 119 298q0 21 -26 27q-83 19 -111 28q-70 23 -96 71q-23 44 -23 140q0 90 43 157q33 52 53 52q21 0 21 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q67 -23 91 -71q17 -37 17 -113z" />
+    <glyph glyph-name="uniFB2C" unicode="&#xfb2c;" horiz-adv-x="1430" 
+d="M1341 1145q0 -153 -87 -396q-36 -101 -171 -415q-102 -236 -120 -334h-734q-6 123 -79 365q-68 229 -68 358q0 164 65 305q-51 32 -66 78q-13 38 -13 129q0 90 43 157q33 52 55 52q18 0 18 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q74 -25 97 -67q18 -34 18 -117
+q0 -82 -45 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 14 -12.5 20t-100.5 35q-6 2 -16 7q-47 -109 -47 -211q0 -78 49 -230q47 -144 94 -223h21q187 301 296 682q-56 31 -74 85q-14 39 -14 128q0 90 43 157q34 52 56 52q18 0 18 -21q0 -6 -2 -11.5t-2 -10.5
+q0 -25 137 -72q72 -24 95 -68q20 -35 20 -116q0 -82 -46 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 13 -13 20q-9 4 -91 31q-116 -395 -267 -653h532q25 65 179 331q119 205 119 298q0 21 -26 27q-83 19 -111 28q-70 23 -96 71q-23 44 -23 140q0 90 43 157
+q33 52 53 52q21 0 21 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q67 -23 91 -71q17 -37 17 -113zM1320 1639q0 -37 -28.5 -64.5t-66.5 -27.5t-65 27t-27 65q0 37 27 64t65 27t66.5 -27t28.5 -64zM935 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28
+t29.5 -68z" />
+    <glyph glyph-name="uniFB2D" unicode="&#xfb2d;" horiz-adv-x="1430" 
+d="M1341 1145q0 -153 -87 -396q-36 -101 -171 -415q-102 -236 -120 -334h-734q-6 123 -79 365q-68 229 -68 358q0 164 65 305q-51 32 -66 78q-13 38 -13 129q0 90 43 157q33 52 55 52q18 0 18 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q74 -25 97 -67q18 -34 18 -117
+q0 -82 -45 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 14 -12.5 20t-100.5 35q-6 2 -16 7q-47 -109 -47 -211q0 -78 49 -230q47 -144 94 -223h21q187 301 296 682q-56 31 -74 85q-14 39 -14 128q0 90 43 157q34 52 56 52q18 0 18 -21q0 -6 -2 -11.5t-2 -10.5
+q0 -25 137 -72q72 -24 95 -68q20 -35 20 -116q0 -82 -46 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 13 -13 20q-9 4 -91 31q-116 -395 -267 -653h532q25 65 179 331q119 205 119 298q0 21 -26 27q-83 19 -111 28q-70 23 -96 71q-23 44 -23 140q0 90 43 157
+q33 52 53 52q21 0 21 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q67 -23 91 -71q17 -37 17 -113zM380 1639q0 -37 -28.5 -64.5t-66.5 -27.5t-65 27t-27 65q0 37 27 64t65 27t66.5 -27t28.5 -64zM935 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28
+t29.5 -68z" />
+    <glyph glyph-name="uniFB2E" unicode="&#xfb2e;" horiz-adv-x="1221" 
+d="M1143 213q0 -96 -65 -177q-55 -69 -91 -69q-18 0 -18 29q0 4 13 24t13 35q0 49 -66 124l-102 102l-501 501q-56 -83 -56 -147q0 -87 123 -234.5t123 -234.5q0 -71 -54 -118.5t-132 -47.5h-267l11 51q131 17 131 88q0 35 -59.5 146.5t-59.5 179.5q0 157 190 366l-49 50
+q-90 90 -121 148q-36 70 -36 169q0 96 63 177q54 69 90 69q19 0 19 -29q0 -3 -13.5 -23t-13.5 -34q0 -50 66 -124l102 -101l299 -299l143 180q-74 56 -99 105q-17 35 -17 91q0 97 71 172q57 62 97 62q18 0 18 -19q0 -4 -5 -9t-5 -19q0 -49 108 -127q129 -94 129 -238
+q0 -100 -44 -154q-34 -42 -74 -42q-22 0 -40 34q-30 55 -83 101l-150 -187l252 -254q90 -91 122 -148q38 -70 38 -169zM829 -268h-449v114h449v-114z" />
+    <glyph glyph-name="uniFB2F" unicode="&#xfb2f;" horiz-adv-x="1221" 
+d="M1143 213q0 -96 -65 -177q-55 -69 -91 -69q-18 0 -18 29q0 4 13 24t13 35q0 49 -66 124l-102 102l-501 501q-56 -83 -56 -147q0 -87 123 -234.5t123 -234.5q0 -71 -54 -118.5t-132 -47.5h-267l11 51q131 17 131 88q0 35 -59.5 146.5t-59.5 179.5q0 157 190 366l-49 50
+q-90 90 -121 148q-36 70 -36 169q0 96 63 177q54 69 90 69q19 0 19 -29q0 -3 -13.5 -23t-13.5 -34q0 -50 66 -124l102 -101l299 -299l143 180q-74 56 -99 105q-17 35 -17 91q0 97 71 172q57 62 97 62q18 0 18 -19q0 -4 -5 -9t-5 -19q0 -49 108 -127q129 -94 129 -238
+q0 -100 -44 -154q-34 -42 -74 -42q-22 0 -40 34q-30 55 -83 101l-150 -187l252 -254q90 -91 122 -148q38 -70 38 -169zM698 -553q0 -40 -29 -68t-70 -28q-39 0 -67.5 28t-28.5 68q0 59 90 285h-213v114h449v-114h-221q90 -246 90 -285z" />
+    <glyph glyph-name="uniFB30" unicode="&#xfb30;" horiz-adv-x="1221" 
+d="M1143 213q0 -96 -65 -177q-55 -69 -91 -69q-18 0 -18 29q0 4 13 24t13 35q0 49 -66 124l-102 102l-501 501q-56 -83 -56 -147q0 -87 123 -234.5t123 -234.5q0 -71 -54 -118.5t-132 -47.5h-267l11 51q131 17 131 88q0 35 -59.5 146.5t-59.5 179.5q0 157 190 366l-49 50
+q-90 90 -121 148q-36 70 -36 169q0 96 63 177q54 69 90 69q19 0 19 -29q0 -3 -13.5 -23t-13.5 -34q0 -50 66 -124l102 -101l299 -299l143 180q-74 56 -99 105q-17 35 -17 91q0 97 71 172q57 62 97 62q18 0 18 -19q0 -4 -5 -9t-5 -19q0 -49 108 -127q129 -94 129 -238
+q0 -100 -44 -154q-34 -42 -74 -42q-22 0 -40 34q-30 55 -83 101l-150 -187l252 -254q90 -91 122 -148q38 -70 38 -169zM806 98q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB31" unicode="&#xfb31;" horiz-adv-x="1312" 
+d="M1307 340l-179 -340h-1099l164 340h876l-16 567q-4 111 -172 111h-625q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h586q281 0 281 -297v-721h164zM700 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB32" unicode="&#xfb32;" horiz-adv-x="799" 
+d="M686 248q0 -248 -29 -248q-20 0 -22 27q-5 47 -63 232q-54 169 -54 284q0 64 11.5 202.5t11.5 161.5q0 111 -185 111h-100q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h62q278 0 278 -297q0 -51 -10 -103.5t-10 -134.5q0 -59 45 -266.5t45 -308.5
+zM545 340l-113 -340h-377l86 340h404zM335 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB33" unicode="&#xfb33;" horiz-adv-x="1380" 
+d="M1280 1188q0 -72 -37.5 -119.5t-87.5 -50.5l39 -854q1 -22 -55 -93t-72 -71q-27 0 -27 43q0 112 37 975h-833q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123zM735 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68
+t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB34" unicode="&#xfb34;" horiz-adv-x="1343" 
+d="M1280 1188q0 -75 -39.5 -122.5t-91.5 -47.5h-8l53 -854q1 -22 -55 -93t-72 -71q-27 0 -27 43q0 176 21 975h-817q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123zM330 319q0 -201 -31 -233q-21 -22 -69 -52q-53 -34 -74 -34
+q-39 0 -39 41q0 25 15.5 52.5t32.5 54.5q23 54 23 163q0 35 -3 96t-3 117q0 65 41 136q39 67 66 67q26 0 26 -18q0 -8 -9 -38.5t-9 -68.5q0 -30 16.5 -109t16.5 -174zM750 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB35" unicode="&#xfb35;" horiz-adv-x="690" 
+d="M318 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68zM567 164q0 -23 -56.5 -93.5t-72.5 -70.5q-24 0 -24 43q0 27 34.5 394.5t34.5 463.5q0 117 -127 117h-137q-79 0 -109 54q-28 50 -28 171q0 201 55 201q12 0 30 -43t71 -43h127
+q200 0 200 -297z" />
+    <glyph glyph-name="uniFB36" unicode="&#xfb36;" horiz-adv-x="813" 
+d="M698 1157q0 -86 -38 -159q-34 -64 -60 -64q-13 0 -13 16q0 4 2 6t2 13q0 32 -141 49q-49 -88 -49 -133q0 -28 46 -252.5t46 -253.5q0 -113 -44 -249q-43 -130 -73 -130q-22 0 -22 23q0 -2 16.5 49t16.5 88q0 21 -45 242t-45 257q0 185 94 365l-35 2q-122 7 -162.5 48
+t-40.5 161q0 64 33.5 136.5t64.5 72.5q21 0 21 -21q0 -6 -3 -11.5t-3 -10.5q0 -28 198 -43q234 -18 234 -201zM225 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB38" unicode="&#xfb38;" horiz-adv-x="1343" 
+d="M1253 719q0 -150 -149 -719h-938q2 138 -22 329q-25 198 -25 316q0 200 121 381q-77 33 -103 82q-22 40 -22 127q0 90 44 157q35 52 56 52t21 -21q0 -6 -3.5 -11.5t-3.5 -10.5q0 -13 47 -28q86 -30 132 -50q69 -31 91.5 -65.5t22.5 -112.5q0 -82 -45 -166
+q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 14 -117 57q-88 -152 -88 -258q0 -87 38 -220q41 -145 44 -181h805q76 231 76 328q0 172 -89 267q-79 85 -198 85q-110 0 -165 -87q-44 -68 -44 -169q0 -15 3 -45t3 -39q0 -18 -13 -36.5t-28 -18.5q-57 0 -57 141q0 63 42 195
+q48 150 58 235q3 21 3 44q0 25 -4 61.5t-4 47.5q0 23 9 33q7 7 39 7q77 0 173 -31q121 -38 190 -105q100 -98 136 -207q27 -79 27 -204q0 -20 -1 -60.5t-1 -62.5zM1010 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB39" unicode="&#xfb39;" horiz-adv-x="741" 
+d="M630 1061q0 -147 -20 -262q-21 -121 -52 -121q-28 0 -33 15v32q0 6 10.5 68.5t10.5 107.5q0 117 -166 117h-99q-79 0 -110 54q-29 50 -29 171q0 201 60 201q10 0 28.5 -43t71.5 -43h59q267 0 269 -297zM383 776q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28
+t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB3A" unicode="&#xfb3a;" horiz-adv-x="1380" 
+d="M1280 1188q0 -72 -37.5 -119.5t-87.5 -50.5l39 -1512q1 -21 -55 -91t-72 -70q-27 0 -27 43q0 52 15 738q16 738 22 892h-833q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123zM728 678q0 -40 -29.5 -68t-69.5 -28t-68 28
+t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB3B" unicode="&#xfb3b;" horiz-adv-x="1343" 
+d="M1198 678q0 -392 -168 -544q-148 -134 -500 -134h-501l164 340h579q171 0 265 84q98 88 98 254q0 340 -363 340h-516q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h459q246 0 352 -150q111 -156 111 -530zM750 678q0 -40 -29.5 -68t-69.5 -28
+t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB3C" unicode="&#xfb3c;" horiz-adv-x="1343" 
+d="M1225 782q0 -222 -219 -381q-143 -103 -221 -218l-80 -148q-31 -55 -84 -55q-37 0 -64 27q-31 30 -31 77q0 69 67 149q84 102 241 168q199 86 263 176q42 59 42 168q0 119 -54 193q-56 78 -149 78h-633q-127 0 -172 50q-39 44 -39 159v321q0 117 41 200q26 54 76 102
+q41 39 41 48q0 35 -79 58.5t-79 64.5q0 58 34 110q29 44 44 44q16 0 16 -10q0 -2 -2 -8.5t-2 -8.5q0 -9 44 -24q56 -19 82 -40q44 -35 44 -91q0 -30 -25 -67q-34 -49 -48 -91q-25 -77 -25 -207v-182q0 -48 13 -65q17 -21 69 -21h672q152 0 172 -127l37 -234q8 -52 8 -215z
+M790 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB3E" unicode="&#xfb3e;" horiz-adv-x="1343" 
+d="M1229 719q0 -209 -125 -719h-655l75 340h574q37 143 37 301q0 166 -123 272.5t-318 106.5q-168 0 -297 -120t-129 -267q0 -96 18.5 -175t18.5 -139q0 -197 -33 -233q-78 -86 -116 -86q-39 0 -39 41q0 25 14 53q33 66 33 232q0 32 -5 122.5t-5 147.5q0 184 133 317
+q17 18 69 58l-77 26q-31 15 -68 31q-51 32 -67 78q-13 38 -13 129q0 89 63 157q48 52 74 52q19 0 19 -21q0 -6 -2 -11.5t-2 -10.5q0 -25 137 -72q71 -24 96 -61t25 -123q0 -43 -13 -80l93 26q65 22 65 56q0 44 -13.5 113t-13.5 92q0 66 63 66q73 0 179 -44q119 -50 186 -123
+q143 -153 143 -447q0 -18 -1 -47v-38zM799 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB40" unicode="&#xfb40;" horiz-adv-x="752" 
+d="M662 272q0 -124 -41 -272h-566l62 340h407q-6 198 -6 293q0 63 11.5 157t11.5 117q0 111 -185 111h-100q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h62q278 0 278 -297q0 -51 -12 -116.5t-12 -147.5q0 -63 35 -252.5t35 -272.5zM318 678
+q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB41" unicode="&#xfb41;" horiz-adv-x="1343" 
+d="M373 1018q-90 -74 -135 -185q-31 -79 -31 -143q0 -154 93 -260q97 -111 243 -111h209q162 0 272.5 104.5t110.5 254.5q0 176 -74 253q-83 87 -289 87h-399zM1198 678q0 -312 -127 -495q-145 -210 -434 -210q-255 0 -382 172q-114 152 -114 418q0 303 152 455h-49
+q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h471q228 0 347 -178q116 -174 116 -502zM755 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB43" unicode="&#xfb43;" horiz-adv-x="1262" 
+d="M1182 -494q0 -21 -57 -91t-72 -70q-25 0 -25 43q0 27 35 722t35 791q0 117 -178 117h-592q-95 -88 -95 -137q0 -36 36 -45q15 -5 65 -5q19 0 73.5 3.5t108.5 3.5q49 0 88 -37q45 -41 45 -107q0 -65 -46 -105q-39 -34 -87 -34h-272q-55 0 -86 -43t-39 -43q-17 0 -17 20
+q0 11 13.5 69t13.5 112q0 20 -6 66t-6 77q0 104 135 205q-77 1 -107 56q-26 49 -26 169q0 201 57 201q12 0 29.5 -43t70.5 -43h625q278 0 279 -297zM961 697q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB44" unicode="&#xfb44;" horiz-adv-x="1262" 
+d="M966 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68zM649 694q0 -65 -46 -105q-39 -34 -87 -34h-272q-55 0 -86 -43t-39 -43q-17 0 -17 20q0 11 13.5 69t13.5 112q0 20 -6 66t-6 77q0 104 135 205q-77 1 -107 56q-26 49 -26 169
+q0 201 57 201q12 0 29.5 -43t70.5 -43h463q258 0 357 -156q92 -145 92 -512v-377l-111 -313h-1024l88 340h969v272q0 229 -61 303q-86 103 -373 103h-348q-95 -88 -95 -137q0 -36 36 -45q15 -5 65 -5q19 0 73.5 3.5t108.5 3.5q49 0 88 -37q45 -41 45 -107z" />
+    <glyph glyph-name="uniFB46" unicode="&#xfb46;" horiz-adv-x="1343" 
+d="M1210 340q0 -81 -53 -215l-55 -125h-996l105 340h760q17 0 17 9q0 10 -17 20l-383 217q-117 66 -117 178v192q0 62 -55 62h-160q-79 0 -109 54q-28 50 -28 171q0 201 57 201q11 0 28.5 -43t71.5 -43h107q166 0 166 -205v-197q0 -143 104 -192l144 -68l137 303
+q-115 52 -141.5 87.5t-26.5 134.5q0 91 37 158q28 53 47 53q18 0 18 -21q0 -6 -2 -12t-2 -10q0 -14 58 -30q120 -34 145 -42q68 -23 93 -63q22 -35 22 -109q0 -83 -33 -177q-29 -81 -41 -81q-21 0 -21 12v19q0 16 -100 61l-133 -311q238 -107 306 -179q50 -52 50 -149z
+M318 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB47" unicode="&#xfb47;" horiz-adv-x="1247" 
+d="M1184 758q0 -260 -86 -367q-70 -88 -303 -170q-151 -53 -233 -112q-41 -30 -82 -80q-25 -31 -54 -31q-43 0 -43 61q0 107 58 177q96 114 360 190q195 56 235 87q82 62 82 232q0 130 -67 203q-63 70 -166 70h-629q-79 0 -109 54q-28 50 -28 171q0 201 57 201
+q12 0 29.5 -43t70.5 -43h574q165 0 237 -101q97 -135 97 -499zM307 756q0 -5 -40 -69.5t-40 -164.5q0 -188 37 -457.5t37 -383.5q0 -206 -39 -346q-35 -130 -80 -130q-63 0 -63 90q0 4 7 146.5t7 296.5q0 67 -12 378t-12 343q0 134 72 240q62 92 112 92q14 0 14 -35z
+M735 697q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB48" unicode="&#xfb48;" horiz-adv-x="1331" 
+d="M1221 164q0 -23 -57 -93.5t-72 -70.5q-25 0 -25 43q0 27 34 394.5t34 463.5q0 117 -179 117h-712q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h676q278 0 279 -297zM755 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28
+t29.5 -68z" />
+    <glyph glyph-name="uniFB49" unicode="&#xfb49;" horiz-adv-x="1430" 
+d="M1341 1145q0 -153 -87 -396q-36 -101 -171 -415q-102 -236 -120 -334h-734q-6 123 -79 365q-68 229 -68 358q0 164 65 305q-51 32 -66 78q-13 38 -13 129q0 90 43 157q33 52 55 52q18 0 18 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q74 -25 97 -67q18 -34 18 -117
+q0 -82 -45 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 14 -12.5 20t-100.5 35q-6 2 -16 7q-47 -109 -47 -211q0 -78 49 -230q47 -144 94 -223h21q187 301 296 682q-56 31 -74 85q-14 39 -14 128q0 90 43 157q34 52 56 52q18 0 18 -21q0 -6 -2 -11.5t-2 -10.5
+q0 -25 137 -72q72 -24 95 -68q20 -35 20 -116q0 -82 -46 -166q-38 -70 -53 -70q-12 0 -12 17q0 3 2 5t2 11q0 13 -13 20q-9 4 -91 31q-116 -395 -267 -653h532q25 65 179 331q119 205 119 298q0 21 -26 27q-83 19 -111 28q-70 23 -96 71q-23 44 -23 140q0 90 43 157
+q33 52 53 52q21 0 21 -21q0 -6 -3 -11.5t-3 -10.5q0 -25 139 -72q67 -23 91 -71q17 -37 17 -113zM935 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB4A" unicode="&#xfb4a;" horiz-adv-x="1370" 
+d="M1245 164q2 -23 -42.5 -93.5t-59.5 -70.5q-25 0 -25 43q0 16 2 427t2 431q0 117 -190 117h-592q-92 -173 -92 -324q0 -86 97 -229t97 -209q0 -121 -46 -191q-43 -65 -109 -65h-264l59 340h154q-31 34 -59 126q-25 87 -25 142q0 118 25 203q21 72 89 207h-22
+q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h649q256 0 275 -297zM819 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="uniFB4B" unicode="&#xfb4b;" horiz-adv-x="690" 
+d="M371 1638q0 -37 -28.5 -64.5t-66.5 -27.5t-65 27t-27 65q0 37 27 64t65 27t66.5 -27t28.5 -64zM567 164q0 -23 -56.5 -93.5t-72.5 -70.5q-24 0 -24 43q0 27 34.5 394.5t34.5 463.5q0 117 -127 117h-137q-79 0 -109 54q-28 50 -28 171q0 201 55 201q12 0 30 -43t71 -43
+h127q200 0 200 -297z" />
+    <glyph glyph-name="uniFB4C" unicode="&#xfb4c;" horiz-adv-x="1312" 
+d="M1307 340l-179 -340h-1099l164 340h876l-16 567q-4 111 -172 111h-625q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h586q281 0 281 -297v-721h164zM840 1546h-415v115h415v-115z" />
+    <glyph glyph-name="uniFB4D" unicode="&#xfb4d;" horiz-adv-x="1262" 
+d="M1198 678q0 -392 -168 -544q-148 -134 -500 -134h-501l164 340h579q171 0 265 84q98 88 98 254q0 340 -363 340h-516q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h459q246 0 352 -150q111 -156 111 -530zM840 1546h-415v115h415v-115z" />
+    <glyph glyph-name="uniFB4E" unicode="&#xfb4e;" horiz-adv-x="1262" 
+d="M840 1546h-415v115h415v-115zM649 694q0 -65 -46 -105q-39 -34 -87 -34h-272q-55 0 -86 -43t-39 -43q-17 0 -17 20q0 11 13.5 69t13.5 112q0 20 -6 66t-6 77q0 104 135 205q-77 1 -107 56q-26 49 -26 169q0 201 57 201q12 0 29.5 -43t70.5 -43h463q258 0 357 -156
+q92 -145 92 -512v-377l-111 -313h-1024l88 340h969v272q0 229 -61 303q-86 103 -373 103h-348q-95 -88 -95 -137q0 -36 36 -45q15 -5 65 -5q19 0 73.5 3.5t108.5 3.5q49 0 88 -37q45 -41 45 -107z" />
+    <glyph glyph-name="uniFB4F" unicode="&#xfb4f;" horiz-adv-x="1221" 
+d="M420 1693q0 -83 -92 -187l-83.5 -98t-29.5 -50q0 -50 66 -124l102 -101l299 -299l143 180q-74 56 -99 105q-17 35 -17 91q0 97 71 172q57 62 97 62q18 0 18 -19q0 -4 -5 -9t-5 -19q0 -49 108 -127q129 -94 129 -238q0 -100 -44 -154q-34 -42 -74 -42q-22 0 -40 34
+q-30 55 -83 101l-150 -187l252 -254q90 -91 122 -148q38 -70 38 -169q0 -96 -65 -177q-55 -69 -91 -69q-18 0 -18 29q0 4 13 24t13 35q0 49 -66 124l-702 702q-90 90 -121 148q-36 70 -36 169q0 96 63 177l70 87t37 81q0 80 -162 156q56 32 115 93q56 57 73 97
+q154 -84 154 -196z" />
+    <glyph glyph-name="uniFEFF" unicode="&#xfeff;" 
+ />
+    <glyph glyph-name="finalkafsheva" horiz-adv-x="1380" 
+d="M1280 1188q0 -72 -37.5 -119.5t-87.5 -50.5l39 -1512q1 -21 -55 -91t-72 -70q-27 0 -27 43q0 52 15 738q16 738 22 892h-833q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123zM713 681q0 -38 -28.5 -66t-66.5 -28t-65 28
+t-27 66q0 37 27 63.5t65 26.5t66.5 -26.5t28.5 -63.5zM713 368q0 -37 -29 -64.5t-66 -27.5q-38 0 -65 27.5t-27 64.5q0 38 27 64t65 26t66.5 -26t28.5 -64z" />
+    <glyph glyph-name="finalkafqamats" horiz-adv-x="1380" 
+d="M1280 1188q0 -72 -37.5 -119.5t-87.5 -50.5l39 -1512q1 -21 -55 -91t-72 -70q-27 0 -27 43q0 52 15 738q16 738 22 892h-833q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123zM654 393q0 -40 -29 -68t-70 -28q-39 0 -67.5 28
+t-28.5 68q0 59 90 285h-213v114h449v-114h-221q90 -246 90 -285z" />
+    <glyph glyph-name="holamvav" horiz-adv-x="690" 
+d="M545 1640q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5zM567 164q0 -23 -56.5 -93.5t-72.5 -70.5q-24 0 -24 43q0 27 34.5 394.5t34.5 463.5q0 117 -127 117h-137q-79 0 -109 54q-28 50 -28 171q0 201 55 201
+q12 0 30 -43t71 -43h127q200 0 200 -297z" />
+    <glyph glyph-name="vavshindot" horiz-adv-x="690" 
+d="M-114 1640q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5zM567 164q0 -23 -56.5 -93.5t-72.5 -70.5q-24 0 -24 43q0 27 34.5 394.5t34.5 463.5q0 117 -127 117h-137q-79 0 -109 54q-28 50 -28 171q0 201 55 201
+q12 0 30 -43t71 -43h127q200 0 200 -297z" />
+    <glyph glyph-name="lamedholam" horiz-adv-x="1493" 
+d="M1375 782q0 -222 -219 -381q-143 -103 -221 -218l-80 -148q-31 -55 -84 -55q-37 0 -64 27q-31 30 -31 77q0 69 67 149q84 102 241 168q199 86 263 176q42 59 42 168q0 119 -54 193q-56 78 -149 78h-633q-127 0 -172 50q-39 44 -39 159v321q0 117 41 200q26 54 76 102
+q41 39 41 48q0 35 -79 58.5t-79 64.5q0 58 34 110q29 44 44 44q16 0 16 -10q0 -2 -2 -8.5t-2 -8.5q0 -9 44 -24q56 -19 82 -40q44 -35 44 -91q0 -30 -25 -67q-34 -49 -48 -91q-25 -77 -25 -207v-182q0 -48 13 -65q17 -21 69 -21h672q152 0 172 -127l37 -234q8 -52 8 -215z
+M121 1640q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5z" />
+    <glyph glyph-name="lameddageshholam" horiz-adv-x="1493" 
+d="M1375 782q0 -222 -219 -381q-143 -103 -221 -218l-80 -148q-31 -55 -84 -55q-37 0 -64 27q-31 30 -31 77q0 69 67 149q84 102 241 168q199 86 263 176q42 59 42 168q0 119 -54 193q-56 78 -149 78h-633q-127 0 -172 50q-39 44 -39 159v321q0 117 41 200q26 54 76 102
+q41 39 41 48q0 35 -79 58.5t-79 64.5q0 58 34 110q29 44 44 44q16 0 16 -10q0 -2 -2 -8.5t-2 -8.5q0 -9 44 -24q56 -19 82 -40q44 -35 44 -91q0 -30 -25 -67q-34 -49 -48 -91q-25 -77 -25 -207v-182q0 -48 13 -65q17 -21 69 -21h672q152 0 172 -127l37 -234q8 -52 8 -215z
+M121 1640q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5zM940 678q0 -40 -29.5 -68t-69.5 -28t-68 28t-28 68t28 68t68 28t69.5 -28t29.5 -68z" />
+    <glyph glyph-name="gimelrafe" horiz-adv-x="741" 
+d="M686 248q0 -248 -29 -248q-20 0 -22 27q-5 47 -63 232q-54 169 -54 284q0 64 11.5 202.5t11.5 161.5q0 111 -185 111h-100q-79 0 -109 54q-28 50 -28 171q0 201 57 201q12 0 29.5 -43t70.5 -43h62q278 0 278 -297q0 -51 -10 -103.5t-10 -134.5q0 -59 45 -266.5t45 -308.5
+zM545 340l-113 -340h-377l86 340h404zM590 1546h-415v115h415v-115z" />
+    <glyph glyph-name="daletrafe" horiz-adv-x="1380" 
+d="M1280 1188q0 -72 -37.5 -119.5t-87.5 -50.5l39 -854q1 -22 -55 -93t-72 -71q-27 0 -27 43q0 112 37 975h-833q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123zM840 1546h-415v115h415v-115z" />
+    <glyph glyph-name="herafe" horiz-adv-x="1380" 
+d="M1280 1188q0 -75 -39.5 -122.5t-91.5 -47.5h-8l53 -854q1 -22 -55 -93t-72 -71q-27 0 -27 43q0 176 21 975h-817q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h881q59 0 97 -47t38 -123zM330 319q0 -201 -31 -233q-21 -22 -69 -52q-53 -34 -74 -34
+q-39 0 -39 41q0 25 15.5 52.5t32.5 54.5q23 54 23 163q0 35 -3 96t-3 117q0 65 41 136q39 67 66 67q26 0 26 -18q0 -8 -9 -38.5t-9 -68.5q0 -30 16.5 -109t16.5 -174zM840 1546h-415v115h415v-115z" />
+    <glyph glyph-name="tavrafe" horiz-adv-x="1348" 
+d="M1245 164q2 -23 -42.5 -93.5t-59.5 -70.5q-25 0 -25 43q0 16 2 427t2 431q0 117 -190 117h-592q-92 -173 -92 -324q0 -86 97 -229t97 -209q0 -121 -46 -191q-43 -65 -109 -65h-264l59 340h154q-31 34 -59 126q-25 87 -25 142q0 118 25 203q21 72 89 207h-22
+q-79 0 -110 54q-28 50 -28 171q0 201 58 201q10 0 28.5 -43t71.5 -43h649q256 0 275 -297zM840 1546h-415v115h415v-115z" />
+    <glyph glyph-name="hiriqmem" horiz-adv-x="1329" 
+d="M358 1018q-118 -134 -114 -264l12 -414h877l-17 567q-2 69 -39 92q-30 19 -106 19h-613zM1231 0h-1104v715q0 163 119 303q-73 3 -101 57q-26 50 -26 168q0 201 57 201q12 0 29.5 -43t70.5 -43h676q279 0 279 -297v-1061zM1162 -244q0 -38 -28.5 -66t-66.5 -28t-65 28
+t-27 66q0 37 27 63.5t65 26.5t66.5 -26.5t28.5 -63.5z" />
+    <glyph glyph-name="hatafsegolmeteg" horiz-adv-x="2" 
+d="M713 -649h-117v495h117v-495zM970 -244q0 -38 -27.5 -66t-66.5 -28q-37 0 -63.5 28t-26.5 66q0 37 26.5 63.5t63.5 26.5q39 0 66.5 -26.5t27.5 -63.5zM970 -557q0 -37 -28 -64.5t-66 -27.5q-36 0 -63 27.5t-27 64.5q0 38 26.5 64t63.5 26q39 0 66.5 -26t27.5 -64z
+M518 -246q0 -37 -28 -64.5t-66 -27.5q-37 0 -63.5 27.5t-26.5 64.5q0 38 26.5 65t63.5 27q38 0 66 -27t28 -65zM182 -246q0 -37 -27 -64.5t-65 -27.5t-64 27.5t-26 64.5q0 39 26 65.5t64 26.5t65 -26.5t27 -65.5zM350 -557q0 -37 -27 -64.5t-65 -27.5q-37 0 -63.5 27.5
+t-26.5 64.5q0 38 26.5 64t63.5 26q39 0 65.5 -26t26.5 -64z" />
+    <glyph glyph-name="hatafpatahmeteg" horiz-adv-x="2" 
+d="M671 -649h-117v495h117v-495zM928 -244q0 -38 -27.5 -66t-66.5 -28q-37 0 -63.5 28t-26.5 66q0 37 26.5 63.5t63.5 26.5q39 0 66.5 -26.5t27.5 -63.5zM928 -557q0 -37 -28 -64.5t-66 -27.5q-36 0 -63 27.5t-27 64.5q0 38 26.5 64t63.5 26q39 0 66.5 -26t27.5 -64z
+M449 -268h-449v114h449v-114z" />
+    <glyph glyph-name="hatafqamatsmeteg" horiz-adv-x="2" 
+d="M671 -649h-117v495h117v-495zM928 -244q0 -38 -27.5 -66t-66.5 -28q-37 0 -63.5 28t-26.5 66q0 37 26.5 63.5t63.5 26.5q39 0 66.5 -26.5t27.5 -63.5zM928 -557q0 -37 -28 -64.5t-66 -27.5q-36 0 -63 27.5t-27 64.5q0 38 26.5 64t63.5 26q39 0 66.5 -26t27.5 -64z
+M317 -553q0 -40 -28.5 -68t-69.5 -28q-40 0 -68 28t-28 68q0 45 88 285h-211v114h449v-114h-222q90 -246 90 -285z" />
+    <glyph glyph-name="uni034F" unicode="&#x34f;" 
+ />
+    <glyph glyph-name="uni0307" unicode="&#x307;" 
+d="M245 1640q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5z" />
+    <glyph glyph-name="dotbelowcomb" unicode="&#x323;" 
+ />
+    <glyph glyph-name="uni0308" unicode="&#x308;" 
+d="M647 1313q0 -47 -32 -81t-78 -34t-79.5 34.5t-33.5 80.5q0 43 35 77.5t78 34.5q46 0 78 -33t32 -79zM223 1313q0 -46 -33 -80.5t-79 -34.5q-44 0 -77.5 34t-33.5 79t33.5 79.5t77.5 34.5q46 0 79 -33t33 -79z" />
+    <glyph glyph-name="hebrewthousand" 
+d="M195 1640q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5zM595 1640q0 -39 -29.5 -68.5t-69.5 -29.5q-39 0 -67.5 29t-28.5 69t28 68.5t68 28.5t69.5 -28.5t29.5 -68.5z" />
+    <glyph glyph-name="uni05A2" unicode="&#x5a2;" 
+d="M241 -607q0 -47 -48 -47q-47 0 -47 47v151q-94 14 -126 93q-20 51 -20 162q0 47 47 47t47 -47q0 -90 10 -115q19 -50 94 -50q79 0 99 50q10 24 10 115q0 47 47 47t47 -47q0 -116 -23 -167q-35 -78 -137 -90v-149z" />
+    <glyph glyph-name="uni05C5" unicode="&#x5c5;" 
+d="M379 -389q-96 -59 -150 -153q-54 94 -151 153q97 56 151 152q54 -96 150 -152z" />
+    <glyph glyph-name="uni05C7" unicode="&#x5c7;" 
+d="M0 -154h449v-114h-221q90 -422 90 -461q0 -40 -29 -68t-70 -28q-39 0 -67.5 28t-28.5 68q0 59 90 461h-213v114z" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/LinBTestFont.svg b/Tests/W3CTestSuite/resources/LinBTestFont.svg
new file mode 100644
index 0000000000000000000000000000000000000000..522e4b87bb2aefe08119afc47ca9b57e3cf61779
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/LinBTestFont.svg
@@ -0,0 +1,12 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs>
+    <font horiz-adv-x='1000'>
+      <font-face font-family='LinBTestFont'/>
+      <glyph unicode='a' horiz-adv-x='100' d='M0,0 h80 v1000 h-80 z'/>
+      <glyph unicode='&#x10000;' horiz-adv-x='200' d='M0,0 h180 v1000 h-180 z'/>
+      <glyph unicode='b' horiz-adv-x='400' d='M0,0 h380 v1000 h-380 z'/>
+    </font>
+</defs>
+</svg>
diff --git a/Tests/W3CTestSuite/resources/Plane1/.directory b/Tests/W3CTestSuite/resources/Plane1/.directory
new file mode 100644
index 0000000000000000000000000000000000000000..692c0f1c98b7a9baa9e6405cd0774ea321e3c174
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/Plane1/.directory
@@ -0,0 +1,3 @@
+[Dolphin]
+Timestamp=2011,2,18,20,4,34
+ViewMode=1
diff --git a/Tests/W3CTestSuite/resources/Plane1/Plane1Test-forFF.svg b/Tests/W3CTestSuite/resources/Plane1/Plane1Test-forFF.svg
new file mode 100644
index 0000000000000000000000000000000000000000..728fae6f55bf302509b794e297de2448d4681930
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/Plane1/Plane1Test-forFF.svg
@@ -0,0 +1,11 @@
+<svg 
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <font id="PlaneOne" horiz-adv-x="1000" >
+    <font-face font-family="Blocky" units-per-em="1000" panose-1="2 0 0 6 3 0 0 2 0 4" ascent="700" descent="-127" alphabetic="0" />
+        <missing-glyph horiz-adv-x="233" />
+        <glyph unicode=" " glyph-name="space" horiz-adv-x="233" />
+        <glyph unicode='a' horiz-adv-x='100' d='M0,0 h80 v1000 h-80 z'/>
+        <glyph unicode='&#x10000;' horiz-adv-x='200' d='M0,0 h180 v1000 h-180 z'/>
+        <glyph unicode='b' horiz-adv-x='400' d='M0,0 h380 v1000 h-380 z'/>
+    </font>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/resources/Plane1/PlaneOne.sfd b/Tests/W3CTestSuite/resources/Plane1/PlaneOne.sfd
new file mode 100644
index 0000000000000000000000000000000000000000..cbe12c4dc82f5c7c28385f59186441eaec9b7586
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/Plane1/PlaneOne.sfd
@@ -0,0 +1,110 @@
+SplineFontDB: 3.0
+FontName: PlaneOne
+FullName: PlaneOne
+FamilyName: PlaneOne
+Weight: Regular
+Copyright: 
+UComments: "Created for SVG test suite by W3C." 
+Version: 
+ItalicAngle: 0
+UnderlinePosition: 0
+UnderlineWidth: 0
+Ascent: 800
+Descent: 200
+woffMetadata: "<?xml version+AD0AIgAA-1.0+ACIA encoding+AD0AIgAA-UTF-8+ACIA?>+AAoA<metadata version+AD0AIgAA-1.0+ACIA>+AAoA   <credits>+AAoA       <credit name+AD0AIgAA-W3C SVG Working Group+ACIA +AAoA          role+AD0AIgAA-editors+ACIA url+AD0AIgAA-http://www.w3.org/Graphics/SVG/WG/wiki/+ACIA-/>+AAoA   </credits>+AAoA   <description>+AAoA       <text lang+AD0AIgAA-en+ACIA +AAoA       url+AD0AIgAA-http://www.w3.org/Graphics/SVG/WG/wiki/Test_Suite_Overview+ACIA>This +AAoA       font was created for use in the SVG Test Suite. It is probably +AAoA       not suitable for general use, and may have unusual features +AAoA       specific to the particular subject being tested.</text>+AAoA   </description>+AAoA   <license url+AD0AIgAA-http://www.w3.org/Consortium/Legal/2008/04-testsuite-license.html+ACIA +AAoA       id+AD0AIgAA-W3C-TSL-2008-08-20+ACIA>+AAoA       <text lang+AD0AIgAA-en+ACIA>W3C Test Suite License</text>+AAoA   </license>+AAoA   <copyright url+AD0AIgAA-http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html+ACIA>+AAoA       <text lang+AD0AIgAA-en+ACIA>Copyright +AKkA 2011 World Wide Web Consortium, +AAoA       (Massachusetts Institute of Technology, +AAoA       European Research Consortium for Informatics and Mathematics, +AAoA       Keio University) and others. +AAoA       All Rights Reserved. +AAoA       </text>+AAoA   </copyright>+AAoA</metadata>+AAoA" 
+LayerCount: 2
+Layer: 0 0 "Back"  1
+Layer: 1 0 "Fore"  0
+XUID: [1021 814 1794362713 14044211]
+FSType: 0
+OS2Version: 0
+OS2_WeightWidthSlopeOnly: 0
+OS2_UseTypoMetrics: 0
+CreationTime: 1298053193
+ModificationTime: 1298055583
+PfmFamily: 81
+TTFWeight: 400
+TTFWidth: 5
+LineGap: 90
+VLineGap: 90
+Panose: 2 0 0 6 3 0 0 2 0 4
+OS2TypoAscent: 0
+OS2TypoAOffset: 1
+OS2TypoDescent: 0
+OS2TypoDOffset: 1
+OS2TypoLinegap: 90
+OS2WinAscent: 0
+OS2WinAOffset: 1
+OS2WinDescent: 0
+OS2WinDOffset: 1
+HheadAscent: 0
+HheadAOffset: 1
+HheadDescent: 0
+HheadDOffset: 1
+OS2Vendor: 'PfEd'
+OS2UnicodeRanges: 00000001.02000000.00000000.00000000
+MarkAttachClasses: 1
+DEI: 91125
+LangName: 1033 
+Encoding: Original
+UnicodeInterp: none
+NameList: Adobe Glyph List
+DisplaySize: -36
+AntiAlias: 1
+FitToEm: 1
+WinInfo: 0 25 8
+TeXData: 1 0 0 244318 122159 81439 0 1048576 81439 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144
+BeginChars: 5 3
+
+StartChar: a
+Encoding: 2 97 0
+Width: 100
+HStem: 0 21G<0 80>
+VStem: 0 80<0 1000>
+LayerCount: 2
+Fore
+SplineSet
+0 0 m 0
+ 0 1000 l 0
+ 80 1000 l 0
+ 80 0 l 0
+ 0 0 l 0
+EndSplineSet
+Validated: 1
+EndChar
+
+StartChar: u10000
+Encoding: 3 65536 1
+Width: 200
+HStem: 0 21G<0 180>
+VStem: 0 180<0 1000>
+LayerCount: 2
+Fore
+SplineSet
+0 0 m 0
+ 0 1000 l 0
+ 180 1000 l 0
+ 180 0 l 0
+ 0 0 l 0
+EndSplineSet
+Validated: 1
+EndChar
+
+StartChar: b
+Encoding: 4 98 2
+Width: 400
+HStem: 0 21G<0 380>
+VStem: 0 380<0 1000>
+LayerCount: 2
+Fore
+SplineSet
+0 0 m 0
+ 0 1000 l 0
+ 380 1000 l 0
+ 380 0 l 0
+ 0 0 l 0
+EndSplineSet
+Validated: 1
+EndChar
+EndChars
+EndSplineFont
diff --git a/Tests/W3CTestSuite/resources/Plane1/PlaneOne.svg b/Tests/W3CTestSuite/resources/Plane1/PlaneOne.svg
new file mode 100644
index 0000000000000000000000000000000000000000..de8a1d909ae7d5f3ce9078900ced2254c237a49e
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/Plane1/PlaneOne.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<!--
+Created for SVG test suite by W3C.
+-->
+<svg>
+<metadata>
+Created by FontForge 20100429 at Fri Feb 18 20:00:06 2011
+ By Chris Lilley,,,
+
+</metadata>
+<defs>
+<font id="SPlaneOne" horiz-adv-x="100" >
+  <font-face 
+    font-family="SPlaneOne"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 0 0 6 3 0 0 2 0 4"
+    ascent="800"
+    descent="-200"
+    bbox="0 0 380 1000"
+    underline-thickness="0"
+    underline-position="0"
+    unicode-range="U+0020-10000"
+  />
+    <missing-glyph />
+    <glyph glyph-name="a" unicode="a" 
+d="M0 0v1000h80v-1000h-80z" />
+    <glyph glyph-name="u10000" unicode="&#x10000;" horiz-adv-x="200" 
+d="M0 0v1000h180v-1000h-180z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="400" 
+d="M0 0v1000h380v-1000h-380z" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/Plane1/svgtestsuite-woffmeta.xml b/Tests/W3CTestSuite/resources/Plane1/svgtestsuite-woffmeta.xml
new file mode 100644
index 0000000000000000000000000000000000000000..af81cad6df58a8a50b0f40047e17e6f63d19b990
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/Plane1/svgtestsuite-woffmeta.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata version="1.0">
+   <credits>
+       <credit name="W3C SVG Working Group" 
+          role="editors" url="http://www.w3.org/Graphics/SVG/WG/wiki/"/>
+   </credits>
+   <description>
+       <text lang="en" 
+       url="http://www.w3.org/Graphics/SVG/WG/wiki/Test_Suite_Overview">This 
+       font was created for use in the SVG Test Suite. It is probably 
+       not suitable for general use, and may have unusual features 
+       specific to the particular subject being tested.</text>
+   </description>
+   <license url="http://www.w3.org/Consortium/Legal/2008/04-testsuite-license.html" 
+       id="W3C-TSL-2008-08-20">
+       <text lang="en">W3C Test Suite License</text>
+   </license>
+   <copyright url="http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html">
+       <text lang="en">Copyright © 2011 World Wide Web Consortium, 
+       (Massachusetts Institute of Technology, 
+       European Research Consortium for Informatics and Mathematics, 
+       Keio University) and others. 
+       All Rights Reserved. 
+       </text>
+   </copyright>
+</metadata>
diff --git a/Tests/W3CTestSuite/resources/SVGFreeSans-ISO-8859-1.svg b/Tests/W3CTestSuite/resources/SVGFreeSans-ISO-8859-1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a9234aa9adecfce483c95296a0e1abb35b71bd4e
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/SVGFreeSans-ISO-8859-1.svg
@@ -0,0 +1,1306 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Copyleft 2002, 2003 Free Software Foundation.
+</metadata>
+<defs>
+ <font id="iso_8859_1" horiz-adv-x="1000" >
+  <font-face 
+    font-family="SVGFreeSansISO-8859-1"
+    units-per-em="1000"
+    panose-1="2 11 5 4 2 2 2 2 2 4"
+    ascent="800"
+    descent="-200"
+    alphabetic="0"
+    unicode-range="U+0020-00FF" />
+   <missing-glyph horiz-adv-x="432" 
+d="M33 0v666h333v-666h-333zM66 33h267v600h-267v-600z" />
+    <glyph glyph-name="uniFB4F" unicode="&#x5d0;&#x5dc;" horiz-adv-x="640" 
+d="M72 580v169h87v-149l229 -325q25 17 32 28q47 61 57 86q9 25 10 61v150h87v-150l-3 -43q-11 -62 -69 -135q-5 -5 -10 -12q-20 -25 -58 -50l148 -210h-102z" />
+    <glyph glyph-name=".notdef" horiz-adv-x="432" 
+d="M33 0v666h333v-666h-333zM66 33h267v600h-267v-600z" />
+    <glyph glyph-name=".null" horiz-adv-x="0" 
+ />
+    <glyph glyph-name="nonmarkingreturn" unicode="&#xd;" horiz-adv-x="333" 
+ />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="278" 
+d="M208 729v-338l-22 -223h-39l-22 223v338h83zM208 104v-104h-84v104h84z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="355" 
+d="M52 709h93v-111l-27 -134h-39l-27 134v111zM212 709h93v-111l-27 -134h-39l-27 134v111z" />
+    <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="556" 
+d="M485 697l-36 -196h93v-68h-106l-31 -174h105v-68h-117l-39 -211h-76l38 211h-124l-39 -211h-76l38 211h-101v68h114l31 174h-108v68h121l36 196h76l-36 -196h125l35 196h77zM360 433h-124l-32 -174h125z" />
+    <glyph glyph-name="dollar" unicode="$" horiz-adv-x="556" 
+d="M243 770h59v-54q126 -9 173 -102q19 -38 21 -85v-10h-79q-1 77 -58 111q-20 11 -44 15q-6 1 -13 1v-249q100 -31 131 -48q85 -48 85 -154q0 -104 -68 -165q-11 -10 -24 -18q-49 -29 -124 -35v-103h-59v103q-154 10 -197 127q-14 39 -13 87v17h79q7 -74 21 -98q2 -3 4 -7
+q35 -48 106 -57v272q-93 28 -126 52q-71 51 -71 146q0 146 140 188q26 8 57 12v54zM243 405v240q-96 -13 -113 -89q-3 -14 -3 -30q0 -90 116 -121zM302 309v-263q61 7 92 37q42 40 42 100q0 61 -47 91q-29 18 -87 35z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="889" 
+d="M199 685q84 0 135 -66l18 -28q18 -37 18 -79q0 -79 -63 -130q-47 -39 -107 -39q-81 0 -133 63q-38 48 -38 108q0 81 63 133q47 38 107 38zM199 615q-54 0 -84 -46l-12 -23q-5 -16 -5 -32q0 -53 45 -84q26 -17 57 -17q54 0 84 45q17 25 17 55q0 57 -48 87q-24 15 -54 15z
+M609 709h66l-395 -729h-66zM688 322q85 0 136 -66q35 -46 35 -106q0 -79 -63 -130q-47 -39 -107 -39q-81 0 -133 63q-38 48 -38 108q0 81 64 132q47 38 106 38zM688 252q-54 0 -84 -45q-17 -25 -17 -55q0 -55 47 -85q25 -16 55 -16q54 0 84 45q17 25 17 54q0 57 -48 87
+l-23 10q-15 5 -31 5z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="667" 
+d="M493 334h80q0 -94 -58 -183l122 -151h-109l-62 78q-49 -48 -77 -65q-56 -36 -132 -36q-116 0 -172 82q-33 49 -33 117q0 81 52 134q36 36 110 79q-70 88 -79 136q-2 13 -2 27q0 77 65 124q46 33 106 33q90 0 136 -66l15 -28q9 -21 11 -45q1 -9 1 -18q0 -69 -55 -118
+q-29 -26 -83 -56l133 -163q31 54 31 114v5zM285 431q81 51 96 88q7 15 7 35q0 52 -45 75q-19 10 -42 10q-60 0 -80 -50q-6 -16 -6 -36q0 -33 25 -68zM418 137l-160 200q-94 -60 -114 -110q-8 -20 -8 -44q0 -65 54 -103q35 -25 77 -25q67 0 135 65q8 8 16 17z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="191" 
+d="M48 709h94v-111l-27 -134h-40l-27 134v111z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M236 729h55q-124 -200 -136 -429q-1 -21 -1 -41q0 -233 122 -446q7 -13 15 -25h-55q-113 148 -150 340q-13 68 -13 131q0 179 93 358q31 61 70 112z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M93 -212h-55q124 200 136 429q1 21 1 41q0 233 -122 446q-7 13 -15 25h55q113 -148 150 -340q13 -68 13 -131q0 -179 -93 -358q-31 -61 -70 -112z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="389" 
+d="M160 729h63l-5 -112l106 38l19 -59l-108 -30l70 -89l-51 -36l-62 93l-63 -93l-50 36l69 89l-108 30l19 59l106 -38z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="584" 
+d="M534 267v-70h-207v-207h-70v207h-207v70h207v207h70v-207h207z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="278" 
+d="M87 104h105v-120q0 -131 -105 -131v38q43 2 53 33q7 19 7 58v18h-60v104z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M284 312v-72h-238v72h238z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="278" 
+d="M191 104v-104h-104v104h104z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M229 729h55l-237 -749h-55z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="556" 
+d="M275 709q218 0 231 -329q1 -21 1 -43q0 -271 -138 -340q-42 -20 -94 -20q-176 0 -219 216q-13 66 -13 150q0 195 69 288q54 71 149 78h14zM275 631q-142 0 -142 -289q0 -292 140 -292q118 0 139 192q5 46 5 103q0 286 -142 286z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="556" 
+d="M259 505h-157v63q102 13 132 36q30 22 51 93l4 12h58v-709h-88v505z" />
+    <glyph glyph-name="two" unicode="2" horiz-adv-x="556" 
+d="M284 709q121 0 185 -80l19 -30q23 -44 23 -98q0 -132 -150 -214l-100 -54q-91 -53 -115 -102q-9 -20 -13 -44h373v-87h-472q7 128 57 195q42 55 142 112l92 52q96 55 96 140q0 72 -60 111q-35 22 -80 22q-75 0 -115 -57l-7 -12q-17 -32 -21 -100h-88q3 100 38 154
+q60 92 196 92z" />
+    <glyph glyph-name="three" unicode="3" horiz-adv-x="556" 
+d="M266 -23q-197 0 -229 184q-3 21 -5 45h88q8 -132 113 -148q17 -3 36 -3q104 0 136 79q11 28 11 63q0 129 -147 129l-37 -1h-11v75q113 2 147 33q27 25 27 78q0 85 -70 112q-24 9 -55 9q-78 0 -113 -53l-6 -10q-15 -29 -16 -89h-88q4 210 190 228q15 1 32 1q140 0 192 -94
+q24 -43 24 -101q0 -108 -99 -147q93 -32 113 -108q7 -26 7 -61q0 -123 -94 -183q-60 -38 -146 -38z" />
+    <glyph glyph-name="four" unicode="4" horiz-adv-x="556" 
+d="M327 170h-299v93l322 446h65v-460h105v-79h-105v-170h-88v170zM327 249v310l-222 -310h222z" />
+    <glyph glyph-name="five" unicode="5" horiz-adv-x="556" 
+d="M476 709v-87h-295l-28 -198q59 43 131 43q120 0 184 -87q45 -61 45 -149q0 -129 -87 -201q-64 -53 -156 -53q-112 0 -177 67q-8 9 -15 18q-27 33 -43 112h88q31 -119 145 -119q101 0 139 81q16 36 16 83q0 109 -76 151q-34 19 -79 19q-64 0 -109 -43q-10 -10 -21 -23h-81
+l53 386h366z" />
+    <glyph glyph-name="six" unicode="6" horiz-adv-x="556" 
+d="M281 -23q-238 0 -238 346q0 185 64 285q56 84 156 99q17 2 34 2q115 0 170 -93q23 -40 31 -92h-88q-18 88 -91 104q-13 3 -28 3q-111 0 -145 -144q-13 -54 -13 -125q58 79 163 79q111 0 173 -83q44 -59 44 -142q0 -119 -82 -187q-62 -52 -150 -52zM285 363
+q-85 0 -125 -66q-22 -36 -22 -83q0 -86 61 -132q36 -27 83 -27q76 0 116 63q25 40 25 91q0 102 -71 139q-29 15 -67 15z" />
+    <glyph glyph-name="seven" unicode="7" horiz-adv-x="556" 
+d="M520 709v-74q-202 -268 -268 -539q-12 -47 -20 -96h-94q50 218 143 389q55 101 148 233h-383v87h474z" />
+    <glyph glyph-name="eight" unicode="8" horiz-adv-x="556" 
+d="M391 373q122 -58 122 -177q0 -112 -86 -173q-63 -46 -152 -46q-124 0 -191 82q-47 58 -47 138q0 118 121 176q-72 45 -88 93q-8 23 -8 54q0 99 81 152q55 37 132 37q116 0 175 -76q38 -48 38 -113q0 -68 -45 -109l-32 -26q-9 -6 -20 -12zM275 631q-80 0 -110 -58l-10 -26
+l-3 -28q0 -70 61 -98q27 -13 62 -13q80 0 110 57q13 24 13 53q0 75 -65 102q-25 11 -58 11zM275 334q-89 0 -128 -64q-20 -33 -20 -75q0 -82 66 -120q34 -20 80 -20q91 0 130 65q20 33 20 75q0 82 -67 120q-35 19 -81 19z" />
+    <glyph glyph-name="nine" unicode="9" horiz-adv-x="556" 
+d="M270 709q239 0 239 -346q0 -185 -65 -285q-53 -81 -150 -98q-20 -3 -40 -3q-115 0 -170 93q-23 40 -31 92h88q18 -88 91 -104q13 -3 28 -3q111 0 145 144q13 54 13 125q-70 -77 -162 -79q-112 0 -174 83q-44 59 -44 142q0 119 82 187q62 52 150 52zM269 632
+q-76 0 -116 -64l-15 -30l-8 -35q-2 -13 -2 -26q0 -102 71 -139q29 -15 67 -15q83 0 124 65q23 36 23 84q0 87 -61 133q-37 27 -83 27z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="278" 
+d="M214 104v-104h-104v104h104zM214 524v-104h-104v104h104z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="278" 
+d="M215 524v-104h-104v104h104zM110 104h105v-120q0 -131 -105 -131v38q43 2 53 33q7 19 7 58v18h-60v104z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="584" 
+d="M45 198v69l489 207v-79l-394 -161l394 -164v-79z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="584" 
+d="M534 353v-70h-484v70h484zM534 181v-70h-484v70h484z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="584" 
+d="M539 267v-69l-489 -207v79l394 161l-394 164v79z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="556" 
+d="M330 199h-90v55q0 50 28 87q17 22 52 55l24 21q74 66 75 132q0 70 -61 100l-31 10q-17 4 -36 4q-82 0 -112 -58q-17 -34 -17 -98h-85q0 211 180 232q19 2 39 2q126 0 182 -83l16 -30q15 -36 15 -79q0 -70 -51 -129q-19 -23 -49 -50q-63 -58 -73 -85q-6 -15 -6 -39v-47z
+M330 104v-104h-90v104h90z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="1015" 
+d="M665 501h83l-90 -280q-12 -35 -12 -50q0 -27 29 -40q10 -4 21 -4q64 0 117 72q51 71 51 158q0 120 -97 209q-99 92 -240 98h-15q-147 0 -260 -102l-34 -34q-99 -113 -99 -255q0 -141 105 -238q108 -100 270 -100q79 0 193 32l28 -67q-112 -42 -226 -42q-180 0 -311 107
+q-122 100 -141 247q-3 23 -3 46q0 154 95 284q28 39 63 70q108 98 259 123q37 6 74 6q166 0 289 -101q116 -94 134 -229q3 -21 3 -42q0 -121 -86 -223q-76 -89 -186 -89q-96 0 -110 77q-66 -72 -142 -72q-82 0 -129 69q-34 49 -34 114q0 109 79 193q77 83 178 84
+q84 0 122 -87zM515 458q-66 0 -116 -71q-45 -63 -45 -143q0 -67 47 -101q24 -17 52 -17q58 0 102 65q33 48 49 132q4 22 5 39l-2 26q-11 48 -58 64q-16 6 -34 6z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="667" 
+d="M474 219h-281l-77 -219h-99l260 729h120l256 -729h-104zM448 297l-112 332l-120 -332h232z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="667" 
+d="M79 0v729h296q103 0 158 -51q58 -52 58 -134q0 -112 -101 -159q105 -41 126 -121q6 -20 7 -43v-13q0 -88 -56 -147q-57 -61 -159 -61h-329zM172 415h180q72 0 106 26q40 31 40 90t-40 90q-34 26 -106 26h-180v-232zM530 207q0 87 -71 115q-26 11 -60 11h-227v-251h227
+q65 0 97 35q34 36 34 90z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="722" 
+d="M662 503h-95q-15 75 -53 110q-54 44 -144 46q-128 0 -189 -115q-40 -75 -40 -187q0 -170 95 -249q59 -49 142 -49q109 0 160 77q6 8 10 17q22 42 33 113h96q-33 -289 -300 -289q-141 0 -223 85q-106 109 -106 294q0 183 102 294q82 91 231 91q238 0 281 -238z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="722" 
+d="M89 0v729h281q163 0 242 -132l22 -43q33 -81 33 -189q0 -209 -116 -304q-73 -61 -181 -61h-281zM182 82h172q174 0 211 181q9 45 9 101q0 246 -168 278q-25 5 -52 5h-172v-565z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="667" 
+d="M183 332v-250h430v-82h-523v729h505v-82h-412v-233h397v-82h-397z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="611" 
+d="M183 332v-332h-93v729h489v-82h-396v-233h348v-82h-348z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="778" 
+d="M709 385v-389h-59l-23 97q-104 -116 -249 -116q-153 0 -247 114q-87 104 -87 266q0 176 102 286q14 15 30 28q85 70 218 70q179 0 260 -118q33 -49 45 -115h-95q-21 98 -116 134q-42 17 -95 17q-132 0 -203 -104q-53 -78 -53 -193q0 -126 61 -210q8 -10 16 -19
+q72 -72 184 -74q114 0 180 80q49 60 49 144v20h-222v82h304z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="722" 
+d="M551 332h-374v-332h-94v729h93v-315h375v315h93v-729h-93v332z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="278" 
+d="M194 729v-729h-94v729h94z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="500" 
+d="M333 729h93v-547q0 -124 -90 -177q-49 -28 -116 -28q-124 0 -176 86q-27 46 -27 107v64h95v-47q0 -111 81 -129q13 -3 28 -3q58 0 89 45q23 34 23 116v513z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="667" 
+d="M172 255v-255h-93v729h93v-369l363 369h120l-297 -297l300 -432h-110l-257 374z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="556" 
+d="M173 729v-647h360v-82h-453v729h93z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="833" 
+d="M468 0h-98l-207 611v-611h-88v729h129l216 -635l212 635h129v-729h-88v611z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="722" 
+d="M646 729v-729h-105l-377 591v-591h-88v729h101l381 -596v596h88z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="778" 
+d="M389 741q174 0 271 -123l26 -38q56 -96 56 -227q0 -148 -82 -253q-20 -26 -44 -46q-91 -77 -226 -77q-167 0 -265 117q-87 104 -87 265q0 184 111 291q95 91 240 91zM389 659q-130 0 -202 -102q-56 -80 -56 -198q0 -158 95 -241q67 -59 164 -59q129 0 201 100
+q58 79 58 196q0 165 -98 248q-66 56 -162 56z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="667" 
+d="M184 309v-309h-93v729h301q161 0 208 -118q17 -41 17 -96q0 -97 -63 -154q-58 -52 -141 -52h-229zM184 391h194q102 0 132 74q10 24 10 54q0 90 -79 118l-34 8q-14 2 -29 2h-194v-256z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="778" 
+d="M733 -1l-47 -58l-105 87q-86 -51 -191 -51q-167 0 -265 117q-87 104 -87 265q0 184 111 291q96 91 241 91q166 0 264 -116q88 -104 88 -264q0 -172 -103 -285zM481 205l89 -73q79 89 79 228q0 157 -94 240q-68 59 -165 59q-131 0 -203 -102q-56 -80 -56 -198
+q0 -159 95 -242q67 -58 163 -58q60 0 120 28l-74 62z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="722" 
+d="M186 314v-314h-93v729h336q170 0 211 -120q11 -33 11 -75q0 -98 -72 -149q-19 -13 -43 -25q62 -27 81 -67q17 -37 18 -123q2 -96 19 -123q9 -13 25 -24v-23h-113q-21 48 -21 119l1 65q0 109 -80 126q-18 4 -40 4h-240zM186 396h225q121 0 139 86q4 17 4 39q0 66 -38 98
+q-32 28 -105 28h-225v-251z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="667" 
+d="M596 515h-88q-1 111 -110 140q-32 8 -72 8q-104 0 -145 -62l-12 -24q-6 -17 -6 -37q0 -56 54 -84q25 -13 66 -24l183 -49q120 -33 148 -130q7 -25 7 -53q0 -84 -58 -147q-11 -11 -22 -20q-73 -56 -205 -56q-169 0 -245 104q-42 57 -43 151h88l3 -38q7 -41 35 -74
+q51 -61 168 -61q89 0 134 31q44 31 51 87q1 7 1 14q0 76 -110 111l-24 7l-181 48q-143 37 -143 170q0 124 104 180q64 34 155 34q176 0 239 -111q28 -49 28 -115z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="611" 
+d="M354 647v-647h-93v647h-240v82h572v-82h-239z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M552 729h93v-512q0 -130 -104 -195q-72 -45 -177 -45q-165 0 -238 101q-41 58 -41 139v512h93v-512q0 -117 110 -148q34 -10 76 -10q124 0 169 80q19 34 19 78v512z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="667" 
+d="M392 0h-100l-262 729h100l214 -617l202 617h99z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="944" 
+d="M744 0h-102l-168 599l-163 -599h-102l-187 729h104l137 -592l162 592h100l166 -592l134 592h104z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="667" 
+d="M391 374l258 -374h-115l-199 304l-200 -304h-113l258 374l-242 355h113l187 -286l188 286h111z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="667" 
+d="M387 286v-286h-93v286l-281 443h115l214 -355l208 355h111z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="611" 
+d="M581 729v-84l-436 -563h438v-82h-555v82l438 565h-410v82h525z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="278" 
+d="M250 729v-72h-103v-797h103v-72h-186v941h186z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M47 729l237 -749h-55l-237 749h55z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="278" 
+d="M23 -212v72h103v797h-103v72h186v-941h-186z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="469" 
+d="M197 709h73l155 -380h-69l-122 300l-121 -300h-69z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="556" 
+d="M578 -126v-50h-600v50h600z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M135 740l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="556" 
+d="M535 49v-63q-35 -9 -57 -9q-71 0 -84 63l-2 14q-87 -76 -178 -77q-110 0 -153 75q-19 35 -19 80q0 102 92 140q36 15 130 27q16 2 38 5q73 9 84 38q3 8 3 20v22q0 64 -81 76q-17 2 -36 2q-103 0 -120 -75q-2 -9 -3 -18h-84q3 72 36 109q55 61 174 61q176 0 195 -116
+q2 -13 2 -27v-308q0 -41 45 -41q9 0 18 2zM389 165v94q-32 -15 -114 -26q-9 -1 -20 -3q-106 -15 -122 -69q-4 -12 -4 -27q0 -65 67 -80q16 -4 36 -4q72 0 124 47q32 29 33 68z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="556" 
+d="M54 729h83v-276q57 86 162 86q128 0 187 -108q37 -68 37 -167q0 -161 -91 -238q-57 -49 -137 -49q-107 0 -166 90v-67h-75v729zM283 461q-83 0 -122 -84q-24 -50 -24 -119q0 -125 69 -177q33 -26 77 -26q84 0 126 79q27 51 27 121q0 127 -72 180q-37 25 -81 26z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="500" 
+d="M471 348h-84q-13 97 -97 112l-27 2q-94 0 -129 -100q-16 -46 -16 -109q0 -137 79 -182q29 -17 68 -17q107 0 128 126h84q-11 -137 -115 -183q-43 -20 -99 -20q-129 0 -191 105q-41 70 -41 171q0 160 92 237q59 49 141 49q106 0 164 -68l8 -10q29 -43 35 -113z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="556" 
+d="M495 729v-729h-74v69q-58 -83 -144 -91q-11 -1 -23 -1q-130 0 -190 112q-38 71 -38 174q0 154 89 229q57 47 136 47q108 0 161 -81v271h83zM265 461q-85 0 -126 -82q-20 -38 -25 -89q-1 -16 -1 -32q0 -122 70 -176q36 -27 83 -27q83 0 122 82q24 50 24 119q0 131 -72 182
+q-33 23 -75 23z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="556" 
+d="M513 234h-386q1 -72 28 -112q43 -68 126 -68q102 0 137 105h84q-22 -121 -126 -164q-44 -18 -98 -18q-136 0 -199 110q-39 68 -39 168q0 158 94 235q60 49 146 49q115 0 180 -82q20 -25 32 -56q21 -55 21 -167zM129 302h294q1 2 1 6q0 80 -59 125q-38 29 -86 29
+q-85 0 -126 -75q-20 -36 -24 -85z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="278" 
+d="M258 524v-68h-87v-456h-83v456h-70v68h70v89q0 88 74 112q22 7 49 7q23 0 47 -5v-69q-19 1 -29 1q-58 0 -58 -53v-82h87z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="556" 
+d="M412 524h77v-438q0 -154 -41 -218q-7 -10 -14 -19q-48 -60 -157 -66q-11 -1 -22 -1q-138 0 -188 88q-17 31 -21 70h85q6 -39 32 -60q36 -28 95 -28q81 0 116 49q30 41 30 143v27q-59 -82 -132 -92l-27 -2q-83 0 -144 64l-6 6q-66 77 -66 206q0 153 85 232q57 54 138 54
+q98 0 160 -91v76zM261 462q-88 0 -125 -90q-20 -48 -20 -114q0 -139 78 -186q29 -18 68 -18q89 0 124 92q18 46 18 109q0 150 -82 193q-27 14 -61 14z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="556" 
+d="M70 729h83v-277q54 70 120 83q21 4 48 4q110 0 149 -74q16 -30 16 -69v-396h-83v363q0 55 -34 79q-32 24 -74 24q-84 0 -121 -77q-21 -42 -21 -100v-289h-83v729z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="222" 
+d="M150 524v-524h-83v524h83zM150 729v-105h-84v105h84z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="222" 
+d="M70 524h83v-633q0 -103 -128 -109h-15q-13 0 -28 3v71q17 -1 20 -1q52 0 63 32q5 14 5 37v600zM153 729v-105h-83v105h83z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="500" 
+d="M141 729v-427l222 222h107l-182 -181l214 -343h-103l-177 284l-81 -80v-204h-83v729h83z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="222" 
+d="M152 729v-729h-84v729h84z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="833" 
+d="M70 524h77v-74q54 76 128 87q15 2 33 2q89 0 132 -65q5 -7 9 -15q54 65 117 76q20 4 44 4q122 0 147 -98q5 -22 5 -48v-393h-84v361q0 81 -63 100q-16 5 -34 5q-61 0 -98 -54q-25 -37 -25 -83v-329h-84v361q0 87 -71 102q-12 3 -26 3q-62 0 -99 -56q-24 -36 -24 -81v-329
+h-84v524z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="556" 
+d="M70 524h77v-88q54 85 130 99q20 4 44 4q105 0 147 -70q19 -32 19 -73v-396h-83v363q0 70 -59 94q-21 9 -49 9q-84 0 -121 -77q-21 -42 -21 -100v-289h-84v524z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="556" 
+d="M272 539q152 0 209 -129q29 -65 29 -156q0 -167 -102 -238q-56 -39 -135 -39q-144 0 -204 119q-33 67 -33 162q0 174 105 244q55 37 131 37zM273 462q-93 0 -131 -92q-19 -48 -19 -112q0 -137 78 -185q31 -19 72 -19q90 0 129 88q21 47 21 113q0 145 -82 191
+q-30 16 -68 16z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="556" 
+d="M54 -218v742h77v-79q59 94 167 94q127 0 187 -111q38 -71 38 -175q0 -154 -89 -229q-39 -33 -91 -43q-21 -4 -44 -4q-97 0 -161 78v-273h-84zM284 461q-83 0 -122 -84q-24 -50 -24 -119q0 -125 69 -177q33 -26 77 -26q84 0 126 81q26 50 26 119q0 127 -71 180
+q-35 26 -81 26z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="556" 
+d="M495 -218h-83v278q-57 -83 -162 -83q-128 0 -187 108q-37 68 -37 167q0 161 91 238q57 49 137 49q107 0 167 -85v70h74v-742zM266 461q-84 0 -126 -81q-27 -51 -27 -122q0 -122 70 -176q36 -27 83 -27q82 0 122 81q24 50 24 119q0 131 -71 182q-33 24 -75 24z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="333" 
+d="M69 524h77v-95q58 93 116 107q13 3 27 3q11 0 32 -3v-85q-72 -1 -103 -22l-6 -4q-59 -43 -59 -153v-272h-84v524z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="500" 
+d="M438 378h-88q-3 84 -105 84q-82 0 -105 -49q-6 -14 -6 -30q0 -45 66 -67q14 -4 31 -8l80 -19q118 -28 141 -98q7 -21 7 -48q0 -96 -90 -140q-52 -26 -126 -26q-194 0 -208 162q-1 8 -1 17h88q6 -47 24 -67q33 -35 104 -35q84 0 112 47q10 16 10 35q0 46 -54 65l-27 8
+l-78 19q-119 29 -150 80q-16 28 -16 71q0 93 84 135q49 25 117 25q145 0 180 -101q10 -27 10 -60z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="278" 
+d="M254 524v-68h-86v-359q0 -38 22 -44q9 -3 24 -3q25 0 40 4v-70q-39 -7 -68 -7q-89 0 -100 67q-1 7 -1 16v396h-71v68h71v144h83v-144h86z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="556" 
+d="M482 0h-75v73q-56 -79 -130 -92q-20 -4 -45 -4q-107 0 -148 70q-19 32 -19 73v404h83v-371q0 -70 59 -94q22 -9 49 -9q85 0 123 78q20 42 20 99v297h83v-524z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="500" 
+d="M285 0h-91l-184 524h94l140 -425l148 425h94z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="722" 
+d="M554 0h-95l-106 411l-101 -411h-94l-152 524h92l107 -408l100 408h102l103 -408l104 408h94z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="500" 
+d="M292 271l181 -271h-97l-131 201l-133 -201h-95l185 267l-175 257h95l126 -190l126 190h94z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="500" 
+d="M388 524h90l-233 -634q-22 -57 -57 -83q-34 -25 -78 -25q-31 0 -56 13v75q27 -6 44 -6q45 0 63 40q2 5 4 11l32 83l-177 526h89l134 -408z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="500" 
+d="M443 524v-74l-311 -377h325v-73h-426v75l313 376h-292v73h391z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="334" 
+d="M276 729v-65h-15q-47 0 -58 -27l-5 -26v-14v-181q0 -98 -41 -133l-23 -16q-8 -4 -18 -8q82 -38 82 -158v-181q0 -50 25 -61q13 -6 38 -6h15v-65h-46q-82 0 -103 80q-6 23 -6 51v167q0 93 -35 120q-16 12 -43 18v69q54 11 68 55q10 29 10 83v167q0 102 71 125q18 6 38 6
+h46z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="260" 
+d="M100 729h60v-941h-60v941z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="334" 
+d="M29 -212v65h16q48 0 59 27q5 14 5 40v181q0 120 82 157q-82 38 -82 158v181q0 50 -26 61q-13 6 -38 6h-16v65h47q83 0 104 -81q6 -23 6 -50v-167q0 -94 36 -121q15 -12 40 -17v-69q-52 -11 -67 -57q-9 -28 -9 -81v-167q0 -103 -73 -126q-17 -5 -37 -5h-47z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="584" 
+d="M455 411h53v-16q0 -85 -57 -115q-21 -12 -48 -12q-39 0 -81 26l-98 63q-23 14 -43 14q-29 0 -45 -35q-5 -14 -8 -43h-53q7 131 91 144q8 1 17 1q27 0 54 -16l117 -69q28 -17 50 -17q44 0 50 49z" />
+    <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="333" 
+d="M122 -205v338l22 223h39l22 -223v-338h-83zM121 420v104h84v-104h-84z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="556" 
+d="M312 462v-409q96 11 114 127h84q-7 -124 -100 -176q-43 -24 -98 -27v-97h-42v98q-129 11 -185 123q-33 64 -33 152q0 163 98 239q51 39 120 46v90h42v-89q136 -9 178 -118q12 -33 14 -73h-84q-9 85 -78 108q-14 5 -30 6zM270 55v406q-131 -24 -131 -208q0 -138 85 -183
+q21 -11 46 -15z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="556" 
+d="M366 376v-55h-136q15 -43 15 -71q0 -55 -58 -124q-23 -28 -60 -65q59 39 122 39q35 0 82 -15q55 -16 79 -16q40 0 83 30l42 -66q-57 -56 -131 -56q-44 0 -127 28q-9 3 -19 7q-33 11 -66 11q-53 0 -109 -37l-48 66q102 88 120 151q5 19 5 40q0 38 -24 78h-110v55h81
+q-46 76 -51 109q-2 12 -2 30q0 99 80 162q66 52 158 52q113 0 175 -74q9 -12 17 -25q27 -46 28 -133h-88q-4 154 -136 154q-89 0 -125 -63q-16 -29 -16 -65q0 -38 22 -80l21 -39q4 -4 16 -28h160z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="556" 
+d="M485 190l-58 -54l-53 53q-40 -30 -100 -30q-53 0 -94 25l-51 -51l-56 57l48 49q-32 43 -32 102q0 57 32 102l-54 55l56 53l55 -55q44 26 97 26q58 0 98 -28l59 53l57 -58l-55 -55q26 -41 26 -93q0 -50 -29 -97zM274 445q-57 0 -88 -47l-12 -24q-6 -17 -6 -34
+q0 -55 47 -86q27 -18 60 -18q55 0 87 45q19 27 19 58q0 58 -48 89q-27 17 -59 17z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="556" 
+d="M495 354v-51h-170v-77h170v-51h-170v-175h-88v175h-172v51h172v77h-172v51h151l-205 355h85l185 -322l179 322h85l-201 -355h151z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="260" 
+d="M100 729h60v-401h-60v401zM100 189h60v-401h-60v401z" />
+    <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="556" 
+d="M464 524h-84v26q0 71 -55 94q-19 8 -42 8q-54 0 -78 -43l-9 -23q-2 -9 -2 -19q0 -36 43 -67l14 -10l146 -94q82 -53 101 -109q8 -25 8 -58q0 -115 -109 -156q48 -55 52 -103q1 -7 1 -15q0 -85 -71 -134q-50 -34 -116 -34q-100 0 -152 69q-15 20 -23 44q-11 33 -11 86h85
+q0 -54 18 -78q29 -44 84 -44q64 0 87 47q9 18 9 39q0 50 -55 88l-170 117q-84 58 -91 139q-1 9 -1 18q0 84 79 135q12 8 26 15q-44 51 -44 102q0 79 68 128q50 37 117 37q99 0 147 -74q28 -43 28 -103v-28zM188 229l166 -123q73 39 73 102q0 61 -73 112l-161 109
+q-62 -40 -69 -82q-2 -9 -2 -19q0 -41 30 -70q13 -12 36 -29z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M134 715v-103h-104v103h104zM296 715v-103h-104v103h104z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="737" 
+d="M250 358q0 -95 54 -143q31 -27 71 -27q82 0 104 114l2 10h71q-16 -79 -41 -116q-49 -70 -136 -70q-101 0 -155 85q-39 61 -39 146q0 131 80 195q49 40 117 40q120 0 159 -129l7 -26h-71q-20 77 -70 90q-12 3 -28 3q-75 0 -107 -76q-18 -41 -18 -96zM369 742
+q151 0 261 -103q108 -101 120 -248q1 -15 1 -30q0 -155 -106 -265q-103 -108 -256 -117q-13 -1 -25 -1q-145 0 -254 102q-107 101 -121 244q-2 18 -2 36q0 151 103 261q102 108 249 120q15 1 30 1zM369 680q-129 0 -221 -93t-93 -227q0 -130 91 -224q95 -94 219 -96
+q135 0 227 95q91 93 91 226q0 131 -92 225q-91 93 -222 94z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="370" 
+d="M320 354v-51h-277v51h277zM333 449v-44q-16 -6 -32 -6q-44 0 -54 37q0 3 -1 6q-49 -43 -105 -43q-74 0 -97 56q-7 18 -7 40q0 62 57 87q32 13 100 18q43 3 48 22q1 5 1 11v13q0 43 -67 44q-47 0 -60 -28q-5 -11 -8 -28h-59q3 103 118 108h11q122 0 122 -94v-179
+q0 -23 23 -23q4 0 10 3zM243 517v51q-14 -6 -76 -16q-63 -8 -71 -40l-1 -14q9 -43 57 -47q52 0 79 35q12 15 12 31z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="556" 
+d="M98 227v89l152 122v-83l-106 -83l106 -83v-83zM303 227v89l152 122v-83l-106 -83l106 -83v-83z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="584" 
+d="M40 375h504v-289h-70v219h-434v70z" />
+    <glyph glyph-name="softhyphen" unicode="&#xad;" horiz-adv-x="333" 
+d="M284 312v-72h-238v72h238z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="737" 
+d="M272 325v-185h-70v445h206q141 0 141 -126q0 -51 -32 -81l-22 -18q33 -21 40 -50q4 -19 5 -62q1 -61 14 -75q3 -4 9 -8v-25h-79q-15 35 -15 77l1 40q0 59 -46 67l-18 1h-134zM272 388h129q71 9 75 67q0 58 -52 65l-23 2h-129v-134zM369 742q151 0 261 -103
+q108 -101 120 -248q1 -15 1 -30q0 -155 -106 -265q-103 -108 -256 -117q-13 -1 -25 -1q-145 0 -254 102q-107 101 -121 244q-2 18 -2 36q0 151 103 261q102 108 249 120q15 1 30 1zM369 680q-129 0 -221 -93t-93 -227q0 -130 91 -224q95 -94 219 -96q135 0 227 95
+q91 93 91 226q0 131 -92 225q-91 93 -222 94z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M302 701v-70h-274v70h274z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="606" 
+d="M303 686q74 0 119 -59q32 -41 32 -92q0 -76 -60 -121q-41 -31 -93 -31q-72 0 -118 59q-32 41 -32 93q0 74 60 120q40 31 92 31zM303 629q-52 0 -80 -44q-15 -23 -15 -50q0 -51 44 -80q23 -15 49 -15q55 0 82 46q14 22 14 49q0 52 -44 80q-23 14 -50 14z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="584" 
+d="M534 416v-70h-207v-207h-70v207h-207v70h207v207h70v-207h207zM534 59v-70h-484v70h484z" />
+    <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="351" 
+d="M323 342v-58h-304q4 85 42 127q26 29 85 60l58 31q59 32 59 79q0 45 -43 66q-19 9 -42 9q-51 0 -74 -39q-10 -17 -13 -60h-62q4 145 138 152h13q87 0 126 -59l13 -25q7 -20 7 -42q0 -82 -96 -129l-63 -32q-49 -26 -65 -60l-8 -20h229z" />
+    <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="351" 
+d="M135 476v51q85 0 102 26q8 13 8 35q0 52 -50 65l-26 3q-53 0 -72 -35q-9 -17 -9 -54h-63q3 142 144 142q96 0 128 -66q11 -24 11 -54q0 -59 -57 -85q71 -24 71 -100q0 -82 -71 -116q-36 -18 -84 -18q-113 0 -142 86q-9 25 -9 56h62q4 -78 67 -87q11 -2 24 -2q72 0 87 56
+q3 11 3 25q0 46 -40 64q-8 4 -18 6q-15 2 -66 2z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M188 740h113l-149 -148h-60z" />
+    <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="556" 
+d="M544 49v-63q-33 -9 -57 -9q-79 0 -85 73q-1 5 -1 10q-59 -83 -163 -83q-54 0 -90 26v-223h-83v744h83v-371q0 -70 58 -94q22 -9 49 -9q85 0 123 78q20 42 20 99v297h83v-436q0 -41 45 -41q8 0 18 2z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="537" 
+d="M522 729v-64h-57v-842h-64v842h-82v-842h-64v436q-77 4 -125 44q-73 61 -81 166q-1 10 -1 20q0 112 77 183q62 57 147 57h250z" />
+    <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="278" 
+d="M211 427v-125h-124v125h124z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M165 0h38l-23 -56q13 2 28 2q70 0 78 -55q1 -5 1 -12q0 -63 -66 -85q-25 -8 -57 -8q-44 0 -107 26q-8 4 -18 8l21 40l9 -4q57 -28 89 -29q38 0 51 29q3 7 3 16q-7 34 -46 37q-15 0 -31 -8l-12 7z" />
+    <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="351" 
+d="M160 580h-99v46l15 1q61 6 79 26q13 15 24 56h43v-425h-62v296z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="365" 
+d="M314 354v-51h-263v51h263zM182 742q108 0 134 -106q8 -31 8 -68q0 -119 -79 -156q-28 -13 -63 -13q-101 0 -131 95q-11 34 -11 77q0 126 84 160q26 11 58 11zM182 690q-59 0 -78 -67l-6 -38v-14q0 -93 55 -115q14 -5 29 -5q59 0 78 67q6 22 6 51q0 97 -58 117
+q-12 4 -26 4z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="556" 
+d="M252 317v-89l-154 -122v83l108 83l-108 83v83zM451 317v-89l-154 -122v83l108 83l-108 83v83z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="869" 
+d="M160 580h-99v46l15 1q61 6 79 26q13 15 24 56h43v-425h-62v296zM643 709h58l-452 -729h-58zM720 100h-188v59l204 266h46v-272h67v-53h-67v-100h-62v100zM720 153v170l-129 -170h129z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="869" 
+d="M160 580h-99v46l15 1q61 6 79 26q13 15 24 56h43v-425h-62v296zM619 709h58l-452 -729h-58zM841 58v-58h-304q4 85 42 127q26 29 85 60l58 31q59 32 59 79q0 45 -43 66q-19 9 -42 9q-51 0 -74 -39q-10 -17 -13 -60h-62q4 145 138 152h13q87 0 126 -59l13 -25q7 -20 7 -42
+q0 -82 -96 -129l-63 -32q-49 -26 -65 -60q-5 -9 -8 -20h229z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="869" 
+d="M135 476v51q85 0 102 26q8 13 8 35q0 52 -50 65l-26 3q-53 0 -72 -35q-9 -17 -9 -54h-63q3 142 144 142q96 0 128 -66q11 -24 11 -54q0 -59 -57 -85q71 -24 71 -100q0 -82 -71 -116q-36 -18 -84 -18q-113 0 -142 86q-9 25 -9 56h62q4 -78 67 -87q11 -2 24 -2q72 0 87 56
+q3 11 3 25q0 46 -40 64q-8 4 -18 6q-15 2 -66 2zM653 709h58l-452 -729h-58zM720 100h-188v59l204 266h46v-272h67v-53h-67v-100h-62v100zM720 153v170l-129 -170h129z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="611" 
+d="M275 325h90v-55q0 -50 -28 -87q-18 -23 -59 -59q-5 -5 -18 -17q-74 -66 -75 -132q0 -70 61 -100q30 -14 68 -14q82 0 112 58q17 34 17 98h85q0 -211 -180 -232q-19 -2 -39 -2q-129 0 -184 85q-30 45 -30 107q0 70 49 128q20 22 51 51q63 57 74 83q6 15 6 41v47zM275 420
+v104h90v-104h-90z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="667" 
+d="M474 219h-281l-77 -219h-99l260 729h120l256 -729h-104zM448 297l-112 332l-120 -332h232zM304 939l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="667" 
+d="M474 219h-281l-77 -219h-99l260 729h120l256 -729h-104zM448 297l-112 332l-120 -332h232zM370 939h113l-149 -148h-60z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="667" 
+d="M474 219h-281l-77 -219h-99l260 729h120l256 -729h-104zM448 297l-112 332l-120 -332h232zM288 940h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="667" 
+d="M474 219h-281l-77 -219h-99l260 729h120l256 -729h-104zM448 297l-112 332l-120 -332h232zM434 916h58q-15 -104 -89 -104q-21 0 -85 25q-35 13 -49 13q-23 0 -33 -37h-58q16 93 75 102q5 1 11 1q23 0 65 -17q2 -1 5 -2q39 -18 63 -18q25 0 37 37z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="667" 
+d="M474 219h-281l-77 -219h-99l260 729h120l256 -729h-104zM448 297l-112 332l-120 -332h232zM306 914v-103h-104v103h104zM468 914v-103h-104v103h104z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="667" 
+d="M474 219h-281l-77 -219h-99l260 729h120l256 -729h-104zM448 297l-112 332l-120 -332h232zM335 953q50 0 76 -43l9 -23q3 -11 3 -22q0 -49 -43 -75q-21 -12 -45 -12q-48 0 -75 42q-13 21 -13 46q0 47 42 74q21 13 46 13zM335 909q-29 0 -41 -27q-3 -8 -3 -16
+q0 -29 27 -40q8 -4 17 -4q29 0 41 27q3 8 3 16q0 31 -28 41q-8 3 -16 3z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" 
+d="M468 214h-269l-85 -214h-103l299 729h622v-82h-371v-233h352v-82h-352v-250h389v-82h-482v214zM468 296v351h-100l-138 -351h238z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="722" 
+d="M379 -23l-13 -33q13 2 28 2q70 0 78 -55q1 -5 1 -12q0 -63 -66 -85q-25 -8 -57 -8q-46 0 -114 29q-5 2 -11 5l21 40l9 -4q57 -29 89 -29q38 0 51 29q3 7 3 16q-7 34 -46 37q-15 0 -31 -8l-11 7l31 69q-85 12 -130 39l-19 13q-109 78 -136 237q-8 43 -8 90q0 178 97 289
+q3 2 5 5q82 91 231 91q238 0 281 -238h-95q-15 75 -53 110q-55 43 -143 46q-129 0 -190 -115q-40 -75 -40 -187q0 -172 96 -251q59 -48 141 -48q109 0 160 77q6 8 10 17q22 43 33 114h96q-33 -289 -298 -289z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="667" 
+d="M183 332v-250h430v-82h-523v729h505v-82h-412v-233h397v-82h-397zM320 939l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="667" 
+d="M183 332v-250h430v-82h-523v729h505v-82h-412v-233h397v-82h-397zM366 939h113l-149 -148h-60z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="667" 
+d="M183 332v-250h430v-82h-523v729h505v-82h-412v-233h397v-82h-397zM297 940h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="667" 
+d="M183 332v-250h430v-82h-523v729h505v-82h-412v-233h397v-82h-397zM315 914v-103h-104v103h104zM477 914v-103h-104v103h104z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="278" 
+d="M193 729v-729h-93v729h93zM114 939l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="278" 
+d="M193 729v-729h-93v729h93zM167 939h113l-149 -148h-60z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="278" 
+d="M193 729v-729h-93v729h93zM95 940h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="278" 
+d="M193 729v-729h-93v729h93zM113 907v-103h-104v103h104zM275 907v-103h-104v103h104z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M89 339h-69v67h69v323h282q163 0 241 -132l22 -43q33 -81 33 -189q0 -211 -117 -306q-73 -59 -179 -59h-282v339zM182 339v-257h173q178 0 212 191q7 42 7 92q0 239 -161 276q-27 6 -58 6h-173v-241h171v-67h-171z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="722" 
+d="M646 729v-729h-105l-377 591v-591h-88v729h101l381 -596v596h88zM467 916h58q-15 -104 -89 -104q-21 0 -85 25q-35 13 -49 13q-23 0 -33 -37h-58q16 93 75 102q5 1 11 1q23 0 65 -17q2 -1 5 -2q39 -18 63 -18q25 0 37 37z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="778" 
+d="M389 741q174 0 271 -123l26 -38q56 -96 56 -227q0 -148 -82 -253q-20 -26 -44 -46q-91 -77 -226 -77q-167 0 -265 117q-87 104 -87 265q0 184 111 291q95 91 240 91zM389 659q-130 0 -202 -102q-56 -80 -56 -198q0 -158 95 -241q67 -59 164 -59q129 0 201 100
+q58 79 58 196q0 165 -98 248q-66 56 -162 56zM359 939l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="778" 
+d="M389 741q174 0 271 -123l26 -38q56 -96 56 -227q0 -148 -82 -253q-20 -26 -44 -46q-91 -77 -226 -77q-167 0 -265 117q-87 104 -87 265q0 184 111 291q95 91 240 91zM389 659q-130 0 -202 -102q-56 -80 -56 -198q0 -158 95 -241q67 -59 164 -59q129 0 201 100
+q58 79 58 196q0 165 -98 248q-66 56 -162 56zM418 939h113l-149 -148h-60z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="778" 
+d="M389 741q174 0 271 -123l26 -38q56 -96 56 -227q0 -148 -82 -253q-20 -26 -44 -46q-91 -77 -226 -77q-167 0 -265 117q-87 104 -87 265q0 184 111 291q95 91 240 91zM389 659q-130 0 -202 -102q-56 -80 -56 -198q0 -158 95 -241q67 -59 164 -59q129 0 201 100
+q58 79 58 196q0 165 -98 248q-66 56 -162 56zM343 940h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="778" 
+d="M389 741q174 0 271 -123l26 -38q56 -96 56 -227q0 -148 -82 -253q-20 -26 -44 -46q-91 -77 -226 -77q-167 0 -265 117q-87 104 -87 265q0 184 111 291q95 91 240 91zM389 659q-130 0 -202 -102q-56 -80 -56 -198q0 -158 95 -241q67 -59 164 -59q129 0 201 100
+q58 79 58 196q0 165 -98 248q-66 56 -162 56zM492 916h58q-15 -104 -89 -104q-21 0 -85 25q-35 13 -49 13q-23 0 -33 -37h-58q16 93 75 102q5 1 11 1q23 0 65 -17q2 -1 5 -2q39 -18 63 -18q25 0 37 37z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="778" 
+d="M389 741q174 0 271 -123l26 -38q56 -96 56 -227q0 -148 -82 -253q-20 -26 -44 -46q-91 -77 -226 -77q-167 0 -265 117q-87 104 -87 265q0 184 111 291q95 91 240 91zM389 659q-130 0 -202 -102q-56 -80 -56 -198q0 -158 95 -241q67 -59 164 -59q129 0 201 100
+q58 79 58 196q0 165 -98 248q-66 56 -162 56zM361 914v-103h-104v103h104zM523 914v-103h-104v103h104z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="584" 
+d="M438 427l49 -50l-146 -146l147 -147l-50 -50l-147 147l-146 -146l-50 49l147 147l-146 146l49 49l146 -145z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="778" 
+d="M30 19l81 89q-76 106 -76 252q0 184 112 290q95 91 240 91q137 0 230 -81l87 95l40 -36l-89 -97q84 -106 84 -264q0 -184 -112 -290q-95 -91 -240 -91q-144 0 -241 90l-77 -84zM174 176l384 419q-73 64 -171 64q-132 0 -204 -103q-55 -79 -55 -196q0 -104 46 -184z
+M593 554l-387 -421q74 -74 181 -74q132 0 204 103q55 79 55 196q0 114 -53 196z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M552 729h93v-512q0 -130 -104 -195q-72 -45 -177 -45q-165 0 -238 101q-41 58 -41 139v512h93v-512q0 -117 110 -148q34 -10 76 -10q124 0 169 80q19 34 19 78v512zM334 939l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M552 729h93v-512q0 -130 -104 -195q-72 -45 -177 -45q-165 0 -238 101q-41 58 -41 139v512h93v-512q0 -117 110 -148q34 -10 76 -10q124 0 169 80q19 34 19 78v512zM387 939h113l-149 -148h-60z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M552 729h93v-512q0 -130 -104 -195q-72 -45 -177 -45q-165 0 -238 101q-41 58 -41 139v512h93v-512q0 -117 110 -148q34 -10 76 -10q124 0 169 80q19 34 19 78v512zM318 940h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M552 729h93v-512q0 -130 -104 -195q-72 -45 -177 -45q-165 0 -238 101q-41 58 -41 139v512h93v-512q0 -117 110 -148q34 -10 76 -10q124 0 169 80q19 34 19 78v512zM336 914v-103h-104v103h104zM498 914v-103h-104v103h104z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="666" 
+d="M387 286v-286h-93v286l-281 443h115l214 -355l208 355h111zM365 939h113l-149 -148h-60z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="666" 
+d="M184 189v-189h-93v729h93v-120h208q139 0 195 -95q29 -49 29 -117q0 -110 -78 -168q-53 -40 -125 -40h-229zM184 271h194q100 0 129 75q9 24 9 53q0 91 -78 118q-26 10 -60 10h-194v-256z" />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="611" 
+d="M294 427q148 9 155 113q0 74 -75 100l-38 9q-18 3 -39 3q-115 0 -136 -86l-6 -40v-16v-510h-88v532q0 113 93 165q56 31 138 31q147 0 208 -83q31 -41 31 -97q0 -95 -79 -146q-1 0 -3 -2q64 -17 98 -91q18 -39 18 -75q0 -180 -142 -232q-49 -17 -110 -17q-20 0 -53 7v75
+q22 -3 44 -3q164 0 170 140v10q0 133 -152 140h-18h-16v73z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="556" 
+d="M535 49v-63q-35 -9 -57 -9q-71 0 -84 63l-2 14q-87 -76 -178 -77q-110 0 -153 75q-19 35 -19 80q0 102 92 140q36 15 130 27q16 2 38 5q73 9 84 38q3 8 3 20v22q0 64 -81 76q-17 2 -36 2q-103 0 -120 -75q-2 -9 -3 -18h-84q3 72 36 109q55 61 174 61q176 0 195 -116
+q2 -13 2 -27v-308q0 -41 45 -41q9 0 18 2zM389 165v94q-32 -15 -114 -26q-9 -1 -20 -3q-106 -15 -122 -69q-4 -12 -4 -27q0 -65 67 -80q16 -4 36 -4q72 0 124 47q32 29 33 68zM250 740l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="556" 
+d="M535 49v-63q-35 -9 -57 -9q-71 0 -84 63l-2 14q-87 -76 -178 -77q-110 0 -153 75q-19 35 -19 80q0 102 92 140q36 15 130 27q16 2 38 5q73 9 84 38q3 8 3 20v22q0 64 -81 76q-17 2 -36 2q-103 0 -120 -75q-2 -9 -3 -18h-84q3 72 36 109q55 61 174 61q176 0 195 -116
+q2 -13 2 -27v-308q0 -41 45 -41q9 0 18 2zM389 165v94q-32 -15 -114 -26q-9 -1 -20 -3q-106 -15 -122 -69q-4 -12 -4 -27q0 -65 67 -80q16 -4 36 -4q72 0 124 47q32 29 33 68zM303 740h113l-149 -148h-60z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="556" 
+d="M535 49v-63q-35 -9 -57 -9q-71 0 -84 63l-2 14q-87 -76 -178 -77q-110 0 -153 75q-19 35 -19 80q0 102 92 140q36 15 130 27q16 2 38 5q73 9 84 38q3 8 3 20v22q0 64 -81 76q-17 2 -36 2q-103 0 -120 -75q-2 -9 -3 -18h-84q3 72 36 109q55 61 174 61q176 0 195 -116
+q2 -13 2 -27v-308q0 -41 45 -41q9 0 18 2zM389 165v94q-32 -15 -114 -26q-9 -1 -20 -3q-106 -15 -122 -69q-4 -12 -4 -27q0 -65 67 -80q16 -4 36 -4q72 0 124 47q32 29 33 68zM228 741h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="556" 
+d="M535 49v-63q-35 -9 -57 -9q-71 0 -84 63l-2 14q-87 -76 -178 -77q-110 0 -153 75q-19 35 -19 80q0 102 92 140q36 15 130 27q16 2 38 5q73 9 84 38q3 8 3 20v22q0 64 -81 76q-17 2 -36 2q-103 0 -120 -75q-2 -9 -3 -18h-84q3 72 36 109q55 61 174 61q176 0 195 -116
+q2 -13 2 -27v-308q0 -41 45 -41q9 0 18 2zM389 165v94q-32 -15 -114 -26q-9 -1 -20 -3q-106 -15 -122 -69q-4 -12 -4 -27q0 -65 67 -80q16 -4 36 -4q72 0 124 47q32 29 33 68zM374 717h58q-15 -104 -89 -104q-21 0 -85 25q-35 13 -49 13q-23 0 -33 -37h-58q16 93 75 102
+q5 1 11 1q23 0 65 -17q2 -1 5 -2q39 -18 63 -18q25 0 37 37z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="556" 
+d="M535 49v-63q-35 -9 -57 -9q-71 0 -84 63l-2 14q-87 -76 -178 -77q-110 0 -153 75q-19 35 -19 80q0 102 92 140q36 15 130 27q16 2 38 5q73 9 84 38q3 8 3 20v22q0 64 -81 76q-17 2 -36 2q-103 0 -120 -75q-2 -9 -3 -18h-84q3 72 36 109q55 61 174 61q176 0 195 -116
+q2 -13 2 -27v-308q0 -41 45 -41q9 0 18 2zM389 165v94q-32 -15 -114 -26q-9 -1 -20 -3q-106 -15 -122 -69q-4 -12 -4 -27q0 -65 67 -80q16 -4 36 -4q72 0 124 47q32 29 33 68zM244 715v-103h-104v103h104zM406 715v-103h-104v103h104z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="556" 
+d="M535 49v-63q-35 -9 -57 -9q-71 0 -84 63l-2 14q-87 -76 -178 -77q-110 0 -153 75q-19 35 -19 80q0 102 92 140q36 15 130 27q16 2 38 5q73 9 84 38q3 8 3 20v22q0 64 -81 76q-17 2 -36 2q-103 0 -120 -75q-2 -9 -3 -18h-84q3 72 36 109q55 61 174 61q176 0 195 -116
+q2 -13 2 -27v-308q0 -41 45 -41q9 0 18 2zM389 165v94q-32 -15 -114 -26q-9 -1 -20 -3q-106 -15 -122 -69q-4 -12 -4 -27q0 -65 67 -80q16 -4 36 -4q72 0 124 47q32 29 33 68zM275 754q50 0 76 -43l9 -23q3 -11 3 -22q0 -49 -43 -75q-21 -12 -45 -12q-48 0 -75 42
+q-13 21 -13 46q0 47 42 74q21 13 46 13zM275 710q-29 0 -41 -27q-3 -8 -3 -16q0 -29 27 -41q8 -3 17 -3q29 0 41 27q3 8 3 16q0 31 -28 41q-8 3 -16 3z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="889" 
+d="M751 159h84q-22 -118 -122 -162q-51 -18 -101 -20q-107 0 -166 67l-12 16q-4 6 -16 27q-93 -97 -184 -108q-16 -2 -32 -2q-103 0 -146 72q-22 36 -22 83q0 105 100 142q54 20 160 29q70 6 82 32q5 10 5 27v22q0 78 -118 78q-103 0 -119 -77q-2 -7 -3 -16h-84q3 72 36 109
+q55 61 172 61q128 0 175 -82q49 69 143 80q15 2 30 2q111 0 177 -80q15 -18 25 -39q5 -9 9 -19q21 -55 21 -167h-386q1 -72 28 -112q43 -68 126 -68q101 0 138 105zM381 157v101q-33 -14 -124 -28q-5 0 -10 -1q-103 -15 -121 -63q-5 -14 -5 -32q0 -61 60 -79q18 -5 40 -5
+q61 0 111 38q49 38 49 69zM461 302h294q0 93 -65 137q-34 23 -79 23q-85 0 -126 -75q-20 -36 -24 -85z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="500" 
+d="M264 -23l-13 -33q14 2 28 2q67 0 77 -50q2 -8 2 -17q0 -63 -66 -85q-25 -8 -57 -8q-44 0 -104 24l-21 9l21 41l9 -4q55 -29 89 -29q38 0 51 29q3 7 3 16q-7 34 -46 37q-15 0 -31 -8l-12 7l31 71q-57 11 -93 37q-90 64 -100 206q-1 15 -1 31q0 160 92 237q59 49 141 49
+q106 0 164 -68l8 -10q29 -43 35 -113h-84q-13 97 -97 112l-27 2q-94 0 -129 -100q-16 -46 -16 -110q0 -137 79 -182q29 -17 68 -17q107 0 128 127h84q-7 -122 -98 -175q-50 -28 -115 -28z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="556" 
+d="M513 234h-386q1 -72 28 -112q43 -68 126 -68q102 0 137 105h84q-22 -121 -126 -164q-44 -18 -98 -18q-136 0 -199 110q-39 68 -39 168q0 158 94 235q60 49 146 49q115 0 180 -82q20 -25 32 -56q21 -55 21 -167zM129 302h294q1 2 1 6q0 80 -59 125q-38 29 -86 29
+q-85 0 -126 -75q-20 -36 -24 -85zM252 740l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="556" 
+d="M513 234h-386q1 -72 28 -112q43 -68 126 -68q102 0 137 105h84q-22 -121 -126 -164q-44 -18 -98 -18q-136 0 -199 110q-39 68 -39 168q0 158 94 235q60 49 146 49q115 0 180 -82q20 -25 32 -56q21 -55 21 -167zM129 302h294q1 2 1 6q0 80 -59 125q-38 29 -86 29
+q-85 0 -126 -75q-20 -36 -24 -85zM308 740h113l-149 -148h-60z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="556" 
+d="M513 234h-386q1 -72 28 -112q43 -68 126 -68q102 0 137 105h84q-22 -121 -126 -164q-44 -18 -98 -18q-136 0 -199 110q-39 68 -39 168q0 158 94 235q60 49 146 49q115 0 180 -82q20 -25 32 -56q21 -55 21 -167zM129 302h294q1 2 1 6q0 80 -59 125q-38 29 -86 29
+q-85 0 -126 -75q-20 -36 -24 -85zM239 741h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="556" 
+d="M513 234h-386q1 -72 28 -112q43 -68 126 -68q102 0 137 105h84q-22 -121 -126 -164q-44 -18 -98 -18q-136 0 -199 110q-39 68 -39 168q0 158 94 235q60 49 146 49q115 0 180 -82q20 -25 32 -56q21 -55 21 -167zM129 302h294q1 2 1 6q0 80 -59 125q-38 29 -86 29
+q-85 0 -126 -75q-20 -36 -24 -85zM257 715v-103h-104v103h104zM419 715v-103h-104v103h104z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M177 524v-524h-83v524h83zM108 740l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M177 524v-524h-83v524h83zM161 740h113l-149 -148h-60z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M177 524v-524h-83v524h83zM89 741h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M177 524v-524h-83v524h83zM107 708v-103h-104v103h104zM269 708v-103h-104v103h104z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="556" 
+d="M219 613l-97 -45l-36 39l85 40q-30 23 -82 52l44 44q37 -16 111 -63l97 45l40 -37l-90 -41q89 -68 136 -133l11 -17q67 -102 72 -215v-23q0 -193 -121 -256q-50 -26 -116 -26q-155 0 -211 132q-26 62 -26 149q0 178 104 244q52 35 114 35q24 0 63 -13q-39 40 -98 89z
+M273 462q-93 0 -131 -92q-19 -48 -19 -112q0 -135 77 -184q32 -20 73 -20q90 0 129 88q21 47 21 113q0 145 -82 191q-30 16 -68 16z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="556" 
+d="M70 524h77v-88q54 85 130 99q20 4 44 4q105 0 147 -70q19 -32 19 -73v-396h-83v363q0 70 -59 94q-21 9 -49 9q-84 0 -121 -77q-21 -42 -21 -100v-289h-84v524zM378 717h58q-15 -104 -89 -104q-21 0 -85 25q-35 13 -49 13q-23 0 -33 -37h-58q16 93 75 102q5 1 11 1
+q23 0 65 -17q2 -1 5 -2q39 -18 63 -18q25 0 37 37z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="556" 
+d="M272 539q152 0 209 -129q29 -65 29 -156q0 -167 -102 -238q-56 -39 -135 -39q-144 0 -204 119q-33 67 -33 162q0 174 105 244q55 37 131 37zM273 462q-93 0 -131 -92q-19 -48 -19 -112q0 -137 78 -185q31 -19 72 -19q90 0 129 88q21 47 21 113q0 145 -82 191
+q-30 16 -68 16zM245 740l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="556" 
+d="M272 539q152 0 209 -129q29 -65 29 -156q0 -167 -102 -238q-56 -39 -135 -39q-144 0 -204 119q-33 67 -33 162q0 174 105 244q55 37 131 37zM273 462q-93 0 -131 -92q-19 -48 -19 -112q0 -137 78 -185q31 -19 72 -19q90 0 129 88q21 47 21 113q0 145 -82 191
+q-30 16 -68 16zM298 740h113l-149 -148h-60z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="556" 
+d="M272 539q152 0 209 -129q29 -65 29 -156q0 -167 -102 -238q-56 -39 -135 -39q-144 0 -204 119q-33 67 -33 162q0 174 105 244q55 37 131 37zM273 462q-93 0 -131 -92q-19 -48 -19 -112q0 -137 78 -185q31 -19 72 -19q90 0 129 88q21 47 21 113q0 145 -82 191
+q-30 16 -68 16zM226 741h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="556" 
+d="M272 539q152 0 209 -129q29 -65 29 -156q0 -167 -102 -238q-56 -39 -135 -39q-144 0 -204 119q-33 67 -33 162q0 174 105 244q55 37 131 37zM273 462q-93 0 -131 -92q-19 -48 -19 -112q0 -137 78 -185q31 -19 72 -19q90 0 129 88q21 47 21 113q0 145 -82 191
+q-30 16 -68 16zM375 717h58q-15 -104 -89 -104q-21 0 -85 25q-35 13 -49 13q-23 0 -33 -37h-58q16 93 75 102q5 1 11 1q23 0 65 -17q2 -1 5 -2q39 -18 63 -18q25 0 37 37z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="556" 
+d="M272 539q152 0 209 -129q29 -65 29 -156q0 -167 -102 -238q-56 -39 -135 -39q-144 0 -204 119q-33 67 -33 162q0 174 105 244q55 37 131 37zM273 462q-93 0 -131 -92q-19 -48 -19 -112q0 -137 78 -185q31 -19 72 -19q90 0 129 88q21 47 21 113q0 145 -82 191
+q-30 16 -68 16zM244 715v-103h-104v103h104zM406 715v-103h-104v103h104z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="584" 
+d="M534 271v-70h-484v70h484zM344 104v-104h-104v104h104zM344 472v-104h-104v104h104z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="611" 
+d="M529 511l-63 -71q44 -73 44 -182q0 -176 -106 -246q-55 -35 -130 -35q-103 0 -163 62l-61 -69l-32 28l66 74q-48 71 -48 186q0 175 106 245q55 36 131 36q101 0 166 -65l58 65zM405 371l-238 -269q43 -48 106 -48q93 0 131 92q19 48 19 112q0 66 -18 113zM144 141
+l239 269q-41 52 -110 52q-93 0 -131 -92q-19 -48 -19 -112q0 -68 21 -117z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="556" 
+d="M482 0h-75v73q-56 -79 -130 -92q-20 -4 -45 -4q-107 0 -148 70q-19 32 -19 73v404h83v-371q0 -70 59 -94q22 -9 49 -9q85 0 123 78q20 42 20 99v297h83v-524zM243 740l96 -148h-60l-149 148h113z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="556" 
+d="M482 0h-75v73q-56 -79 -130 -92q-20 -4 -45 -4q-107 0 -148 70q-19 32 -19 73v404h83v-371q0 -70 59 -94q22 -9 49 -9q85 0 123 78q20 42 20 99v297h83v-524zM296 740h113l-149 -148h-60z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="556" 
+d="M482 0h-75v73q-56 -79 -130 -92q-20 -4 -45 -4q-107 0 -148 70q-19 32 -19 73v404h83v-371q0 -70 59 -94q22 -9 49 -9q85 0 123 78q20 42 20 99v297h83v-524zM227 741h95l96 -150h-63l-81 96l-79 -96h-64z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="556" 
+d="M482 0h-75v73q-56 -79 -130 -92q-20 -4 -45 -4q-107 0 -148 70q-19 32 -19 73v404h83v-371q0 -70 59 -94q22 -9 49 -9q85 0 123 78q20 42 20 99v297h83v-524zM245 715v-103h-104v103h104zM407 715v-103h-104v103h104z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="500" 
+d="M388 524h90l-233 -634q-22 -57 -57 -83q-34 -25 -78 -25q-31 0 -56 13v75q27 -6 44 -6q45 0 63 40q2 5 4 11l32 83l-177 526h89l134 -408zM271 740h113l-149 -148h-60z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="555" 
+d="M54 -218v932h83v-255q60 78 161 80q120 0 181 -105q43 -73 43 -181q0 -154 -89 -229q-39 -33 -91 -43q-21 -4 -44 -4q-97 0 -161 78v-273h-83zM283 461q-83 0 -122 -84q-24 -50 -24 -119q0 -125 69 -177q33 -26 77 -26q84 0 126 81q26 50 26 119q0 127 -71 180
+q-35 26 -81 26z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="500" 
+d="M388 524h90l-233 -634q-22 -57 -57 -83q-34 -25 -78 -25q-31 0 -56 13v75q27 -6 44 -6q45 0 63 40q2 5 4 11l32 83l-177 526h89l134 -408zM217 715v-103h-104v103h104zM379 715v-103h-104v103h104z" />
+    <hkern u1="A" u2="&#xe7;" k="10" />
+    <hkern u1="A" u2="&#xdc;" k="37" />
+    <hkern u1="A" u2="&#xdb;" k="37" />
+    <hkern u1="A" u2="&#xda;" k="37" />
+    <hkern u1="A" u2="&#xd9;" k="37" />
+    <hkern u1="A" u2="&#xd6;" k="33" />
+    <hkern u1="A" u2="&#xc7;" k="36" />
+    <hkern u1="A" u2="&#xab;" k="44" />
+    <hkern u1="A" u2="y" k="34" />
+    <hkern u1="A" u2="w" k="21" />
+    <hkern u1="A" u2="v" k="31" />
+    <hkern u1="A" u2="u" k="12" />
+    <hkern u1="A" u2="t" k="16" />
+    <hkern u1="A" u2="q" k="8" />
+    <hkern u1="A" u2="o" k="13" />
+    <hkern u1="A" u2="g" k="10" />
+    <hkern u1="A" u2="e" k="16" />
+    <hkern u1="A" u2="d" k="8" />
+    <hkern u1="A" u2="c" k="11" />
+    <hkern u1="A" u2="b" k="-4" />
+    <hkern u1="A" u2="a" k="4" />
+    <hkern u1="A" u2="Y" k="99" />
+    <hkern u1="A" u2="W" k="51" />
+    <hkern u1="A" u2="V" k="75" />
+    <hkern u1="A" u2="U" k="37" />
+    <hkern u1="A" u2="T" k="93" />
+    <hkern u1="A" u2="Q" k="32" />
+    <hkern u1="A" u2="O" k="33" />
+    <hkern u1="A" u2="G" k="35" />
+    <hkern u1="A" u2="C" k="36" />
+    <hkern u1="A" u2="&#x2e;" k="-5" />
+    <hkern u1="A" u2="&#x2d;" k="3" />
+    <hkern u1="A" u2="&#x2c;" k="-5" />
+    <hkern u1="B" u2="&#xd8;" k="1" />
+    <hkern u1="B" u2="&#xd6;" k="7" />
+    <hkern u1="B" u2="&#xd4;" k="7" />
+    <hkern u1="B" u2="&#xd3;" k="7" />
+    <hkern u1="B" u2="&#xd2;" k="7" />
+    <hkern u1="B" u2="&#xc6;" k="21" />
+    <hkern u1="B" u2="&#xc5;" k="21" />
+    <hkern u1="B" u2="&#xc4;" k="21" />
+    <hkern u1="B" u2="&#xc3;" k="21" />
+    <hkern u1="B" u2="&#xc2;" k="21" />
+    <hkern u1="B" u2="&#xc1;" k="21" />
+    <hkern u1="B" u2="Y" k="44" />
+    <hkern u1="B" u2="W" k="25" />
+    <hkern u1="B" u2="V" k="41" />
+    <hkern u1="B" u2="O" k="7" />
+    <hkern u1="B" u2="A" k="21" />
+    <hkern u1="C" u2="&#xd6;" k="8" />
+    <hkern u1="C" u2="&#xd3;" k="8" />
+    <hkern u1="C" u2="&#xc6;" k="33" />
+    <hkern u1="C" u2="&#xc5;" k="32" />
+    <hkern u1="C" u2="&#xc4;" k="32" />
+    <hkern u1="C" u2="&#xc1;" k="32" />
+    <hkern u1="C" u2="O" k="8" />
+    <hkern u1="C" u2="K" k="10" />
+    <hkern u1="C" u2="H" k="12" />
+    <hkern u1="C" u2="A" k="32" />
+    <hkern u1="D" u2="&#xc5;" k="42" />
+    <hkern u1="D" u2="&#xc4;" k="42" />
+    <hkern u1="D" u2="&#xc3;" k="42" />
+    <hkern u1="D" u2="&#xc2;" k="42" />
+    <hkern u1="D" u2="&#xc1;" k="42" />
+    <hkern u1="D" u2="&#xc0;" k="42" />
+    <hkern u1="D" u2="Y" k="63" />
+    <hkern u1="D" u2="X" k="53" />
+    <hkern u1="D" u2="W" k="29" />
+    <hkern u1="D" u2="V" k="51" />
+    <hkern u1="D" u2="T" k="45" />
+    <hkern u1="D" u2="J" k="5" />
+    <hkern u1="D" u2="A" k="42" />
+    <hkern u1="F" u2="&#xf8;" k="21" />
+    <hkern u1="F" u2="&#xf6;" k="21" />
+    <hkern u1="F" u2="&#xf3;" k="21" />
+    <hkern u1="F" u2="&#xe9;" k="24" />
+    <hkern u1="F" u2="&#xe6;" k="29" />
+    <hkern u1="F" u2="&#xe5;" k="33" />
+    <hkern u1="F" u2="&#xe4;" k="33" />
+    <hkern u1="F" u2="&#xe1;" k="33" />
+    <hkern u1="F" u2="&#xd6;" k="22" />
+    <hkern u1="F" u2="&#xc5;" k="69" />
+    <hkern u1="F" u2="&#xc4;" k="69" />
+    <hkern u1="F" u2="&#xc3;" k="69" />
+    <hkern u1="F" u2="&#xc2;" k="69" />
+    <hkern u1="F" u2="&#xc1;" k="69" />
+    <hkern u1="F" u2="&#xc0;" k="69" />
+    <hkern u1="F" u2="u" k="33" />
+    <hkern u1="F" u2="r" k="35" />
+    <hkern u1="F" u2="o" k="21" />
+    <hkern u1="F" u2="j" k="12" />
+    <hkern u1="F" u2="i" k="10" />
+    <hkern u1="F" u2="e" k="24" />
+    <hkern u1="F" u2="a" k="33" />
+    <hkern u1="F" u2="O" k="22" />
+    <hkern u1="F" u2="J" k="51" />
+    <hkern u1="F" u2="A" k="69" />
+    <hkern u1="F" u2="&#x2e;" k="108" />
+    <hkern u1="F" u2="&#x2d;" k="14" />
+    <hkern u1="F" u2="&#x2c;" k="108" />
+    <hkern u1="G" u2="&#xc6;" k="3" />
+    <hkern u1="G" u2="&#xc5;" k="6" />
+    <hkern u1="G" u2="&#xc4;" k="6" />
+    <hkern u1="G" u2="&#xc3;" k="6" />
+    <hkern u1="G" u2="&#xc2;" k="6" />
+    <hkern u1="G" u2="&#xc1;" k="6" />
+    <hkern u1="G" u2="&#xc0;" k="6" />
+    <hkern u1="G" u2="Y" k="62" />
+    <hkern u1="G" u2="W" k="28" />
+    <hkern u1="G" u2="V" k="50" />
+    <hkern u1="G" u2="T" k="44" />
+    <hkern u1="G" u2="A" k="6" />
+    <hkern u1="J" u2="&#xc6;" k="31" />
+    <hkern u1="J" u2="&#xc5;" k="32" />
+    <hkern u1="J" u2="&#xc4;" k="32" />
+    <hkern u1="J" u2="A" k="32" />
+    <hkern u1="K" u2="&#xfc;" k="19" />
+    <hkern u1="K" u2="&#xf6;" k="29" />
+    <hkern u1="K" u2="&#xf3;" k="29" />
+    <hkern u1="K" u2="&#xe6;" k="7" />
+    <hkern u1="K" u2="&#xe5;" k="11" />
+    <hkern u1="K" u2="&#xe4;" k="11" />
+    <hkern u1="K" u2="&#xd6;" k="48" />
+    <hkern u1="K" u2="&#xd3;" k="48" />
+    <hkern u1="K" u2="y" k="62" />
+    <hkern u1="K" u2="u" k="19" />
+    <hkern u1="K" u2="o" k="29" />
+    <hkern u1="K" u2="e" k="32" />
+    <hkern u1="K" u2="a" k="11" />
+    <hkern u1="K" u2="T" k="-20" />
+    <hkern u1="K" u2="S" k="38" />
+    <hkern u1="K" u2="O" k="48" />
+    <hkern u1="K" u2="G" k="51" />
+    <hkern u1="K" u2="C" k="51" />
+    <hkern u1="K" u2="&#x2d;" k="47" />
+    <hkern u1="L" u2="&#xfc;" k="7" />
+    <hkern u1="L" u2="&#xdc;" k="35" />
+    <hkern u1="L" u2="&#xd6;" k="41" />
+    <hkern u1="L" u2="&#xd5;" k="41" />
+    <hkern u1="L" u2="&#xd4;" k="41" />
+    <hkern u1="L" u2="&#xd3;" k="41" />
+    <hkern u1="L" u2="&#xd2;" k="41" />
+    <hkern u1="L" u2="&#xc7;" k="37" />
+    <hkern u1="L" u2="&#xc6;" k="-20" />
+    <hkern u1="L" u2="&#xc5;" k="-17" />
+    <hkern u1="L" u2="&#xc4;" k="-17" />
+    <hkern u1="L" u2="&#xc1;" k="-17" />
+    <hkern u1="L" u2="y" k="56" />
+    <hkern u1="L" u2="u" k="7" />
+    <hkern u1="L" u2="Y" k="121" />
+    <hkern u1="L" u2="W" k="68" />
+    <hkern u1="L" u2="V" k="105" />
+    <hkern u1="L" u2="U" k="35" />
+    <hkern u1="L" u2="T" k="105" />
+    <hkern u1="L" u2="S" k="19" />
+    <hkern u1="L" u2="O" k="41" />
+    <hkern u1="L" u2="G" k="42" />
+    <hkern u1="L" u2="C" k="41" />
+    <hkern u1="L" u2="A" k="-17" />
+    <hkern u1="L" u2="&#x2d;" k="125" />
+    <hkern u1="N" u2="&#xf8;" k="-4" />
+    <hkern u1="N" u2="&#xf6;" k="-2" />
+    <hkern u1="N" u2="&#xf3;" k="-2" />
+    <hkern u1="N" u2="&#xe6;" k="2" />
+    <hkern u1="N" u2="&#xe5;" k="5" />
+    <hkern u1="N" u2="&#xe4;" k="5" />
+    <hkern u1="N" u2="&#xe1;" k="5" />
+    <hkern u1="N" u2="&#xc7;" k="3" />
+    <hkern u1="N" u2="&#xc6;" k="6" />
+    <hkern u1="N" u2="&#xc5;" k="9" />
+    <hkern u1="N" u2="&#xc4;" k="9" />
+    <hkern u1="N" u2="&#xc1;" k="9" />
+    <hkern u1="N" u2="o" k="-2" />
+    <hkern u1="N" u2="a" k="5" />
+    <hkern u1="N" u2="G" k="2" />
+    <hkern u1="N" u2="C" k="3" />
+    <hkern u1="N" u2="A" k="9" />
+    <hkern u1="N" u2="&#x2e;" k="7" />
+    <hkern u1="N" u2="&#x2c;" k="7" />
+    <hkern u1="O" u2="&#xc6;" k="39" />
+    <hkern u1="O" u2="&#xc5;" k="35" />
+    <hkern u1="O" u2="&#xc4;" k="35" />
+    <hkern u1="O" u2="&#xc1;" k="35" />
+    <hkern u1="O" u2="Y" k="59" />
+    <hkern u1="O" u2="X" k="46" />
+    <hkern u1="O" u2="W" k="23" />
+    <hkern u1="O" u2="V" k="45" />
+    <hkern u1="O" u2="T" k="42" />
+    <hkern u1="O" u2="A" k="35" />
+    <hkern u1="P" u2="&#xf8;" k="27" />
+    <hkern u1="P" u2="&#xf6;" k="27" />
+    <hkern u1="P" u2="&#xf3;" k="27" />
+    <hkern u1="P" u2="&#xe9;" k="31" />
+    <hkern u1="P" u2="&#xe6;" k="24" />
+    <hkern u1="P" u2="&#xe5;" k="28" />
+    <hkern u1="P" u2="&#xe4;" k="28" />
+    <hkern u1="P" u2="&#xe1;" k="28" />
+    <hkern u1="P" u2="&#xc6;" k="86" />
+    <hkern u1="P" u2="&#xc5;" k="78" />
+    <hkern u1="P" u2="&#xc4;" k="78" />
+    <hkern u1="P" u2="&#xc1;" k="78" />
+    <hkern u1="P" u2="o" k="27" />
+    <hkern u1="P" u2="e" k="31" />
+    <hkern u1="P" u2="a" k="28" />
+    <hkern u1="P" u2="J" k="78" />
+    <hkern u1="P" u2="A" k="78" />
+    <hkern u1="P" u2="&#x2e;" k="135" />
+    <hkern u1="P" u2="&#x2d;" k="40" />
+    <hkern u1="P" u2="&#x2c;" k="135" />
+    <hkern u1="R" u2="&#xfc;" k="9" />
+    <hkern u1="R" u2="&#xfa;" k="9" />
+    <hkern u1="R" u2="&#xf6;" k="9" />
+    <hkern u1="R" u2="&#xf3;" k="9" />
+    <hkern u1="R" u2="&#xe9;" k="12" />
+    <hkern u1="R" u2="&#xe6;" k="12" />
+    <hkern u1="R" u2="&#xe5;" k="15" />
+    <hkern u1="R" u2="&#xe4;" k="15" />
+    <hkern u1="R" u2="&#xe1;" k="15" />
+    <hkern u1="R" u2="&#xdc;" k="17" />
+    <hkern u1="R" u2="&#xd6;" k="13" />
+    <hkern u1="R" u2="&#xd3;" k="13" />
+    <hkern u1="R" u2="&#xc7;" k="16" />
+    <hkern u1="R" u2="y" k="8" />
+    <hkern u1="R" u2="u" k="9" />
+    <hkern u1="R" u2="o" k="9" />
+    <hkern u1="R" u2="e" k="12" />
+    <hkern u1="R" u2="a" k="15" />
+    <hkern u1="R" u2="Y" k="43" />
+    <hkern u1="R" u2="W" k="27" />
+    <hkern u1="R" u2="V" k="39" />
+    <hkern u1="R" u2="U" k="17" />
+    <hkern u1="R" u2="T" k="23" />
+    <hkern u1="R" u2="O" k="13" />
+    <hkern u1="R" u2="G" k="15" />
+    <hkern u1="R" u2="C" k="16" />
+    <hkern u1="R" u2="&#x2d;" k="2" />
+    <hkern u1="S" u2="&#xc6;" k="22" />
+    <hkern u1="S" u2="&#xc5;" k="22" />
+    <hkern u1="S" u2="&#xc4;" k="22" />
+    <hkern u1="S" u2="&#xc1;" k="22" />
+    <hkern u1="S" u2="t" k="3" />
+    <hkern u1="S" u2="Y" k="48" />
+    <hkern u1="S" u2="W" k="28" />
+    <hkern u1="S" u2="V" k="42" />
+    <hkern u1="S" u2="T" k="28" />
+    <hkern u1="S" u2="A" k="22" />
+    <hkern u1="T" u2="&#xf8;" k="87" />
+    <hkern u1="T" u2="&#xe6;" k="97" />
+    <hkern u1="T" u2="&#xd8;" k="41" />
+    <hkern u1="T" u2="&#xd6;" k="42" />
+    <hkern u1="T" u2="&#xd5;" k="42" />
+    <hkern u1="T" u2="&#xd4;" k="42" />
+    <hkern u1="T" u2="&#xd3;" k="42" />
+    <hkern u1="T" u2="&#xd2;" k="42" />
+    <hkern u1="T" u2="&#xc6;" k="97" />
+    <hkern u1="T" u2="&#xc5;" k="95" />
+    <hkern u1="T" u2="&#xc4;" k="95" />
+    <hkern u1="T" u2="&#xc3;" k="95" />
+    <hkern u1="T" u2="&#xc2;" k="95" />
+    <hkern u1="T" u2="&#xc1;" k="95" />
+    <hkern u1="T" u2="&#xc0;" k="95" />
+    <hkern u1="T" u2="&#xab;" k="121" />
+    <hkern u1="T" u2="y" k="100" />
+    <hkern u1="T" u2="w" k="93" />
+    <hkern u1="T" u2="v" k="95" />
+    <hkern u1="T" u2="u" k="91" />
+    <hkern u1="T" u2="s" k="92" />
+    <hkern u1="T" u2="r" k="92" />
+    <hkern u1="T" u2="o" k="92" />
+    <hkern u1="T" u2="j" k="5" />
+    <hkern u1="T" u2="i" k="3" />
+    <hkern u1="T" u2="g" k="89" />
+    <hkern u1="T" u2="e" k="95" />
+    <hkern u1="T" u2="c" k="90" />
+    <hkern u1="T" u2="a" k="100" />
+    <hkern u1="T" u2="Y" k="-20" />
+    <hkern u1="T" u2="W" k="-16" />
+    <hkern u1="T" u2="V" k="-12" />
+    <hkern u1="T" u2="S" k="24" />
+    <hkern u1="T" u2="O" k="42" />
+    <hkern u1="T" u2="J" k="100" />
+    <hkern u1="T" u2="G" k="45" />
+    <hkern u1="T" u2="C" k="44" />
+    <hkern u1="T" u2="A" k="95" />
+    <hkern u1="T" u2="&#x3b;" k="129" />
+    <hkern u1="T" u2="&#x3a;" k="133" />
+    <hkern u1="T" u2="&#x2e;" k="100" />
+    <hkern u1="T" u2="&#x2d;" k="77" />
+    <hkern u1="T" u2="&#x2c;" k="100" />
+    <hkern u1="U" u2="&#xc6;" k="39" />
+    <hkern u1="U" u2="&#xc5;" k="36" />
+    <hkern u1="U" u2="&#xc4;" k="36" />
+    <hkern u1="U" u2="&#xc3;" k="36" />
+    <hkern u1="U" u2="&#xc2;" k="36" />
+    <hkern u1="U" u2="&#xc1;" k="36" />
+    <hkern u1="U" u2="r" k="4" />
+    <hkern u1="U" u2="p" k="-3" />
+    <hkern u1="U" u2="n" k="4" />
+    <hkern u1="U" u2="m" k="4" />
+    <hkern u1="U" u2="A" k="36" />
+    <hkern u1="U" u2="&#x2e;" k="25" />
+    <hkern u1="U" u2="&#x2c;" k="27" />
+    <hkern u1="V" u2="&#xf8;" k="50" />
+    <hkern u1="V" u2="&#xe6;" k="55" />
+    <hkern u1="V" u2="&#xd8;" k="33" />
+    <hkern u1="V" u2="&#xd6;" k="40" />
+    <hkern u1="V" u2="&#xd5;" k="40" />
+    <hkern u1="V" u2="&#xd4;" k="40" />
+    <hkern u1="V" u2="&#xd3;" k="40" />
+    <hkern u1="V" u2="&#xd2;" k="40" />
+    <hkern u1="V" u2="&#xc6;" k="78" />
+    <hkern u1="V" u2="&#xc5;" k="71" />
+    <hkern u1="V" u2="&#xc4;" k="71" />
+    <hkern u1="V" u2="&#xc3;" k="71" />
+    <hkern u1="V" u2="&#xc2;" k="71" />
+    <hkern u1="V" u2="&#xc1;" k="71" />
+    <hkern u1="V" u2="&#xc0;" k="71" />
+    <hkern u1="V" u2="&#xab;" k="83" />
+    <hkern u1="V" u2="y" k="20" />
+    <hkern u1="V" u2="u" k="41" />
+    <hkern u1="V" u2="r" k="42" />
+    <hkern u1="V" u2="o" k="54" />
+    <hkern u1="V" u2="i" k="5" />
+    <hkern u1="V" u2="g" k="50" />
+    <hkern u1="V" u2="e" k="57" />
+    <hkern u1="V" u2="a" k="59" />
+    <hkern u1="V" u2="T" k="-15" />
+    <hkern u1="V" u2="S" k="35" />
+    <hkern u1="V" u2="O" k="40" />
+    <hkern u1="V" u2="G" k="42" />
+    <hkern u1="V" u2="C" k="43" />
+    <hkern u1="V" u2="A" k="71" />
+    <hkern u1="V" u2="&#x3b;" k="66" />
+    <hkern u1="V" u2="&#x3a;" k="66" />
+    <hkern u1="V" u2="&#x2e;" k="89" />
+    <hkern u1="V" u2="&#x2d;" k="38" />
+    <hkern u1="V" u2="&#x2c;" k="89" />
+    <hkern u1="W" u2="&#xf8;" k="25" />
+    <hkern u1="W" u2="&#xe6;" k="34" />
+    <hkern u1="W" u2="&#xd8;" k="13" />
+    <hkern u1="W" u2="&#xd6;" k="20" />
+    <hkern u1="W" u2="&#xd5;" k="20" />
+    <hkern u1="W" u2="&#xd4;" k="20" />
+    <hkern u1="W" u2="&#xd3;" k="20" />
+    <hkern u1="W" u2="&#xd2;" k="20" />
+    <hkern u1="W" u2="&#xc6;" k="56" />
+    <hkern u1="W" u2="&#xc5;" k="50" />
+    <hkern u1="W" u2="&#xc4;" k="50" />
+    <hkern u1="W" u2="&#xc3;" k="50" />
+    <hkern u1="W" u2="&#xc2;" k="50" />
+    <hkern u1="W" u2="&#xc1;" k="50" />
+    <hkern u1="W" u2="&#xc0;" k="50" />
+    <hkern u1="W" u2="&#xab;" k="58" />
+    <hkern u1="W" u2="y" k="6" />
+    <hkern u1="W" u2="u" k="28" />
+    <hkern u1="W" u2="r" k="28" />
+    <hkern u1="W" u2="o" k="29" />
+    <hkern u1="W" u2="i" k="1" />
+    <hkern u1="W" u2="g" k="25" />
+    <hkern u1="W" u2="e" k="32" />
+    <hkern u1="W" u2="a" k="38" />
+    <hkern u1="W" u2="T" k="-19" />
+    <hkern u1="W" u2="S" k="24" />
+    <hkern u1="W" u2="O" k="20" />
+    <hkern u1="W" u2="G" k="22" />
+    <hkern u1="W" u2="C" k="23" />
+    <hkern u1="W" u2="A" k="50" />
+    <hkern u1="W" u2="&#x3b;" k="53" />
+    <hkern u1="W" u2="&#x3a;" k="52" />
+    <hkern u1="W" u2="&#x2e;" k="56" />
+    <hkern u1="W" u2="&#x2d;" k="13" />
+    <hkern u1="W" u2="&#x2c;" k="56" />
+    <hkern u1="X" u2="&#xd6;" k="45" />
+    <hkern u1="X" u2="y" k="61" />
+    <hkern u1="X" u2="u" k="24" />
+    <hkern u1="X" u2="o" k="33" />
+    <hkern u1="X" u2="e" k="36" />
+    <hkern u1="X" u2="a" k="15" />
+    <hkern u1="X" u2="Q" k="44" />
+    <hkern u1="X" u2="O" k="45" />
+    <hkern u1="X" u2="C" k="48" />
+    <hkern u1="X" u2="&#x2d;" k="51" />
+    <hkern u1="Y" u2="&#xf8;" k="82" />
+    <hkern u1="Y" u2="&#xe6;" k="84" />
+    <hkern u1="Y" u2="&#xd8;" k="54" />
+    <hkern u1="Y" u2="&#xd6;" k="56" />
+    <hkern u1="Y" u2="&#xd5;" k="56" />
+    <hkern u1="Y" u2="&#xd4;" k="56" />
+    <hkern u1="Y" u2="&#xd3;" k="56" />
+    <hkern u1="Y" u2="&#xd2;" k="56" />
+    <hkern u1="Y" u2="&#xc6;" k="103" />
+    <hkern u1="Y" u2="&#xc5;" k="96" />
+    <hkern u1="Y" u2="&#xc4;" k="96" />
+    <hkern u1="Y" u2="&#xc3;" k="96" />
+    <hkern u1="Y" u2="&#xc2;" k="96" />
+    <hkern u1="Y" u2="&#xc1;" k="96" />
+    <hkern u1="Y" u2="&#xc0;" k="96" />
+    <hkern u1="Y" u2="&#xab;" k="123" />
+    <hkern u1="Y" u2="v" k="36" />
+    <hkern u1="Y" u2="u" k="63" />
+    <hkern u1="Y" u2="p" k="54" />
+    <hkern u1="Y" u2="o" k="86" />
+    <hkern u1="Y" u2="i" k="-3" />
+    <hkern u1="Y" u2="g" k="83" />
+    <hkern u1="Y" u2="e" k="89" />
+    <hkern u1="Y" u2="a" k="88" />
+    <hkern u1="Y" u2="T" k="-23" />
+    <hkern u1="Y" u2="S" k="41" />
+    <hkern u1="Y" u2="O" k="56" />
+    <hkern u1="Y" u2="G" k="58" />
+    <hkern u1="Y" u2="C" k="58" />
+    <hkern u1="Y" u2="A" k="96" />
+    <hkern u1="Y" u2="&#x3b;" k="88" />
+    <hkern u1="Y" u2="&#x3a;" k="87" />
+    <hkern u1="Y" u2="&#x2e;" k="111" />
+    <hkern u1="Y" u2="&#x2d;" k="84" />
+    <hkern u1="Y" u2="&#x2c;" k="111" />
+    <hkern u1="Z" u2="y" k="38" />
+    <hkern u1="Z" u2="v" k="33" />
+    <hkern u1="a" u2="y" k="26" />
+    <hkern u1="a" u2="w" k="13" />
+    <hkern u1="a" u2="v" k="21" />
+    <hkern u1="a" u2="j" k="4" />
+    <hkern u1="b" u2="y" k="15" />
+    <hkern u1="b" u2="w" k="3" />
+    <hkern u1="b" u2="v" k="11" />
+    <hkern u1="c" u2="k" k="-7" />
+    <hkern u1="c" u2="h" k="-1" />
+    <hkern u1="e" u2="y" k="19" />
+    <hkern u1="e" u2="x" k="27" />
+    <hkern u1="e" u2="w" k="9" />
+    <hkern u1="e" u2="v" k="15" />
+    <hkern u1="e" u2="t" k="10" />
+    <hkern u1="f" u2="&#xf8;" k="9" />
+    <hkern u1="f" u2="&#xf6;" k="10" />
+    <hkern u1="f" u2="&#xf3;" k="10" />
+    <hkern u1="f" u2="&#xe9;" k="15" />
+    <hkern u1="f" u2="&#xe6;" k="5" />
+    <hkern u1="f" u2="&#xe5;" k="9" />
+    <hkern u1="f" u2="&#xe4;" k="9" />
+    <hkern u1="f" u2="&#xe1;" k="9" />
+    <hkern u1="f" u2="t" k="-24" />
+    <hkern u1="f" u2="o" k="10" />
+    <hkern u1="f" u2="l" k="3" />
+    <hkern u1="f" u2="j" k="4" />
+    <hkern u1="f" u2="i" k="2" />
+    <hkern u1="f" u2="f" k="-22" />
+    <hkern u1="f" u2="e" k="15" />
+    <hkern u1="f" u2="a" k="9" />
+    <hkern u1="g" u2="&#xf6;" k="-3" />
+    <hkern u1="g" u2="&#xf3;" k="-3" />
+    <hkern u1="g" u2="&#xe6;" k="1" />
+    <hkern u1="g" u2="&#xe5;" k="5" />
+    <hkern u1="g" u2="&#xe4;" k="5" />
+    <hkern u1="g" u2="a" k="5" />
+    <hkern u1="h" u2="y" k="18" />
+    <hkern u1="i" u2="j" k="3" />
+    <hkern u1="i" u2="T" k="7" />
+    <hkern u1="k" u2="&#xfc;" k="6" />
+    <hkern u1="k" u2="&#xf6;" k="19" />
+    <hkern u1="k" u2="&#xf3;" k="19" />
+    <hkern u1="k" u2="&#xe9;" k="21" />
+    <hkern u1="k" u2="&#xe6;" k="-2" />
+    <hkern u1="k" u2="&#xe5;" k="2" />
+    <hkern u1="k" u2="&#xe4;" k="2" />
+    <hkern u1="k" u2="&#xe1;" k="2" />
+    <hkern u1="k" u2="u" k="11" />
+    <hkern u1="k" u2="s" k="3" />
+    <hkern u1="k" u2="o" k="19" />
+    <hkern u1="k" u2="g" k="16" />
+    <hkern u1="k" u2="e" k="21" />
+    <hkern u1="k" u2="a" k="2" />
+    <hkern u1="k" u2="&#x2d;" k="41" />
+    <hkern u1="l" u2="y" k="5" />
+    <hkern u1="m" u2="y" k="18" />
+    <hkern u1="m" u2="w" k="7" />
+    <hkern u1="m" u2="v" k="13" />
+    <hkern u1="m" u2="p" k="-5" />
+    <hkern u1="n" u2="y" k="18" />
+    <hkern u1="n" u2="w" k="7" />
+    <hkern u1="n" u2="v" k="13" />
+    <hkern u1="n" u2="p" k="-5" />
+    <hkern u1="n" u2="T" k="96" />
+    <hkern u1="o" u2="y" k="22" />
+    <hkern u1="o" u2="x" k="27" />
+    <hkern u1="o" u2="w" k="10" />
+    <hkern u1="o" u2="v" k="18" />
+    <hkern u1="o" u2="t" k="10" />
+    <hkern u1="o" u2="T" k="99" />
+    <hkern u1="p" u2="y" k="16" />
+    <hkern u1="p" u2="t" k="4" />
+    <hkern u1="q" u2="u" k="-4" />
+    <hkern u1="q" u2="c" k="-8" />
+    <hkern u1="r" u2="&#xf8;" k="6" />
+    <hkern u1="r" u2="&#xf6;" k="6" />
+    <hkern u1="r" u2="&#xf4;" k="6" />
+    <hkern u1="r" u2="&#xf3;" k="6" />
+    <hkern u1="r" u2="&#xf2;" k="6" />
+    <hkern u1="r" u2="&#xea;" k="11" />
+    <hkern u1="r" u2="&#xe9;" k="11" />
+    <hkern u1="r" u2="&#xe8;" k="11" />
+    <hkern u1="r" u2="&#xe7;" k="9" />
+    <hkern u1="r" u2="&#xe6;" k="1" />
+    <hkern u1="r" u2="&#xe5;" k="5" />
+    <hkern u1="r" u2="&#xe4;" k="5" />
+    <hkern u1="r" u2="&#xe2;" k="5" />
+    <hkern u1="r" u2="&#xe1;" k="5" />
+    <hkern u1="r" u2="&#xe0;" k="5" />
+    <hkern u1="r" u2="z" k="-9" />
+    <hkern u1="r" u2="y" k="-24" />
+    <hkern u1="r" u2="x" k="-20" />
+    <hkern u1="r" u2="w" k="-31" />
+    <hkern u1="r" u2="v" k="-29" />
+    <hkern u1="r" u2="u" k="-2" />
+    <hkern u1="r" u2="t" k="-28" />
+    <hkern u1="r" u2="s" k="-4" />
+    <hkern u1="r" u2="q" k="3" />
+    <hkern u1="r" u2="p" k="-8" />
+    <hkern u1="r" u2="o" k="6" />
+    <hkern u1="r" u2="l" k="-1" />
+    <hkern u1="r" u2="k" k="-6" />
+    <hkern u1="r" u2="i" k="-1" />
+    <hkern u1="r" u2="g" k="4" />
+    <hkern u1="r" u2="f" k="-26" />
+    <hkern u1="r" u2="e" k="11" />
+    <hkern u1="r" u2="d" k="1" />
+    <hkern u1="r" u2="c" k="6" />
+    <hkern u1="r" u2="a" k="5" />
+    <hkern u1="r" u2="&#x3b;" k="22" />
+    <hkern u1="r" u2="&#x3a;" k="22" />
+    <hkern u1="r" u2="&#x2e;" k="69" />
+    <hkern u1="r" u2="&#x2d;" k="47" />
+    <hkern u1="r" u2="&#x2c;" k="69" />
+    <hkern u1="s" u2="t" k="3" />
+    <hkern u1="t" u2="&#xf6;" k="12" />
+    <hkern u1="t" u2="&#xf3;" k="12" />
+    <hkern u1="t" u2="&#xe9;" k="14" />
+    <hkern u1="t" u2="&#xe6;" k="-2" />
+    <hkern u1="t" u2="&#xe5;" k="1" />
+    <hkern u1="t" u2="&#xe4;" k="1" />
+    <hkern u1="t" u2="&#xe1;" k="1" />
+    <hkern u1="t" u2="o" k="12" />
+    <hkern u1="t" u2="h" k="3" />
+    <hkern u1="t" u2="e" k="14" />
+    <hkern u1="t" u2="a" k="1" />
+    <hkern u1="t" u2="S" k="8" />
+    <hkern u1="t" u2="&#x3b;" k="28" />
+    <hkern u1="t" u2="&#x3a;" k="28" />
+    <hkern u1="v" u2="&#xf8;" k="17" />
+    <hkern u1="v" u2="&#xf6;" k="17" />
+    <hkern u1="v" u2="&#xf3;" k="17" />
+    <hkern u1="v" u2="&#xf2;" k="17" />
+    <hkern u1="v" u2="&#xea;" k="21" />
+    <hkern u1="v" u2="&#xe9;" k="21" />
+    <hkern u1="v" u2="&#xe8;" k="21" />
+    <hkern u1="v" u2="&#xe6;" k="14" />
+    <hkern u1="v" u2="&#xe5;" k="18" />
+    <hkern u1="v" u2="&#xe4;" k="18" />
+    <hkern u1="v" u2="&#xe3;" k="18" />
+    <hkern u1="v" u2="&#xe2;" k="18" />
+    <hkern u1="v" u2="&#xe1;" k="18" />
+    <hkern u1="v" u2="&#xe0;" k="18" />
+    <hkern u1="v" u2="s" k="9" />
+    <hkern u1="v" u2="o" k="17" />
+    <hkern u1="v" u2="g" k="14" />
+    <hkern u1="v" u2="e" k="21" />
+    <hkern u1="v" u2="c" k="16" />
+    <hkern u1="v" u2="a" k="18" />
+    <hkern u1="v" u2="&#x3b;" k="23" />
+    <hkern u1="v" u2="&#x3a;" k="23" />
+    <hkern u1="v" u2="&#x2e;" k="69" />
+    <hkern u1="v" u2="&#x2d;" k="12" />
+    <hkern u1="v" u2="&#x2c;" k="69" />
+    <hkern u1="w" u2="&#xf8;" k="6" />
+    <hkern u1="w" u2="&#xf6;" k="9" />
+    <hkern u1="w" u2="&#xf3;" k="9" />
+    <hkern u1="w" u2="&#xf2;" k="9" />
+    <hkern u1="w" u2="&#xea;" k="12" />
+    <hkern u1="w" u2="&#xe9;" k="12" />
+    <hkern u1="w" u2="&#xe8;" k="12" />
+    <hkern u1="w" u2="&#xe6;" k="11" />
+    <hkern u1="w" u2="&#xe5;" k="15" />
+    <hkern u1="w" u2="&#xe4;" k="15" />
+    <hkern u1="w" u2="&#xe3;" k="15" />
+    <hkern u1="w" u2="&#xe2;" k="15" />
+    <hkern u1="w" u2="&#xe1;" k="15" />
+    <hkern u1="w" u2="&#xe0;" k="15" />
+    <hkern u1="w" u2="s" k="5" />
+    <hkern u1="w" u2="o" k="9" />
+    <hkern u1="w" u2="g" k="6" />
+    <hkern u1="w" u2="e" k="12" />
+    <hkern u1="w" u2="c" k="7" />
+    <hkern u1="w" u2="a" k="15" />
+    <hkern u1="w" u2="&#x3b;" k="23" />
+    <hkern u1="w" u2="&#x3a;" k="23" />
+    <hkern u1="w" u2="&#x2e;" k="50" />
+    <hkern u1="w" u2="&#x2d;" k="1" />
+    <hkern u1="w" u2="&#x2c;" k="50" />
+    <hkern u1="x" u2="&#xe9;" k="28" />
+    <hkern u1="x" u2="q" k="20" />
+    <hkern u1="x" u2="o" k="25" />
+    <hkern u1="x" u2="e" k="28" />
+    <hkern u1="x" u2="c" k="23" />
+    <hkern u1="x" u2="a" k="17" />
+    <hkern u1="y" u2="&#xf8;" k="19" />
+    <hkern u1="y" u2="&#xf6;" k="20" />
+    <hkern u1="y" u2="&#xf3;" k="20" />
+    <hkern u1="y" u2="&#xf2;" k="20" />
+    <hkern u1="y" u2="&#xea;" k="24" />
+    <hkern u1="y" u2="&#xe9;" k="24" />
+    <hkern u1="y" u2="&#xe8;" k="24" />
+    <hkern u1="y" u2="&#xe6;" k="18" />
+    <hkern u1="y" u2="&#xe5;" k="22" />
+    <hkern u1="y" u2="&#xe4;" k="22" />
+    <hkern u1="y" u2="&#xe3;" k="22" />
+    <hkern u1="y" u2="&#xe2;" k="22" />
+    <hkern u1="y" u2="&#xe1;" k="22" />
+    <hkern u1="y" u2="&#xe0;" k="22" />
+    <hkern u1="y" u2="s" k="12" />
+    <hkern u1="y" u2="o" k="20" />
+    <hkern u1="y" u2="l" k="4" />
+    <hkern u1="y" u2="g" k="17" />
+    <hkern u1="y" u2="e" k="24" />
+    <hkern u1="y" u2="c" k="19" />
+    <hkern u1="y" u2="a" k="22" />
+    <hkern u1="y" u2="&#x3b;" k="27" />
+    <hkern u1="y" u2="&#x3a;" k="27" />
+    <hkern u1="y" u2="&#x2e;" k="70" />
+    <hkern u1="y" u2="&#x2d;" k="14" />
+    <hkern u1="y" u2="&#x2c;" k="70" />
+    <hkern u1="&#xc0;" u2="Y" k="99" />
+    <hkern u1="&#xc0;" u2="W" k="51" />
+    <hkern u1="&#xc0;" u2="V" k="75" />
+    <hkern u1="&#xc0;" u2="U" k="37" />
+    <hkern u1="&#xc0;" u2="T" k="93" />
+    <hkern u1="&#xc0;" u2="Q" k="32" />
+    <hkern u1="&#xc0;" u2="O" k="33" />
+    <hkern u1="&#xc0;" u2="G" k="35" />
+    <hkern u1="&#xc0;" u2="C" k="36" />
+    <hkern u1="&#xc0;" u2="&#x2e;" k="-5" />
+    <hkern u1="&#xc0;" u2="&#x2c;" k="-5" />
+    <hkern u1="&#xc1;" u2="&#xab;" k="44" />
+    <hkern u1="&#xc1;" u2="y" k="34" />
+    <hkern u1="&#xc1;" u2="w" k="21" />
+    <hkern u1="&#xc1;" u2="v" k="31" />
+    <hkern u1="&#xc1;" u2="u" k="12" />
+    <hkern u1="&#xc1;" u2="t" k="16" />
+    <hkern u1="&#xc1;" u2="q" k="8" />
+    <hkern u1="&#xc1;" u2="o" k="13" />
+    <hkern u1="&#xc1;" u2="g" k="10" />
+    <hkern u1="&#xc1;" u2="e" k="16" />
+    <hkern u1="&#xc1;" u2="d" k="8" />
+    <hkern u1="&#xc1;" u2="c" k="11" />
+    <hkern u1="&#xc1;" u2="b" k="-4" />
+    <hkern u1="&#xc1;" u2="a" k="4" />
+    <hkern u1="&#xc1;" u2="Y" k="99" />
+    <hkern u1="&#xc1;" u2="W" k="51" />
+    <hkern u1="&#xc1;" u2="V" k="75" />
+    <hkern u1="&#xc1;" u2="U" k="37" />
+    <hkern u1="&#xc1;" u2="T" k="93" />
+    <hkern u1="&#xc1;" u2="Q" k="32" />
+    <hkern u1="&#xc1;" u2="O" k="33" />
+    <hkern u1="&#xc1;" u2="G" k="35" />
+    <hkern u1="&#xc1;" u2="C" k="36" />
+    <hkern u1="&#xc1;" u2="&#x2e;" k="-5" />
+    <hkern u1="&#xc1;" u2="&#x2d;" k="3" />
+    <hkern u1="&#xc1;" u2="&#x2c;" k="-5" />
+    <hkern u1="&#xc2;" u2="Y" k="99" />
+    <hkern u1="&#xc2;" u2="W" k="51" />
+    <hkern u1="&#xc2;" u2="V" k="75" />
+    <hkern u1="&#xc2;" u2="U" k="37" />
+    <hkern u1="&#xc2;" u2="T" k="93" />
+    <hkern u1="&#xc2;" u2="Q" k="32" />
+    <hkern u1="&#xc2;" u2="O" k="33" />
+    <hkern u1="&#xc2;" u2="G" k="35" />
+    <hkern u1="&#xc2;" u2="C" k="36" />
+    <hkern u1="&#xc2;" u2="&#x2e;" k="-5" />
+    <hkern u1="&#xc2;" u2="&#x2c;" k="-5" />
+    <hkern u1="&#xc3;" u2="Y" k="99" />
+    <hkern u1="&#xc3;" u2="W" k="51" />
+    <hkern u1="&#xc3;" u2="V" k="75" />
+    <hkern u1="&#xc3;" u2="U" k="37" />
+    <hkern u1="&#xc3;" u2="T" k="93" />
+    <hkern u1="&#xc3;" u2="Q" k="32" />
+    <hkern u1="&#xc3;" u2="O" k="33" />
+    <hkern u1="&#xc3;" u2="G" k="35" />
+    <hkern u1="&#xc3;" u2="C" k="36" />
+    <hkern u1="&#xc3;" u2="&#x2e;" k="-5" />
+    <hkern u1="&#xc3;" u2="&#x2c;" k="-5" />
+    <hkern u1="&#xc4;" u2="&#xab;" k="44" />
+    <hkern u1="&#xc4;" u2="y" k="34" />
+    <hkern u1="&#xc4;" u2="w" k="21" />
+    <hkern u1="&#xc4;" u2="v" k="31" />
+    <hkern u1="&#xc4;" u2="u" k="12" />
+    <hkern u1="&#xc4;" u2="t" k="16" />
+    <hkern u1="&#xc4;" u2="q" k="8" />
+    <hkern u1="&#xc4;" u2="o" k="13" />
+    <hkern u1="&#xc4;" u2="g" k="10" />
+    <hkern u1="&#xc4;" u2="d" k="8" />
+    <hkern u1="&#xc4;" u2="c" k="11" />
+    <hkern u1="&#xc4;" u2="b" k="-4" />
+    <hkern u1="&#xc4;" u2="a" k="4" />
+    <hkern u1="&#xc4;" u2="Y" k="99" />
+    <hkern u1="&#xc4;" u2="W" k="51" />
+    <hkern u1="&#xc4;" u2="V" k="75" />
+    <hkern u1="&#xc4;" u2="U" k="37" />
+    <hkern u1="&#xc4;" u2="T" k="93" />
+    <hkern u1="&#xc4;" u2="Q" k="32" />
+    <hkern u1="&#xc4;" u2="O" k="33" />
+    <hkern u1="&#xc4;" u2="G" k="35" />
+    <hkern u1="&#xc4;" u2="C" k="36" />
+    <hkern u1="&#xc4;" u2="&#x2e;" k="-5" />
+    <hkern u1="&#xc4;" u2="&#x2d;" k="3" />
+    <hkern u1="&#xc4;" u2="&#x2c;" k="-5" />
+    <hkern u1="&#xc5;" u2="&#xab;" k="44" />
+    <hkern u1="&#xc5;" u2="y" k="34" />
+    <hkern u1="&#xc5;" u2="w" k="21" />
+    <hkern u1="&#xc5;" u2="v" k="31" />
+    <hkern u1="&#xc5;" u2="u" k="12" />
+    <hkern u1="&#xc5;" u2="t" k="16" />
+    <hkern u1="&#xc5;" u2="q" k="8" />
+    <hkern u1="&#xc5;" u2="o" k="13" />
+    <hkern u1="&#xc5;" u2="g" k="10" />
+    <hkern u1="&#xc5;" u2="e" k="16" />
+    <hkern u1="&#xc5;" u2="d" k="8" />
+    <hkern u1="&#xc5;" u2="c" k="11" />
+    <hkern u1="&#xc5;" u2="b" k="-4" />
+    <hkern u1="&#xc5;" u2="a" k="4" />
+    <hkern u1="&#xc5;" u2="Y" k="99" />
+    <hkern u1="&#xc5;" u2="W" k="51" />
+    <hkern u1="&#xc5;" u2="V" k="75" />
+    <hkern u1="&#xc5;" u2="U" k="37" />
+    <hkern u1="&#xc5;" u2="T" k="93" />
+    <hkern u1="&#xc5;" u2="Q" k="32" />
+    <hkern u1="&#xc5;" u2="O" k="33" />
+    <hkern u1="&#xc5;" u2="G" k="35" />
+    <hkern u1="&#xc5;" u2="C" k="36" />
+    <hkern u1="&#xc5;" u2="&#x2e;" k="-5" />
+    <hkern u1="&#xc5;" u2="&#x2d;" k="3" />
+    <hkern u1="&#xc5;" u2="&#x2c;" k="-5" />
+    <hkern u1="&#xc7;" u2="A" k="31" />
+    <hkern u1="&#xd2;" u2="Y" k="59" />
+    <hkern u1="&#xd2;" u2="V" k="45" />
+    <hkern u1="&#xd2;" u2="T" k="42" />
+    <hkern u1="&#xd3;" u2="Y" k="59" />
+    <hkern u1="&#xd3;" u2="W" k="23" />
+    <hkern u1="&#xd3;" u2="V" k="45" />
+    <hkern u1="&#xd3;" u2="T" k="42" />
+    <hkern u1="&#xd3;" u2="A" k="35" />
+    <hkern u1="&#xd4;" u2="Y" k="59" />
+    <hkern u1="&#xd4;" u2="V" k="45" />
+    <hkern u1="&#xd4;" u2="T" k="42" />
+    <hkern u1="&#xd5;" u2="Y" k="59" />
+    <hkern u1="&#xd5;" u2="V" k="45" />
+    <hkern u1="&#xd5;" u2="T" k="42" />
+    <hkern u1="&#xd6;" u2="Y" k="59" />
+    <hkern u1="&#xd6;" u2="X" k="46" />
+    <hkern u1="&#xd6;" u2="W" k="23" />
+    <hkern u1="&#xd6;" u2="V" k="45" />
+    <hkern u1="&#xd6;" u2="T" k="42" />
+    <hkern u1="&#xd6;" u2="A" k="35" />
+    <hkern u1="&#xd8;" u2="A" k="33" />
+    <hkern u1="&#xd9;" u2="A" k="36" />
+    <hkern u1="&#xda;" u2="r" k="4" />
+    <hkern u1="&#xda;" u2="p" k="-3" />
+    <hkern u1="&#xda;" u2="n" k="4" />
+    <hkern u1="&#xda;" u2="m" k="4" />
+    <hkern u1="&#xda;" u2="A" k="36" />
+    <hkern u1="&#xda;" u2="&#x2e;" k="25" />
+    <hkern u1="&#xda;" u2="&#x2c;" k="27" />
+    <hkern u1="&#xdb;" u2="A" k="36" />
+    <hkern u1="&#xdc;" u2="r" k="4" />
+    <hkern u1="&#xdc;" u2="p" k="-3" />
+    <hkern u1="&#xdc;" u2="n" k="4" />
+    <hkern u1="&#xdc;" u2="m" k="4" />
+    <hkern u1="&#xdc;" u2="b" k="-3" />
+    <hkern u1="&#xdc;" u2="A" k="36" />
+    <hkern u1="&#xdc;" u2="&#x2e;" k="25" />
+    <hkern u1="&#xdc;" u2="&#x2c;" k="27" />
+    <hkern u1="&#xe0;" u2="y" k="26" />
+    <hkern u1="&#xe0;" u2="w" k="13" />
+    <hkern u1="&#xe0;" u2="v" k="21" />
+    <hkern u1="&#xe1;" u2="y" k="26" />
+    <hkern u1="&#xe1;" u2="w" k="13" />
+    <hkern u1="&#xe1;" u2="v" k="21" />
+    <hkern u1="&#xe4;" u2="y" k="26" />
+    <hkern u1="&#xe4;" u2="w" k="13" />
+    <hkern u1="&#xe4;" u2="v" k="21" />
+    <hkern u1="&#xe5;" u2="y" k="26" />
+    <hkern u1="&#xe5;" u2="w" k="13" />
+    <hkern u1="&#xe5;" u2="v" k="21" />
+    <hkern u1="&#xe6;" u2="y" k="20" />
+    <hkern u1="&#xe6;" u2="w" k="10" />
+    <hkern u1="&#xe6;" u2="v" k="16" />
+    <hkern u1="&#xe9;" u2="y" k="19" />
+    <hkern u1="&#xe9;" u2="w" k="9" />
+    <hkern u1="&#xe9;" u2="v" k="15" />
+    <hkern u1="&#xea;" u2="y" k="19" />
+    <hkern u1="&#xea;" u2="w" k="9" />
+    <hkern u1="&#xea;" u2="v" k="15" />
+    <hkern u1="&#xf2;" u2="y" k="22" />
+    <hkern u1="&#xf2;" u2="w" k="10" />
+    <hkern u1="&#xf2;" u2="v" k="18" />
+    <hkern u1="&#xf3;" u2="y" k="22" />
+    <hkern u1="&#xf3;" u2="w" k="10" />
+    <hkern u1="&#xf3;" u2="v" k="18" />
+    <hkern u1="&#xf4;" u2="t" k="10" />
+    <hkern u1="&#xf6;" u2="y" k="22" />
+    <hkern u1="&#xf6;" u2="x" k="27" />
+    <hkern u1="&#xf6;" u2="w" k="10" />
+    <hkern u1="&#xf6;" u2="v" k="18" />
+    <hkern u1="&#xf6;" u2="t" k="10" />
+  </font>
+</defs>
+<g font-family="SVGFreeSansISO-8859-1" font-size="18"> 
+    <text x="20" y="60"> !&quot;#$%&amp;&apos;()*+,-./0123456789:;&lt;&gt;?</text> 
+    <text x="20" y="120">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</text> 
+    <text x="20" y="180">`abcdefghijklmnopqrstuvwxyz|{}~</text> 
+    <text x="20" y="240">¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿</text> 
+    <text x="20" y="300">ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß</text> 
+    <text x="20" y="360">àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ</text> 
+</g>
+</svg>
diff --git a/Tests/W3CTestSuite/resources/SVGFreeSans.svg b/Tests/W3CTestSuite/resources/SVGFreeSans.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1ce48de270db9d4dbbb441f3b5f3891cc8564496
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/SVGFreeSans.svg
@@ -0,0 +1,569 @@
+<?xml version="1.0" standalone="no"?>
+<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" >
+<defs >
+<font horiz-adv-x="481" id="ascii">
+  <font-face
+    font-family="SVGFreeSansASCII"
+    units-per-em="1000"
+    panose-1="2 11 5 4 2 2 2 2 2 4"
+    ascent="800"
+    descent="-200"
+    alphabetic="0" />
+<missing-glyph horiz-adv-x="432" d="M33 0V666H366V0H33ZM66 33H333V633H66V33Z" />
+<glyph unicode=" " glyph-name="space" horiz-adv-x="278" />
+<glyph unicode="&#160;" glyph-name="nbsp" horiz-adv-x="278" />
+<glyph unicode="!" glyph-name="exclam" horiz-adv-x="278" d="M208 729V391L186 168H147L125 391V729H208ZM208 104V0H124V104H208Z" />
+<glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="355" d="M52 709H145V598L118 464H79L52 598V709ZM212 709H305V598L278 464H239L212 598V709Z" />
+<glyph unicode="#" glyph-name="numbersign" horiz-adv-x="556" d="M485 697L449 501H542V433H436L405 259H510V191H393L354 -20H278L316 191H192L153 -20H77L115 191H14V259H128L159 433H51V501H172L208 697H284L248 501H373L408 697H485ZM360 433H236L204 259H329L360
+433Z" />
+<glyph unicode="$" glyph-name="dollar" horiz-adv-x="556" d="M243 770H302V716Q427 707 474 615Q496 574 496 520V519H417Q416 596 359 630Q339 641 315 645L302 646V397Q402 366 431 350L433 349Q517 301 518 196V195Q518 91 450 30L426 12Q377 -17 302 -23V-126H243V-23Q89
+-13 46 104Q30 150 33 208H112Q119 134 133 110L137 103Q172 55 243 46V318Q150 346 117 370Q46 421 46 515V516Q46 662 186 704Q212 712 243 716V770ZM243 405V645Q147 632 130 556L127 526Q127 436 243 405ZM302 309V46Q363 53 394 83Q436 123 436 182V183Q436
+244 389 274Q360 292 302 309Z" />
+<glyph unicode="%" glyph-name="percent" horiz-adv-x="889" d="M199 685Q283 685 334 619H335Q370 573 370 513V512Q370 433 307 382Q260 343 200 343Q119 343 67 406Q29 453 29 513V514Q29 595 92 647Q139 685 199 685ZM199 615Q145 615 115 569H114Q98 544
+98 515V514Q98 461 143 430Q169 413 200 413Q254 413 284 458Q301 483 301 512V513Q301 570 253 600Q229 615 199 615ZM609 709H675L280 -20H214L609 709ZM688 322Q773 322 824 256Q859 210 859 151V150Q859 71 796 20Q749 -19 689 -19Q608 -19 556 44Q518 91 518
+151V152Q518 233 582 284Q629 322 688 322ZM688 252Q634 252 604 207Q587 182 587 153V152Q587 97 634 67H635V66Q636 66 636 66Q636 65 637 65Q661 51 689 51Q743 51 773 96Q790 120 790 149V150Q790 207 742 237V237L741 238Q724 248 704 251Q700 251 695 252Q693
+252 690 252H688Z" />
+<glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="667" d="M493 334H573Q573 240 515 151L637 0H528L466 78Q417 30 389 13Q333 -23 257 -23Q141 -23 85 59Q52 108 52 175V176Q52 257 104 310Q140 346 214 389Q144 477 135 525V525Q135 527 135 530Q134
+532 134 535L133 552Q133 628 197 675Q244 709 304 709Q394 709 440 643V642Q467 604 467 553V552Q467 483 412 434Q383 409 330 379L329 378L462 215Q495 272 493 334ZM285 431Q366 482 381 519Q388 534 388 553V554Q388 606 343 629Q324 639 301 639Q241 639
+221 589Q215 573 215 554V553Q215 520 240 485L241 484V484L242 483L243 482V482L285 431ZM418 137L258 337Q164 277 144 227Q136 207 136 184V183Q136 118 190 80Q225 55 267 55Q334 55 402 120Q409 127 416 135Q417 135 417 136L418 137Z" />
+<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="191" d="M48 709H142V598L115 464H75L48 598V709Z" />
+<glyph unicode="(" glyph-name="parenleft" horiz-adv-x="333" d="M236 729H291Q167 529 155 300L154 259Q154 26 276 -187Q283 -200 291 -212H236Q123 -64 86 128Q73 196 73 258V259Q73 438 166 617Q197 678 236 729Z" />
+<glyph unicode=")" glyph-name="parenright" horiz-adv-x="333" d="M93 -212H38Q162 -12 174 217Q175 258 175 258Q175 491 53 704L38 729H93Q206 581 243 389Q256 321 256 259V258Q256 79 163 -100Q132 -161 93 -212Z" />
+<glyph unicode="*" glyph-name="asterisk" horiz-adv-x="389" d="M160 729H223L218 617L324 655L343 596L235 566L305 477L254 441L192 534L129 441L79 477L148 566L40 596L59 655L165 617L160 729Z" />
+<glyph unicode="+" glyph-name="plus" horiz-adv-x="584" d="M534 267V197H327V-10H257V197H50V267H257V474H327V267H534Z" />
+<glyph unicode="," glyph-name="comma" horiz-adv-x="278" d="M87 104H192V-16Q192 -147 87 -147V-109Q130 -107 140 -76Q147 -58 147 -19V-18V0H87V104Z" />
+<glyph unicode="-" glyph-name="hyphen" horiz-adv-x="333" d="M284 312V240H46V312H284Z" />
+<glyph unicode="." glyph-name="period" horiz-adv-x="278" d="M191 104V0H87V104H191Z" />
+<glyph unicode="/" glyph-name="slash" horiz-adv-x="278" d="M229 729H284L47 -20H-8L229 729Z" />
+<glyph unicode="0" glyph-name="zero" horiz-adv-x="556" d="M275 709Q378 709 436 634Q437 632 438 631Q507 537 507 338V337Q507 66 369 -3Q327 -23 275 -23Q99 -23 56 193Q43 258 43 342V343Q43 538 112 631Q166 702 261 709Q268 709 275 709ZM275 631Q133
+631 133 344Q133 344 133 344V342Q133 50 273 50Q391 50 412 242Q417 287 417 344V345Q417 631 275 631Z" />
+<glyph unicode="1" glyph-name="one" horiz-adv-x="556" d="M259 505H102V568Q204 581 234 604H235Q245 611 252 621Q271 645 289 709H347V0H259V505Z" />
+<glyph unicode="2" glyph-name="two" horiz-adv-x="556" d="M506 87V0H34Q41 128 91 195Q133 250 233 307L325 359Q420 413 421 498V499Q421 571 361 610Q326 632 282 632H281Q206 632 166 575Q163 571 161 566L159 563Q142 531 138 463H50Q53 563 88 617Q148
+709 284 709Q383 709 445 653Q511 594 511 502V501Q511 369 361 287L261 233Q170 180 146 131Q137 111 133 87H506Z" />
+<glyph unicode="3" glyph-name="three" horiz-adv-x="556" d="M221 325V400Q305 401 338 415Q394 438 395 509V511Q395 596 325 623Q301 632 270 632Q192 632 157 579L156 578L151 569Q136 540 135 480H47Q51 690 237 708L269 709Q408 709 460 616Q485 573 485
+515V514Q485 406 386 367Q479 335 499 259Q506 233 506 199V198Q506 75 412 15Q352 -23 266 -23Q118 -23 64 79L63 80Q37 128 32 206H120Q128 74 233 58Q250 55 269 55Q373 55 405 134Q416 161 416 196V197Q416 326 269 326L232 325H221Z" />
+<glyph unicode="4" glyph-name="four" horiz-adv-x="556" d="M327 170H28V263L350 709H415V249H520V170H415V0H327V170ZM327 249V559L105 249H327Z" />
+<glyph unicode="5" glyph-name="five" horiz-adv-x="556" d="M476 709V622H181L153 424Q212 467 284 467Q404 467 468 380Q513 319 513 232V231Q513 102 426 30Q362 -23 270 -23Q159 -23 94 44L78 62Q51 95 35 172V174H123Q154 55 268 55Q369 55 407 136Q423 171
+423 218V219Q423 328 347 370Q313 389 268 389Q204 389 159 346L138 323H57L110 709H476Z" />
+<glyph unicode="6" glyph-name="six" horiz-adv-x="556" d="M498 524H410Q392 611 321 628Q307 631 291 631Q180 631 146 487Q133 433 133 362Q191 441 296 441Q407 441 469 358Q513 299 513 217V216Q513 97 431 29Q369 -23 281 -23Q162 -23 103 65Q45 153 43
+312Q43 317 43 322V323Q43 508 107 608Q163 692 263 707Q280 709 297 709Q412 709 467 616Q490 577 498 525V524ZM285 363Q200 363 160 297Q138 262 138 215V214Q138 128 199 82Q235 55 282 55Q358 55 398 118Q423 157 423 208V209Q423 311 352 348Q323 363 285
+363Z" />
+<glyph unicode="7" glyph-name="seven" horiz-adv-x="556" d="M520 709V635Q318 367 252 96Q240 49 232 0H138Q188 218 281 389Q336 490 429 622H46V709H520Z" />
+<glyph unicode="8" glyph-name="eight" horiz-adv-x="556" d="M391 373Q512 315 513 197V196Q513 84 427 23Q364 -23 275 -23Q151 -23 84 59Q37 116 37 196V197Q37 315 158 373Q86 418 70 466Q62 488 62 519V520Q62 619 143 672Q198 709 275 709Q391 709 450 633Q488
+586 488 521V520Q488 452 443 411Q443 410 442 410Q423 392 391 373ZM275 631Q195 631 165 573L164 572V572Q152 549 152 520V519Q152 449 213 421Q240 408 274 408H275Q355 408 385 465Q386 465 386 466Q398 488 398 516V517V518Q398 593 333 620Q308 631 275
+631ZM275 334Q186 334 147 270Q127 238 127 196V195Q127 113 193 75Q227 55 273 55Q364 55 403 120Q423 152 423 194V195Q423 277 356 315Q321 334 275 334Z" />
+<glyph unicode="9" glyph-name="nine" horiz-adv-x="556" d="M53 162H141Q159 75 230 58Q244 55 260 55Q371 55 405 199Q418 253 418 324Q354 247 262 245H256Q144 245 82 328Q38 387 38 469V470Q38 589 120 657Q182 709 270 709Q389 709 449 621Q507 533 509
+374Q509 369 509 364V363Q509 178 444 78Q391 -3 294 -20L254 -23Q139 -23 84 70Q61 110 53 162ZM269 632Q193 632 153 568L152 567Q128 529 128 478V477Q128 375 199 338Q228 323 266 323Q349 323 390 388Q413 424 413 471V472Q413 559 352 605Q315 632 269 632Z"
+/>
+<glyph unicode=":" glyph-name="colon" horiz-adv-x="278" d="M214 104V0H110V104H214ZM214 524V420H110V524H214Z" />
+<glyph unicode=";" glyph-name="semicolon" horiz-adv-x="278" d="M215 524V420H111V524H215ZM110 104H215V-16Q215 -147 110 -147V-109Q153 -107 163 -76Q170 -58 170 -19V-18V0H110V104Z" />
+<glyph unicode="&lt;" glyph-name="less" horiz-adv-x="584" d="M45 198V267L534 474V395L140 234L534 70V-9L45 198Z" />
+<glyph unicode="=" glyph-name="equal" horiz-adv-x="584" d="M534 353V283H50V353H534ZM534 181V111H50V181H534Z" />
+<glyph unicode="&gt;" glyph-name="greater" horiz-adv-x="584" d="M539 267V198L50 -9V70L444 231L50 395V474L539 267Z" />
+<glyph unicode="?" glyph-name="question" horiz-adv-x="556" d="M330 199H240V254Q240 304 268 341Q285 363 320 396L322 397L344 417Q418 483 419 547Q419 547 419 547Q419 547 419 548V549Q419 619 358 649H357Q328 663 291 663Q209 663 179 605Q162 571 162
+508V507H77Q77 718 257 739L296 741Q422 741 478 658L479 657V657V656Q509 611 509 550V549Q509 479 458 420Q439 397 409 370Q346 312 336 285Q330 270 330 247V246V199ZM330 104V0H240V104H330Z" />
+<glyph unicode="@" glyph-name="at" horiz-adv-x="1015" d="M665 501H748L658 221Q646 187 646 172V171Q646 144 675 131H676Q685 127 696 127Q760 127 813 199Q864 270 864 356V357Q864 477 767 566Q668 658 528 664H512Q365 664 252 562L221 531Q119 418 119
+274V273Q119 132 224 35Q332 -65 493 -65H494Q573 -65 687 -33L715 -100Q603 -142 489 -142Q309 -142 178 -35Q56 65 37 212Q34 258 34 258Q34 412 129 542Q141 558 154 573Q155 574 156 575Q157 576 158 577Q172 593 188 608L192 612Q300 710 451 735Q488 741
+525 741Q691 741 814 640Q930 546 948 411Q951 390 951 370V369Q951 248 867 149Q866 147 865 146Q789 57 679 57Q583 57 569 134Q503 62 428 62H427Q345 62 298 131Q264 179 264 244V245Q264 354 343 438Q420 521 519 522H521Q604 522 642 436L643 435L665 501ZM515
+458Q449 458 399 387Q354 324 354 245V244Q354 177 401 143H402Q425 126 452 126H453Q511 126 555 191Q588 239 604 323L609 362Q612 417 566 444Q543 458 515 458Z" />
+<glyph unicode="A" glyph-name="A" horiz-adv-x="667" d="M474 219H193L116 0H17L277 729H397L653 0H549L474 219ZM448 297L336 629L216 297H448Z" />
+<glyph unicode="B" glyph-name="B" horiz-adv-x="667" d="M79 0V729H375Q478 729 533 678Q591 627 591 545V544Q591 432 490 385Q595 344 616 264Q622 244 623 221Q623 215 623 209V208Q623 120 567 61Q511 0 409 0H408H79ZM172 415H352Q424 415 458 441Q498 471
+498 530V531Q498 590 458 621Q424 647 352 647H172V415ZM172 82H399Q463 82 495 116L496 117Q530 152 530 206V207Q530 262 496 298Q464 333 399 333H172V82Z" />
+<glyph unicode="C" glyph-name="C" horiz-adv-x="722" d="M662 503H567Q552 578 514 613Q467 657 377 659H370Q242 659 181 544Q141 469 141 358V357Q141 187 236 108Q295 59 378 59Q487 59 538 136Q544 144 548 153Q570 195 581 266H677Q644 -23 377 -23Q236
+-23 154 62Q48 171 48 355V356Q48 539 150 650Q232 741 380 741H381Q619 741 662 503Z" />
+<glyph unicode="D" glyph-name="D" horiz-adv-x="722" d="M89 0V729H370Q533 729 612 597Q613 596 613 595Q667 504 667 366V365Q667 156 551 61Q478 0 370 0H89ZM182 82H354Q528 82 565 263Q574 308 574 363V364Q574 610 406 642Q381 647 354 647H182V82Z" />
+<glyph unicode="E" glyph-name="E" horiz-adv-x="667" d="M183 332V82H613V0H90V729H595V647H183V414H580V332H183Z" />
+<glyph unicode="F" glyph-name="F" horiz-adv-x="611" d="M183 332V0H90V729H579V647H183V414H531V332H183Z" />
+<glyph unicode="G" glyph-name="G" horiz-adv-x="778" d="M709 385V-4H650L627 93Q523 -23 379 -23H378Q225 -23 131 91Q44 195 44 356V357Q44 533 146 643Q160 658 176 671Q261 741 393 741H394Q573 741 654 623Q687 574 699 508H604Q583 606 488 642Q446 659
+393 659Q261 659 190 555Q137 477 137 363V362Q137 236 198 152L214 133Q280 61 392 59Q395 59 398 59Q512 59 578 139Q627 199 627 282V283V303H405V385H709Z" />
+<glyph unicode="H" glyph-name="H" horiz-adv-x="722" d="M551 332H177V0H83V729H176V414H551V729H644V0H551V332Z" />
+<glyph unicode="I" glyph-name="I" horiz-adv-x="278" d="M194 729V0H100V729H194Z" />
+<glyph unicode="J" glyph-name="J" horiz-adv-x="500" d="M333 729H426V182Q426 58 336 5Q287 -23 220 -23Q96 -23 44 63Q17 108 17 169V170V234H112V187Q112 76 193 58L221 55Q279 55 309 98L310 100Q333 134 333 215V216V729Z" />
+<glyph unicode="K" glyph-name="K" horiz-adv-x="667" d="M172 255V0H79V729H172V360L535 729H655L358 432L658 0H548L291 374L172 255Z" />
+<glyph unicode="L" glyph-name="L" horiz-adv-x="556" d="M173 729V82H533V0H80V729H173Z" />
+<glyph unicode="M" glyph-name="M" horiz-adv-x="833" d="M468 0H370L163 611V0H75V729H204L420 94L632 729H761V0H673V611L468 0Z" />
+<glyph unicode="N" glyph-name="N" horiz-adv-x="722" d="M646 729V0H541L164 591V0H76V729H177L558 133V729H646Z" />
+<glyph unicode="O" glyph-name="O" horiz-adv-x="778" d="M389 741Q563 741 660 618L661 617Q662 616 663 615Q723 536 738 422Q742 389 742 354V353Q742 205 660 100Q640 74 616 54Q525 -23 390 -23Q223 -23 125 94Q38 198 38 358V359Q38 543 149 650Q244 741
+389 741ZM389 659Q259 659 187 557Q131 478 131 360V359Q131 201 226 118Q293 59 390 59Q519 59 591 159Q649 237 649 354V355Q649 520 551 603Q485 659 389 659Z" />
+<glyph unicode="P" glyph-name="P" horiz-adv-x="667" d="M184 309V0H91V729H392Q553 729 600 611Q617 570 617 516V515Q617 418 554 361Q496 309 414 309H413H184ZM184 391H378Q480 391 510 465Q520 488 520 518V519Q520 609 441 637Q441 637 440 637Q413 647
+378 647H184V391Z" />
+<glyph unicode="Q" glyph-name="Q" horiz-adv-x="778" d="M733 -1L686 -59L581 28Q495 -23 390 -23Q223 -23 125 94Q38 198 38 358V359Q38 543 149 650Q245 741 390 741Q556 741 654 625Q742 522 742 362V361Q742 189 639 76L733 -1ZM481 205L570 132Q649 221
+649 359V360Q649 517 555 600Q487 659 390 659Q259 659 187 557Q131 478 131 360V359Q131 200 226 117Q293 59 389 59Q449 59 509 87L435 149L481 205Z" />
+<glyph unicode="R" glyph-name="R" horiz-adv-x="722" d="M186 314V0H93V729H429Q599 729 640 609Q651 576 651 535V534Q651 436 579 385Q560 372 536 360Q598 333 617 293Q634 256 635 170Q637 74 654 47Q663 34 679 23V0H566Q545 48 545 118V119L546 184Q546
+293 466 310Q448 314 426 314H186ZM186 396H411Q532 396 550 482Q554 499 554 520V521Q554 587 516 619Q484 647 411 647H186V396Z" />
+<glyph unicode="S" glyph-name="S" horiz-adv-x="667" d="M596 515H508Q507 626 398 655Q366 663 326 663Q222 663 181 601V601Q163 574 163 541V540Q163 484 217 456Q242 443 283 432L466 383Q586 350 614 253Q621 228 621 201V200Q621 116 563 53L541 33Q468
+-23 336 -23Q167 -23 91 81Q49 138 48 232H136Q135 167 174 120Q225 59 342 59Q431 59 476 90Q520 121 527 176L528 191Q528 267 418 302Q407 306 395 309H394L213 357Q71 394 70 525V527Q70 651 174 707Q238 741 329 741Q505 741 568 630Q596 581 596 515Z" />
+<glyph unicode="T" glyph-name="T" horiz-adv-x="611" d="M354 647V0H261V647H21V729H593V647H354Z" />
+<glyph unicode="U" glyph-name="U" horiz-adv-x="722" d="M552 729H645V217Q645 87 541 22Q469 -23 364 -23Q199 -23 126 78Q86 135 85 215Q85 217 85 217V729H178V217Q178 138 231 97Q284 59 364 59Q487 59 532 138Q551 171 552 215Q552 215 552 216V217V729Z" />
+<glyph unicode="V" glyph-name="V" horiz-adv-x="667" d="M392 0H292L30 729H130L344 112L546 729H645L392 0Z" />
+<glyph unicode="W" glyph-name="W" horiz-adv-x="944" d="M744 0H642L474 599L311 0H209L22 729H126L263 137L425 729H525L691 137L825 729H929L744 0Z" />
+<glyph unicode="X" glyph-name="X" horiz-adv-x="667" d="M391 374L649 0H534L335 304L135 0H22L280 374L38 729H151L338 443L526 729H637L391 374Z" />
+<glyph unicode="Y" glyph-name="Y" horiz-adv-x="667" d="M387 286V0H294V286L13 729H128L342 374L550 729H661L387 286Z" />
+<glyph unicode="Z" glyph-name="Z" horiz-adv-x="611" d="M581 729V645L145 82H583V0H28V82L466 647H56V729H581Z" />
+<glyph unicode="[" glyph-name="bracketleft" horiz-adv-x="278" d="M250 729V657H147V-140H250V-212H64V729H250Z" />
+<glyph unicode="\" glyph-name="backslash" horiz-adv-x="278" d="M47 729L284 -20H229L-8 729H47Z" />
+<glyph unicode="]" glyph-name="bracketright" horiz-adv-x="278" d="M23 -212V-140H126V657H23V729H209V-212H23Z" />
+<glyph unicode="^" glyph-name="asciicircum" horiz-adv-x="469" d="M197 709H270L425 329H356L234 629L113 329H44L197 709Z" />
+<glyph unicode="_" glyph-name="underscore" horiz-adv-x="556" d="M578 -126V-176H-22V-126H578Z" />
+<glyph unicode="`" glyph-name="grave" horiz-adv-x="333" d="M135 740L231 592H171L22 740H135Z" />
+<glyph unicode="a" glyph-name="a" horiz-adv-x="556" d="M535 49V-14Q500 -23 478 -23Q407 -23 394 40Q393 47 392 54Q309 -22 218 -23H214Q104 -23 61 52Q42 86 42 131V132Q42 234 134 272Q170 287 264 299L302 304Q375 313 386 342V343V344L389 362V384Q389
+448 308 460Q291 462 272 462Q169 462 152 387Q150 378 149 369H65Q68 441 101 478Q156 539 275 539Q451 539 470 423Q472 411 472 397V396V88Q472 47 517 47L535 49ZM389 165V259Q357 244 275 233Q266 232 255 230Q149 215 133 161L129 135V134Q129 69 196 54Q212
+50 232 50Q304 50 356 97Q388 126 389 161Q389 162 389 162V162V163V163V165Z" />
+<glyph unicode="b" glyph-name="b" horiz-adv-x="556" d="M54 729H137V453Q194 539 299 539Q427 539 486 431Q523 363 523 265V264Q523 103 432 26Q375 -23 295 -23Q188 -23 129 67V0H54V729ZM283 461Q200 461 161 377Q137 328 137 259V258Q137 133 206 81Q239
+55 283 55Q367 55 409 134Q436 185 436 254V255Q436 382 364 435Q331 460 288 461Q285 461 283 461Z" />
+<glyph unicode="c" glyph-name="c" horiz-adv-x="500" d="M471 348H387Q374 445 290 460Q282 461 272 462H263Q169 462 134 362Q118 316 118 254V253Q118 116 197 71Q226 54 265 54Q372 54 393 180H477Q466 43 362 -3Q319 -23 263 -23Q134 -23 72 82Q31 151 31
+252V253Q31 413 123 490Q182 539 264 539Q370 539 428 471L436 461Q465 418 471 348Z" />
+<glyph unicode="d" glyph-name="d" horiz-adv-x="556" d="M495 729V0H421V69Q363 -14 277 -22Q266 -23 254 -23Q124 -23 64 89Q26 159 26 261Q26 261 26 262V263Q26 417 115 492Q172 539 251 539Q359 539 412 458V729H495ZM265 461Q180 461 139 379Q119 341 114
+290Q113 275 113 259V258Q113 136 183 82Q219 55 266 55Q348 55 387 136Q412 186 412 255V256Q412 387 340 438Q307 461 265 461Z" />
+<glyph unicode="e" glyph-name="e" horiz-adv-x="556" d="M513 234H127Q128 162 155 122Q198 54 281 54Q383 54 418 159H502Q480 38 376 -5Q332 -23 278 -23Q142 -23 79 87Q40 155 40 253V255Q40 413 134 490Q194 539 280 539Q395 539 460 457Q480 432 492 401Q513
+347 513 235V234ZM129 302H423L424 308Q424 388 365 433Q327 462 279 462Q194 462 153 387Q133 351 129 302Z" />
+<glyph unicode="f" glyph-name="f" horiz-adv-x="278" d="M258 524V456H171V0H88V456H18V524H88V613Q88 701 162 725Q184 732 211 732Q234 732 258 727V658L229 659Q172 659 171 608V606V524H258Z" />
+<glyph unicode="g" glyph-name="g" horiz-adv-x="556" d="M412 524H489V86Q489 -68 448 -132Q441 -142 434 -151Q386 -211 277 -217Q266 -218 255 -218Q117 -218 67 -130Q50 -99 46 -60H131Q137 -99 162 -119L163 -120Q199 -148 258 -148Q339 -148 374 -99Q404
+-58 404 43V44V71Q345 -11 272 -21Q261 -23 248 -23Q247 -23 245 -23Q162 -23 101 41Q98 44 95 47Q29 123 29 252V253Q29 404 112 483Q170 539 252 539Q350 539 412 448V524ZM261 462Q173 462 136 372Q116 325 116 259V258Q116 119 194 72Q223 54 262 54Q351 54
+386 146Q404 192 404 254V255Q404 405 322 448Q295 462 261 462Z" />
+<glyph unicode="h" glyph-name="h" horiz-adv-x="556" d="M70 729H153V452Q207 522 273 535Q294 539 321 539Q431 539 470 465Q486 435 486 397V396V0H403V363Q403 418 369 442Q337 466 295 466Q211 466 174 389Q153 347 153 290V289V0H70V729Z" />
+<glyph unicode="i" glyph-name="i" horiz-adv-x="222" d="M150 524V0H67V524H150ZM150 729V624H66V729H150Z" />
+<glyph unicode="j" glyph-name="j" horiz-adv-x="222" d="M70 524H153V-109Q153 -212 25 -218H10L-18 -215V-144L2 -145Q54 -145 65 -113Q70 -99 70 -77V-76V524ZM153 729V624H70V729H153Z" />
+<glyph unicode="k" glyph-name="k" horiz-adv-x="500" d="M141 729V302L363 524H470L288 343L502 0H399L222 284L141 204V0H58V729H141Z" />
+<glyph unicode="l" glyph-name="l" horiz-adv-x="222" d="M152 729V0H68V729H152Z" />
+<glyph unicode="m" glyph-name="m" horiz-adv-x="833" d="M70 524H147V450Q201 526 275 537Q284 538 295 539H308Q397 539 440 474Q445 467 449 459Q503 524 566 535Q574 537 583 538H584Q596 539 610 539Q732 539 757 441Q762 419 762 394V393V0H678V361Q678
+442 615 461Q599 466 581 466Q520 466 483 412Q458 376 458 330V329V0H374V361Q374 448 303 463L277 466Q215 466 178 410Q154 375 154 330V329V0H70V524Z" />
+<glyph unicode="n" glyph-name="n" horiz-adv-x="556" d="M70 524H147V436Q201 521 277 535Q297 539 321 539Q425 539 467 470Q486 439 487 398V396V0H404V363Q404 432 346 457Q324 466 296 466Q212 466 175 389Q154 347 154 290V289V0H70V524Z" />
+<glyph unicode="o" glyph-name="o" horiz-adv-x="556" d="M272 539Q424 539 481 410Q510 345 510 255V254Q510 87 408 16Q352 -23 273 -23Q129 -23 69 96Q36 162 36 257V258Q36 432 141 502Q196 539 272 539ZM273 462Q180 462 142 370Q123 323 123 259V258Q123
+121 201 73Q232 54 273 54Q363 54 402 142Q423 189 423 254V255Q423 400 341 446Q311 462 273 462Z" />
+<glyph unicode="p" glyph-name="p" horiz-adv-x="556" d="M54 -218V524H131V445Q190 539 298 539Q425 539 485 428Q523 357 523 254V253Q523 99 434 24Q395 -9 343 -19Q322 -23 299 -23Q202 -23 139 54L138 55V-218H54ZM284 461Q201 461 162 377Q138 328 138 259V258Q138
+133 207 81Q240 55 284 55Q368 55 409 134Q436 185 436 254V255Q436 382 365 435Q330 461 284 461Z" />
+<glyph unicode="q" glyph-name="q" horiz-adv-x="556" d="M495 -218H412V60Q355 -23 250 -23Q122 -23 63 85Q26 153 26 251V252Q26 413 117 490Q174 539 254 539Q361 539 421 454V524H495V-218ZM266 461Q182 461 140 380Q113 330 113 259V258Q113 136 183 82Q219
+55 266 55Q348 55 388 136Q412 186 412 254V255Q412 386 341 437Q308 461 266 461Z" />
+<glyph unicode="r" glyph-name="r" horiz-adv-x="333" d="M69 524H146V429Q204 522 262 536Q275 539 289 539L321 536V451Q249 450 218 429Q215 427 212 425Q153 382 153 273V272V0H69V524Z" />
+<glyph unicode="s" glyph-name="s" horiz-adv-x="500" d="M438 378H350Q347 462 245 462Q163 462 140 413Q134 400 134 384V383Q134 338 200 316L231 308L311 289Q429 261 452 191Q459 170 459 144V143Q459 47 369 3Q317 -23 243 -23Q49 -23 35 139L34 156H122Q128
+109 146 89Q179 54 250 54Q334 54 362 101Q372 116 372 135V136Q372 182 318 201Q309 204 299 207H298L291 209L213 228Q94 257 63 308Q54 324 50 345L47 379Q47 472 131 514Q180 539 248 539Q393 539 428 438Q438 411 438 378Z" />
+<glyph unicode="t" glyph-name="t" horiz-adv-x="278" d="M254 524V456H168V97Q168 59 190 53L214 50Q239 50 254 54V-16Q215 -23 186 -23Q97 -23 86 44Q85 60 85 60V456H14V524H85V668H168V524H254Z" />
+<glyph unicode="u" glyph-name="u" horiz-adv-x="556" d="M482 0H407V73Q351 -6 277 -19Q257 -23 232 -23Q125 -23 84 47Q65 78 65 119V120V524H148V153Q148 83 207 59Q228 50 255 50H256Q341 50 379 128Q399 170 399 226V227V524H482V0Z" />
+<glyph unicode="v" glyph-name="v" horiz-adv-x="500" d="M285 0H194L10 524H104L244 99L392 524H486L285 0Z" />
+<glyph unicode="w" glyph-name="w" horiz-adv-x="722" d="M554 0H459L353 411L252 0H158L6 524H98L205 116L305 524H407L510 116L614 524H708L554 0Z" />
+<glyph unicode="x" glyph-name="x" horiz-adv-x="500" d="M292 271L473 0H376L245 201L112 0H17L202 267L27 524H122L248 334L374 524H468L292 271Z" />
+<glyph unicode="y" glyph-name="y" horiz-adv-x="500" d="M388 524H478L245 -110Q223 -167 188 -193Q154 -218 110 -218Q79 -218 54 -205V-130Q81 -136 98 -136Q143 -136 161 -96Q163 -91 165 -85L197 -2L20 524H109L243 116L388 524Z" />
+<glyph unicode="z" glyph-name="z" horiz-adv-x="500" d="M443 524V450L132 73H457V0H31V75L344 451H52V524H443Z" />
+<glyph unicode="{" glyph-name="braceleft" horiz-adv-x="334" d="M276 729V664H261Q214 664 203 637V637Q198 623 198 598V597V416Q198 318 157 283L156 282Q146 273 133 267Q125 263 116 259Q198 221 198 103V101V-80Q198 -130 223 -141Q236 -147 261 -147H276V-212H230Q148
+-212 127 -132Q121 -110 121 -82V-81V86Q121 179 86 206Q70 218 43 224V293Q97 304 111 348Q121 376 121 430V431V598Q121 700 192 723Q210 729 230 729H276Z" />
+<glyph unicode="|" glyph-name="bar" horiz-adv-x="260" d="M100 729H160V-212H100V729Z" />
+<glyph unicode="}" glyph-name="braceright" horiz-adv-x="334" d="M29 -212V-147H45Q93 -147 104 -120Q108 -109 109 -90V-80V101Q109 221 191 258Q109 296 109 414V416V597Q109 647 83 658Q70 664 45 664H29V729H76Q159 729 180 648Q186 626 186 599V598V431Q186
+337 222 310Q237 298 262 293V224Q210 213 195 167Q186 139 186 87V86V-81Q186 -184 113 -207Q96 -212 76 -212H29Z" />
+<glyph unicode="~" glyph-name="asciitilde" horiz-adv-x="584" d="M455 411H508V395Q508 310 451 280Q430 268 403 268Q364 268 322 294L224 357Q201 371 181 371Q152 371 136 336Q131 323 128 295V293H75Q82 424 166 437L183 438Q210 438 237 422L354 353Q382
+336 404 336Q448 336 454 385L455 411Z" />
+
+<hkern g1="comma" g2="one" k="100" />
+<hkern g1="hyphen" g2="A" k="7" />
+<hkern g1="hyphen" g2="T" k="80" />
+<hkern g1="hyphen" g2="V" k="46" />
+<hkern g1="hyphen" g2="W" k="19" />
+<hkern g1="hyphen" g2="Y" k="92" />
+<hkern g1="period" g2="one" k="101" />
+<hkern g1="zero" g2="one" k="46" />
+<hkern g1="zero" g2="four" k="2" />
+<hkern g1="zero" g2="seven" k="39" />
+<hkern g1="one" g2="comma" k="74" />
+<hkern g1="one" g2="period" k="74" />
+<hkern g1="one" g2="zero" k="62" />
+<hkern g1="one" g2="one" k="118" />
+<hkern g1="one" g2="two" k="69" />
+<hkern g1="one" g2="three" k="67" />
+<hkern g1="one" g2="four" k="81" />
+<hkern g1="one" g2="five" k="67" />
+<hkern g1="one" g2="six" k="62" />
+<hkern g1="one" g2="seven" k="90" />
+<hkern g1="one" g2="eight" k="65" />
+<hkern g1="one" g2="nine" k="65" />
+<hkern g1="two" g2="one" k="36" />
+<hkern g1="two" g2="four" k="37" />
+<hkern g1="two" g2="seven" k="25" />
+<hkern g1="three" g2="one" k="49" />
+<hkern g1="three" g2="four" k="2" />
+<hkern g1="three" g2="seven" k="33" />
+<hkern g1="four" g2="one" k="84" />
+<hkern g1="four" g2="four" k="-5" />
+<hkern g1="four" g2="seven" k="56" />
+<hkern g1="five" g2="one" k="76" />
+<hkern g1="five" g2="four" k="-1" />
+<hkern g1="five" g2="seven" k="26" />
+<hkern g1="six" g2="one" k="43" />
+<hkern g1="six" g2="four" k="-1" />
+<hkern g1="six" g2="seven" k="30" />
+<hkern g1="seven" g2="comma" k="119" />
+<hkern g1="seven" g2="period" k="119" />
+<hkern g1="seven" g2="one" k="53" />
+<hkern g1="seven" g2="two" k="28" />
+<hkern g1="seven" g2="three" k="23" />
+<hkern g1="seven" g2="four" k="93" />
+<hkern g1="seven" g2="five" k="30" />
+<hkern g1="seven" g2="six" k="40" />
+<hkern g1="seven" g2="seven" k="4" />
+<hkern g1="seven" g2="eight" k="28" />
+<hkern g1="seven" g2="colon" k="77" />
+<hkern g1="eight" g2="one" k="48" />
+<hkern g1="eight" g2="four" k="-1" />
+<hkern g1="eight" g2="seven" k="33" />
+<hkern g1="nine" g2="one" k="43" />
+<hkern g1="nine" g2="four" k="3" />
+<hkern g1="nine" g2="seven" k="37" />
+<hkern g1="A" g2="comma" k="-5" />
+<hkern g1="A" g2="hyphen" k="3" />
+<hkern g1="A" g2="period" k="-5" />
+<hkern g1="A" g2="C" k="36" />
+<hkern g1="A" g2="G" k="35" />
+<hkern g1="A" g2="O" k="33" />
+<hkern g1="A" g2="Q" k="32" />
+<hkern g1="A" g2="T" k="93" />
+<hkern g1="A" g2="U" k="37" />
+<hkern g1="A" g2="V" k="75" />
+<hkern g1="A" g2="W" k="51" />
+<hkern g1="A" g2="Y" k="99" />
+<hkern g1="A" g2="a" k="4" />
+<hkern g1="A" g2="b" k="-4" />
+<hkern g1="A" g2="c" k="11" />
+<hkern g1="A" g2="d" k="8" />
+<hkern g1="A" g2="e" k="16" />
+<hkern g1="A" g2="g" k="10" />
+<hkern g1="A" g2="o" k="13" />
+<hkern g1="A" g2="q" k="8" />
+<hkern g1="A" g2="t" k="16" />
+<hkern g1="A" g2="u" k="12" />
+<hkern g1="A" g2="v" k="31" />
+<hkern g1="A" g2="w" k="21" />
+<hkern g1="A" g2="y" k="34" />
+<hkern g1="B" g2="A" k="21" />
+<hkern g1="B" g2="O" k="7" />
+<hkern g1="B" g2="V" k="41" />
+<hkern g1="B" g2="W" k="25" />
+<hkern g1="B" g2="Y" k="44" />
+<hkern g1="C" g2="A" k="32" />
+<hkern g1="C" g2="H" k="12" />
+<hkern g1="C" g2="K" k="10" />
+<hkern g1="C" g2="O" k="8" />
+<hkern g1="D" g2="A" k="42" />
+<hkern g1="D" g2="J" k="5" />
+<hkern g1="D" g2="T" k="45" />
+<hkern g1="D" g2="V" k="51" />
+<hkern g1="D" g2="W" k="29" />
+<hkern g1="D" g2="X" k="53" />
+<hkern g1="D" g2="Y" k="63" />
+<hkern g1="F" g2="comma" k="108" />
+<hkern g1="F" g2="hyphen" k="14" />
+<hkern g1="F" g2="period" k="108" />
+<hkern g1="F" g2="A" k="69" />
+<hkern g1="F" g2="J" k="51" />
+<hkern g1="F" g2="O" k="22" />
+<hkern g1="F" g2="a" k="33" />
+<hkern g1="F" g2="e" k="24" />
+<hkern g1="F" g2="i" k="10" />
+<hkern g1="F" g2="j" k="12" />
+<hkern g1="F" g2="o" k="21" />
+<hkern g1="F" g2="r" k="35" />
+<hkern g1="F" g2="u" k="33" />
+<hkern g1="G" g2="A" k="6" />
+<hkern g1="G" g2="T" k="44" />
+<hkern g1="G" g2="V" k="50" />
+<hkern g1="G" g2="W" k="28" />
+<hkern g1="G" g2="Y" k="62" />
+<hkern g1="J" g2="A" k="32" />
+<hkern g1="K" g2="hyphen" k="47" />
+<hkern g1="K" g2="C" k="51" />
+<hkern g1="K" g2="G" k="51" />
+<hkern g1="K" g2="O" k="48" />
+<hkern g1="K" g2="S" k="38" />
+<hkern g1="K" g2="T" k="-20" />
+<hkern g1="K" g2="a" k="11" />
+<hkern g1="K" g2="e" k="32" />
+<hkern g1="K" g2="o" k="29" />
+<hkern g1="K" g2="u" k="19" />
+<hkern g1="K" g2="y" k="62" />
+<hkern g1="L" g2="hyphen" k="125" />
+<hkern g1="L" g2="A" k="-17" />
+<hkern g1="L" g2="C" k="41" />
+<hkern g1="L" g2="G" k="42" />
+<hkern g1="L" g2="O" k="41" />
+<hkern g1="L" g2="S" k="19" />
+<hkern g1="L" g2="T" k="105" />
+<hkern g1="L" g2="U" k="35" />
+<hkern g1="L" g2="V" k="105" />
+<hkern g1="L" g2="W" k="68" />
+<hkern g1="L" g2="Y" k="121" />
+<hkern g1="L" g2="u" k="7" />
+<hkern g1="L" g2="y" k="56" />
+<hkern g1="N" g2="comma" k="7" />
+<hkern g1="N" g2="period" k="7" />
+<hkern g1="N" g2="A" k="9" />
+<hkern g1="N" g2="C" k="3" />
+<hkern g1="N" g2="G" k="2" />
+<hkern g1="N" g2="a" k="5" />
+<hkern g1="N" g2="o" k="-2" />
+<hkern g1="O" g2="A" k="35" />
+<hkern g1="O" g2="T" k="42" />
+<hkern g1="O" g2="V" k="45" />
+<hkern g1="O" g2="W" k="23" />
+<hkern g1="O" g2="X" k="46" />
+<hkern g1="O" g2="Y" k="59" />
+<hkern g1="P" g2="comma" k="135" />
+<hkern g1="P" g2="hyphen" k="40" />
+<hkern g1="P" g2="period" k="135" />
+<hkern g1="P" g2="A" k="78" />
+<hkern g1="P" g2="J" k="78" />
+<hkern g1="P" g2="a" k="28" />
+<hkern g1="P" g2="e" k="31" />
+<hkern g1="P" g2="o" k="27" />
+<hkern g1="R" g2="hyphen" k="2" />
+<hkern g1="R" g2="C" k="16" />
+<hkern g1="R" g2="G" k="15" />
+<hkern g1="R" g2="O" k="13" />
+<hkern g1="R" g2="T" k="23" />
+<hkern g1="R" g2="U" k="17" />
+<hkern g1="R" g2="V" k="39" />
+<hkern g1="R" g2="W" k="27" />
+<hkern g1="R" g2="Y" k="43" />
+<hkern g1="R" g2="a" k="15" />
+<hkern g1="R" g2="e" k="12" />
+<hkern g1="R" g2="o" k="9" />
+<hkern g1="R" g2="u" k="9" />
+<hkern g1="R" g2="y" k="8" />
+<hkern g1="S" g2="A" k="22" />
+<hkern g1="S" g2="T" k="28" />
+<hkern g1="S" g2="V" k="42" />
+<hkern g1="S" g2="W" k="28" />
+<hkern g1="S" g2="Y" k="48" />
+<hkern g1="S" g2="t" k="3" />
+<hkern g1="T" g2="comma" k="100" />
+<hkern g1="T" g2="hyphen" k="77" />
+<hkern g1="T" g2="period" k="100" />
+<hkern g1="T" g2="colon" k="133" />
+<hkern g1="T" g2="semicolon" k="129" />
+<hkern g1="T" g2="A" k="95" />
+<hkern g1="T" g2="C" k="44" />
+<hkern g1="T" g2="G" k="45" />
+<hkern g1="T" g2="J" k="100" />
+<hkern g1="T" g2="O" k="42" />
+<hkern g1="T" g2="S" k="24" />
+<hkern g1="T" g2="V" k="-12" />
+<hkern g1="T" g2="W" k="-16" />
+<hkern g1="T" g2="Y" k="-20" />
+<hkern g1="T" g2="a" k="100" />
+<hkern g1="T" g2="c" k="90" />
+<hkern g1="T" g2="e" k="95" />
+<hkern g1="T" g2="g" k="89" />
+<hkern g1="T" g2="i" k="3" />
+<hkern g1="T" g2="j" k="5" />
+<hkern g1="T" g2="o" k="92" />
+<hkern g1="T" g2="r" k="92" />
+<hkern g1="T" g2="s" k="92" />
+<hkern g1="T" g2="u" k="91" />
+<hkern g1="T" g2="v" k="95" />
+<hkern g1="T" g2="w" k="93" />
+<hkern g1="T" g2="y" k="100" />
+<hkern g1="U" g2="comma" k="27" />
+<hkern g1="U" g2="period" k="25" />
+<hkern g1="U" g2="A" k="36" />
+<hkern g1="U" g2="m" k="4" />
+<hkern g1="U" g2="n" k="4" />
+<hkern g1="U" g2="p" k="-3" />
+<hkern g1="U" g2="r" k="4" />
+<hkern g1="V" g2="comma" k="89" />
+<hkern g1="V" g2="hyphen" k="38" />
+<hkern g1="V" g2="period" k="89" />
+<hkern g1="V" g2="colon" k="66" />
+<hkern g1="V" g2="semicolon" k="66" />
+<hkern g1="V" g2="A" k="71" />
+<hkern g1="V" g2="C" k="43" />
+<hkern g1="V" g2="G" k="42" />
+<hkern g1="V" g2="O" k="40" />
+<hkern g1="V" g2="S" k="35" />
+<hkern g1="V" g2="T" k="-15" />
+<hkern g1="V" g2="a" k="59" />
+<hkern g1="V" g2="e" k="57" />
+<hkern g1="V" g2="g" k="50" />
+<hkern g1="V" g2="i" k="5" />
+<hkern g1="V" g2="o" k="54" />
+<hkern g1="V" g2="r" k="42" />
+<hkern g1="V" g2="u" k="41" />
+<hkern g1="V" g2="y" k="20" />
+<hkern g1="W" g2="comma" k="56" />
+<hkern g1="W" g2="hyphen" k="13" />
+<hkern g1="W" g2="period" k="56" />
+<hkern g1="W" g2="colon" k="52" />
+<hkern g1="W" g2="semicolon" k="53" />
+<hkern g1="W" g2="A" k="50" />
+<hkern g1="W" g2="C" k="23" />
+<hkern g1="W" g2="G" k="22" />
+<hkern g1="W" g2="O" k="20" />
+<hkern g1="W" g2="S" k="24" />
+<hkern g1="W" g2="T" k="-19" />
+<hkern g1="W" g2="a" k="38" />
+<hkern g1="W" g2="e" k="32" />
+<hkern g1="W" g2="g" k="25" />
+<hkern g1="W" g2="i" k="1" />
+<hkern g1="W" g2="o" k="29" />
+<hkern g1="W" g2="r" k="28" />
+<hkern g1="W" g2="u" k="28" />
+<hkern g1="W" g2="y" k="6" />
+<hkern g1="X" g2="hyphen" k="51" />
+<hkern g1="X" g2="C" k="48" />
+<hkern g1="X" g2="O" k="45" />
+<hkern g1="X" g2="Q" k="44" />
+<hkern g1="X" g2="a" k="15" />
+<hkern g1="X" g2="e" k="36" />
+<hkern g1="X" g2="o" k="33" />
+<hkern g1="X" g2="u" k="24" />
+<hkern g1="X" g2="y" k="61" />
+<hkern g1="Y" g2="comma" k="111" />
+<hkern g1="Y" g2="hyphen" k="84" />
+<hkern g1="Y" g2="period" k="111" />
+<hkern g1="Y" g2="colon" k="87" />
+<hkern g1="Y" g2="semicolon" k="88" />
+<hkern g1="Y" g2="A" k="96" />
+<hkern g1="Y" g2="C" k="58" />
+<hkern g1="Y" g2="G" k="58" />
+<hkern g1="Y" g2="O" k="56" />
+<hkern g1="Y" g2="S" k="41" />
+<hkern g1="Y" g2="T" k="-23" />
+<hkern g1="Y" g2="a" k="88" />
+<hkern g1="Y" g2="e" k="89" />
+<hkern g1="Y" g2="g" k="83" />
+<hkern g1="Y" g2="i" k="-3" />
+<hkern g1="Y" g2="o" k="86" />
+<hkern g1="Y" g2="p" k="54" />
+<hkern g1="Y" g2="u" k="63" />
+<hkern g1="Y" g2="v" k="36" />
+<hkern g1="Z" g2="v" k="33" />
+<hkern g1="Z" g2="y" k="38" />
+<hkern g1="a" g2="j" k="4" />
+<hkern g1="a" g2="v" k="21" />
+<hkern g1="a" g2="w" k="13" />
+<hkern g1="a" g2="y" k="26" />
+<hkern g1="b" g2="v" k="11" />
+<hkern g1="b" g2="w" k="3" />
+<hkern g1="b" g2="y" k="15" />
+<hkern g1="c" g2="h" k="-1" />
+<hkern g1="c" g2="k" k="-7" />
+<hkern g1="e" g2="t" k="10" />
+<hkern g1="e" g2="v" k="15" />
+<hkern g1="e" g2="w" k="9" />
+<hkern g1="e" g2="x" k="27" />
+<hkern g1="e" g2="y" k="19" />
+<hkern g1="f" g2="a" k="9" />
+<hkern g1="f" g2="e" k="15" />
+<hkern g1="f" g2="f" k="-22" />
+<hkern g1="f" g2="i" k="2" />
+<hkern g1="f" g2="j" k="4" />
+<hkern g1="f" g2="l" k="3" />
+<hkern g1="f" g2="o" k="10" />
+<hkern g1="f" g2="t" k="-24" />
+<hkern g1="g" g2="a" k="5" />
+<hkern g1="h" g2="y" k="18" />
+<hkern g1="i" g2="T" k="7" />
+<hkern g1="i" g2="j" k="3" />
+<hkern g1="k" g2="hyphen" k="41" />
+<hkern g1="k" g2="a" k="2" />
+<hkern g1="k" g2="e" k="21" />
+<hkern g1="k" g2="g" k="16" />
+<hkern g1="k" g2="o" k="19" />
+<hkern g1="k" g2="s" k="3" />
+<hkern g1="k" g2="u" k="11" />
+<hkern g1="l" g2="y" k="5" />
+<hkern g1="m" g2="p" k="-5" />
+<hkern g1="m" g2="v" k="13" />
+<hkern g1="m" g2="w" k="7" />
+<hkern g1="m" g2="y" k="18" />
+<hkern g1="n" g2="T" k="96" />
+<hkern g1="n" g2="p" k="-5" />
+<hkern g1="n" g2="v" k="13" />
+<hkern g1="n" g2="w" k="7" />
+<hkern g1="n" g2="y" k="18" />
+<hkern g1="o" g2="T" k="99" />
+<hkern g1="o" g2="t" k="10" />
+<hkern g1="o" g2="v" k="18" />
+<hkern g1="o" g2="w" k="10" />
+<hkern g1="o" g2="x" k="27" />
+<hkern g1="o" g2="y" k="22" />
+<hkern g1="p" g2="t" k="4" />
+<hkern g1="p" g2="y" k="16" />
+<hkern g1="q" g2="c" k="-8" />
+<hkern g1="q" g2="u" k="-4" />
+<hkern g1="r" g2="comma" k="69" />
+<hkern g1="r" g2="hyphen" k="47" />
+<hkern g1="r" g2="period" k="69" />
+<hkern g1="r" g2="colon" k="22" />
+<hkern g1="r" g2="semicolon" k="22" />
+<hkern g1="r" g2="a" k="5" />
+<hkern g1="r" g2="c" k="6" />
+<hkern g1="r" g2="d" k="1" />
+<hkern g1="r" g2="e" k="11" />
+<hkern g1="r" g2="f" k="-26" />
+<hkern g1="r" g2="g" k="4" />
+<hkern g1="r" g2="i" k="-1" />
+<hkern g1="r" g2="k" k="-6" />
+<hkern g1="r" g2="l" k="-1" />
+<hkern g1="r" g2="o" k="6" />
+<hkern g1="r" g2="p" k="-8" />
+<hkern g1="r" g2="q" k="3" />
+<hkern g1="r" g2="s" k="-4" />
+<hkern g1="r" g2="t" k="-28" />
+<hkern g1="r" g2="u" k="-2" />
+<hkern g1="r" g2="v" k="-29" />
+<hkern g1="r" g2="w" k="-31" />
+<hkern g1="r" g2="x" k="-20" />
+<hkern g1="r" g2="y" k="-24" />
+<hkern g1="r" g2="z" k="-9" />
+<hkern g1="s" g2="t" k="3" />
+<hkern g1="t" g2="colon" k="28" />
+<hkern g1="t" g2="semicolon" k="28" />
+<hkern g1="t" g2="S" k="8" />
+<hkern g1="t" g2="a" k="1" />
+<hkern g1="t" g2="e" k="14" />
+<hkern g1="t" g2="h" k="3" />
+<hkern g1="t" g2="o" k="12" />
+<hkern g1="v" g2="comma" k="69" />
+<hkern g1="v" g2="hyphen" k="12" />
+<hkern g1="v" g2="period" k="69" />
+<hkern g1="v" g2="colon" k="23" />
+<hkern g1="v" g2="semicolon" k="23" />
+<hkern g1="v" g2="a" k="18" />
+<hkern g1="v" g2="c" k="16" />
+<hkern g1="v" g2="e" k="21" />
+<hkern g1="v" g2="g" k="14" />
+<hkern g1="v" g2="o" k="17" />
+<hkern g1="v" g2="s" k="9" />
+<hkern g1="w" g2="comma" k="50" />
+<hkern g1="w" g2="hyphen" k="1" />
+<hkern g1="w" g2="period" k="50" />
+<hkern g1="w" g2="colon" k="23" />
+<hkern g1="w" g2="semicolon" k="23" />
+<hkern g1="w" g2="a" k="15" />
+<hkern g1="w" g2="c" k="7" />
+<hkern g1="w" g2="e" k="12" />
+<hkern g1="w" g2="g" k="6" />
+<hkern g1="w" g2="o" k="9" />
+<hkern g1="w" g2="s" k="5" />
+<hkern g1="x" g2="a" k="17" />
+<hkern g1="x" g2="c" k="23" />
+<hkern g1="x" g2="e" k="28" />
+<hkern g1="x" g2="o" k="25" />
+<hkern g1="x" g2="q" k="20" />
+<hkern g1="y" g2="comma" k="70" />
+<hkern g1="y" g2="hyphen" k="14" />
+<hkern g1="y" g2="period" k="70" />
+<hkern g1="y" g2="colon" k="27" />
+<hkern g1="y" g2="semicolon" k="27" />
+<hkern g1="y" g2="a" k="22" />
+<hkern g1="y" g2="c" k="19" />
+<hkern g1="y" g2="e" k="24" />
+<hkern g1="y" g2="g" k="17" />
+<hkern g1="y" g2="l" k="4" />
+<hkern g1="y" g2="o" k="20" />
+<hkern g1="y" g2="s" k="12" />
+</font>
+</defs>
+<g font-family="SVGFreeSansASCII" font-size="18"> 
+<text x="20" y="60">&#160; !&quot;#$%&amp;&apos;()*+,-./0123456789:;&lt;&gt;?</text> 
+<text x="20" y="120">@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_</text> 
+<text x="20" y="180">`abcdefghijklmnopqrstuvwxyz|{}~</text> 
+</g>
+</svg>
diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansBold-Lat1.svg b/Tests/W3CTestSuite/resources/SVGFreeSansBold-Lat1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e34bc7d04a3cda9ec1577f4aa367cc8c72a81b75
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/SVGFreeSansBold-Lat1.svg
@@ -0,0 +1,1787 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100429 at Thu Jun 10 14:22:20 2010
+ By Chris Lilley,,,
+Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation.
+</metadata>
+<defs>
+<font id="FreeSansBold" horiz-adv-x="556" >
+  <font-face 
+    font-family="SVGFreeSansISO-8859-1"
+    font-weight="700"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 11 7 4 2 2 2 2 2 4"
+    ascent="800"
+    descent="-200"
+    x-height="540"
+    cap-height="729"
+    bbox="-22 -220 966 949"
+    underline-thickness="69"
+    underline-position="-155"
+    stemh="118"
+    stemv="141"
+    unicode-range="U+0020-00FF"
+  />
+    <missing-glyph />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="333" 
+d="M262 726v-210l-42 -309h-67l-41 309v210h150zM262 146v-146h-150v146h150z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="474" 
+d="M188 729v-130l-42 -129h-56l-40 129v130h138zM424 729v-130l-42 -129h-56l-40 129v130h138z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M146 -32h-106l40 204h-77v99h97l30 153h-99v99h119l34 174h105l-34 -174h103l34 174h105l-34 -174h90v-99h-109l-31 -153h100v-99h-119l-40 -204h-105l40 204h-103zM205 271h103l30 153h-103z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M243 -21c-143 14 -221 100 -221 219v9h131c3 -70 34 -111 90 -121v213c-135 31 -204 102 -204 213c0 112 75 185 204 197v54h68v-54c126 -7 204 -86 206 -211h-128v6c0 58 -29 97 -78 104v-201c155 -43 216 -102 216 -212c0 -130 -81 -201 -216 -216v-105h-68v105z
+M243 427v181c-55 -11 -81 -41 -81 -92c0 -44 25 -71 81 -89zM311 282v-196c56 14 84 47 84 97c0 48 -28 82 -84 99z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="889" 
+d="M206 701c103 0 184 -81 184 -184c0 -98 -84 -180 -184 -180c-101 0 -184 82 -184 182s83 182 184 182zM206 602c-47 0 -85 -38 -85 -83c0 -46 38 -84 85 -84c46 0 85 38 85 83c0 47 -38 84 -85 84zM606 709h76l-395 -729h-77zM679 352c103 0 184 -81 184 -185
+c0 -98 -84 -180 -184 -180c-101 0 -184 82 -184 183c0 100 83 182 184 182zM679 253c-47 0 -85 -38 -85 -84s38 -84 85 -84c46 0 85 38 85 83c0 47 -38 85 -85 85z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="722" 
+d="M526 373h113v-16c-2 -76 -28 -157 -68 -203l123 -154h-161l-46 56c-81 -61 -127 -79 -195 -79c-142 0 -237 86 -237 216c0 94 40 147 157 208c-6 8 -10 13 -12 15l-28 34c-28 33 -42 69 -42 106c0 94 82 167 189 167s178 -62 178 -155c0 -72 -28 -115 -117 -176l116 -144
+c22 42 30 72 30 115v10zM278 319l-47 -29c-27 -18 -43 -47 -43 -80c0 -60 52 -117 106 -117c31 0 73 19 120 55zM317 470c40 22 60 51 60 86c0 37 -21 58 -57 58c-34 0 -58 -20 -58 -48c0 -25 5 -33 55 -96z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="238" 
+d="M188 729v-130l-42 -129h-56l-40 129v130h138z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M203 729h100c-106 -204 -140 -318 -140 -464c0 -147 34 -259 140 -465h-100c-115 173 -163 311 -163 465c0 153 48 291 163 464z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M122 -200h-100c106 204 140 318 140 464c0 147 -34 259 -140 465h100c115 -173 163 -311 163 -465c0 -153 -48 -291 -163 -464z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="389" 
+d="M132 544l-109 36l22 69l109 -36v116h72v-116l109 36l22 -70l-109 -35l67 -94l-58 -43l-67 94l-67 -94l-58 43z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="584" 
+d="M533 291v-119h-182v-182h-119v182h-182v119h182v182h119v-182h182z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="278" 
+d="M64 146h150v-137c0 -78 -14 -166 -150 -183v56c59 12 86 47 86 115v3h-86v146z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M298 342v-135h-272v135h272z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="278" 
+d="M214 146v-146h-150v146h150z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M208 714h67l-206 -728h-67z" />
+    <glyph glyph-name="zero" unicode="0" 
+d="M273 -23c-195 0 -244 167 -244 373c0 137 19 228 60 283c43 59 108 91 184 91c83 0 152 -37 194 -105c34 -55 50 -143 50 -273c0 -199 -47 -369 -244 -369zM377 349c0 221 -40 262 -104 262c-72 0 -104 -59 -104 -260c0 -211 39 -254 104 -254c40 0 70 23 86 65
+c10 28 18 108 18 187z" />
+    <glyph glyph-name="one" unicode="1" 
+d="M238 489h-170v93c122 0 195 43 217 127h93v-709h-140v489z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M515 499c0 -212 -243 -247 -303 -374h300v-125h-482c7 131 45 193 164 276c157 110 181 142 181 220c0 71 -38 114 -100 114c-64 0 -101 -46 -101 -125v-23h-134c-1 11 -1 19 -1 25c0 150 86 237 233 237c149 0 243 -88 243 -225z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M38 498c0 192 139 226 230 226c137 0 225 -75 225 -193c0 -65 -27 -110 -93 -151c80 -39 116 -93 116 -176c0 -138 -97 -227 -248 -227c-145 0 -238 89 -239 231h136c4 -73 40 -111 106 -111c61 0 105 45 105 107c0 52 -30 93 -77 106c-24 6 -33 7 -82 7v94h12
+c83 0 124 36 124 107c0 59 -32 93 -88 93c-79 0 -95 -49 -97 -125h-130v12z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M522 273v-116h-74v-157h-140v157h-284v118l259 434h165v-436h74zM308 273v303l-185 -303h185z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M489 709v-125h-293l-23 -148c41 31 76 43 123 43c131 0 221 -100 221 -245c0 -153 -104 -257 -256 -257c-138 0 -232 84 -234 208h138c3 -57 37 -88 98 -88c70 0 114 51 114 134c0 86 -43 137 -114 137c-43 0 -75 -19 -90 -54h-126l63 395h379z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M32 337c0 218 62 387 262 387c43 0 187 -8 213 -176h-130c-18 45 -42 63 -87 63c-56 0 -96 -38 -109 -102c-6 -30 -6 -30 -9 -105c44 46 83 63 141 63c122 0 206 -94 206 -230c0 -154 -96 -260 -237 -260c-84 0 -158 39 -199 105c-36 57 -51 133 -51 255zM279 357
+c-65 0 -109 -54 -109 -132c0 -75 44 -128 108 -128c62 0 108 55 108 131c0 78 -42 129 -107 129z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M528 709v-110c-168 -203 -241 -375 -254 -599h-141c19 151 44 244 93 347c28 62 113 191 156 237h-353v125h499z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M501 532c0 -82 -43 -120 -92 -146c82 -44 116 -98 116 -182c0 -134 -103 -227 -251 -227c-149 0 -252 93 -252 227c0 84 34 138 116 182c-64 34 -92 77 -92 145c0 112 96 193 228 193c131 0 227 -81 227 -192zM275 611c-63 0 -106 -38 -106 -92c0 -55 44 -94 106 -94
+c61 0 105 39 105 93c0 55 -43 93 -105 93zM273 330c-67 0 -111 -46 -111 -118c0 -70 43 -115 111 -115s112 45 112 113c0 74 -43 120 -112 120z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M516 370c0 -335 -149 -394 -261 -394c-122 0 -214 80 -217 189h135c3 -42 37 -69 86 -69c79 0 117 67 117 202c-17 -19 -49 -70 -136 -70c-126 0 -212 100 -212 246c0 148 97 250 239 250c100 0 249 -53 249 -354zM263 610c-62 0 -102 -52 -102 -134
+c0 -81 40 -132 104 -132s108 52 108 130c0 83 -42 136 -110 136z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="333" 
+d="M263 146v-146h-150v146h150zM263 520v-146h-150v146h150z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="333" 
+d="M113 146h150v-137c0 -78 -14 -166 -150 -183v56c59 12 86 47 86 115v3h-86v146zM263 520v-146h-150v146h150z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="584" 
+d="M529 474v-109l-382 -133l382 -131v-111l-489 182v121z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="584" 
+d="M534 411v-119h-484v119h484zM534 171v-119h-484v119h484z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="584" 
+d="M40 -10v109l382 133l-382 131v111l489 -182v-121z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="611" 
+d="M64 481c3 226 146 263 243 263c147 0 249 -94 249 -230c0 -84 -27 -128 -120 -194c-60 -42 -67 -53 -67 -119h-124v14c0 180 170 176 170 296c0 65 -45 115 -105 115c-63 0 -110 -57 -110 -134v-9v-2h-136zM385 146v-146h-150v146h150z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="975" 
+d="M258 227c0 62 54 291 256 291c56 0 90 -22 114 -72l16 62h90l-78 -280c-8 -30 -8 -30 -8 -42c0 -30 19 -49 49 -49c64 0 161 102 161 233c0 79 -32 147 -98 206c-70 62 -151 92 -249 92c-232 0 -387 -191 -387 -402c0 -202 172 -326 362 -326c72 0 149 15 207 41l28 -73
+c-70 -32 -143 -46 -237 -46c-281 0 -457 180 -457 402c0 116 55 246 143 337c92 95 210 144 346 144c238 0 431 -161 431 -390c0 -186 -145 -299 -250 -299c-70 0 -112 36 -125 75c-39 -47 -95 -75 -150 -75c-91 0 -164 76 -164 171zM444 137c85 0 151 127 151 208
+c0 63 -32 102 -84 102c-78 0 -156 -101 -156 -203c0 -60 39 -107 89 -107z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="722" 
+d="M501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="722" 
+d="M666 210c0 -87 -51 -210 -256 -210h-328v729h325c192 0 238 -125 238 -192c0 -62 -28 -104 -100 -150c82 -48 121 -105 121 -177zM232 604v-165h163c69 0 106 29 106 82c0 54 -37 83 -106 83h-163zM232 314v-189h179c73 0 111 33 111 94c0 62 -38 95 -111 95h-179z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="722" 
+d="M539 482c-8 37 -31 131 -156 131c-118 0 -189 -96 -189 -257c0 -159 68 -253 184 -253c93 0 152 53 161 146h146c-9 -167 -130 -272 -311 -272c-203 0 -330 147 -330 381c0 236 128 383 334 383c170 0 291 -95 304 -259h-143z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="722" 
+d="M77 0v729h285c112 0 181 -25 230 -84c58 -69 89 -168 89 -280c0 -113 -31 -212 -89 -280c-49 -59 -119 -85 -230 -85h-285zM227 125h135c113 0 169 79 169 239c0 161 -56 240 -169 240h-135v-479z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="667" 
+d="M229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="611" 
+d="M224 314v-314h-150v729h512v-125h-362v-165h319v-125h-319z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="778" 
+d="M570 496c-21 62 -70 117 -174 117c-127 0 -204 -95 -204 -252c0 -150 87 -256 208 -256c37 0 172 24 185 162h-166v125h292v-394h-90l-18 96c-56 -82 -122 -117 -220 -117c-197 0 -341 161 -341 382c0 227 143 382 353 382c176 0 298 -95 316 -245h-141z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="722" 
+d="M507 331h-289v-331h-150v729h150v-273h288v273h151v-729h-150v331z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="278" 
+d="M213 729v-729h-150v729h150z" />
+    <glyph glyph-name="J" unicode="J" 
+d="M252 -23c-100 0 -228 44 -228 221v72h150v-70c0 -67 24 -95 81 -95c52 0 81 30 81 85v539h150v-539c0 -136 -85 -213 -234 -213z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="722" 
+d="M224 244v-244h-150v729h150v-320l285 320h177l-291 -314l322 -415h-179l-239 322z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="611" 
+d="M230 729v-604h349v-125h-499v729h150z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="833" 
+d="M216 568v-568h-150v729h224l132 -580l128 580h226v-729h-150v568l-129 -568h-150z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="722" 
+d="M511 0l-293 504v-504h-150v729h154l289 -496v496h150v-729h-150z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="778" 
+d="M40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="667" 
+d="M226 260v-260h-150v729h322c152 0 235 -80 235 -226c0 -148 -86 -243 -220 -243h-187zM226 385h140c80 0 117 35 117 109c0 75 -37 110 -117 110h-140v-219z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="778" 
+d="M394 741c217 0 351 -166 351 -380c0 -98 -31 -198 -80 -258l80 -76l-76 -81l-86 81c-58 -35 -114 -50 -189 -50c-214 0 -351 162 -351 382s137 382 351 382zM480 278l82 -78c22 44 33 98 33 158c0 155 -79 255 -201 255c-121 0 -201 -101 -201 -254s80 -254 200 -254
+c32 0 65 7 88 19l-77 73z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="722" 
+d="M493 125c0 54 2 46 2 77c0 61 -28 87 -93 87h-172v-289h-150v729h391c157 0 196 -116 196 -197c0 -89 -41 -148 -123 -180c93 -40 97 -50 101 -265c0 -32 9 -47 32 -60v-27h-161c-19 35 -23 57 -23 125zM517 511c0 81 -43 93 -106 93h-181v-190h181c62 0 106 12 106 97z
+" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="667" 
+d="M607 507h-140c-5 74 -58 114 -153 114c-77 0 -126 -35 -126 -90c0 -53 31 -74 138 -95l114 -22c135 -26 193 -86 193 -201c0 -148 -111 -236 -299 -236c-186 0 -293 85 -302 241h146c5 -78 62 -121 164 -121c91 0 147 37 147 98c0 59 -37 87 -137 106l-102 20
+c-148 28 -205 83 -205 196c0 142 101 224 276 224c113 0 286 -35 286 -234z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="611" 
+d="M385 604v-604h-150v604h-221v125h584v-125h-213z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="667" 
+d="M397 0h-127l-246 729h151l162 -549l159 549h151z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="944" 
+d="M730 0h-135l-122 569l-119 -569h-135l-206 729h159l113 -546l113 546h148l118 -547l109 547h159z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="667" 
+d="M419 372l234 -372h-178l-140 253l-139 -253h-174l230 367l-222 362h178l128 -240l134 240h174z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="667" 
+d="M419 270v-270h-150v270l-242 459h167l149 -322l139 322h168z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="611" 
+d="M578 729v-125l-372 -479h372v-125h-548v125l373 479h-373v125h548z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="333" 
+d="M308 729v-102h-112v-725h112v-102h-242v929h242z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M55 714l234 -728h-67l-234 728h67z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="333" 
+d="M18 -200v102h112v725h-112v102h242v-929h-242z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="584" 
+d="M522 270h-113l-121 300l-115 -300h-112l165 425h125z" />
+    <glyph glyph-name="underscore" unicode="_" 
+d="M578 -120v-69h-600v69h600z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M17 757h126l70 -150h-70z" />
+    <glyph glyph-name="a" unicode="a" 
+d="M192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38
+c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="611" 
+d="M348 549c128 0 227 -117 227 -286c0 -163 -98 -286 -227 -286c-68 0 -115 25 -149 78v-55h-140v729h140v-259c34 54 82 79 149 79zM317 432c-70 0 -118 -69 -118 -167c0 -103 47 -171 118 -171c69 0 118 70 118 168c0 100 -49 170 -118 170z" />
+    <glyph glyph-name="c" unicode="c" 
+d="M288 436c-97 0 -114 -102 -114 -177c0 -105 43 -169 114 -169c54 0 82 27 100 97h134c-13 -129 -104 -210 -235 -210c-160 0 -253 104 -253 282c0 184 94 290 255 290c135 0 223 -79 233 -211h-134c-16 71 -43 98 -100 98z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="611" 
+d="M256 -23c-136 0 -227 127 -227 285c0 163 98 287 227 287c67 0 114 -25 149 -79v259h140v-729h-140v55c-35 -53 -82 -78 -149 -78zM287 432c-70 0 -118 -70 -118 -170c0 -99 48 -168 118 -168s118 68 118 166c0 103 -47 172 -118 172z" />
+    <glyph glyph-name="e" unicode="e" 
+d="M272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319c-6 79 -44 123 -109 123c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="333" 
+d="M313 529v-93h-83v-436h-140v436h-76v93h76v65c0 91 45 135 138 135c19 0 54 -1 80 -3v-105c-12 2 -28 3 -40 3c-26 0 -38 -14 -38 -42v-53h83z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="611" 
+d="M408 540h133v-558c0 -127 -94 -200 -257 -200c-143 0 -237 59 -239 153h145c11 -41 46 -63 99 -63c70 0 119 45 119 110v73c-52 -59 -90 -78 -153 -78c-133 0 -221 112 -221 280c0 167 96 292 224 292c62 0 108 -28 150 -92v83zM288 432c-68 0 -114 -71 -114 -173
+c0 -98 46 -165 112 -165c73 0 124 67 124 165c0 100 -52 173 -122 173z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="611" 
+d="M401 330c0 58 -21 100 -86 100c-63 0 -108 -44 -108 -106v-324h-140v729h140v-267c39 59 89 87 158 87c77 0 176 -37 176 -187v-362h-140v330z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="278" 
+d="M207 540v-540h-140v540h140zM207 729v-125h-140v125h140z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="278" 
+d="M210 540v-634c0 -88 -36 -124 -123 -124c-20 0 -55 2 -83 5v112c10 -3 16 -4 25 -4c30 0 41 11 41 42v603h140zM210 729v-125h-140v125h140z" />
+    <glyph glyph-name="k" unicode="k" 
+d="M199 330l177 210h159l-184 -204l197 -336h-164l-129 238l-56 -61v-177h-140v729h140v-399z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="278" 
+d="M207 729v-729h-140v729h140z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="889" 
+d="M60 540h139v-67c46 55 86 76 148 76c67 0 121 -29 147 -80c42 56 90 80 158 80c108 0 172 -62 172 -167v-382h-140v360c0 43 -29 70 -76 70c-60 0 -96 -40 -96 -106v-324h-140v360c0 43 -29 70 -76 70c-60 0 -96 -40 -96 -106v-324h-140v540z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="611" 
+d="M63 540h140v-78c40 60 89 87 162 87c115 0 181 -68 181 -187v-362h-140v333c0 64 -30 97 -90 97c-68 0 -113 -42 -113 -106v-324h-140v540z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="611" 
+d="M301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="611" 
+d="M348 549c140 0 226 -128 226 -287c0 -164 -96 -286 -226 -286c-68 0 -116 28 -150 88v-282h-140v758h140v-80c34 60 82 89 150 89zM316 432c-70 0 -118 -69 -118 -170s48 -169 118 -169c69 0 118 69 118 167c0 103 -47 172 -118 172z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="611" 
+d="M253 -24c-135 0 -225 122 -225 286c0 165 96 287 226 287c67 0 117 -30 150 -89v80h140v-758h-140v282c-33 -59 -83 -88 -151 -88zM286 432c-70 0 -118 -69 -118 -170s48 -169 118 -169s118 68 118 166c0 105 -47 173 -118 173z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="389" 
+d="M63 540h140v-106c30 73 86 115 150 115c4 0 9 0 17 -1v-142c-19 3 -29 4 -44 4c-82 0 -123 -41 -123 -123v-287h-140v540z" />
+    <glyph glyph-name="s" unicode="s" 
+d="M166 157c8 -37 22 -70 110 -70c65 0 104 20 104 53c0 22 -12 33 -47 44l-167 52c-31 10 -118 27 -118 133c0 111 85 180 222 180c145 0 233 -69 235 -183h-135c-1 49 -34 73 -101 73c-49 0 -81 -20 -81 -50c0 -22 10 -30 49 -42l177 -51c71 -21 106 -66 106 -136
+c0 -75 -47 -183 -236 -183c-164 0 -251 62 -255 180h137z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="333" 
+d="M301 529v-93h-78v-294c0 -48 9 -59 46 -59c10 0 18 1 32 3v-98c-25 -8 -50 -11 -81 -11c-92 0 -137 42 -137 127v332h-69v93h69v145h140v-145h78z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="611" 
+d="M541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="v" unicode="v" 
+d="M350 0h-147l-189 540h148l117 -395l109 395h148z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="778" 
+d="M613 0h-145l-81 381l-86 -381h-144l-152 540h145l86 -378l82 378h140l81 -378l82 378h145z" />
+    <glyph glyph-name="x" unicode="x" 
+d="M355 272l180 -272h-168l-91 168l-92 -168h-168l180 272l-176 268h168l88 -163l87 163h168z" />
+    <glyph glyph-name="y" unicode="y" 
+d="M210 -26v4l-201 562h154l119 -393l112 393h144l-222 -639c-13 -37 -27 -120 -180 -120c-17 0 -29 1 -50 4v105c18 -5 26 -6 37 -6c49 0 87 39 87 90z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="500" 
+d="M459 540v-113l-265 -314h274v-113h-447v113l267 314h-249v113h420z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="389" 
+d="M118 150c0 59 -16 72 -77 72l-4 1v92h16c45 1 65 20 65 63v211c0 82 51 140 123 140h76v-99h-37c-31 0 -45 -17 -45 -57v-195c0 -73 -22 -98 -97 -109c75 -12 97 -37 97 -110v-195c0 -49 11 -65 45 -65h37v-99h-76c-72 0 -123 58 -123 140v210z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="280" 
+d="M180 729v-929h-80v929h80z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="389" 
+d="M271 379c0 -59 16 -72 77 -72l4 -1v-92h-16c-45 -1 -65 -20 -65 -63v-211c0 -82 -51 -140 -123 -140h-76v99h37c31 0 45 17 45 57v195c0 73 22 98 97 109c-75 12 -97 37 -97 110v195c0 49 -11 65 -45 65h-37v99h76c72 0 123 -58 123 -140v-210z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="584" 
+d="M388 222c48 0 52 27 53 66h78c-6 -98 -47 -146 -127 -146c-33 0 -57 8 -83 26l-57 42c-23 17 -40 24 -61 24c-46 0 -51 -25 -53 -65h-78c5 97 48 145 127 145c33 0 59 -8 83 -25l57 -42c26 -19 40 -25 61 -25z" />
+    <glyph glyph-name="uni00A0" unicode="&#xa0;" horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="333" 
+d="M66 -186v210l42 309h67l41 -309v-210h-150zM66 394v146h150v-146h-150z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" 
+d="M303 435v-344c46 7 70 35 85 96h134c-11 -120 -100 -205 -219 -210v-101h-44v102c-139 9 -223 115 -223 281c0 172 78 274 223 289v86h44v-85c123 -2 211 -87 219 -211h-134c-13 62 -38 90 -85 97zM259 94v339c-54 -14 -83 -74 -83 -173c0 -93 29 -150 83 -166z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" 
+d="M179 513c0 -37 33 -82 57 -142h139v-55h-122c12 -26 15 -39 15 -59c0 -58 -31 -104 -116 -171c63 30 83 37 112 37c46 0 77 -21 127 -21c33 0 65 9 105 29l41 -109c-56 -33 -96 -45 -145 -45c-70 0 -127 32 -197 32c-38 0 -65 -8 -109 -30l-55 101c84 57 110 93 110 151
+c0 25 -5 46 -21 85h-89v55h60c-45 79 -53 101 -53 145c0 108 89 199 238 199c209 0 238 -134 246 -231h-132l-1 11c-6 45 -22 109 -112 109c-57 0 -98 -38 -98 -91z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" 
+d="M388 528l73 73l69 -69l-75 -75c20 -40 27 -65 27 -103c0 -39 -9 -73 -29 -108l77 -76l-69 -68l-75 75c-46 -25 -64 -30 -100 -30c-40 0 -85 12 -111 31l-79 -78l-68 69l78 77c-22 40 -30 68 -30 106s10 75 29 105l-79 79l69 68l77 -77c31 19 72 31 109 31s78 -12 107 -30
+zM280 460c-60 0 -108 -47 -108 -108c0 -59 48 -107 107 -107s107 48 107 108c0 58 -48 107 -106 107z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" 
+d="M497 351v-59h-142v-53h142v-59h-142v-180h-140v180h-145v59h145v53h-145v59h138l-203 353h139l139 -254l134 254h135l-192 -353h137z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="280" 
+d="M180 729v-389h-80v389h80zM180 189v-389h-80v389h80z" />
+    <glyph glyph-name="section" unicode="&#xa7;" 
+d="M125 428c-20 20 -61 53 -61 123c0 100 88 172 209 172c87 0 194 -30 200 -179h-127c-7 53 -31 77 -78 77c-38 0 -64 -20 -64 -51c0 -28 19 -46 90 -85l127 -70c66 -37 97 -85 97 -153c0 -67 -27 -107 -94 -138c47 -33 70 -77 70 -134c0 -114 -88 -191 -218 -191
+c-139 0 -210 68 -211 201h131v-10c3 -47 19 -80 81 -80c45 0 76 25 76 61c0 44 -34 58 -70 78l-171 100c-51 30 -79 77 -79 132c0 60 21 93 92 147zM337 306l-143 76c-30 -18 -42 -36 -42 -65c0 -31 13 -48 53 -70l147 -80c34 24 46 42 46 65c0 32 -14 49 -61 74z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M128 743v-122h-110v122h110zM314 743v-122h-110v122h110z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="737" 
+d="M552 431h-90c-11 54 -40 78 -93 78c-71 0 -114 -56 -114 -150c0 -93 41 -148 111 -148c57 0 91 30 96 86h92c-5 -105 -78 -169 -190 -169c-123 0 -201 90 -201 232c0 143 78 232 204 232c101 0 177 -55 185 -161zM369 743c210 0 382 -171 382 -382
+c0 -214 -171 -383 -387 -383c-206 0 -378 174 -378 383c0 210 172 382 383 382zM368 671c-167 0 -304 -139 -304 -310c0 -169 137 -311 301 -311c172 0 308 138 308 311c0 171 -137 310 -305 310z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="370" 
+d="M321 340v-78h-284v78h284zM329 410v-10h-92c-8 10 -9 16 -10 32c-28 -30 -62 -46 -98 -46c-59 0 -98 39 -98 98s30 92 95 103l34 6c28 5 67 7 67 37c0 20 -17 31 -49 31c-40 0 -55 -12 -59 -44h-78c1 74 47 112 135 112s133 -34 133 -100v-179c0 -17 4 -26 20 -40z
+M227 530v23c-10 -5 -13 -6 -35 -10l-29 -6c-35 -7 -48 -19 -48 -44c0 -24 17 -39 46 -39c42 0 66 28 66 76z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" 
+d="M88 218v114l167 149v-117l-101 -89l101 -89v-114zM301 218v114l167 149v-117l-101 -89l101 -89v-114z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="584" 
+d="M40 375h504v-289h-77v212h-427v77z" />
+    <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="333" 
+d="M298 342v-135h-272v135h272z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="737" 
+d="M288 313v-173h-96v443h238c76 0 121 -45 121 -121c0 -50 -21 -84 -70 -108c52 -24 54 -31 57 -159c0 -19 4 -26 19 -34v-21h-103c-12 23 -14 37 -14 81c0 8 1 16 1 26v17c0 34 -19 49 -61 49h-92zM288 394h103c48 0 64 13 64 54s-16 54 -64 54h-103v-108zM369 743
+c210 0 382 -171 382 -382c0 -214 -171 -383 -387 -383c-206 0 -378 174 -378 383c0 210 172 382 383 382zM368 671c-167 0 -304 -139 -304 -310c0 -169 137 -311 301 -311c172 0 308 138 308 311c0 171 -137 310 -305 310z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M315 719v-79h-299v79h299z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="606" 
+d="M303 686c83 0 151 -68 151 -151c0 -85 -68 -152 -153 -152c-82 0 -150 69 -150 152s68 151 152 151zM303 623c-49 0 -89 -40 -89 -89c0 -47 40 -88 87 -88c50 0 90 39 90 89c0 48 -40 88 -88 88z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="584" 
+d="M527 103v-119h-471v119h471zM527 432v-119h-176v-176h-119v176h-176v119h176v176h119v-176h176z" />
+    <glyph glyph-name="uni00B2" unicode="&#xb2;" horiz-adv-x="351" 
+d="M328 584c0 -120 -115 -130 -189 -219h187v-81h-310c7 198 217 173 217 296c0 40 -23 64 -61 64s-60 -26 -60 -71c0 -2 1 -9 2 -16h-92c-1 8 -1 15 -1 18c0 92 56 143 156 143c97 0 151 -48 151 -134z" />
+    <glyph glyph-name="uni00B3" unicode="&#xb3;" horiz-adv-x="351" 
+d="M22 571c5 129 87 147 148 147c88 0 145 -46 145 -117c0 -38 -18 -68 -52 -89c44 -21 66 -56 66 -103c0 -84 -63 -138 -159 -138c-98 0 -154 52 -155 143h92c3 -45 23 -66 65 -66c36 0 62 25 62 60c0 41 -29 62 -84 63h-16v62h11c49 0 75 20 75 58c0 33 -21 54 -53 54
+c-47 0 -57 -31 -57 -74h-88z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M317 757l-126 -150h-70l70 150h126z" />
+    <glyph glyph-name="uni00B5" unicode="&#xb5;" horiz-adv-x="611" 
+d="M198 206c0 -64 21 -110 84 -110c59 0 101 44 101 106v338h140v-390c0 -58 6 -73 30 -73c6 0 10 1 20 4v-87c-23 -12 -42 -17 -70 -17c-47 0 -71 14 -95 54c-39 -40 -70 -54 -116 -54c-41 0 -72 11 -100 38v-235h-134v760h140v-334z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" 
+d="M19 495c0 132 90 234 207 234h303v-72h-43v-848h-98v848h-63v-848h-98v458c-123 6 -208 100 -208 228z" />
+    <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="278" 
+d="M64 292h124v-123h-124v123z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M162 0h43l-29 -63c15 5 27 7 42 7c47 0 76 -27 76 -71c0 -60 -46 -93 -129 -93c-44 0 -73 6 -138 28l19 52c53 -23 77 -30 105 -30c32 0 57 18 57 41c0 21 -20 35 -51 35c-20 0 -30 -3 -49 -12z" />
+    <glyph glyph-name="uni00B9" unicode="&#xb9;" horiz-adv-x="300" 
+d="M147 573h-107v61c78 0 124 25 138 75h64v-425h-95v289z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="365" 
+d="M334 340v-78h-301v78h301zM183 729c101 0 160 -64 160 -174c0 -104 -62 -169 -160 -169c-99 0 -160 65 -160 171c0 107 61 172 160 172zM183 661c-45 0 -76 -42 -76 -103c0 -62 31 -104 76 -104s76 42 76 102c0 63 -30 105 -76 105z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" 
+d="M255 335v-115l-167 -148v117l101 89l-101 89v114zM462 335v-115l-167 -148v117l101 89l-101 89v114z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="869" 
+d="M147 573h-107v61c78 0 124 25 138 75h64v-425h-95v289zM593 715h87l-423 -735h-87zM850 168v-75h-46v-93h-95v93h-179v74l165 258h109v-257h46zM709 168v164l-106 -164h106z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="869" 
+d="M147 573h-107v61c78 0 124 25 138 75h64v-425h-95v289zM587 715h87l-423 -735h-87zM846 300c0 -120 -115 -130 -189 -219h187v-81h-310c7 198 217 173 217 296c0 40 -23 64 -61 64s-60 -26 -60 -71c0 -2 1 -9 2 -16h-92c-1 8 -1 15 -1 18c0 92 56 143 156 143
+c97 0 151 -48 151 -134z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="869" 
+d="M22 571c5 129 87 147 148 147c88 0 145 -46 145 -117c0 -38 -18 -68 -52 -89c44 -21 66 -56 66 -103c0 -84 -63 -138 -159 -138c-98 0 -154 52 -155 143h92c3 -45 23 -66 65 -66c36 0 62 25 62 60c0 41 -29 62 -84 63h-16v62h11c49 0 75 20 75 58c0 33 -21 54 -53 54
+c-47 0 -57 -31 -57 -74h-88zM625 715h87l-423 -735h-87zM850 168v-75h-46v-93h-95v93h-179v74l165 258h109v-257h46zM709 168v164l-106 -164h106z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="611" 
+d="M544 59c-3 -226 -146 -263 -243 -263c-147 0 -249 94 -249 230c0 84 27 128 120 194c60 42 67 53 67 119h124v-14c0 -180 -170 -176 -170 -296c0 -65 45 -115 105 -115c63 0 110 57 110 134v9v2h136zM223 394v146h150v-146h-150z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="722" 
+d="M221 936h126l70 -150h-70zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="722" 
+d="M511 935l-126 -150h-70l70 150h126zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="722" 
+d="M312 936h107l103 -150h-78l-82 100l-82 -100h-76zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="722" 
+d="M484 928h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272
+l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="722" 
+d="M326 922v-122h-110v122h110zM512 922v-122h-110v122h110zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="722" 
+d="M364 949c50 0 89 -40 89 -91c0 -49 -41 -89 -90 -89c-50 0 -90 40 -90 90s40 90 91 90zM364 901c-24 0 -43 -19 -43 -42s19 -42 43 -42c22 0 41 19 41 42s-18 42 -41 42zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1000" 
+d="M430 152h-223l-53 -152h-153l263 729h682v-125h-366v-165h339v-125h-339v-189h386v-125h-536v152zM430 277v327h-67l-114 -327h181z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="722" 
+d="M539 482c-8 37 -31 131 -156 131c-118 0 -189 -96 -189 -257c0 -159 68 -253 184 -253c93 0 152 53 161 146h146c-8 -165 -124 -268 -306 -272l-19 -40c14 5 26 7 42 7c47 0 76 -27 76 -71c0 -60 -46 -93 -129 -93c-44 0 -73 6 -138 28l19 52c53 -23 77 -30 105 -30
+c32 0 57 18 57 41c0 21 -20 35 -51 35c-20 0 -30 -3 -49 -12l43 83c-93 16 -132 34 -180 79c-73 70 -111 174 -111 302c0 236 128 383 334 383c170 0 291 -95 304 -259h-143z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="667" 
+d="M207 936h126l70 -150h-70zM229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="667" 
+d="M481 936l-126 -150h-70l70 150h126zM229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="667" 
+d="M294 936h107l103 -150h-78l-82 100l-82 -100h-76zM229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="667" 
+d="M306 922v-122h-110v122h110zM492 922v-122h-110v122h110zM229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="278" 
+d="M-10 936h126l70 -150h-70zM213 729v-729h-150v729h150z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="278" 
+d="M290 936l-126 -150h-70l70 150h126zM213 729v-729h-150v729h150z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="278" 
+d="M89 936h107l103 -150h-78l-82 100l-82 -100h-76zM213 729v-729h-150v729h150z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="278" 
+d="M101 922v-122h-110v122h110zM287 922v-122h-110v122h110zM213 729v-729h-150v729h150z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M77 339h-77v80h77v310h285c115 0 183 -24 231 -84c56 -68 88 -173 88 -280c0 -108 -33 -211 -88 -280c-48 -60 -117 -85 -231 -85h-285v339zM537 364c0 180 -68 240 -175 240h-135v-185h150v-80h-150v-214h135c97 0 175 48 175 239z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="722" 
+d="M484 928h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM511 0l-293 504v-504h-150v729h154l289 -496v496h150v-729h-150z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="778" 
+d="M254 936h126l70 -150h-70zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="778" 
+d="M530 936l-126 -150h-70l70 150h126zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="778" 
+d="M340 936h107l103 -150h-78l-82 100l-82 -100h-76zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z
+" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="778" 
+d="M512 928h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387
+c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="778" 
+d="M353 923v-122h-110v122h110zM539 923v-122h-110v122h110zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250
+c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="584" 
+d="M421 444l84 -84l-129 -129l128 -129l-84 -84l-128 129l-128 -128l-84 84l128 128l-129 128l84 85l129 -129z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="778" 
+d="M740 357c0 -212 -134 -380 -352 -380c-90 0 -165 25 -223 75l-83 -91l-51 46l86 95c-55 74 -82 159 -82 257c0 220 138 382 353 382c95 0 165 -25 232 -84l83 92l52 -45l-89 -99c46 -63 74 -156 74 -248zM567 497l-311 -344c31 -30 80 -48 132 -48c122 0 202 101 202 256
+c0 47 -8 96 -23 136zM214 209l314 346c-37 39 -84 58 -140 58c-124 0 -203 -101 -203 -257c0 -55 10 -105 29 -147z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M228 936h126l70 -150h-70zM365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M504 936l-126 -150h-70l70 150h126zM365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M314 936h107l103 -150h-78l-82 100l-82 -100h-76zM365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M327 922v-122h-110v122h110zM513 922v-122h-110v122h110zM365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="667" 
+d="M479 936l-126 -150h-70l70 150h126zM419 270v-270h-150v270l-242 459h167l149 -322l139 322h168z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="667" 
+d="M398 609c200 0 235 -128 235 -227c0 -149 -85 -242 -220 -242h-187v-140h-150v729h150v-120h172zM226 265h140c80 0 117 35 117 109c0 75 -37 110 -117 110h-140v-219z" />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="611" 
+d="M445 411c34 -7 130 -35 130 -175c0 -152 -87 -253 -218 -253c-22 0 -39 2 -72 6v112c6 1 11 1 13 1l20 1c69 1 117 52 117 123c0 76 -52 123 -137 123h-13v95h9c60 1 98 35 98 89c0 52 -37 83 -98 83c-55 0 -87 -29 -87 -79v-537h-140v518c0 113 47 211 236 211
+c135 0 229 -75 229 -182c0 -67 -30 -114 -87 -136z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" 
+d="M132 757h126l70 -150h-70zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54
+c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" 
+d="M411 757l-126 -150h-70l70 150h126zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54
+c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" 
+d="M221 757h107l103 -150h-78l-82 100l-82 -100h-76zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152
+c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" 
+d="M386 749h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10
+c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74
+c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" 
+d="M234 743v-122h-110v122h110zM420 743v-122h-110v122h110zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152
+c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" 
+d="M273 770c50 0 89 -40 89 -91c0 -49 -41 -89 -90 -89c-50 0 -90 40 -90 90s40 90 91 90zM273 722c-24 0 -43 -19 -43 -42s19 -42 43 -42c22 0 41 19 41 42s-18 42 -41 42zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54
+c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z
+" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="889" 
+d="M494 226c0 -121 66 -142 114 -142s92 29 104 68h138c-31 -107 -129 -175 -250 -175c-88 0 -158 36 -200 104c-62 -73 -124 -105 -205 -105c-103 0 -168 64 -168 165c0 98 51 153 159 171l56 10c53 9 112 12 112 61c0 36 -28 53 -85 53c-63 0 -88 -20 -95 -74h-131
+c2 124 79 187 228 187c78 0 137 -17 175 -50c41 33 94 50 155 50c112 0 256 -60 256 -299c0 -5 0 -12 -1 -24h-362zM354 216v38c-17 -10 -29 -14 -59 -19l-48 -7c-53 -7 -80 -32 -80 -73s29 -66 76 -66c72 0 111 45 111 127zM495 319h216c-7 81 -44 123 -109 123
+c-64 0 -101 -42 -107 -123z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" 
+d="M174 260c0 -73 23 -170 115 -170c53 0 82 28 99 97h134c-11 -124 -105 -210 -229 -210h-2l-17 -40c13 5 26 7 41 7c48 0 77 -27 77 -71c0 -60 -46 -93 -129 -93c-44 0 -78 7 -138 28l19 52c51 -23 77 -30 104 -30c32 0 58 18 58 41c0 21 -20 35 -51 35
+c-20 0 -31 -3 -50 -12l43 85c-138 18 -214 117 -214 280c0 184 94 290 255 290c135 0 223 -79 233 -211h-134c-16 71 -43 98 -100 98c-97 0 -114 -102 -114 -176z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" 
+d="M133 757h126l70 -150h-70zM272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319c-6 79 -44 123 -109 123
+c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" 
+d="M419 757l-126 -150h-70l70 150h126zM272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319c-6 79 -44 123 -109 123
+c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" 
+d="M229 757h107l103 -150h-78l-82 100l-82 -100h-76zM272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319
+c-6 79 -44 123 -109 123c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" 
+d="M242 743v-122h-110v122h110zM428 743v-122h-110v122h110zM272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319
+c-6 79 -44 123 -109 123c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M-10 757h126l70 -150h-70zM207 540v-540h-140v540h140z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M290 757l-126 -150h-70l70 150h126zM207 540v-540h-140v540h140z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M89 757h107l103 -150h-78l-82 100l-82 -100h-76zM207 540v-540h-140v540h140z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M101 743v-122h-110v122h110zM287 743v-122h-110v122h110zM207 540v-540h-140v540h140z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="611" 
+d="M192 741c64 -24 77 -40 102 -49l87 52l51 -34l-84 -50c151 -102 221 -225 221 -391c0 -184 -99 -292 -267 -292c-167 0 -267 108 -267 288c0 161 97 269 239 269c26 0 46 -4 85 -19c-27 43 -57 74 -95 96l-77 -46l-42 37l70 44c-27 16 -41 24 -90 48zM302 429
+c-76 0 -126 -67 -126 -169c0 -103 50 -170 126 -170s126 67 126 167c0 105 -49 172 -126 172z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="611" 
+d="M416 749h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM63 540h140v-78c40 60 89 87 162 87c115 0 181 -68 181 -187v-362h-140
+v333c0 64 -30 97 -90 97c-68 0 -113 -42 -113 -106v-324h-140v540z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="611" 
+d="M165 757h126l70 -150h-70zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="611" 
+d="M441 757l-126 -150h-70l70 150h126zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="611" 
+d="M250 759h107l103 -150h-78l-82 100l-82 -100h-76zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z
+" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="611" 
+d="M419 749h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282
+c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="611" 
+d="M264 743v-122h-110v122h110zM450 743v-122h-110v122h110zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171
+c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="584" 
+d="M534 291v-119h-484v119h484zM230 474h124v-123h-124v123zM230 112h124v-123h-124v123z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="611" 
+d="M126 35l-72 -73l-43 40l75 77c-34 49 -50 109 -50 184c0 178 102 286 269 286c73 0 131 -20 182 -62l68 70l43 -41l-72 -73c32 -50 47 -108 47 -180c0 -177 -102 -286 -267 -286c-71 0 -140 22 -180 58zM421 336l-201 -204c24 -28 53 -42 86 -42c74 0 127 71 127 170
+c0 27 -4 52 -12 76zM190 184l202 206c-28 34 -54 47 -89 47c-75 0 -127 -71 -127 -171c0 -30 5 -59 14 -82z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="611" 
+d="M163 757h126l70 -150h-70zM541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="611" 
+d="M439 757l-126 -150h-70l70 150h126zM541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="611" 
+d="M248 757h107l103 -150h-78l-82 100l-82 -100h-76zM541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="611" 
+d="M260 743v-122h-110v122h110zM446 743v-122h-110v122h110zM541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" 
+d="M411 757l-126 -150h-70l70 150h126zM210 -26v4l-201 562h154l119 -393l112 393h144l-222 -639c-13 -37 -27 -120 -180 -120c-17 0 -29 1 -50 4v105c18 -5 26 -6 37 -6c49 0 87 39 87 90z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="611" 
+d="M198 729v-269c34 60 82 89 150 89c130 0 226 -122 226 -287c0 -163 -96 -285 -226 -285c-68 0 -116 28 -150 87v-282h-140v947h140zM316 432c-70 0 -118 -69 -118 -170c0 -100 48 -168 118 -168c69 0 118 68 118 166c0 103 -47 172 -118 172z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" 
+d="M236 743v-122h-110v122h110zM422 743v-122h-110v122h110zM210 -26v4l-201 562h154l119 -393l112 393h144l-222 -639c-13 -37 -27 -120 -180 -120c-17 0 -29 1 -50 4v105c18 -5 26 -6 37 -6c49 0 87 39 87 90z" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="10" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="B,uni1E02"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="j"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="x"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="j"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="x"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="J"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="j"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="x"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="45" />
+    <hkern g1="F,uni1E1E"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="F,uni1E1E"
+	g2="J"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="j"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="x"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="50" />
+    <hkern g1="F,uni1E1E"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="J"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="J"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="J"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="J"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="J"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="J"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="J"
+	g2="j"
+	k="20" />
+    <hkern g1="J"
+	g2="x"
+	k="50" />
+    <hkern g1="J"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="J"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="J"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="J"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="J"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="J"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="J"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="j"
+	k="10" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="J"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="x"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="R,Rcaron"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="R,Rcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="j"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="x"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="50" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="J"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="x"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="J"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="x"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="r,rcaron"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="p,uni1E57"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="x"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="x"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="f,uniFB00"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="x"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="j"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="x"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="40" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="r,rcaron"
+	k="25" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="j"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="x"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="25" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="x"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="j"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="x"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="x"
+	k="20" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="35" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="B,uni1E02"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="F,uni1E1E"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="guillemotright,guilsinglright"
+	k="50" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="comma,period"
+	k="100" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="80" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="70" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="guillemotright,guilsinglright"
+	k="80" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="80" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="70" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="90" />
+    <hkern g1="quoteright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="quoteright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="quoteright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="quoteright"
+	g2="x"
+	k="40" />
+    <hkern g1="quoteright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="J"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="j"
+	k="30" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="x"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="j"
+	k="10" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="x"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="J"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="x"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="40" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="uni0433,uni0442"
+	g2="uni0434"
+	k="40" />
+    <hkern g1="uni0443,uni045E"
+	g2="uni0434"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0410"
+	k="40" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni042F"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni0420"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="10" />
+    <hkern g1="uni0420"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni042F"
+	k="10" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="40" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni042F"
+	k="20" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansBold.svg b/Tests/W3CTestSuite/resources/SVGFreeSansBold.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8b35f5c88650921afc4f5ca46378c62991f95a27
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/SVGFreeSansBold.svg
@@ -0,0 +1,1787 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100429 at Thu Jun 10 14:22:20 2010
+ By Chris Lilley,,,
+Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation.
+</metadata>
+<defs>
+<font id="ascii" horiz-adv-x="556" >
+  <font-face 
+    font-family="SVGFreeSansASCII"
+    font-weight="700"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 11 7 4 2 2 2 2 2 4"
+    ascent="800"
+    descent="-200"
+    x-height="540"
+    cap-height="729"
+    bbox="-22 -220 966 949"
+    underline-thickness="69"
+    underline-position="-155"
+    stemh="118"
+    stemv="141"
+    unicode-range="U+0020-00FF"
+  />
+    <missing-glyph />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="333" 
+d="M262 726v-210l-42 -309h-67l-41 309v210h150zM262 146v-146h-150v146h150z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="474" 
+d="M188 729v-130l-42 -129h-56l-40 129v130h138zM424 729v-130l-42 -129h-56l-40 129v130h138z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M146 -32h-106l40 204h-77v99h97l30 153h-99v99h119l34 174h105l-34 -174h103l34 174h105l-34 -174h90v-99h-109l-31 -153h100v-99h-119l-40 -204h-105l40 204h-103zM205 271h103l30 153h-103z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M243 -21c-143 14 -221 100 -221 219v9h131c3 -70 34 -111 90 -121v213c-135 31 -204 102 -204 213c0 112 75 185 204 197v54h68v-54c126 -7 204 -86 206 -211h-128v6c0 58 -29 97 -78 104v-201c155 -43 216 -102 216 -212c0 -130 -81 -201 -216 -216v-105h-68v105z
+M243 427v181c-55 -11 -81 -41 -81 -92c0 -44 25 -71 81 -89zM311 282v-196c56 14 84 47 84 97c0 48 -28 82 -84 99z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="889" 
+d="M206 701c103 0 184 -81 184 -184c0 -98 -84 -180 -184 -180c-101 0 -184 82 -184 182s83 182 184 182zM206 602c-47 0 -85 -38 -85 -83c0 -46 38 -84 85 -84c46 0 85 38 85 83c0 47 -38 84 -85 84zM606 709h76l-395 -729h-77zM679 352c103 0 184 -81 184 -185
+c0 -98 -84 -180 -184 -180c-101 0 -184 82 -184 183c0 100 83 182 184 182zM679 253c-47 0 -85 -38 -85 -84s38 -84 85 -84c46 0 85 38 85 83c0 47 -38 85 -85 85z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="722" 
+d="M526 373h113v-16c-2 -76 -28 -157 -68 -203l123 -154h-161l-46 56c-81 -61 -127 -79 -195 -79c-142 0 -237 86 -237 216c0 94 40 147 157 208c-6 8 -10 13 -12 15l-28 34c-28 33 -42 69 -42 106c0 94 82 167 189 167s178 -62 178 -155c0 -72 -28 -115 -117 -176l116 -144
+c22 42 30 72 30 115v10zM278 319l-47 -29c-27 -18 -43 -47 -43 -80c0 -60 52 -117 106 -117c31 0 73 19 120 55zM317 470c40 22 60 51 60 86c0 37 -21 58 -57 58c-34 0 -58 -20 -58 -48c0 -25 5 -33 55 -96z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="238" 
+d="M188 729v-130l-42 -129h-56l-40 129v130h138z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M203 729h100c-106 -204 -140 -318 -140 -464c0 -147 34 -259 140 -465h-100c-115 173 -163 311 -163 465c0 153 48 291 163 464z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M122 -200h-100c106 204 140 318 140 464c0 147 -34 259 -140 465h100c115 -173 163 -311 163 -465c0 -153 -48 -291 -163 -464z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="389" 
+d="M132 544l-109 36l22 69l109 -36v116h72v-116l109 36l22 -70l-109 -35l67 -94l-58 -43l-67 94l-67 -94l-58 43z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="584" 
+d="M533 291v-119h-182v-182h-119v182h-182v119h182v182h119v-182h182z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="278" 
+d="M64 146h150v-137c0 -78 -14 -166 -150 -183v56c59 12 86 47 86 115v3h-86v146z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M298 342v-135h-272v135h272z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="278" 
+d="M214 146v-146h-150v146h150z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M208 714h67l-206 -728h-67z" />
+    <glyph glyph-name="zero" unicode="0" 
+d="M273 -23c-195 0 -244 167 -244 373c0 137 19 228 60 283c43 59 108 91 184 91c83 0 152 -37 194 -105c34 -55 50 -143 50 -273c0 -199 -47 -369 -244 -369zM377 349c0 221 -40 262 -104 262c-72 0 -104 -59 -104 -260c0 -211 39 -254 104 -254c40 0 70 23 86 65
+c10 28 18 108 18 187z" />
+    <glyph glyph-name="one" unicode="1" 
+d="M238 489h-170v93c122 0 195 43 217 127h93v-709h-140v489z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M515 499c0 -212 -243 -247 -303 -374h300v-125h-482c7 131 45 193 164 276c157 110 181 142 181 220c0 71 -38 114 -100 114c-64 0 -101 -46 -101 -125v-23h-134c-1 11 -1 19 -1 25c0 150 86 237 233 237c149 0 243 -88 243 -225z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M38 498c0 192 139 226 230 226c137 0 225 -75 225 -193c0 -65 -27 -110 -93 -151c80 -39 116 -93 116 -176c0 -138 -97 -227 -248 -227c-145 0 -238 89 -239 231h136c4 -73 40 -111 106 -111c61 0 105 45 105 107c0 52 -30 93 -77 106c-24 6 -33 7 -82 7v94h12
+c83 0 124 36 124 107c0 59 -32 93 -88 93c-79 0 -95 -49 -97 -125h-130v12z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M522 273v-116h-74v-157h-140v157h-284v118l259 434h165v-436h74zM308 273v303l-185 -303h185z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M489 709v-125h-293l-23 -148c41 31 76 43 123 43c131 0 221 -100 221 -245c0 -153 -104 -257 -256 -257c-138 0 -232 84 -234 208h138c3 -57 37 -88 98 -88c70 0 114 51 114 134c0 86 -43 137 -114 137c-43 0 -75 -19 -90 -54h-126l63 395h379z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M32 337c0 218 62 387 262 387c43 0 187 -8 213 -176h-130c-18 45 -42 63 -87 63c-56 0 -96 -38 -109 -102c-6 -30 -6 -30 -9 -105c44 46 83 63 141 63c122 0 206 -94 206 -230c0 -154 -96 -260 -237 -260c-84 0 -158 39 -199 105c-36 57 -51 133 -51 255zM279 357
+c-65 0 -109 -54 -109 -132c0 -75 44 -128 108 -128c62 0 108 55 108 131c0 78 -42 129 -107 129z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M528 709v-110c-168 -203 -241 -375 -254 -599h-141c19 151 44 244 93 347c28 62 113 191 156 237h-353v125h499z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M501 532c0 -82 -43 -120 -92 -146c82 -44 116 -98 116 -182c0 -134 -103 -227 -251 -227c-149 0 -252 93 -252 227c0 84 34 138 116 182c-64 34 -92 77 -92 145c0 112 96 193 228 193c131 0 227 -81 227 -192zM275 611c-63 0 -106 -38 -106 -92c0 -55 44 -94 106 -94
+c61 0 105 39 105 93c0 55 -43 93 -105 93zM273 330c-67 0 -111 -46 -111 -118c0 -70 43 -115 111 -115s112 45 112 113c0 74 -43 120 -112 120z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M516 370c0 -335 -149 -394 -261 -394c-122 0 -214 80 -217 189h135c3 -42 37 -69 86 -69c79 0 117 67 117 202c-17 -19 -49 -70 -136 -70c-126 0 -212 100 -212 246c0 148 97 250 239 250c100 0 249 -53 249 -354zM263 610c-62 0 -102 -52 -102 -134
+c0 -81 40 -132 104 -132s108 52 108 130c0 83 -42 136 -110 136z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="333" 
+d="M263 146v-146h-150v146h150zM263 520v-146h-150v146h150z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="333" 
+d="M113 146h150v-137c0 -78 -14 -166 -150 -183v56c59 12 86 47 86 115v3h-86v146zM263 520v-146h-150v146h150z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="584" 
+d="M529 474v-109l-382 -133l382 -131v-111l-489 182v121z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="584" 
+d="M534 411v-119h-484v119h484zM534 171v-119h-484v119h484z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="584" 
+d="M40 -10v109l382 133l-382 131v111l489 -182v-121z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="611" 
+d="M64 481c3 226 146 263 243 263c147 0 249 -94 249 -230c0 -84 -27 -128 -120 -194c-60 -42 -67 -53 -67 -119h-124v14c0 180 170 176 170 296c0 65 -45 115 -105 115c-63 0 -110 -57 -110 -134v-9v-2h-136zM385 146v-146h-150v146h150z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="975" 
+d="M258 227c0 62 54 291 256 291c56 0 90 -22 114 -72l16 62h90l-78 -280c-8 -30 -8 -30 -8 -42c0 -30 19 -49 49 -49c64 0 161 102 161 233c0 79 -32 147 -98 206c-70 62 -151 92 -249 92c-232 0 -387 -191 -387 -402c0 -202 172 -326 362 -326c72 0 149 15 207 41l28 -73
+c-70 -32 -143 -46 -237 -46c-281 0 -457 180 -457 402c0 116 55 246 143 337c92 95 210 144 346 144c238 0 431 -161 431 -390c0 -186 -145 -299 -250 -299c-70 0 -112 36 -125 75c-39 -47 -95 -75 -150 -75c-91 0 -164 76 -164 171zM444 137c85 0 151 127 151 208
+c0 63 -32 102 -84 102c-78 0 -156 -101 -156 -203c0 -60 39 -107 89 -107z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="722" 
+d="M501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="722" 
+d="M666 210c0 -87 -51 -210 -256 -210h-328v729h325c192 0 238 -125 238 -192c0 -62 -28 -104 -100 -150c82 -48 121 -105 121 -177zM232 604v-165h163c69 0 106 29 106 82c0 54 -37 83 -106 83h-163zM232 314v-189h179c73 0 111 33 111 94c0 62 -38 95 -111 95h-179z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="722" 
+d="M539 482c-8 37 -31 131 -156 131c-118 0 -189 -96 -189 -257c0 -159 68 -253 184 -253c93 0 152 53 161 146h146c-9 -167 -130 -272 -311 -272c-203 0 -330 147 -330 381c0 236 128 383 334 383c170 0 291 -95 304 -259h-143z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="722" 
+d="M77 0v729h285c112 0 181 -25 230 -84c58 -69 89 -168 89 -280c0 -113 -31 -212 -89 -280c-49 -59 -119 -85 -230 -85h-285zM227 125h135c113 0 169 79 169 239c0 161 -56 240 -169 240h-135v-479z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="667" 
+d="M229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="611" 
+d="M224 314v-314h-150v729h512v-125h-362v-165h319v-125h-319z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="778" 
+d="M570 496c-21 62 -70 117 -174 117c-127 0 -204 -95 -204 -252c0 -150 87 -256 208 -256c37 0 172 24 185 162h-166v125h292v-394h-90l-18 96c-56 -82 -122 -117 -220 -117c-197 0 -341 161 -341 382c0 227 143 382 353 382c176 0 298 -95 316 -245h-141z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="722" 
+d="M507 331h-289v-331h-150v729h150v-273h288v273h151v-729h-150v331z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="278" 
+d="M213 729v-729h-150v729h150z" />
+    <glyph glyph-name="J" unicode="J" 
+d="M252 -23c-100 0 -228 44 -228 221v72h150v-70c0 -67 24 -95 81 -95c52 0 81 30 81 85v539h150v-539c0 -136 -85 -213 -234 -213z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="722" 
+d="M224 244v-244h-150v729h150v-320l285 320h177l-291 -314l322 -415h-179l-239 322z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="611" 
+d="M230 729v-604h349v-125h-499v729h150z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="833" 
+d="M216 568v-568h-150v729h224l132 -580l128 580h226v-729h-150v568l-129 -568h-150z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="722" 
+d="M511 0l-293 504v-504h-150v729h154l289 -496v496h150v-729h-150z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="778" 
+d="M40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="667" 
+d="M226 260v-260h-150v729h322c152 0 235 -80 235 -226c0 -148 -86 -243 -220 -243h-187zM226 385h140c80 0 117 35 117 109c0 75 -37 110 -117 110h-140v-219z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="778" 
+d="M394 741c217 0 351 -166 351 -380c0 -98 -31 -198 -80 -258l80 -76l-76 -81l-86 81c-58 -35 -114 -50 -189 -50c-214 0 -351 162 -351 382s137 382 351 382zM480 278l82 -78c22 44 33 98 33 158c0 155 -79 255 -201 255c-121 0 -201 -101 -201 -254s80 -254 200 -254
+c32 0 65 7 88 19l-77 73z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="722" 
+d="M493 125c0 54 2 46 2 77c0 61 -28 87 -93 87h-172v-289h-150v729h391c157 0 196 -116 196 -197c0 -89 -41 -148 -123 -180c93 -40 97 -50 101 -265c0 -32 9 -47 32 -60v-27h-161c-19 35 -23 57 -23 125zM517 511c0 81 -43 93 -106 93h-181v-190h181c62 0 106 12 106 97z
+" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="667" 
+d="M607 507h-140c-5 74 -58 114 -153 114c-77 0 -126 -35 -126 -90c0 -53 31 -74 138 -95l114 -22c135 -26 193 -86 193 -201c0 -148 -111 -236 -299 -236c-186 0 -293 85 -302 241h146c5 -78 62 -121 164 -121c91 0 147 37 147 98c0 59 -37 87 -137 106l-102 20
+c-148 28 -205 83 -205 196c0 142 101 224 276 224c113 0 286 -35 286 -234z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="611" 
+d="M385 604v-604h-150v604h-221v125h584v-125h-213z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="667" 
+d="M397 0h-127l-246 729h151l162 -549l159 549h151z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="944" 
+d="M730 0h-135l-122 569l-119 -569h-135l-206 729h159l113 -546l113 546h148l118 -547l109 547h159z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="667" 
+d="M419 372l234 -372h-178l-140 253l-139 -253h-174l230 367l-222 362h178l128 -240l134 240h174z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="667" 
+d="M419 270v-270h-150v270l-242 459h167l149 -322l139 322h168z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="611" 
+d="M578 729v-125l-372 -479h372v-125h-548v125l373 479h-373v125h548z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="333" 
+d="M308 729v-102h-112v-725h112v-102h-242v929h242z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M55 714l234 -728h-67l-234 728h67z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="333" 
+d="M18 -200v102h112v725h-112v102h242v-929h-242z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="584" 
+d="M522 270h-113l-121 300l-115 -300h-112l165 425h125z" />
+    <glyph glyph-name="underscore" unicode="_" 
+d="M578 -120v-69h-600v69h600z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M17 757h126l70 -150h-70z" />
+    <glyph glyph-name="a" unicode="a" 
+d="M192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38
+c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="611" 
+d="M348 549c128 0 227 -117 227 -286c0 -163 -98 -286 -227 -286c-68 0 -115 25 -149 78v-55h-140v729h140v-259c34 54 82 79 149 79zM317 432c-70 0 -118 -69 -118 -167c0 -103 47 -171 118 -171c69 0 118 70 118 168c0 100 -49 170 -118 170z" />
+    <glyph glyph-name="c" unicode="c" 
+d="M288 436c-97 0 -114 -102 -114 -177c0 -105 43 -169 114 -169c54 0 82 27 100 97h134c-13 -129 -104 -210 -235 -210c-160 0 -253 104 -253 282c0 184 94 290 255 290c135 0 223 -79 233 -211h-134c-16 71 -43 98 -100 98z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="611" 
+d="M256 -23c-136 0 -227 127 -227 285c0 163 98 287 227 287c67 0 114 -25 149 -79v259h140v-729h-140v55c-35 -53 -82 -78 -149 -78zM287 432c-70 0 -118 -70 -118 -170c0 -99 48 -168 118 -168s118 68 118 166c0 103 -47 172 -118 172z" />
+    <glyph glyph-name="e" unicode="e" 
+d="M272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319c-6 79 -44 123 -109 123c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="333" 
+d="M313 529v-93h-83v-436h-140v436h-76v93h76v65c0 91 45 135 138 135c19 0 54 -1 80 -3v-105c-12 2 -28 3 -40 3c-26 0 -38 -14 -38 -42v-53h83z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="611" 
+d="M408 540h133v-558c0 -127 -94 -200 -257 -200c-143 0 -237 59 -239 153h145c11 -41 46 -63 99 -63c70 0 119 45 119 110v73c-52 -59 -90 -78 -153 -78c-133 0 -221 112 -221 280c0 167 96 292 224 292c62 0 108 -28 150 -92v83zM288 432c-68 0 -114 -71 -114 -173
+c0 -98 46 -165 112 -165c73 0 124 67 124 165c0 100 -52 173 -122 173z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="611" 
+d="M401 330c0 58 -21 100 -86 100c-63 0 -108 -44 -108 -106v-324h-140v729h140v-267c39 59 89 87 158 87c77 0 176 -37 176 -187v-362h-140v330z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="278" 
+d="M207 540v-540h-140v540h140zM207 729v-125h-140v125h140z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="278" 
+d="M210 540v-634c0 -88 -36 -124 -123 -124c-20 0 -55 2 -83 5v112c10 -3 16 -4 25 -4c30 0 41 11 41 42v603h140zM210 729v-125h-140v125h140z" />
+    <glyph glyph-name="k" unicode="k" 
+d="M199 330l177 210h159l-184 -204l197 -336h-164l-129 238l-56 -61v-177h-140v729h140v-399z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="278" 
+d="M207 729v-729h-140v729h140z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="889" 
+d="M60 540h139v-67c46 55 86 76 148 76c67 0 121 -29 147 -80c42 56 90 80 158 80c108 0 172 -62 172 -167v-382h-140v360c0 43 -29 70 -76 70c-60 0 -96 -40 -96 -106v-324h-140v360c0 43 -29 70 -76 70c-60 0 -96 -40 -96 -106v-324h-140v540z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="611" 
+d="M63 540h140v-78c40 60 89 87 162 87c115 0 181 -68 181 -187v-362h-140v333c0 64 -30 97 -90 97c-68 0 -113 -42 -113 -106v-324h-140v540z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="611" 
+d="M301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="611" 
+d="M348 549c140 0 226 -128 226 -287c0 -164 -96 -286 -226 -286c-68 0 -116 28 -150 88v-282h-140v758h140v-80c34 60 82 89 150 89zM316 432c-70 0 -118 -69 -118 -170s48 -169 118 -169c69 0 118 69 118 167c0 103 -47 172 -118 172z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="611" 
+d="M253 -24c-135 0 -225 122 -225 286c0 165 96 287 226 287c67 0 117 -30 150 -89v80h140v-758h-140v282c-33 -59 -83 -88 -151 -88zM286 432c-70 0 -118 -69 -118 -170s48 -169 118 -169s118 68 118 166c0 105 -47 173 -118 173z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="389" 
+d="M63 540h140v-106c30 73 86 115 150 115c4 0 9 0 17 -1v-142c-19 3 -29 4 -44 4c-82 0 -123 -41 -123 -123v-287h-140v540z" />
+    <glyph glyph-name="s" unicode="s" 
+d="M166 157c8 -37 22 -70 110 -70c65 0 104 20 104 53c0 22 -12 33 -47 44l-167 52c-31 10 -118 27 -118 133c0 111 85 180 222 180c145 0 233 -69 235 -183h-135c-1 49 -34 73 -101 73c-49 0 -81 -20 -81 -50c0 -22 10 -30 49 -42l177 -51c71 -21 106 -66 106 -136
+c0 -75 -47 -183 -236 -183c-164 0 -251 62 -255 180h137z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="333" 
+d="M301 529v-93h-78v-294c0 -48 9 -59 46 -59c10 0 18 1 32 3v-98c-25 -8 -50 -11 -81 -11c-92 0 -137 42 -137 127v332h-69v93h69v145h140v-145h78z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="611" 
+d="M541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="v" unicode="v" 
+d="M350 0h-147l-189 540h148l117 -395l109 395h148z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="778" 
+d="M613 0h-145l-81 381l-86 -381h-144l-152 540h145l86 -378l82 378h140l81 -378l82 378h145z" />
+    <glyph glyph-name="x" unicode="x" 
+d="M355 272l180 -272h-168l-91 168l-92 -168h-168l180 272l-176 268h168l88 -163l87 163h168z" />
+    <glyph glyph-name="y" unicode="y" 
+d="M210 -26v4l-201 562h154l119 -393l112 393h144l-222 -639c-13 -37 -27 -120 -180 -120c-17 0 -29 1 -50 4v105c18 -5 26 -6 37 -6c49 0 87 39 87 90z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="500" 
+d="M459 540v-113l-265 -314h274v-113h-447v113l267 314h-249v113h420z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="389" 
+d="M118 150c0 59 -16 72 -77 72l-4 1v92h16c45 1 65 20 65 63v211c0 82 51 140 123 140h76v-99h-37c-31 0 -45 -17 -45 -57v-195c0 -73 -22 -98 -97 -109c75 -12 97 -37 97 -110v-195c0 -49 11 -65 45 -65h37v-99h-76c-72 0 -123 58 -123 140v210z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="280" 
+d="M180 729v-929h-80v929h80z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="389" 
+d="M271 379c0 -59 16 -72 77 -72l4 -1v-92h-16c-45 -1 -65 -20 -65 -63v-211c0 -82 -51 -140 -123 -140h-76v99h37c31 0 45 17 45 57v195c0 73 22 98 97 109c-75 12 -97 37 -97 110v195c0 49 -11 65 -45 65h-37v99h76c72 0 123 -58 123 -140v-210z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="584" 
+d="M388 222c48 0 52 27 53 66h78c-6 -98 -47 -146 -127 -146c-33 0 -57 8 -83 26l-57 42c-23 17 -40 24 -61 24c-46 0 -51 -25 -53 -65h-78c5 97 48 145 127 145c33 0 59 -8 83 -25l57 -42c26 -19 40 -25 61 -25z" />
+    <glyph glyph-name="uni00A0" unicode="&#xa0;" horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="333" 
+d="M66 -186v210l42 309h67l41 -309v-210h-150zM66 394v146h150v-146h-150z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" 
+d="M303 435v-344c46 7 70 35 85 96h134c-11 -120 -100 -205 -219 -210v-101h-44v102c-139 9 -223 115 -223 281c0 172 78 274 223 289v86h44v-85c123 -2 211 -87 219 -211h-134c-13 62 -38 90 -85 97zM259 94v339c-54 -14 -83 -74 -83 -173c0 -93 29 -150 83 -166z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" 
+d="M179 513c0 -37 33 -82 57 -142h139v-55h-122c12 -26 15 -39 15 -59c0 -58 -31 -104 -116 -171c63 30 83 37 112 37c46 0 77 -21 127 -21c33 0 65 9 105 29l41 -109c-56 -33 -96 -45 -145 -45c-70 0 -127 32 -197 32c-38 0 -65 -8 -109 -30l-55 101c84 57 110 93 110 151
+c0 25 -5 46 -21 85h-89v55h60c-45 79 -53 101 -53 145c0 108 89 199 238 199c209 0 238 -134 246 -231h-132l-1 11c-6 45 -22 109 -112 109c-57 0 -98 -38 -98 -91z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" 
+d="M388 528l73 73l69 -69l-75 -75c20 -40 27 -65 27 -103c0 -39 -9 -73 -29 -108l77 -76l-69 -68l-75 75c-46 -25 -64 -30 -100 -30c-40 0 -85 12 -111 31l-79 -78l-68 69l78 77c-22 40 -30 68 -30 106s10 75 29 105l-79 79l69 68l77 -77c31 19 72 31 109 31s78 -12 107 -30
+zM280 460c-60 0 -108 -47 -108 -108c0 -59 48 -107 107 -107s107 48 107 108c0 58 -48 107 -106 107z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" 
+d="M497 351v-59h-142v-53h142v-59h-142v-180h-140v180h-145v59h145v53h-145v59h138l-203 353h139l139 -254l134 254h135l-192 -353h137z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="280" 
+d="M180 729v-389h-80v389h80zM180 189v-389h-80v389h80z" />
+    <glyph glyph-name="section" unicode="&#xa7;" 
+d="M125 428c-20 20 -61 53 -61 123c0 100 88 172 209 172c87 0 194 -30 200 -179h-127c-7 53 -31 77 -78 77c-38 0 -64 -20 -64 -51c0 -28 19 -46 90 -85l127 -70c66 -37 97 -85 97 -153c0 -67 -27 -107 -94 -138c47 -33 70 -77 70 -134c0 -114 -88 -191 -218 -191
+c-139 0 -210 68 -211 201h131v-10c3 -47 19 -80 81 -80c45 0 76 25 76 61c0 44 -34 58 -70 78l-171 100c-51 30 -79 77 -79 132c0 60 21 93 92 147zM337 306l-143 76c-30 -18 -42 -36 -42 -65c0 -31 13 -48 53 -70l147 -80c34 24 46 42 46 65c0 32 -14 49 -61 74z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M128 743v-122h-110v122h110zM314 743v-122h-110v122h110z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="737" 
+d="M552 431h-90c-11 54 -40 78 -93 78c-71 0 -114 -56 -114 -150c0 -93 41 -148 111 -148c57 0 91 30 96 86h92c-5 -105 -78 -169 -190 -169c-123 0 -201 90 -201 232c0 143 78 232 204 232c101 0 177 -55 185 -161zM369 743c210 0 382 -171 382 -382
+c0 -214 -171 -383 -387 -383c-206 0 -378 174 -378 383c0 210 172 382 383 382zM368 671c-167 0 -304 -139 -304 -310c0 -169 137 -311 301 -311c172 0 308 138 308 311c0 171 -137 310 -305 310z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="370" 
+d="M321 340v-78h-284v78h284zM329 410v-10h-92c-8 10 -9 16 -10 32c-28 -30 -62 -46 -98 -46c-59 0 -98 39 -98 98s30 92 95 103l34 6c28 5 67 7 67 37c0 20 -17 31 -49 31c-40 0 -55 -12 -59 -44h-78c1 74 47 112 135 112s133 -34 133 -100v-179c0 -17 4 -26 20 -40z
+M227 530v23c-10 -5 -13 -6 -35 -10l-29 -6c-35 -7 -48 -19 -48 -44c0 -24 17 -39 46 -39c42 0 66 28 66 76z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" 
+d="M88 218v114l167 149v-117l-101 -89l101 -89v-114zM301 218v114l167 149v-117l-101 -89l101 -89v-114z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="584" 
+d="M40 375h504v-289h-77v212h-427v77z" />
+    <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="333" 
+d="M298 342v-135h-272v135h272z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="737" 
+d="M288 313v-173h-96v443h238c76 0 121 -45 121 -121c0 -50 -21 -84 -70 -108c52 -24 54 -31 57 -159c0 -19 4 -26 19 -34v-21h-103c-12 23 -14 37 -14 81c0 8 1 16 1 26v17c0 34 -19 49 -61 49h-92zM288 394h103c48 0 64 13 64 54s-16 54 -64 54h-103v-108zM369 743
+c210 0 382 -171 382 -382c0 -214 -171 -383 -387 -383c-206 0 -378 174 -378 383c0 210 172 382 383 382zM368 671c-167 0 -304 -139 -304 -310c0 -169 137 -311 301 -311c172 0 308 138 308 311c0 171 -137 310 -305 310z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M315 719v-79h-299v79h299z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="606" 
+d="M303 686c83 0 151 -68 151 -151c0 -85 -68 -152 -153 -152c-82 0 -150 69 -150 152s68 151 152 151zM303 623c-49 0 -89 -40 -89 -89c0 -47 40 -88 87 -88c50 0 90 39 90 89c0 48 -40 88 -88 88z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="584" 
+d="M527 103v-119h-471v119h471zM527 432v-119h-176v-176h-119v176h-176v119h176v176h119v-176h176z" />
+    <glyph glyph-name="uni00B2" unicode="&#xb2;" horiz-adv-x="351" 
+d="M328 584c0 -120 -115 -130 -189 -219h187v-81h-310c7 198 217 173 217 296c0 40 -23 64 -61 64s-60 -26 -60 -71c0 -2 1 -9 2 -16h-92c-1 8 -1 15 -1 18c0 92 56 143 156 143c97 0 151 -48 151 -134z" />
+    <glyph glyph-name="uni00B3" unicode="&#xb3;" horiz-adv-x="351" 
+d="M22 571c5 129 87 147 148 147c88 0 145 -46 145 -117c0 -38 -18 -68 -52 -89c44 -21 66 -56 66 -103c0 -84 -63 -138 -159 -138c-98 0 -154 52 -155 143h92c3 -45 23 -66 65 -66c36 0 62 25 62 60c0 41 -29 62 -84 63h-16v62h11c49 0 75 20 75 58c0 33 -21 54 -53 54
+c-47 0 -57 -31 -57 -74h-88z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M317 757l-126 -150h-70l70 150h126z" />
+    <glyph glyph-name="uni00B5" unicode="&#xb5;" horiz-adv-x="611" 
+d="M198 206c0 -64 21 -110 84 -110c59 0 101 44 101 106v338h140v-390c0 -58 6 -73 30 -73c6 0 10 1 20 4v-87c-23 -12 -42 -17 -70 -17c-47 0 -71 14 -95 54c-39 -40 -70 -54 -116 -54c-41 0 -72 11 -100 38v-235h-134v760h140v-334z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" 
+d="M19 495c0 132 90 234 207 234h303v-72h-43v-848h-98v848h-63v-848h-98v458c-123 6 -208 100 -208 228z" />
+    <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="278" 
+d="M64 292h124v-123h-124v123z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M162 0h43l-29 -63c15 5 27 7 42 7c47 0 76 -27 76 -71c0 -60 -46 -93 -129 -93c-44 0 -73 6 -138 28l19 52c53 -23 77 -30 105 -30c32 0 57 18 57 41c0 21 -20 35 -51 35c-20 0 -30 -3 -49 -12z" />
+    <glyph glyph-name="uni00B9" unicode="&#xb9;" horiz-adv-x="300" 
+d="M147 573h-107v61c78 0 124 25 138 75h64v-425h-95v289z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="365" 
+d="M334 340v-78h-301v78h301zM183 729c101 0 160 -64 160 -174c0 -104 -62 -169 -160 -169c-99 0 -160 65 -160 171c0 107 61 172 160 172zM183 661c-45 0 -76 -42 -76 -103c0 -62 31 -104 76 -104s76 42 76 102c0 63 -30 105 -76 105z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" 
+d="M255 335v-115l-167 -148v117l101 89l-101 89v114zM462 335v-115l-167 -148v117l101 89l-101 89v114z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="869" 
+d="M147 573h-107v61c78 0 124 25 138 75h64v-425h-95v289zM593 715h87l-423 -735h-87zM850 168v-75h-46v-93h-95v93h-179v74l165 258h109v-257h46zM709 168v164l-106 -164h106z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="869" 
+d="M147 573h-107v61c78 0 124 25 138 75h64v-425h-95v289zM587 715h87l-423 -735h-87zM846 300c0 -120 -115 -130 -189 -219h187v-81h-310c7 198 217 173 217 296c0 40 -23 64 -61 64s-60 -26 -60 -71c0 -2 1 -9 2 -16h-92c-1 8 -1 15 -1 18c0 92 56 143 156 143
+c97 0 151 -48 151 -134z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="869" 
+d="M22 571c5 129 87 147 148 147c88 0 145 -46 145 -117c0 -38 -18 -68 -52 -89c44 -21 66 -56 66 -103c0 -84 -63 -138 -159 -138c-98 0 -154 52 -155 143h92c3 -45 23 -66 65 -66c36 0 62 25 62 60c0 41 -29 62 -84 63h-16v62h11c49 0 75 20 75 58c0 33 -21 54 -53 54
+c-47 0 -57 -31 -57 -74h-88zM625 715h87l-423 -735h-87zM850 168v-75h-46v-93h-95v93h-179v74l165 258h109v-257h46zM709 168v164l-106 -164h106z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="611" 
+d="M544 59c-3 -226 -146 -263 -243 -263c-147 0 -249 94 -249 230c0 84 27 128 120 194c60 42 67 53 67 119h124v-14c0 -180 -170 -176 -170 -296c0 -65 45 -115 105 -115c63 0 110 57 110 134v9v2h136zM223 394v146h150v-146h-150z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="722" 
+d="M221 936h126l70 -150h-70zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="722" 
+d="M511 935l-126 -150h-70l70 150h126zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="722" 
+d="M312 936h107l103 -150h-78l-82 100l-82 -100h-76zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="722" 
+d="M484 928h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272
+l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="722" 
+d="M326 922v-122h-110v122h110zM512 922v-122h-110v122h110zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="722" 
+d="M364 949c50 0 89 -40 89 -91c0 -49 -41 -89 -90 -89c-50 0 -90 40 -90 90s40 90 91 90zM364 901c-24 0 -43 -19 -43 -42s19 -42 43 -42c22 0 41 19 41 42s-18 42 -41 42zM501 147h-273l-49 -147h-153l259 729h166l252 -729h-154zM460 272l-95 285l-95 -285h190z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1000" 
+d="M430 152h-223l-53 -152h-153l263 729h682v-125h-366v-165h339v-125h-339v-189h386v-125h-536v152zM430 277v327h-67l-114 -327h181z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="722" 
+d="M539 482c-8 37 -31 131 -156 131c-118 0 -189 -96 -189 -257c0 -159 68 -253 184 -253c93 0 152 53 161 146h146c-8 -165 -124 -268 -306 -272l-19 -40c14 5 26 7 42 7c47 0 76 -27 76 -71c0 -60 -46 -93 -129 -93c-44 0 -73 6 -138 28l19 52c53 -23 77 -30 105 -30
+c32 0 57 18 57 41c0 21 -20 35 -51 35c-20 0 -30 -3 -49 -12l43 83c-93 16 -132 34 -180 79c-73 70 -111 174 -111 302c0 236 128 383 334 383c170 0 291 -95 304 -259h-143z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="667" 
+d="M207 936h126l70 -150h-70zM229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="667" 
+d="M481 936l-126 -150h-70l70 150h126zM229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="667" 
+d="M294 936h107l103 -150h-78l-82 100l-82 -100h-76zM229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="667" 
+d="M306 922v-122h-110v122h110zM492 922v-122h-110v122h110zM229 314v-189h395v-125h-545v729h527v-125h-377v-165h349v-125h-349z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="278" 
+d="M-10 936h126l70 -150h-70zM213 729v-729h-150v729h150z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="278" 
+d="M290 936l-126 -150h-70l70 150h126zM213 729v-729h-150v729h150z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="278" 
+d="M89 936h107l103 -150h-78l-82 100l-82 -100h-76zM213 729v-729h-150v729h150z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="278" 
+d="M101 922v-122h-110v122h110zM287 922v-122h-110v122h110zM213 729v-729h-150v729h150z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M77 339h-77v80h77v310h285c115 0 183 -24 231 -84c56 -68 88 -173 88 -280c0 -108 -33 -211 -88 -280c-48 -60 -117 -85 -231 -85h-285v339zM537 364c0 180 -68 240 -175 240h-135v-185h150v-80h-150v-214h135c97 0 175 48 175 239z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="722" 
+d="M484 928h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM511 0l-293 504v-504h-150v729h154l289 -496v496h150v-729h-150z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="778" 
+d="M254 936h126l70 -150h-70zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="778" 
+d="M530 936l-126 -150h-70l70 150h126zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="778" 
+d="M340 936h107l103 -150h-78l-82 100l-82 -100h-76zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z
+" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="778" 
+d="M512 928h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387
+c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="778" 
+d="M353 923v-122h-110v122h110zM539 923v-122h-110v122h110zM40 359c0 222 138 382 350 382c211 0 352 -155 352 -387c0 -209 -132 -377 -351 -377c-214 0 -351 160 -351 382zM391 613c-121 0 -201 -101 -201 -254s80 -254 201 -254c120 0 201 101 201 250
+c0 158 -78 258 -201 258z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="584" 
+d="M421 444l84 -84l-129 -129l128 -129l-84 -84l-128 129l-128 -128l-84 84l128 128l-129 128l84 85l129 -129z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="778" 
+d="M740 357c0 -212 -134 -380 -352 -380c-90 0 -165 25 -223 75l-83 -91l-51 46l86 95c-55 74 -82 159 -82 257c0 220 138 382 353 382c95 0 165 -25 232 -84l83 92l52 -45l-89 -99c46 -63 74 -156 74 -248zM567 497l-311 -344c31 -30 80 -48 132 -48c122 0 202 101 202 256
+c0 47 -8 96 -23 136zM214 209l314 346c-37 39 -84 58 -140 58c-124 0 -203 -101 -203 -257c0 -55 10 -105 29 -147z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M228 936h126l70 -150h-70zM365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M504 936l-126 -150h-70l70 150h126zM365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M314 936h107l103 -150h-78l-82 100l-82 -100h-76zM365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M327 922v-122h-110v122h110zM513 922v-122h-110v122h110zM365 -23c-123 0 -289 52 -289 258v494h150v-494c0 -88 45 -130 139 -130s139 42 139 130v494h150v-494c0 -206 -166 -258 -289 -258z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="667" 
+d="M479 936l-126 -150h-70l70 150h126zM419 270v-270h-150v270l-242 459h167l149 -322l139 322h168z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="667" 
+d="M398 609c200 0 235 -128 235 -227c0 -149 -85 -242 -220 -242h-187v-140h-150v729h150v-120h172zM226 265h140c80 0 117 35 117 109c0 75 -37 110 -117 110h-140v-219z" />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="611" 
+d="M445 411c34 -7 130 -35 130 -175c0 -152 -87 -253 -218 -253c-22 0 -39 2 -72 6v112c6 1 11 1 13 1l20 1c69 1 117 52 117 123c0 76 -52 123 -137 123h-13v95h9c60 1 98 35 98 89c0 52 -37 83 -98 83c-55 0 -87 -29 -87 -79v-537h-140v518c0 113 47 211 236 211
+c135 0 229 -75 229 -182c0 -67 -30 -114 -87 -136z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" 
+d="M132 757h126l70 -150h-70zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54
+c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" 
+d="M411 757l-126 -150h-70l70 150h126zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54
+c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" 
+d="M221 757h107l103 -150h-78l-82 100l-82 -100h-76zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152
+c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" 
+d="M386 749h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10
+c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74
+c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" 
+d="M234 743v-122h-110v122h110zM420 743v-122h-110v122h110zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152
+c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" 
+d="M273 770c50 0 89 -40 89 -91c0 -49 -41 -89 -90 -89c-50 0 -90 40 -90 90s40 90 91 90zM273 722c-24 0 -43 -19 -43 -42s19 -42 43 -42c22 0 41 19 41 42s-18 42 -41 42zM192 -23c-98 0 -164 65 -164 162s52 152 159 170l56 10c46 7 112 10 112 63c0 36 -27 54 -81 54
+c-69 0 -92 -18 -99 -74h-135c9 125 85 187 231 187s221 -56 221 -166v-300c0 -28 7 -43 32 -66v-17h-152c-13 16 -16 26 -16 54c-49 -51 -104 -77 -164 -77zM355 217v38c-16 -8 -22 -10 -59 -17l-48 -9c-58 -12 -80 -32 -80 -74c0 -40 29 -65 76 -65c71 0 111 46 111 127z
+" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="889" 
+d="M494 226c0 -121 66 -142 114 -142s92 29 104 68h138c-31 -107 -129 -175 -250 -175c-88 0 -158 36 -200 104c-62 -73 -124 -105 -205 -105c-103 0 -168 64 -168 165c0 98 51 153 159 171l56 10c53 9 112 12 112 61c0 36 -28 53 -85 53c-63 0 -88 -20 -95 -74h-131
+c2 124 79 187 228 187c78 0 137 -17 175 -50c41 33 94 50 155 50c112 0 256 -60 256 -299c0 -5 0 -12 -1 -24h-362zM354 216v38c-17 -10 -29 -14 -59 -19l-48 -7c-53 -7 -80 -32 -80 -73s29 -66 76 -66c72 0 111 45 111 127zM495 319h216c-7 81 -44 123 -109 123
+c-64 0 -101 -42 -107 -123z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" 
+d="M174 260c0 -73 23 -170 115 -170c53 0 82 28 99 97h134c-11 -124 -105 -210 -229 -210h-2l-17 -40c13 5 26 7 41 7c48 0 77 -27 77 -71c0 -60 -46 -93 -129 -93c-44 0 -78 7 -138 28l19 52c51 -23 77 -30 104 -30c32 0 58 18 58 41c0 21 -20 35 -51 35
+c-20 0 -31 -3 -50 -12l43 85c-138 18 -214 117 -214 280c0 184 94 290 255 290c135 0 223 -79 233 -211h-134c-16 71 -43 98 -100 98c-97 0 -114 -102 -114 -176z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" 
+d="M133 757h126l70 -150h-70zM272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319c-6 79 -44 123 -109 123
+c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" 
+d="M419 757l-126 -150h-70l70 150h126zM272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319c-6 79 -44 123 -109 123
+c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" 
+d="M229 757h107l103 -150h-78l-82 100l-82 -100h-76zM272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319
+c-6 79 -44 123 -109 123c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" 
+d="M242 743v-122h-110v122h110zM428 743v-122h-110v122h110zM272 549c108 0 253 -60 253 -299c0 -7 0 -12 -1 -24h-362c3 -73 18 -142 112 -142c51 0 90 25 107 68h138c-31 -106 -129 -175 -250 -175c-153 0 -247 106 -247 279c0 181 95 293 250 293zM379 319
+c-6 79 -44 123 -109 123c-62 0 -97 -41 -106 -123h215z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M-10 757h126l70 -150h-70zM207 540v-540h-140v540h140z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M290 757l-126 -150h-70l70 150h126zM207 540v-540h-140v540h140z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M89 757h107l103 -150h-78l-82 100l-82 -100h-76zM207 540v-540h-140v540h140z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M101 743v-122h-110v122h110zM287 743v-122h-110v122h110zM207 540v-540h-140v540h140z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="611" 
+d="M192 741c64 -24 77 -40 102 -49l87 52l51 -34l-84 -50c151 -102 221 -225 221 -391c0 -184 -99 -292 -267 -292c-167 0 -267 108 -267 288c0 161 97 269 239 269c26 0 46 -4 85 -19c-27 43 -57 74 -95 96l-77 -46l-42 37l70 44c-27 16 -41 24 -90 48zM302 429
+c-76 0 -126 -67 -126 -169c0 -103 50 -170 126 -170s126 67 126 167c0 105 -49 172 -126 172z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="611" 
+d="M416 749h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM63 540h140v-78c40 60 89 87 162 87c115 0 181 -68 181 -187v-362h-140
+v333c0 64 -30 97 -90 97c-68 0 -113 -42 -113 -106v-324h-140v540z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="611" 
+d="M165 757h126l70 -150h-70zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="611" 
+d="M441 757l-126 -150h-70l70 150h126zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="611" 
+d="M250 759h107l103 -150h-78l-82 100l-82 -100h-76zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z
+" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="611" 
+d="M419 749h63c-4 -85 -36 -127 -95 -127c-15 0 -34 4 -55 12l-71 26c-12 4 -21 6 -30 6c-24 0 -35 -13 -40 -45h-63c4 78 39 124 94 124c19 0 20 0 56 -13l71 -25c7 -3 27 -6 34 -6c21 0 33 16 36 48zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282
+c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="611" 
+d="M264 743v-122h-110v122h110zM450 743v-122h-110v122h110zM301 549c169 0 268 -107 268 -290c0 -173 -103 -282 -267 -282c-166 0 -267 108 -267 286c0 177 101 286 266 286zM302 436c-76 0 -127 -70 -127 -173s51 -173 127 -173c75 0 127 70 127 171
+c0 106 -50 175 -127 175z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="584" 
+d="M534 291v-119h-484v119h484zM230 474h124v-123h-124v123zM230 112h124v-123h-124v123z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="611" 
+d="M126 35l-72 -73l-43 40l75 77c-34 49 -50 109 -50 184c0 178 102 286 269 286c73 0 131 -20 182 -62l68 70l43 -41l-72 -73c32 -50 47 -108 47 -180c0 -177 -102 -286 -267 -286c-71 0 -140 22 -180 58zM421 336l-201 -204c24 -28 53 -42 86 -42c74 0 127 71 127 170
+c0 27 -4 52 -12 76zM190 184l202 206c-28 34 -54 47 -89 47c-75 0 -127 -71 -127 -171c0 -30 5 -59 14 -82z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="611" 
+d="M163 757h126l70 -150h-70zM541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="611" 
+d="M439 757l-126 -150h-70l70 150h126zM541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="611" 
+d="M248 757h107l103 -150h-78l-82 100l-82 -100h-76zM541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="611" 
+d="M260 743v-122h-110v122h110zM446 743v-122h-110v122h110zM541 0h-140v64c-40 -60 -89 -87 -162 -87c-115 0 -181 68 -181 187v376h140v-347c0 -65 30 -97 90 -97c68 0 113 42 113 106v338h140v-540z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" 
+d="M411 757l-126 -150h-70l70 150h126zM210 -26v4l-201 562h154l119 -393l112 393h144l-222 -639c-13 -37 -27 -120 -180 -120c-17 0 -29 1 -50 4v105c18 -5 26 -6 37 -6c49 0 87 39 87 90z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="611" 
+d="M198 729v-269c34 60 82 89 150 89c130 0 226 -122 226 -287c0 -163 -96 -285 -226 -285c-68 0 -116 28 -150 87v-282h-140v947h140zM316 432c-70 0 -118 -69 -118 -170c0 -100 48 -168 118 -168c69 0 118 68 118 166c0 103 -47 172 -118 172z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" 
+d="M236 743v-122h-110v122h110zM422 743v-122h-110v122h110zM210 -26v4l-201 562h154l119 -393l112 393h144l-222 -639c-13 -37 -27 -120 -180 -120c-17 0 -29 1 -50 4v105c18 -5 26 -6 37 -6c49 0 87 39 87 90z" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="10" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="B,uni1E02"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="j"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="x"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="j"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="x"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="J"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="j"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="x"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="45" />
+    <hkern g1="F,uni1E1E"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="F,uni1E1E"
+	g2="J"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="j"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="x"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="50" />
+    <hkern g1="F,uni1E1E"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="J"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="J"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="J"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="J"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="J"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="J"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="J"
+	g2="j"
+	k="20" />
+    <hkern g1="J"
+	g2="x"
+	k="50" />
+    <hkern g1="J"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="J"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="J"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="J"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="J"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="J"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="J"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="j"
+	k="10" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="J"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="x"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="R,Rcaron"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="R,Rcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="j"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="x"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="50" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="J"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="x"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="J"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="x"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="r,rcaron"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="p,uni1E57"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="x"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="x"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="f,uniFB00"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="x"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="j"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="x"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="40" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="r,rcaron"
+	k="25" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="j"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="x"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="25" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="x"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="j"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="x"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="x"
+	k="20" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="35" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="B,uni1E02"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="F,uni1E1E"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="guillemotright,guilsinglright"
+	k="50" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="comma,period"
+	k="100" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="80" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="70" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="guillemotright,guilsinglright"
+	k="80" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="80" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="70" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="90" />
+    <hkern g1="quoteright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="quoteright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="quoteright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="quoteright"
+	g2="x"
+	k="40" />
+    <hkern g1="quoteright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="J"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="j"
+	k="30" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="x"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="j"
+	k="10" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="x"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="J"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="x"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="40" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="uni0433,uni0442"
+	g2="uni0434"
+	k="40" />
+    <hkern g1="uni0443,uni045E"
+	g2="uni0434"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0410"
+	k="40" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni042F"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni0420"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="10" />
+    <hkern g1="uni0420"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni042F"
+	k="10" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="40" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni042F"
+	k="20" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansBoldItalic.svg b/Tests/W3CTestSuite/resources/SVGFreeSansBoldItalic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..45e3c40f3ff68a54abc8e3ec1878611f329f05cb
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/SVGFreeSansBoldItalic.svg
@@ -0,0 +1,1807 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100429 at Thu Jun 10 14:36:32 2010
+ By Chris Lilley,,,
+Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation.
+</metadata>
+<defs>
+<font id="ascii" horiz-adv-x="556" >
+  <font-face 
+    font-family="SVGFreeSansASCII"
+    font-weight="700"
+    font-style="oblique"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 11 7 4 2 2 2 9 2 4"
+    ascent="800"
+    descent="-200"
+    x-height="540"
+    cap-height="729"
+    bbox="-65 -220 1104 953"
+    underline-thickness="69"
+    underline-position="-111"
+    slope="-12"
+    stemh="113"
+    stemv="145"
+    unicode-range="U+0020-00FF"
+  />
+    <missing-glyph />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="333" 
+d="M417 726l-45 -210l-107 -309h-67l24 309l45 210h150zM293 146l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="474" 
+d="M343 729l-28 -130l-69 -129h-56l-13 129l28 130h138zM579 729l-28 -130l-69 -129h-56l-13 129l28 130h138z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M138 -32h-105l83 204h-77l21 100h97l62 152h-99l22 100h118l71 173h106l-72 -173h103l71 173h106l-72 -173h87l-21 -100h-106l-62 -152h99l-21 -100h-119l-84 -204h-105l83 204h-102zM262 272h103l62 152h-102z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M461 709c70 -6 167 -31 167 -162c0 -15 -1 -27 -5 -49h-128c2 19 3 28 3 40c0 38 -22 64 -58 70l-43 -201c85 -26 176 -68 176 -170c0 -88 -52 -176 -128 -218c-39 -21 -83 -34 -139 -40l-22 -105h-68l23 105c-116 12 -180 72 -180 169c0 18 2 34 8 59h130
+c-1 -19 -1 -26 -1 -33c0 -51 21 -79 65 -88l46 213c-111 28 -165 85 -165 176c0 56 34 213 252 234l11 54h68zM372 608c-92 -18 -100 -86 -100 -107c0 -33 21 -58 62 -74zM371 282l-42 -196c64 15 101 56 101 112c0 40 -20 68 -59 84z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="889" 
+d="M756 709h77l-551 -729h-76zM352 701c89 0 153 -61 153 -144c0 -115 -107 -220 -225 -220c-86 0 -151 62 -151 145c0 113 108 219 223 219zM331 603c-53 0 -102 -49 -102 -102c0 -37 32 -66 73 -66c54 0 103 48 103 101c0 38 -32 67 -74 67zM750 344
+c89 0 153 -61 153 -144c0 -115 -107 -220 -225 -220c-86 0 -151 62 -151 145c0 113 108 219 223 219zM729 246c-53 0 -102 -49 -102 -102c0 -37 32 -66 73 -66c54 0 103 48 103 101c0 38 -32 67 -74 67z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="722" 
+d="M624 605c0 -128 -119 -190 -159 -213l82 -137c34 31 49 61 60 118h113c-11 -73 -59 -160 -118 -213l94 -160h-160l-37 60c-92 -66 -135 -83 -212 -83c-124 0 -198 67 -198 179c0 101 56 174 210 245c-36 51 -53 91 -53 122c0 107 105 200 225 200c91 0 153 -47 153 -118z
+M347 319l-52 -29c-49 -28 -69 -57 -69 -103c0 -52 40 -94 89 -94c34 0 65 14 131 59zM419 470c52 27 80 63 80 104c0 25 -19 41 -51 41c-38 0 -65 -26 -65 -63c0 -18 5 -28 36 -82z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="238" 
+d="M343 729l-28 -130l-70 -129h-55l-13 129l28 130h138z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M458 729c-152 -208 -255 -386 -255 -617c0 -92 14 -168 58 -312h-100c-51 117 -77 225 -77 322c0 202 84 388 274 607h100z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M356 406c0 -133 -28 -323 -277 -606h-100c156 210 258 385 258 616c0 93 -14 166 -61 313h100c55 -121 80 -225 80 -323z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="389" 
+d="M246 544l-101 36l37 69l101 -36l24 116h72l-25 -116l117 36l7 -70l-116 -35l47 -94l-67 -43l-47 94l-87 -94l-49 43z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="584" 
+d="M596 292l-25 -120h-183l-39 -182h-119l39 182h-182l25 120h182l39 181h119l-39 -181h183z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="278" 
+d="M95 146h150l-29 -137c-19 -110 -79 -167 -189 -183l12 56c62 11 98 50 111 118h-86z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M371 342l-29 -135h-272l29 135h272z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="278" 
+d="M245 146l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M360 714h67l-361 -728h-67z" />
+    <glyph glyph-name="zero" unicode="0" 
+d="M421 724c120 0 193 -75 193 -198c0 -101 -38 -275 -80 -366c-55 -119 -147 -183 -263 -183c-118 0 -190 76 -190 199c0 101 38 273 80 365c55 118 147 183 260 183zM394 612c-35 0 -64 -19 -88 -57c-33 -53 -82 -275 -82 -372c0 -51 30 -84 76 -84c59 0 93 39 121 138
+c27 95 50 229 50 291c0 51 -30 84 -77 84z" />
+    <glyph glyph-name="one" unicode="1" 
+d="M342 489h-170l20 93c122 0 204 43 244 127h93l-151 -709h-140z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M628 552c0 -240 -314 -315 -390 -427h300l-26 -125h-482c73 275 260 254 401 404c34 34 54 82 54 128c0 50 -32 80 -86 80c-69 0 -114 -53 -127 -150h-134c26 168 128 262 283 262c130 0 207 -64 207 -172z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M422 230c0 74 -45 87 -138 87l20 94h12c90 0 149 52 149 131c0 41 -32 70 -77 70c-97 0 -110 -97 -117 -126h-129c31 163 117 238 271 238c127 0 200 -55 200 -151c0 -79 -40 -144 -120 -193c49 -30 72 -69 72 -123c0 -157 -112 -280 -293 -280c-130 0 -205 64 -205 174
+c0 19 2 34 6 57h136l1 -10v-22c1 -49 33 -77 90 -77c67 0 122 60 122 131z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M580 273l-25 -116h-73l-34 -157h-140l34 157h-285l25 118l352 434h165l-93 -436h74zM366 273l65 304l-249 -304h184z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M572 300c0 -67 -51 -323 -313 -323c-120 0 -200 65 -200 164c0 13 1 24 5 44h138c-1 -9 -2 -17 -2 -22c0 -39 35 -64 88 -64c81 0 141 76 141 177c0 58 -32 91 -90 91c-42 0 -79 -19 -101 -53h-126l146 395h383l-27 -125h-296l-54 -148c47 31 85 43 132 43
+c109 0 176 -69 176 -179z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M85 171c0 111 54 553 358 553c113 0 182 -58 182 -153c0 -5 0 -14 -1 -23h-130c-9 46 -32 64 -80 64c-87 0 -117 -65 -154 -201c50 38 97 56 149 56c105 0 168 -63 168 -167c0 -79 -59 -323 -293 -323c-121 0 -199 76 -199 194zM352 355c-74 0 -137 -77 -137 -167
+c0 -52 35 -89 86 -89c73 0 133 77 133 170c0 51 -33 86 -82 86z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M679 709l-23 -110l-105 -108c-147 -163 -225 -300 -278 -491h-142c80 242 178 396 373 584h-353l27 125h501z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M620 570c0 -110 -96 -165 -129 -184c61 -37 84 -73 84 -133c0 -68 -33 -143 -86 -194c-54 -53 -130 -82 -213 -82c-133 0 -216 69 -216 178c0 147 120 210 161 231c-47 36 -65 66 -65 109c0 125 121 229 266 229c117 0 198 -63 198 -154zM398 612
+c-67 0 -120 -49 -120 -112c0 -45 34 -75 85 -75c70 0 127 51 127 115c0 43 -37 72 -92 72zM342 330c-78 0 -139 -66 -139 -150c0 -47 40 -81 94 -81c79 0 135 62 135 148c0 51 -35 83 -90 83z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M611 519c0 -102 -54 -542 -363 -542c-107 0 -180 63 -180 155c0 10 1 17 4 33h135c-1 -5 -1 -9 -1 -12c0 -32 32 -54 79 -54c62 0 115 33 151 192c-56 -48 -91 -63 -147 -63c-104 0 -169 67 -169 175c0 179 129 321 293 321c120 0 198 -81 198 -205zM389 612
+c-74 0 -132 -80 -132 -181c0 -53 31 -87 80 -87c80 0 144 78 144 175c0 57 -36 93 -92 93z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="333" 
+d="M294 146l-31 -146h-150l31 146h150zM374 520l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="333" 
+d="M144 146h150l-29 -137c-19 -110 -79 -167 -189 -183l12 56c62 11 98 50 111 118h-86zM374 520l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="584" 
+d="M630 474l-27 -129l-340 -113l292 -111l-28 -131l-450 182l26 121z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="584" 
+d="M622 412l-25 -120h-485l25 120h485zM571 172l-25 -120h-485l25 120h485z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="584" 
+d="M38 -10l27 129l340 113l-292 111l28 131l450 -182l-26 -121z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="611" 
+d="M456 744c173 0 216 -107 216 -178c0 -153 -122 -219 -167 -246c-68 -42 -77 -53 -91 -119h-122c18 192 237 193 237 332c0 51 -38 87 -91 87c-68 0 -117 -51 -134 -139h-136c13 59 58 263 288 263zM418 146l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="975" 
+d="M1032 439c0 -228 -196 -383 -327 -383c-56 0 -93 24 -108 70c-49 -48 -104 -73 -159 -73c-81 0 -137 56 -137 136c0 60 34 135 90 201c69 80 157 128 235 128c50 0 77 -19 97 -69l27 59h90l-136 -280c-17 -33 -19 -40 -19 -54c0 -21 16 -35 39 -35c51 0 215 106 215 286
+c0 120 -109 237 -298 237c-371 0 -468 -360 -468 -466c0 -146 125 -250 303 -250c63 0 118 11 212 41l12 -79c-76 -31 -152 -45 -247 -45c-306 0 -380 199 -380 318c0 130 60 269 162 376c114 120 271 188 435 188c217 0 362 -140 362 -306zM671 376c0 41 -28 70 -70 70
+c-85 0 -200 -131 -200 -231c0 -47 27 -79 67 -79c91 0 203 148 203 240z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="722" 
+d="M532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="722" 
+d="M562 729c161 0 200 -91 200 -158c0 -69 -41 -133 -117 -183c51 -40 71 -78 71 -133c0 -59 -32 -129 -81 -177c-56 -54 -125 -78 -225 -78h-328l155 729h325zM489 439c105 0 124 63 124 103c0 43 -27 62 -89 62h-164l-35 -165h164zM437 125c105 0 131 67 131 120
+c0 47 -29 69 -91 69h-178l-40 -189h178z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="722" 
+d="M107 235c0 282 182 506 426 506c155 0 260 -85 260 -209c0 -11 -1 -22 -4 -50h-141c0 77 -33 131 -132 131c-221 0 -260 -279 -260 -349c0 -105 50 -159 147 -159c96 0 167 52 196 144h143c-44 -171 -178 -272 -360 -272c-171 0 -275 98 -275 258z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="722" 
+d="M77 0l155 729h285c181 0 259 -75 259 -250c0 -115.602 -55.6191 -479 -414 -479h-285zM254 125h134c212.2 0 239 266.436 239 344c0 91 -45 135 -137 135h-135z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="667" 
+d="M296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="611" 
+d="M291 314l-67 -314h-150l155 729h512l-27 -125h-362l-35 -165h320l-27 -125h-319z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="778" 
+d="M795 392l-84 -394h-90l7 90c-74 -79 -140 -111 -233 -111c-176 0 -288 111 -288 285c0 116 48 243 126 334c82 95 191 145 314 145c163 0 272 -86 272 -212c0 -8 -1 -19 -2 -33h-138c-8 75 -65 117 -160 117c-85 0 -153 -38 -201 -112c-36 -55 -62 -146 -62 -217
+c0 -103 72 -179 170 -179c138 0 200 113 216 162h-166l27 125h292z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="722" 
+d="M577 331h-289l-70 -331h-150l155 729h150l-58 -273h288l58 273h151l-155 -729h-150z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="278" 
+d="M368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="J" unicode="J" 
+d="M491 729h150l-115 -539c-16 -76 -51 -135 -100 -167c-43 -28 -113 -46 -179 -46c-117 0 -188 59 -188 156c0 21 2 43 7 65l15 72h150l-16 -77c-3 -13 -4 -24 -4 -34c0 -32 27 -54 66 -54c53 0 87 30 99 85z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="722" 
+d="M274 234l-50 -234h-150l155 729h150l-68 -320l354 320h178l-361 -319l235 -410h-179l-173 314z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="611" 
+d="M385 729l-128 -604h349l-27 -125h-499l155 729h150z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="833" 
+d="M497 0h-150l-7 619l-132 -619h-142l155 729h217l20 -560l254 560h219l-155 -729h-142l132 619z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="722" 
+d="M816 729l-155 -729h-148l-192 523l-111 -523h-142l155 729h150l192 -515l109 515h142z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="778" 
+d="M538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176c-220 0 -264 -262 -264 -331
+c0 -109 63 -177 164 -177z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="667" 
+d="M539 729c167 0 208 -98 208 -169c0 -77 -35 -162 -89 -219c-53 -57 -111 -81 -190 -81h-187l-55 -260h-150l155 729h308zM461 385c110 0 137 84 137 140c0 47 -36 79 -90 79h-154l-46 -219h153z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="778" 
+d="M686 103l64 -76l-93 -81l-69 81c-61 -34 -120 -50 -191 -50c-177 0 -288 110 -288 285c0 116 47 242 123 332c83 100 182 147 306 147c183 0 293 -109 293 -288c0 -123 -60 -268 -145 -350zM539 278l65 -78c46 58 78 154 78 236c0 111 -61 177 -164 177
+c-76 0 -139 -35 -189 -105c-44 -61 -71 -147 -71 -226c0 -109 61 -177 160 -177c32 0 64 7 89 19l-62 73z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="722" 
+d="M510 41c0 61 38 157 38 193c0 37 -28 55 -85 55h-172l-61 -289h-150l155 729h377c138 0 173 -95 173 -150c0 -145 -120 -204 -167 -227c52 -17 78 -44 78 -82c0 -63 -31 -170 -31 -209c0 -14 5 -24 18 -34l-6 -27h-159c-6 19 -8 29 -8 41zM636 534c0 56 -49 70 -110 70
+h-168l-40 -190h181c113 0 137 79 137 120z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="667" 
+d="M151 472c0 149 123 269 322 269c159 0 252 -64 252 -172c0 -20 -2 -34 -8 -62h-140c1 9 2 18 2 23c0 54 -47 83 -132 83c-91 0 -147 -40 -147 -104c0 -38 27 -54 121 -73l109 -22c102 -20 157 -72 157 -149c0 -108 -68 -288 -342 -288c-215 0 -269 112 -269 197
+c0 14 1 24 4 44h146c-1 -9 -2 -18 -2 -23c0 -57 52 -90 143 -90c104 0 171 44 171 111c0 47 -29 67 -120 85l-98 20c-119 24 -169 68 -169 151z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="611" 
+d="M514 604l-129 -604h-150l129 604h-222l27 125h584l-27 -125h-212z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="667" 
+d="M400 0h-127l-94 729h151l45 -549l276 549h151z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="944" 
+d="M730 0h-135l-4 555l-237 -555h-135l-51 729h159l-3 -546l224 546h158l-3 -548l225 548h159z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="667" 
+d="M499 372l156 -372h-179l-90 249l-189 -249h-175l310 367l-145 362h178l79 -236l183 236h175z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="667" 
+d="M477 270l-58 -270h-150l58 270l-145 459h167l82 -315l207 315h167z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="611" 
+d="M733 729l-27 -125l-474 -479h373l-27 -125h-548l27 125l474 479h-373l27 125h548z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="333" 
+d="M463 729l-22 -100h-113l-154 -729h113l-21 -100h-243l197 929h243z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M138 709h74l73 -732h-75z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="333" 
+d="M-25 -200l22 100h113l154 729h-113l21 100h243l-197 -929h-243z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="584" 
+d="M580 270h-113l-58 300l-178 -300h-112l255 425h125z" />
+    <glyph glyph-name="underscore" unicode="_" 
+d="M550 -76l-15 -69h-600l15 69h600z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M175 757h119l45 -150h-63z" />
+    <glyph glyph-name="a" unicode="a" 
+d="M386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9c49 7 126 11 126 74
+c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="611" 
+d="M214 729h140l-55 -259c45 54 98 79 166 79c106 0 175 -82 175 -207c0 -190 -143 -365 -297 -365c-67 0 -110 25 -132 78l-12 -55h-140zM409 437c-86 0 -161 -110 -161 -235c0 -68 35 -113 88 -113c85 0 161 108 161 230c0 73 -34 118 -88 118z" />
+    <glyph glyph-name="c" unicode="c" 
+d="M398 549c124 0 199 -75 199 -168c0 -10 -1 -19 -4 -43h-134c-1 56 -8 99 -82 99c-55 0 -92 -26 -120 -85c-24 -48 -37 -107 -37 -160c0 -69 29 -103 89 -103c54 0 87 27 118 98h134c-42 -134 -140 -210 -269 -210c-172 0 -215 117 -215 195c0 95 42 212 101 282
+c52 63 126 95 220 95z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="611" 
+d="M405 0l12 55c-46 -53 -99 -78 -166 -78c-104 0 -172 82 -172 208c0 82 29 172 78 243c52 75 134 121 215 121c68 0 110 -25 133 -79l55 259h140l-155 -729h-140zM380 437c-83 0 -158 -110 -158 -231c0 -72 34 -117 87 -117c85 0 159 108 159 234c0 70 -34 114 -88 114z
+" />
+    <glyph glyph-name="e" unicode="e" 
+d="M379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208c0 80 47 364 315 364zM448 334c0 55 -16 103 -86 103c-80 0 -117 -58 -134 -118
+h220v15z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="333" 
+d="M425 529l-20 -93h-82l-93 -436h-140l93 436h-77l20 93h76l14 65c20 93 73 135 171 135c18 0 35 -1 77 -3l-22 -105c-27 3 -32 4 -42 4c-25 0 -39 -14 -46 -43l-12 -53h83z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="611" 
+d="M235 -218c-168 0 -209 70 -209 122c0 8 1 19 3 31h144l-1 -12c0 -29 37 -51 86 -51c73 0 132 45 146 110l16 73c-64 -59 -104 -78 -166 -78c-101 0 -175 80 -175 190c0 97 37 207 95 278c53 66 128 104 204 104c59 0 100 -30 127 -92l18 83h133l-119 -558
+c-27 -128 -136 -200 -302 -200zM379 437c-82 0 -157 -113 -157 -236c0 -69 32 -112 84 -112c89 0 165 104 165 226c0 74 -36 122 -92 122z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="611" 
+d="M222 729h140l-58 -271c53 63 109 91 180 91c87 0 145 -53 145 -132c0 -18 -2 -36 -6 -55l-77 -362h-140l67 313c4 21 6 35 6 48c0 49 -26 76 -73 76c-64 0 -117 -52 -134 -133l-65 -304h-140z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="278" 
+d="M322 540l-115 -540h-140l115 540h140zM362 729l-27 -125h-140l27 125h140z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="278" 
+d="M325 540l-135 -634c-18 -87 -74 -124 -188 -124c-19 0 -31 1 -45 5l24 111c4 -3 11 -4 25 -4c30 0 44 12 51 44l128 602h140zM365 729l-27 -125h-140l27 125h140z" />
+    <glyph glyph-name="k" unicode="k" 
+d="M354 729l-85 -399l223 210h159l-232 -206l129 -334h-164l-79 239l-68 -62l-38 -177h-140l155 729h140z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="278" 
+d="M362 729l-155 -729h-140l155 729h140z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="889" 
+d="M175 540h139l-17 -81c59 65 106 90 171 90c62 0 110 -32 124 -82c55 57 109 82 177 82c90 0 142 -47 142 -126c0 -18 -2 -32 -8 -61l-77 -362h-140l72 340c3 14 5 29 5 41c0 36 -21 56 -58 56c-63 0 -108 -41 -123 -113l-69 -324h-140l74 346c2 11 3 21 3 33
+c0 35 -25 58 -63 58c-58 0 -103 -43 -118 -113l-69 -324h-140z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="611" 
+d="M178 540h140l-18 -82c54 64 108 91 182 91c89 0 147 -52 147 -132c0 -18 -2 -36 -6 -55l-77 -362h-140l67 313c4 22 6 36 6 49c0 48 -26 75 -74 75c-67 0 -119 -51 -137 -133l-65 -304h-140z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="611" 
+d="M82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="611" 
+d="M312 540l-17 -80c46 59 102 89 169 89c106 0 173 -80 173 -207c0 -201 -132 -366 -293 -366c-70 0 -112 28 -133 88l-60 -282h-140l161 758h140zM406 437c-86 0 -160 -110 -160 -236c0 -68 35 -113 88 -113c86 0 160 108 160 235c0 69 -34 114 -88 114z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="611" 
+d="M519 540h140l-161 -758h-140l60 282c-45 -59 -102 -88 -170 -88c-106 0 -176 81 -176 204c0 86 30 179 80 250c54 75 134 119 217 119c69 0 113 -29 133 -89zM377 437c-86 0 -162 -110 -162 -235c0 -69 35 -114 89 -114c87 0 162 109 162 236c0 69 -35 113 -89 113z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="389" 
+d="M178 540h140l-23 -106c47 73 111 115 175 115c4 0 9 0 17 -1l-30 -142c-18 3 -28 4 -43 4c-82 0 -133 -41 -150 -123l-61 -287h-140z" />
+    <glyph glyph-name="s" unicode="s" 
+d="M127 345c0 115 104 204 260 204c126 0 202 -55 202 -145c0 -11 -1 -20 -5 -38h-135c2 9 3 13 3 19c0 32 -33 52 -88 52c-53 0 -88 -21 -88 -53c0 -20 14 -30 65 -45l96 -28c83 -25 122 -64 122 -124c0 -128 -108 -210 -278 -210c-177 0 -221 94 -221 150c0 9 1 15 4 30
+h137c3 -58 64 -68 106 -68c61 0 104 23 104 55c0 23 -13 32 -76 52l-79 25c-88 29 -129 68 -129 124z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="333" 
+d="M414 529l-20 -93h-78l-62 -294c-4 -17 -6 -29 -6 -34c0 -15 15 -25 38 -25c11 0 19 1 33 3l-20 -98c-28 -8 -52 -11 -85 -11c-73 0 -113 31 -113 86c0 13 2 27 5 41l70 332h-69l20 93h69l31 145h140l-31 -145h78z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="611" 
+d="M541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="v" unicode="v" 
+d="M350 0h-147l-74 540h148l30 -395l196 395h148z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="778" 
+d="M617 0h-145l-5 380l-166 -380h-144l-37 540h145l5 -378l159 378h144v-378l163 378h145z" />
+    <glyph glyph-name="x" unicode="x" 
+d="M411 274l123 -274h-168l-59 168l-123 -168h-168l233 274l-111 266h168l51 -163l123 163h168z" />
+    <glyph glyph-name="y" unicode="y" 
+d="M509 540h144l-358 -638c-20 -37 -53 -121 -214 -121c-21 0 -31 1 -44 4l23 109c11 -2 16 -2 28 -2c69 0 113 36 113 93c-23 188 -52 369 -77 555h154l36 -393z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="500" 
+d="M575 540l-24 -113l-332 -314h274l-24 -113h-448l24 113l334 314h-249l24 113h421z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="389" 
+d="M195 269c32 -5 79 -13 79 -69c0 -10 -2 -26 -5 -41l-42 -195c-3 -17 -5 -30 -5 -40c0 -16 14 -25 39 -25h35l-21 -99h-77c-58 0 -97 41 -97 101c0 13 1 26 4 39l45 210c3 15 5 28 5 34c0 24 -20 38 -54 38h-13l-4 1l20 92h16c44 0 69 21 78 63l45 211
+c19 90 74 140 153 140h76l-21 -99h-37c-37 0 -47 -10 -57 -57l-41 -195c-16 -72 -48 -101 -121 -109z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="280" 
+d="M335 729l-198 -929h-80l198 929h80z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="389" 
+d="M307 260c-32 5 -79 13 -79 69c0 10 2 26 5 41l42 195c3 17 5 30 5 40c0 16 -14 25 -39 25h-36l21 99h78c58 0 97 -41 97 -101c0 -13 -1 -26 -4 -39l-45 -210c-3 -15 -5 -28 -5 -34c0 -24 20 -38 54 -38h14l4 -1l-20 -92h-17c-44 0 -69 -21 -78 -63l-45 -211
+c-19 -90 -74 -140 -153 -140h-77l21 99h38c37 0 47 10 57 57l41 195c16 72 48 101 121 109z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="584" 
+d="M504 288h77c-23 -95 -78 -146 -158 -146c-33 0 -56 8 -77 26l-48 42c-20 17 -36 24 -56 24c-38 0 -54 -15 -67 -65h-78c26 97 79 145 159 145c32 0 56 -8 76 -25l49 -42c21 -19 34 -25 56 -25c38 0 53 15 67 66z" />
+    <glyph glyph-name="uni00A0" unicode="&#xa0;" horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="333" 
+d="M26 -186l45 210l107 309h67l-24 -309l-45 -210h-150zM150 394l31 146h150l-31 -146h-150z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" 
+d="M434 547c146 -18 164 -131 164 -166c0 -10 -1 -19 -4 -43h-134c0 60 -12 85 -50 97l-73 -346c41 10 67 39 91 98h134c-36 -122 -132 -203 -249 -209l-21 -102h-66l22 104c-156 26 -169 150 -169 192c0 75 43 356 289 376l19 86h66zM344 435c-105 -28 -122 -201 -122 -244
+c0 -55 14 -82 50 -98z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" 
+d="M288 496c0 -30 17 -69 28 -125h139l-12 -55h-122c2 -13 2 -19 2 -26c0 -71 -41 -127 -151 -204c64 29 78 33 108 33c44 0 82 -17 131 -17c36 0 69 9 114 29l18 -109c-64 -33 -106 -45 -155 -45c-72 0 -121 30 -191 30c-37 0 -66 -7 -115 -28l-33 101
+c104 61 144 111 144 181c0 15 -1 27 -5 55h-89l12 55h60c-21 61 -26 80 -26 107c0 56 56 237 280 237c134 0 204 -60 204 -176c0 -17 -1 -30 -4 -55h-131c1 10 1 21 1 26c0 62 -31 93 -93 93c-61 0 -114 -50 -114 -107z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" 
+d="M501 528l89 73l54 -69l-91 -75c7 -23 10 -41 10 -60c0 -51 -20 -105 -56 -151l60 -76l-83 -68l-59 75c-48 -24 -71 -30 -108 -30c-38 0 -82 13 -103 31l-94 -78l-54 69l94 77c-8 24 -11 42 -11 64c0 50 21 105 55 147l-62 79l83 68l61 -77c34 19 79 31 118 31
+c35 0 72 -12 97 -30zM377 460c-72 0 -128 -57 -128 -130c0 -50 35 -85 86 -85c71 0 128 58 128 130c0 50 -36 85 -86 85z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" 
+d="M574 352l-13 -60h-144l-11 -52h144l-13 -60h-144l-38 -180h-140l38 180h-146l13 60h146l11 52h-146l12 60h140l-128 352h139l85 -254l187 254h136l-267 -352h139z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="280" 
+d="M335 729l-83 -389h-80l83 389h80zM220 189l-83 -389h-80l83 389h80z" />
+    <glyph glyph-name="section" unicode="&#xa7;" 
+d="M496 27c0 -46 -46 -228 -264 -228c-108 0 -176 55 -176 142c0 19 2 33 9 59h131c-2 -17 -3 -24 -3 -34c0 -36 23 -55 65 -55c51 0 90 32 90 74c0 27 -6 31 -55 64l-150 100c-34 23 -54 59 -54 98c0 75 30 121 127 181c-26 27 -38 57 -38 96c0 47 24 98 65 135
+c44 41 109 64 182 64c107 0 171 -48 171 -129c0 -14 -2 -25 -7 -50h-127c1 7 1 14 1 18c0 38 -22 59 -62 59c-43 0 -75 -27 -75 -62c0 -21 21 -43 71 -74l112 -70c48 -30 69 -65 69 -113c0 -106 -58 -149 -130 -176c33 -27 48 -58 48 -99zM258 247l125 -77
+c47 22 65 44 65 77c0 24 -11 38 -46 59l-127 76c-38 -20 -56 -47 -56 -81c0 -22 10 -37 39 -54z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M283 741l-26 -120h-110l26 120h110zM469 741l-26 -120h-110l26 120h110z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="737" 
+d="M232 287c0 172 114 305 261 305c93 0 154 -51 154 -128c0 -8 -1 -16 -3 -33h-90c0 54 -23 78 -76 78c-130 0 -153 -161 -153 -204c0 -61 31 -94 86 -94c57 0 97 30 115 86h92c-28 -105 -114 -169 -228 -169c-98 0 -158 61 -158 159zM530 743c177 0 307 -128 307 -303
+c0 -239 -230 -462 -477 -462c-176 0 -306 128 -306 303c0 239 230 462 476 462zM514 671c-196 0 -380 -182 -380 -376c0 -141 103 -245 243 -245c196 0 380 182 380 377c0 141 -103 244 -243 244z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="370" 
+d="M396 342l-16 -80h-284l17 80h283zM420 409l-2 -10h-92c-3 6 -4 10 -4 16c0 4 0 6 2 16c-36 -32 -67 -46 -107 -46c-51 0 -83 30 -83 78c0 63 48 112 122 123l34 6c41 6 76 9 76 44c0 17 -13 25 -44 25c-38 0 -57 -12 -67 -44h-79c17 75 71 112 161 112
+c71 0 114 -27 114 -72c0 -8 -1 -17 -3 -28l-39 -180c-1 -5 -1 -8 -1 -13c0 -8 4 -17 12 -27zM344 529l5 23c-7 -3 -9 -4 -16 -6c-2 0 -6 -1 -12 -2l-10 -1l-30 -6c-38 -6 -60 -26 -60 -54c0 -19 15 -30 42 -30c41 0 71 28 81 76z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" 
+d="M135 218l24 114l199 149l-25 -117l-120 -89l82 -89l-24 -114zM348 218l24 114l199 149l-25 -117l-120 -89l82 -89l-24 -114z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="584" 
+d="M128 376h504l-61 -290h-119l36 170h-385z" />
+    <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="333" 
+d="M371 342l-29 -135h-272l29 135h272z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="737" 
+d="M480 168c0 37 20 93 20 110c0 24 -17 35 -53 35h-91l-37 -173h-96l94 442h238c66 0 99 -30 99 -89c0 -64 -33 -111 -97 -140c28 -13 39 -27 39 -49c0 -17 -3 -38 -15 -109l-1 -13c0 -9 3 -15 12 -21l-5 -21h-102c-4 13 -5 19 -5 28zM475 394c42 0 78 12 78 75
+c0 24 -15 33 -55 33h-102l-23 -108h102zM530 743c178 0 307 -128 307 -303c0 -239 -229 -462 -476 -462c-176 0 -306 128 -306 303c0 239 229 462 475 462zM514 671c-196 0 -379 -182 -379 -376c0 -141 102 -245 242 -245c197 0 380 182 380 377c0 141 -103 244 -243 244z
+" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M467 722l-17 -80h-300l17 80h300z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="606" 
+d="M391 686c84 0 152 -68 152 -151c0 -85 -68 -152 -153 -152c-82 0 -150 69 -150 152s68 151 151 151zM392 623c-49 0 -89 -40 -89 -89c0 -47 40 -88 87 -88c50 0 90 39 90 89c0 48 -40 88 -88 88z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="584" 
+d="M630 452l-25 -120h-183l-35 -162h-119l35 162h-182l25 120h182l39 181h119l-39 -181h183zM559 119l-25 -119h-484l25 119h484z" />
+    <glyph glyph-name="uni00B2" unicode="&#xb2;" horiz-adv-x="350" 
+d="M457 613c0 -143 -187 -185 -236 -249h184l-17 -80h-306c53 205 282 181 282 316c0 29 -19 46 -52 46c-43 0 -69 -31 -75 -89h-91c16 104 79 161 178 161c84 0 133 -39 133 -105z" />
+    <glyph glyph-name="uni00B3" unicode="&#xb3;" horiz-adv-x="350" 
+d="M240 471l13 63c4 -1 9 -1 10 -1c53 0 87 28 87 73c0 24 -18 40 -45 40c-38 0 -56 -19 -68 -75h-87c20 102 73 147 172 147c81 0 128 -34 128 -93c0 -46 -24 -84 -71 -113c29 -18 43 -41 43 -73c0 -99 -75 -168 -184 -168c-83 0 -131 39 -131 107c0 12 1 20 4 36h91
+c-2 -8 -2 -12 -2 -18c0 -31 19 -47 56 -47c40 0 73 33 73 73c0 34 -22 48 -76 49h-13z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M475 757l-158 -150h-70l102 150h126z" />
+    <glyph glyph-name="uni00B5" unicode="&#xb5;" horiz-adv-x="667" 
+d="M523 118l19 -9l16 -76c-22 -12 -59 -35 -94 -35c-47 0 -71 20 -77 45c-38 -34 -91 -55 -141 -55c-58 0 -81 20 -97 31l-55 -213h-138l191 737h138l-83 -322c-3 -11 -4 -22 -4 -32c0 -31 17 -82 82 -82c58.0508 0 111.424 39.6953 130 114l83 322h136l-97 -376
+c-6.28809 -24.1035 -9 -39.2002 -9 -49z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" 
+d="M121 435c0 118 95 294 261 294h302l-15 -73h-44l-180 -847h-98l180 847h-62l-180 -847h-98l97 458c-100 5 -163 70 -163 168z" />
+    <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="278" 
+d="M270 282l-22 -100h-105l22 100h105z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M154 0h50l-41 -62c16 4 28 6 43 6c40 0 64 -21 64 -57c0 -65 -60 -107 -150 -107c-45 0 -77 7 -133 29l30 51c47 -23 70 -30 98 -30c38 0 68 20 68 44c0 20 -18 33 -44 33c-17 0 -29 -3 -53 -13z" />
+    <glyph glyph-name="uni00B9" unicode="&#xb9;" horiz-adv-x="248" 
+d="M248 573h-106l13 61c78 0 128 25 152 75h63l-90 -425h-94z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="365" 
+d="M410 342l-17 -80h-301l17 80h301zM140 506c0 115 75 223 199 223c82 0 132 -45 132 -119c0 -124 -80 -224 -202 -224c-79 0 -129 46 -129 120zM326 661c-54 0 -99 -64 -99 -141c0 -43 23 -71 58 -71c54 0 99 65 99 141c0 43 -23 71 -58 71z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" 
+d="M326 335l-24 -115l-199 -148l25 117l120 89l-82 89l24 114zM533 335l-24 -115l-199 -148l25 117l120 89l-82 89l24 114z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="869" 
+d="M252 573h-106l13 61c78 0 128 25 152 75h63l-90 -425h-94zM733 715h85l-581 -735h-85zM881 166l-16 -73h-46l-19 -93h-94l20 93h-177l16 72l217 260h108l-55 -259h46zM742 166l35 166l-140 -166h105z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="869" 
+d="M258 573h-106l13 61c78 0 128 25 152 75h63l-90 -425h-94zM738 715h85l-581 -735h-85zM915 329c0 -143 -187 -185 -236 -249h184l-17 -80h-306c53 205 282 181 282 316c0 29 -19 46 -52 46c-43 0 -69 -31 -75 -89h-91c16 104 79 161 178 161c84 0 133 -39 133 -105z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="869" 
+d="M247 471l13 63c4 -1 9 -1 10 -1c53 0 87 28 87 73c0 24 -18 40 -45 40c-38 0 -56 -19 -68 -75h-87c20 102 73 147 172 147c81 0 128 -34 128 -93c0 -46 -24 -84 -71 -113c29 -18 43 -41 43 -73c0 -99 -75 -168 -184 -168c-83 0 -131 39 -131 107c0 12 1 20 4 36h91
+c-2 -8 -2 -12 -2 -18c0 -31 19 -47 56 -47c40 0 73 33 73 73c0 34 -22 48 -76 49h-13zM775 715h85l-581 -735h-85zM878 166l-16 -73h-46l-19 -93h-94l20 93h-177l16 72l217 260h108l-55 -259h46zM739 166l35 166l-140 -166h105z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="611" 
+d="M556 59c-13 -59 -58 -263 -288 -263c-133 0 -216 69 -216 178c0 157 128 222 167 246c68 41 77 53 91 119h122c-18 -197 -237 -188 -237 -332c0 -51 38 -87 92 -87c67 0 117 52 133 139h136zM306 394l31 146h150l-31 -146h-150z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="722" 
+d="M430 924h119l45 -150h-63zM532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="722" 
+d="M691 930l-158 -150h-70l102 150h126zM532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="722" 
+d="M511 936h108l71 -147h-78l-61 97l-103 -97h-76zM532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="722" 
+d="M740 923c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM532 147h-272l-81 -147h-153l407 729h173l97 -729h-153z
+M518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="722" 
+d="M532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189zM523 921l-26 -120h-110l26 120h110zM709 921l-26 -120h-110l26 120h110z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="722" 
+d="M532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189zM564 953c42 0 72 -30 72 -71c0 -57 -54 -109 -112 -109c-42 0 -72 30 -72 71c0 57 54 109 112 109zM554 903c-27 0 -53 -23 -53 -48c0 -18 14 -32 34 -32c27 0 52 24 52 49
+c0 18 -14 31 -33 31z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1000" 
+d="M464 152h-219l-85 -152h-159l420 729h683l-26 -125h-367l-36 -165h339l-26 -125h-339l-40 -189h386l-27 -125h-536zM491 277l70 327h-66l-185 -327h181z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="722" 
+d="M516 613c-219 0 -260 -278 -260 -348c0 -106 50 -160 147 -160c96 0 167 52 196 144h143c-41 -167 -177 -271 -353 -272l-26 -40c14 5 28 7 43 7c40 0 64 -21 64 -57c0 -65 -60 -107 -151 -107c-44 0 -76 7 -133 29l30 51c48 -23 71 -30 99 -30c38 0 68 20 68 44
+c0 20 -18 33 -44 33c-17 0 -29 -3 -54 -13l55 84c-141 11 -233 112 -233 257c0 282 182 506 426 506c155 0 260 -85 260 -210c0 -11 -1 -23 -4 -49h-141c0 77 -33 131 -132 131z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="667" 
+d="M430 923h119l45 -150h-63zM296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="667" 
+d="M675 937l-158 -150h-70l102 150h126zM296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="667" 
+d="M494 936h108l71 -147h-78l-61 97l-103 -97h-76zM296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="667" 
+d="M501 921l-26 -120h-110l26 120h110zM687 921l-26 -120h-110l26 120h110zM296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="278" 
+d="M204 926h119l45 -150h-63zM368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="278" 
+d="M488 937l-158 -150h-70l102 150h126zM368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="278" 
+d="M288 936h108l71 -147h-78l-61 97l-103 -97h-76zM368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="278" 
+d="M296 921l-26 -120h-110l26 120h110zM482 921l-26 -120h-110l26 120h110zM368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M150 341h-77l17 80h76l66 308h285c181 0 259 -75 259 -250c0 -118 -41 -241 -112 -339c-73 -101 -157 -140 -302 -140h-285zM300 341l-46 -216h134c87 0 136 28 179 103c34 59 60 162 60 241c0 91 -45 135 -137 135h-135l-39 -183h174l-17 -80h-173z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="722" 
+d="M740 923c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM816 729l-155 -729h-148l-192 523l-111 -523h-142l155 729
+h150l192 -515l109 515h142z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="778" 
+d="M430 926h119l45 -150h-63zM538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176
+c-220 0 -264 -262 -264 -331c0 -109 63 -177 164 -177z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="778" 
+d="M731 935l-158 -150h-70l102 150h126zM538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176
+c-220 0 -264 -262 -264 -331c0 -109 63 -177 164 -177z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="778" 
+d="M542 937h108l71 -147h-78l-61 97l-103 -97h-76zM538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332
+c0 110 -60 176 -160 176c-220 0 -264 -262 -264 -331c0 -109 63 -177 164 -177z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="778" 
+d="M538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176c-220 0 -264 -262 -264 -331
+c0 -109 63 -177 164 -177zM769 923c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="778" 
+d="M538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176c-220 0 -264 -262 -264 -331
+c0 -109 63 -177 164 -177zM550 921l-26 -120h-110l26 120h110zM736 921l-26 -120h-110l26 120h110z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="584" 
+d="M516 444l66 -84l-157 -129l101 -129l-102 -84l-101 129l-155 -128l-66 84l155 128l-101 128l102 85l101 -129z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="778" 
+d="M181 56l-106 -95l-41 46l111 99c-23 44 -36 98 -36 157c0 114 48 240 125 332c83 97 188 146 313 146c94 0 166 -27 216 -82l101 90l42 -45l-108 -97c23 -47 34 -97 34 -155c0 -113 -47 -237 -125 -329c-82 -96 -188 -146 -312 -146c-93 0 -167 27 -214 79zM678 500
+l-384 -343c29 -34 73 -52 127 -52c76 0 140 35 190 105c45 61 72 148 72 229c0 21 -1 39 -5 61zM521 613c-219 0 -263 -263 -263 -332c0 -23 2 -46 6 -68l386 344c-30 37 -73 56 -129 56z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M430 925h119l45 -150h-63zM659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M692 937l-158 -150h-70l102 150h126zM659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M516 936h108l71 -147h-78l-61 97l-103 -97h-76zM659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130zM523 921l-26 -120h-110l26 120h110zM709 921l-26 -120
+h-110l26 120h110z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="667" 
+d="M669 937l-158 -150h-70l102 150h126zM477 270l-58 -270h-150l58 270l-145 459h167l82 -315l207 315h167z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="667" 
+d="M514 609c168 0 207 -101 207 -169c0 -77 -34 -162 -88 -219s-111 -81 -190 -81h-187l-30 -140h-150l155 729h150l-26 -120h159zM435 265c110 0 137 82 137 140c0 47 -36 79 -90 79h-153l-47 -219h153z" />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="611" 
+d="M319 96c105 2 168 66 168 155c0 65 -38 98 -113 98h-15l20 95c79 0 132 44 132 108c0 41 -34 65 -89 65s-90 -27 -101 -80l-114 -537h-140l119 558c22 104 126 171 266 171c122 0 202 -59 202 -147c0 -78 -48 -145 -122 -171c62 -14 98 -63 98 -134
+c0 -64 -60 -300 -281 -300c-20 0 -36 2 -68 7l24 112h14z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" 
+d="M271 757h119l45 -150h-63zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9
+c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" 
+d="M588 758l-158 -150h-70l102 150h126zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203
+l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" 
+d="M386 756h108l71 -147h-78l-61 97l-103 -97h-76zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131
+c0 41 30 174 202 203l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" 
+d="M604 731c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45
+l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131
+c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" 
+d="M397 739l-26 -120h-110l26 120h110zM583 739l-26 -120h-110l26 120h110zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77
+c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" 
+d="M441 774c42 0 72 -30 72 -71c0 -57 -54 -109 -112 -109c-42 0 -72 30 -72 71c0 57 54 109 112 109zM431 724c-27 0 -53 -23 -53 -48c0 -18 14 -32 34 -32c27 0 52 24 52 49c0 18 -14 31 -33 31zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300
+c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187z
+M400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="889" 
+d="M718 549c130 0 209 -88 209 -198c0 -38 -6 -80 -18 -125h-362c-6 -26 -7 -37 -7 -51c0 -51 39 -86 96 -86c49 0 94 25 114 63h138c-53 -107 -162 -175 -282 -175c-88 0 -153 36 -181 100c-70 -75 -124 -100 -216 -100c-97 0 -155 48 -155 129c0 38 18 174 202 205l57 9
+c50 7 127 11 127 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c13 63 30 97 63 126c45 40 115 61 205 61c77 0 129 -16 161 -49c46 31 106 49 165 49zM404 216l8 38c-12 -6 -15 -7 -26 -10c-4 0 -11 -2 -21 -3l-66 -11c-65 -11 -102 -44 -102 -91
+c0 -33 25 -50 71 -50c70 0 118 45 136 127zM784 319v27c0 58 -31 91 -85 91c-64 0 -110 -41 -131 -118h216z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" 
+d="M561 187c-51 -162 -179 -210 -260 -210h-13l-26 -39c15 4 27 6 43 6c40 0 64 -21 64 -57c0 -65 -60 -107 -151 -107c-44 0 -77 7 -133 29l30 52c47 -24 71 -31 99 -31c38 0 68 20 68 44c0 20 -18 33 -44 33c-17 0 -29 -3 -54 -13l57 87c-155 30 -164 152 -164 192
+c0 94 42 211 100 281c53 63 127 95 221 95c124 0 199 -75 199 -168c0 -10 -1 -19 -4 -43h-134c-1 56 -8 99 -82 99c-55 0 -92 -26 -120 -85c-24 -48 -37 -107 -37 -160c0 -69 29 -103 89 -103c54 0 87 27 118 98h134z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" 
+d="M271 757h119l45 -150h-63zM379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208c0 80 47 364 315 364zM448 334c0 55 -16 103 -86 103
+c-80 0 -117 -58 -134 -118h220v15z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" 
+d="M563 759l-158 -150h-70l102 150h126zM379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208c0 80 47 364 315 364zM448 334
+c0 55 -16 103 -86 103c-80 0 -117 -58 -134 -118h220v15z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" 
+d="M376 757h108l71 -147h-78l-61 97l-103 -97h-76zM379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208c0 80 47 364 315 364zM448 334
+c0 55 -16 103 -86 103c-80 0 -117 -58 -134 -118h220v15z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" 
+d="M390 739l-26 -120h-110l26 120h110zM576 739l-26 -120h-110l26 120h110zM379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208
+c0 80 47 364 315 364zM448 334c0 55 -16 103 -86 103c-80 0 -117 -58 -134 -118h220v15z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M161 757h119l45 -150h-63zM322 540l-115 -540h-140l115 540h140z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M448 757l-158 -150h-70l102 150h126zM322 540l-115 -540h-140l115 540h140z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M247 756h108l71 -147h-78l-61 97l-103 -97h-76zM322 540l-115 -540h-140l115 540h140z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M256 740l-26 -120h-110l26 120h110zM442 740l-26 -120h-110l26 120h110zM322 540l-115 -540h-140l115 540h140z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="611" 
+d="M83 178c0 75 42 352 279 352c32 0 52 -6 90 -27c-24 41 -59 79 -97 106l-97 -45l-41 43l88 41c-26 18 -32 22 -70 46l70 50c20 -9 59 -27 95 -51l104 45l43 -43l-93 -41c130 -96 179 -181 179 -309c0 -205 -131 -368 -328 -368c-139 0 -222 75 -222 201zM491 326
+c0 84 -61 105 -104 105c-135 0 -160 -175 -160 -225c0 -99 61 -117 99 -117c94 0 165 101 165 237z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="611" 
+d="M639 731c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM178 540h140l-18 -82c54 64 108 91 182 91
+c89 0 147 -52 147 -132c0 -18 -2 -36 -6 -55l-77 -362h-140l67 313c4 22 6 36 6 49c0 48 -26 75 -74 75c-67 0 -119 -51 -137 -133l-65 -304h-140z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="611" 
+d="M310 757h119l45 -150h-63zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="611" 
+d="M600 758l-158 -150h-70l102 150h126zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="611" 
+d="M416 757h108l71 -147h-78l-61 97l-103 -97h-76zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z
+" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="611" 
+d="M631 731c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200
+c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="611" 
+d="M420 739l-26 -120h-110l26 120h110zM606 739l-26 -120h-110l26 120h110zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232
+c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="584" 
+d="M606 292l-25 -120h-504l25 120h504zM318 124c29 0 50 -21 50 -51c0 -37 -37 -73 -76 -73c-29 0 -50 21 -50 49c0 39 37 75 76 75zM390 462c29 0 50 -21 50 -51c0 -37 -37 -73 -77 -73c-28 0 -49 21 -49 49c0 38 37 75 76 75z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="611" 
+d="M636 344c0 -193 -131 -367 -332 -367c-71 0 -129 21 -169 59l-89 -74l-34 40l93 78c-14 30 -21 63 -21 98c0 191 125 371 333 371c73 0 134 -22 173 -63l85 71l34 -41l-91 -76c12 -29 18 -61 18 -96zM328 89c133 0 166 177 166 232c0 3 0 8 -1 15l-247 -207
+c17 -25 48 -40 82 -40zM395 437c-134 0 -168 -176 -168 -229c0 -9 0 -14 1 -25l250 209c-18 29 -48 45 -83 45z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="611" 
+d="M341 757h119l45 -150h-63zM541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="611" 
+d="M589 758l-158 -150h-70l102 150h126zM541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="611" 
+d="M405 757h108l71 -147h-78l-61 97l-103 -97h-76zM541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="611" 
+d="M420 739l-26 -120h-110l26 120h110zM606 739l-26 -120h-110l26 120h110zM541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" 
+d="M566 757l-158 -150h-70l102 150h126zM509 540h144l-358 -638c-20 -37 -53 -121 -214 -121c-21 0 -31 1 -44 4l23 109c11 -2 16 -2 28 -2c69 0 113 36 113 93c-23 188 -52 369 -77 555h154l36 -393z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="611" 
+d="M352 729l-57 -269c46 59 102 89 169 89c105 0 173 -81 173 -206c0 -201 -132 -366 -293 -366c-70 0 -112 28 -133 87l-60 -282h-140l201 947h140zM406 437c-86 0 -160 -110 -160 -235c0 -68 35 -113 88 -113c86 0 160 108 160 234c0 69 -35 114 -88 114z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" 
+d="M397 741l-26 -120h-110l26 120h110zM583 741l-26 -120h-110l26 120h110zM509 540h144l-358 -638c-20 -37 -53 -121 -214 -121c-21 0 -31 1 -44 4l23 109c11 -2 16 -2 28 -2c69 0 113 36 113 93c-23 188 -52 369 -77 555h154l36 -393z" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="10" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="B,uni1E02"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="j"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="x"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="j"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="x"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="J"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="j"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="x"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="45" />
+    <hkern g1="F,uni1E1E"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="F,uni1E1E"
+	g2="J"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="j"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="x"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="50" />
+    <hkern g1="F,uni1E1E"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="J"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="J"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="J"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="J"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="J"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="J"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="J"
+	g2="j"
+	k="20" />
+    <hkern g1="J"
+	g2="x"
+	k="50" />
+    <hkern g1="J"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="J"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="J"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="J"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="J"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="J"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="J"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="j"
+	k="10" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="J"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="x"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="R,Rcaron"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="R,Rcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="j"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="x"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="50" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="J"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="x"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="J"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="x"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="r,rcaron"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="p,uni1E57"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="x"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="x"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="f,uniFB00"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="x"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="j"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="x"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="40" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="r,rcaron"
+	k="25" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="j"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="x"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="25" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="x"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="j"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="x"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="x"
+	k="20" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="35" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="B,uni1E02"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="F,uni1E1E"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="guillemotright,guilsinglright"
+	k="50" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="comma,period"
+	k="100" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="80" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="70" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="guillemotright,guilsinglright"
+	k="80" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="80" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="70" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="90" />
+    <hkern g1="quoteright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="quoteright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="quoteright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="quoteright"
+	g2="x"
+	k="40" />
+    <hkern g1="quoteright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="J"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="j"
+	k="30" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="x"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="j"
+	k="10" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="x"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="J"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="x"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="40" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="uni0433,uni0442"
+	g2="uni0434"
+	k="40" />
+    <hkern g1="uni0443,uni045E"
+	g2="uni0434"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0410"
+	k="40" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni042F"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni0420"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="10" />
+    <hkern g1="uni0420"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni042F"
+	k="10" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="40" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni042F"
+	k="20" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansBoldOblique-Lat1.svg b/Tests/W3CTestSuite/resources/SVGFreeSansBoldOblique-Lat1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4d611b452f5d3403d39b8c8caf15fedddb7e2ef5
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/SVGFreeSansBoldOblique-Lat1.svg
@@ -0,0 +1,1807 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100429 at Thu Jun 10 14:36:32 2010
+ By Chris Lilley,,,
+Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation.
+</metadata>
+<defs>
+<font id="FreeSansBoldOblique" horiz-adv-x="556" >
+  <font-face 
+    font-family="SVGFreeSansISO-8859-1"
+    font-weight="700"
+    font-style="oblique"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 11 7 4 2 2 2 9 2 4"
+    ascent="800"
+    descent="-200"
+    x-height="540"
+    cap-height="729"
+    bbox="-65 -220 1104 953"
+    underline-thickness="69"
+    underline-position="-111"
+    slope="-12"
+    stemh="113"
+    stemv="145"
+    unicode-range="U+0020-00FF"
+  />
+    <missing-glyph />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="333" 
+d="M417 726l-45 -210l-107 -309h-67l24 309l45 210h150zM293 146l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="474" 
+d="M343 729l-28 -130l-69 -129h-56l-13 129l28 130h138zM579 729l-28 -130l-69 -129h-56l-13 129l28 130h138z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M138 -32h-105l83 204h-77l21 100h97l62 152h-99l22 100h118l71 173h106l-72 -173h103l71 173h106l-72 -173h87l-21 -100h-106l-62 -152h99l-21 -100h-119l-84 -204h-105l83 204h-102zM262 272h103l62 152h-102z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M461 709c70 -6 167 -31 167 -162c0 -15 -1 -27 -5 -49h-128c2 19 3 28 3 40c0 38 -22 64 -58 70l-43 -201c85 -26 176 -68 176 -170c0 -88 -52 -176 -128 -218c-39 -21 -83 -34 -139 -40l-22 -105h-68l23 105c-116 12 -180 72 -180 169c0 18 2 34 8 59h130
+c-1 -19 -1 -26 -1 -33c0 -51 21 -79 65 -88l46 213c-111 28 -165 85 -165 176c0 56 34 213 252 234l11 54h68zM372 608c-92 -18 -100 -86 -100 -107c0 -33 21 -58 62 -74zM371 282l-42 -196c64 15 101 56 101 112c0 40 -20 68 -59 84z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="889" 
+d="M756 709h77l-551 -729h-76zM352 701c89 0 153 -61 153 -144c0 -115 -107 -220 -225 -220c-86 0 -151 62 -151 145c0 113 108 219 223 219zM331 603c-53 0 -102 -49 -102 -102c0 -37 32 -66 73 -66c54 0 103 48 103 101c0 38 -32 67 -74 67zM750 344
+c89 0 153 -61 153 -144c0 -115 -107 -220 -225 -220c-86 0 -151 62 -151 145c0 113 108 219 223 219zM729 246c-53 0 -102 -49 -102 -102c0 -37 32 -66 73 -66c54 0 103 48 103 101c0 38 -32 67 -74 67z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="722" 
+d="M624 605c0 -128 -119 -190 -159 -213l82 -137c34 31 49 61 60 118h113c-11 -73 -59 -160 -118 -213l94 -160h-160l-37 60c-92 -66 -135 -83 -212 -83c-124 0 -198 67 -198 179c0 101 56 174 210 245c-36 51 -53 91 -53 122c0 107 105 200 225 200c91 0 153 -47 153 -118z
+M347 319l-52 -29c-49 -28 -69 -57 -69 -103c0 -52 40 -94 89 -94c34 0 65 14 131 59zM419 470c52 27 80 63 80 104c0 25 -19 41 -51 41c-38 0 -65 -26 -65 -63c0 -18 5 -28 36 -82z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="238" 
+d="M343 729l-28 -130l-70 -129h-55l-13 129l28 130h138z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M458 729c-152 -208 -255 -386 -255 -617c0 -92 14 -168 58 -312h-100c-51 117 -77 225 -77 322c0 202 84 388 274 607h100z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M356 406c0 -133 -28 -323 -277 -606h-100c156 210 258 385 258 616c0 93 -14 166 -61 313h100c55 -121 80 -225 80 -323z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="389" 
+d="M246 544l-101 36l37 69l101 -36l24 116h72l-25 -116l117 36l7 -70l-116 -35l47 -94l-67 -43l-47 94l-87 -94l-49 43z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="584" 
+d="M596 292l-25 -120h-183l-39 -182h-119l39 182h-182l25 120h182l39 181h119l-39 -181h183z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="278" 
+d="M95 146h150l-29 -137c-19 -110 -79 -167 -189 -183l12 56c62 11 98 50 111 118h-86z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M371 342l-29 -135h-272l29 135h272z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="278" 
+d="M245 146l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M360 714h67l-361 -728h-67z" />
+    <glyph glyph-name="zero" unicode="0" 
+d="M421 724c120 0 193 -75 193 -198c0 -101 -38 -275 -80 -366c-55 -119 -147 -183 -263 -183c-118 0 -190 76 -190 199c0 101 38 273 80 365c55 118 147 183 260 183zM394 612c-35 0 -64 -19 -88 -57c-33 -53 -82 -275 -82 -372c0 -51 30 -84 76 -84c59 0 93 39 121 138
+c27 95 50 229 50 291c0 51 -30 84 -77 84z" />
+    <glyph glyph-name="one" unicode="1" 
+d="M342 489h-170l20 93c122 0 204 43 244 127h93l-151 -709h-140z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M628 552c0 -240 -314 -315 -390 -427h300l-26 -125h-482c73 275 260 254 401 404c34 34 54 82 54 128c0 50 -32 80 -86 80c-69 0 -114 -53 -127 -150h-134c26 168 128 262 283 262c130 0 207 -64 207 -172z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M422 230c0 74 -45 87 -138 87l20 94h12c90 0 149 52 149 131c0 41 -32 70 -77 70c-97 0 -110 -97 -117 -126h-129c31 163 117 238 271 238c127 0 200 -55 200 -151c0 -79 -40 -144 -120 -193c49 -30 72 -69 72 -123c0 -157 -112 -280 -293 -280c-130 0 -205 64 -205 174
+c0 19 2 34 6 57h136l1 -10v-22c1 -49 33 -77 90 -77c67 0 122 60 122 131z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M580 273l-25 -116h-73l-34 -157h-140l34 157h-285l25 118l352 434h165l-93 -436h74zM366 273l65 304l-249 -304h184z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M572 300c0 -67 -51 -323 -313 -323c-120 0 -200 65 -200 164c0 13 1 24 5 44h138c-1 -9 -2 -17 -2 -22c0 -39 35 -64 88 -64c81 0 141 76 141 177c0 58 -32 91 -90 91c-42 0 -79 -19 -101 -53h-126l146 395h383l-27 -125h-296l-54 -148c47 31 85 43 132 43
+c109 0 176 -69 176 -179z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M85 171c0 111 54 553 358 553c113 0 182 -58 182 -153c0 -5 0 -14 -1 -23h-130c-9 46 -32 64 -80 64c-87 0 -117 -65 -154 -201c50 38 97 56 149 56c105 0 168 -63 168 -167c0 -79 -59 -323 -293 -323c-121 0 -199 76 -199 194zM352 355c-74 0 -137 -77 -137 -167
+c0 -52 35 -89 86 -89c73 0 133 77 133 170c0 51 -33 86 -82 86z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M679 709l-23 -110l-105 -108c-147 -163 -225 -300 -278 -491h-142c80 242 178 396 373 584h-353l27 125h501z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M620 570c0 -110 -96 -165 -129 -184c61 -37 84 -73 84 -133c0 -68 -33 -143 -86 -194c-54 -53 -130 -82 -213 -82c-133 0 -216 69 -216 178c0 147 120 210 161 231c-47 36 -65 66 -65 109c0 125 121 229 266 229c117 0 198 -63 198 -154zM398 612
+c-67 0 -120 -49 -120 -112c0 -45 34 -75 85 -75c70 0 127 51 127 115c0 43 -37 72 -92 72zM342 330c-78 0 -139 -66 -139 -150c0 -47 40 -81 94 -81c79 0 135 62 135 148c0 51 -35 83 -90 83z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M611 519c0 -102 -54 -542 -363 -542c-107 0 -180 63 -180 155c0 10 1 17 4 33h135c-1 -5 -1 -9 -1 -12c0 -32 32 -54 79 -54c62 0 115 33 151 192c-56 -48 -91 -63 -147 -63c-104 0 -169 67 -169 175c0 179 129 321 293 321c120 0 198 -81 198 -205zM389 612
+c-74 0 -132 -80 -132 -181c0 -53 31 -87 80 -87c80 0 144 78 144 175c0 57 -36 93 -92 93z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="333" 
+d="M294 146l-31 -146h-150l31 146h150zM374 520l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="333" 
+d="M144 146h150l-29 -137c-19 -110 -79 -167 -189 -183l12 56c62 11 98 50 111 118h-86zM374 520l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="584" 
+d="M630 474l-27 -129l-340 -113l292 -111l-28 -131l-450 182l26 121z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="584" 
+d="M622 412l-25 -120h-485l25 120h485zM571 172l-25 -120h-485l25 120h485z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="584" 
+d="M38 -10l27 129l340 113l-292 111l28 131l450 -182l-26 -121z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="611" 
+d="M456 744c173 0 216 -107 216 -178c0 -153 -122 -219 -167 -246c-68 -42 -77 -53 -91 -119h-122c18 192 237 193 237 332c0 51 -38 87 -91 87c-68 0 -117 -51 -134 -139h-136c13 59 58 263 288 263zM418 146l-31 -146h-150l31 146h150z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="975" 
+d="M1032 439c0 -228 -196 -383 -327 -383c-56 0 -93 24 -108 70c-49 -48 -104 -73 -159 -73c-81 0 -137 56 -137 136c0 60 34 135 90 201c69 80 157 128 235 128c50 0 77 -19 97 -69l27 59h90l-136 -280c-17 -33 -19 -40 -19 -54c0 -21 16 -35 39 -35c51 0 215 106 215 286
+c0 120 -109 237 -298 237c-371 0 -468 -360 -468 -466c0 -146 125 -250 303 -250c63 0 118 11 212 41l12 -79c-76 -31 -152 -45 -247 -45c-306 0 -380 199 -380 318c0 130 60 269 162 376c114 120 271 188 435 188c217 0 362 -140 362 -306zM671 376c0 41 -28 70 -70 70
+c-85 0 -200 -131 -200 -231c0 -47 27 -79 67 -79c91 0 203 148 203 240z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="722" 
+d="M532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="722" 
+d="M562 729c161 0 200 -91 200 -158c0 -69 -41 -133 -117 -183c51 -40 71 -78 71 -133c0 -59 -32 -129 -81 -177c-56 -54 -125 -78 -225 -78h-328l155 729h325zM489 439c105 0 124 63 124 103c0 43 -27 62 -89 62h-164l-35 -165h164zM437 125c105 0 131 67 131 120
+c0 47 -29 69 -91 69h-178l-40 -189h178z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="722" 
+d="M107 235c0 282 182 506 426 506c155 0 260 -85 260 -209c0 -11 -1 -22 -4 -50h-141c0 77 -33 131 -132 131c-221 0 -260 -279 -260 -349c0 -105 50 -159 147 -159c96 0 167 52 196 144h143c-44 -171 -178 -272 -360 -272c-171 0 -275 98 -275 258z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="722" 
+d="M77 0l155 729h285c181 0 259 -75 259 -250c0 -115.602 -55.6191 -479 -414 -479h-285zM254 125h134c212.2 0 239 266.436 239 344c0 91 -45 135 -137 135h-135z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="667" 
+d="M296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="611" 
+d="M291 314l-67 -314h-150l155 729h512l-27 -125h-362l-35 -165h320l-27 -125h-319z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="778" 
+d="M795 392l-84 -394h-90l7 90c-74 -79 -140 -111 -233 -111c-176 0 -288 111 -288 285c0 116 48 243 126 334c82 95 191 145 314 145c163 0 272 -86 272 -212c0 -8 -1 -19 -2 -33h-138c-8 75 -65 117 -160 117c-85 0 -153 -38 -201 -112c-36 -55 -62 -146 -62 -217
+c0 -103 72 -179 170 -179c138 0 200 113 216 162h-166l27 125h292z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="722" 
+d="M577 331h-289l-70 -331h-150l155 729h150l-58 -273h288l58 273h151l-155 -729h-150z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="278" 
+d="M368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="J" unicode="J" 
+d="M491 729h150l-115 -539c-16 -76 -51 -135 -100 -167c-43 -28 -113 -46 -179 -46c-117 0 -188 59 -188 156c0 21 2 43 7 65l15 72h150l-16 -77c-3 -13 -4 -24 -4 -34c0 -32 27 -54 66 -54c53 0 87 30 99 85z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="722" 
+d="M274 234l-50 -234h-150l155 729h150l-68 -320l354 320h178l-361 -319l235 -410h-179l-173 314z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="611" 
+d="M385 729l-128 -604h349l-27 -125h-499l155 729h150z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="833" 
+d="M497 0h-150l-7 619l-132 -619h-142l155 729h217l20 -560l254 560h219l-155 -729h-142l132 619z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="722" 
+d="M816 729l-155 -729h-148l-192 523l-111 -523h-142l155 729h150l192 -515l109 515h142z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="778" 
+d="M538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176c-220 0 -264 -262 -264 -331
+c0 -109 63 -177 164 -177z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="667" 
+d="M539 729c167 0 208 -98 208 -169c0 -77 -35 -162 -89 -219c-53 -57 -111 -81 -190 -81h-187l-55 -260h-150l155 729h308zM461 385c110 0 137 84 137 140c0 47 -36 79 -90 79h-154l-46 -219h153z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="778" 
+d="M686 103l64 -76l-93 -81l-69 81c-61 -34 -120 -50 -191 -50c-177 0 -288 110 -288 285c0 116 47 242 123 332c83 100 182 147 306 147c183 0 293 -109 293 -288c0 -123 -60 -268 -145 -350zM539 278l65 -78c46 58 78 154 78 236c0 111 -61 177 -164 177
+c-76 0 -139 -35 -189 -105c-44 -61 -71 -147 -71 -226c0 -109 61 -177 160 -177c32 0 64 7 89 19l-62 73z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="722" 
+d="M510 41c0 61 38 157 38 193c0 37 -28 55 -85 55h-172l-61 -289h-150l155 729h377c138 0 173 -95 173 -150c0 -145 -120 -204 -167 -227c52 -17 78 -44 78 -82c0 -63 -31 -170 -31 -209c0 -14 5 -24 18 -34l-6 -27h-159c-6 19 -8 29 -8 41zM636 534c0 56 -49 70 -110 70
+h-168l-40 -190h181c113 0 137 79 137 120z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="667" 
+d="M151 472c0 149 123 269 322 269c159 0 252 -64 252 -172c0 -20 -2 -34 -8 -62h-140c1 9 2 18 2 23c0 54 -47 83 -132 83c-91 0 -147 -40 -147 -104c0 -38 27 -54 121 -73l109 -22c102 -20 157 -72 157 -149c0 -108 -68 -288 -342 -288c-215 0 -269 112 -269 197
+c0 14 1 24 4 44h146c-1 -9 -2 -18 -2 -23c0 -57 52 -90 143 -90c104 0 171 44 171 111c0 47 -29 67 -120 85l-98 20c-119 24 -169 68 -169 151z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="611" 
+d="M514 604l-129 -604h-150l129 604h-222l27 125h584l-27 -125h-212z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="667" 
+d="M400 0h-127l-94 729h151l45 -549l276 549h151z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="944" 
+d="M730 0h-135l-4 555l-237 -555h-135l-51 729h159l-3 -546l224 546h158l-3 -548l225 548h159z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="667" 
+d="M499 372l156 -372h-179l-90 249l-189 -249h-175l310 367l-145 362h178l79 -236l183 236h175z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="667" 
+d="M477 270l-58 -270h-150l58 270l-145 459h167l82 -315l207 315h167z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="611" 
+d="M733 729l-27 -125l-474 -479h373l-27 -125h-548l27 125l474 479h-373l27 125h548z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="333" 
+d="M463 729l-22 -100h-113l-154 -729h113l-21 -100h-243l197 929h243z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M138 709h74l73 -732h-75z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="333" 
+d="M-25 -200l22 100h113l154 729h-113l21 100h243l-197 -929h-243z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="584" 
+d="M580 270h-113l-58 300l-178 -300h-112l255 425h125z" />
+    <glyph glyph-name="underscore" unicode="_" 
+d="M550 -76l-15 -69h-600l15 69h600z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M175 757h119l45 -150h-63z" />
+    <glyph glyph-name="a" unicode="a" 
+d="M386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9c49 7 126 11 126 74
+c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="611" 
+d="M214 729h140l-55 -259c45 54 98 79 166 79c106 0 175 -82 175 -207c0 -190 -143 -365 -297 -365c-67 0 -110 25 -132 78l-12 -55h-140zM409 437c-86 0 -161 -110 -161 -235c0 -68 35 -113 88 -113c85 0 161 108 161 230c0 73 -34 118 -88 118z" />
+    <glyph glyph-name="c" unicode="c" 
+d="M398 549c124 0 199 -75 199 -168c0 -10 -1 -19 -4 -43h-134c-1 56 -8 99 -82 99c-55 0 -92 -26 -120 -85c-24 -48 -37 -107 -37 -160c0 -69 29 -103 89 -103c54 0 87 27 118 98h134c-42 -134 -140 -210 -269 -210c-172 0 -215 117 -215 195c0 95 42 212 101 282
+c52 63 126 95 220 95z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="611" 
+d="M405 0l12 55c-46 -53 -99 -78 -166 -78c-104 0 -172 82 -172 208c0 82 29 172 78 243c52 75 134 121 215 121c68 0 110 -25 133 -79l55 259h140l-155 -729h-140zM380 437c-83 0 -158 -110 -158 -231c0 -72 34 -117 87 -117c85 0 159 108 159 234c0 70 -34 114 -88 114z
+" />
+    <glyph glyph-name="e" unicode="e" 
+d="M379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208c0 80 47 364 315 364zM448 334c0 55 -16 103 -86 103c-80 0 -117 -58 -134 -118
+h220v15z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="333" 
+d="M425 529l-20 -93h-82l-93 -436h-140l93 436h-77l20 93h76l14 65c20 93 73 135 171 135c18 0 35 -1 77 -3l-22 -105c-27 3 -32 4 -42 4c-25 0 -39 -14 -46 -43l-12 -53h83z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="611" 
+d="M235 -218c-168 0 -209 70 -209 122c0 8 1 19 3 31h144l-1 -12c0 -29 37 -51 86 -51c73 0 132 45 146 110l16 73c-64 -59 -104 -78 -166 -78c-101 0 -175 80 -175 190c0 97 37 207 95 278c53 66 128 104 204 104c59 0 100 -30 127 -92l18 83h133l-119 -558
+c-27 -128 -136 -200 -302 -200zM379 437c-82 0 -157 -113 -157 -236c0 -69 32 -112 84 -112c89 0 165 104 165 226c0 74 -36 122 -92 122z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="611" 
+d="M222 729h140l-58 -271c53 63 109 91 180 91c87 0 145 -53 145 -132c0 -18 -2 -36 -6 -55l-77 -362h-140l67 313c4 21 6 35 6 48c0 49 -26 76 -73 76c-64 0 -117 -52 -134 -133l-65 -304h-140z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="278" 
+d="M322 540l-115 -540h-140l115 540h140zM362 729l-27 -125h-140l27 125h140z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="278" 
+d="M325 540l-135 -634c-18 -87 -74 -124 -188 -124c-19 0 -31 1 -45 5l24 111c4 -3 11 -4 25 -4c30 0 44 12 51 44l128 602h140zM365 729l-27 -125h-140l27 125h140z" />
+    <glyph glyph-name="k" unicode="k" 
+d="M354 729l-85 -399l223 210h159l-232 -206l129 -334h-164l-79 239l-68 -62l-38 -177h-140l155 729h140z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="278" 
+d="M362 729l-155 -729h-140l155 729h140z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="889" 
+d="M175 540h139l-17 -81c59 65 106 90 171 90c62 0 110 -32 124 -82c55 57 109 82 177 82c90 0 142 -47 142 -126c0 -18 -2 -32 -8 -61l-77 -362h-140l72 340c3 14 5 29 5 41c0 36 -21 56 -58 56c-63 0 -108 -41 -123 -113l-69 -324h-140l74 346c2 11 3 21 3 33
+c0 35 -25 58 -63 58c-58 0 -103 -43 -118 -113l-69 -324h-140z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="611" 
+d="M178 540h140l-18 -82c54 64 108 91 182 91c89 0 147 -52 147 -132c0 -18 -2 -36 -6 -55l-77 -362h-140l67 313c4 22 6 36 6 49c0 48 -26 75 -74 75c-67 0 -119 -51 -137 -133l-65 -304h-140z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="611" 
+d="M82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="611" 
+d="M312 540l-17 -80c46 59 102 89 169 89c106 0 173 -80 173 -207c0 -201 -132 -366 -293 -366c-70 0 -112 28 -133 88l-60 -282h-140l161 758h140zM406 437c-86 0 -160 -110 -160 -236c0 -68 35 -113 88 -113c86 0 160 108 160 235c0 69 -34 114 -88 114z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="611" 
+d="M519 540h140l-161 -758h-140l60 282c-45 -59 -102 -88 -170 -88c-106 0 -176 81 -176 204c0 86 30 179 80 250c54 75 134 119 217 119c69 0 113 -29 133 -89zM377 437c-86 0 -162 -110 -162 -235c0 -69 35 -114 89 -114c87 0 162 109 162 236c0 69 -35 113 -89 113z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="389" 
+d="M178 540h140l-23 -106c47 73 111 115 175 115c4 0 9 0 17 -1l-30 -142c-18 3 -28 4 -43 4c-82 0 -133 -41 -150 -123l-61 -287h-140z" />
+    <glyph glyph-name="s" unicode="s" 
+d="M127 345c0 115 104 204 260 204c126 0 202 -55 202 -145c0 -11 -1 -20 -5 -38h-135c2 9 3 13 3 19c0 32 -33 52 -88 52c-53 0 -88 -21 -88 -53c0 -20 14 -30 65 -45l96 -28c83 -25 122 -64 122 -124c0 -128 -108 -210 -278 -210c-177 0 -221 94 -221 150c0 9 1 15 4 30
+h137c3 -58 64 -68 106 -68c61 0 104 23 104 55c0 23 -13 32 -76 52l-79 25c-88 29 -129 68 -129 124z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="333" 
+d="M414 529l-20 -93h-78l-62 -294c-4 -17 -6 -29 -6 -34c0 -15 15 -25 38 -25c11 0 19 1 33 3l-20 -98c-28 -8 -52 -11 -85 -11c-73 0 -113 31 -113 86c0 13 2 27 5 41l70 332h-69l20 93h69l31 145h140l-31 -145h78z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="611" 
+d="M541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="v" unicode="v" 
+d="M350 0h-147l-74 540h148l30 -395l196 395h148z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="778" 
+d="M617 0h-145l-5 380l-166 -380h-144l-37 540h145l5 -378l159 378h144v-378l163 378h145z" />
+    <glyph glyph-name="x" unicode="x" 
+d="M411 274l123 -274h-168l-59 168l-123 -168h-168l233 274l-111 266h168l51 -163l123 163h168z" />
+    <glyph glyph-name="y" unicode="y" 
+d="M509 540h144l-358 -638c-20 -37 -53 -121 -214 -121c-21 0 -31 1 -44 4l23 109c11 -2 16 -2 28 -2c69 0 113 36 113 93c-23 188 -52 369 -77 555h154l36 -393z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="500" 
+d="M575 540l-24 -113l-332 -314h274l-24 -113h-448l24 113l334 314h-249l24 113h421z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="389" 
+d="M195 269c32 -5 79 -13 79 -69c0 -10 -2 -26 -5 -41l-42 -195c-3 -17 -5 -30 -5 -40c0 -16 14 -25 39 -25h35l-21 -99h-77c-58 0 -97 41 -97 101c0 13 1 26 4 39l45 210c3 15 5 28 5 34c0 24 -20 38 -54 38h-13l-4 1l20 92h16c44 0 69 21 78 63l45 211
+c19 90 74 140 153 140h76l-21 -99h-37c-37 0 -47 -10 -57 -57l-41 -195c-16 -72 -48 -101 -121 -109z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="280" 
+d="M335 729l-198 -929h-80l198 929h80z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="389" 
+d="M307 260c-32 5 -79 13 -79 69c0 10 2 26 5 41l42 195c3 17 5 30 5 40c0 16 -14 25 -39 25h-36l21 99h78c58 0 97 -41 97 -101c0 -13 -1 -26 -4 -39l-45 -210c-3 -15 -5 -28 -5 -34c0 -24 20 -38 54 -38h14l4 -1l-20 -92h-17c-44 0 -69 -21 -78 -63l-45 -211
+c-19 -90 -74 -140 -153 -140h-77l21 99h38c37 0 47 10 57 57l41 195c16 72 48 101 121 109z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="584" 
+d="M504 288h77c-23 -95 -78 -146 -158 -146c-33 0 -56 8 -77 26l-48 42c-20 17 -36 24 -56 24c-38 0 -54 -15 -67 -65h-78c26 97 79 145 159 145c32 0 56 -8 76 -25l49 -42c21 -19 34 -25 56 -25c38 0 53 15 67 66z" />
+    <glyph glyph-name="uni00A0" unicode="&#xa0;" horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="333" 
+d="M26 -186l45 210l107 309h67l-24 -309l-45 -210h-150zM150 394l31 146h150l-31 -146h-150z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" 
+d="M434 547c146 -18 164 -131 164 -166c0 -10 -1 -19 -4 -43h-134c0 60 -12 85 -50 97l-73 -346c41 10 67 39 91 98h134c-36 -122 -132 -203 -249 -209l-21 -102h-66l22 104c-156 26 -169 150 -169 192c0 75 43 356 289 376l19 86h66zM344 435c-105 -28 -122 -201 -122 -244
+c0 -55 14 -82 50 -98z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" 
+d="M288 496c0 -30 17 -69 28 -125h139l-12 -55h-122c2 -13 2 -19 2 -26c0 -71 -41 -127 -151 -204c64 29 78 33 108 33c44 0 82 -17 131 -17c36 0 69 9 114 29l18 -109c-64 -33 -106 -45 -155 -45c-72 0 -121 30 -191 30c-37 0 -66 -7 -115 -28l-33 101
+c104 61 144 111 144 181c0 15 -1 27 -5 55h-89l12 55h60c-21 61 -26 80 -26 107c0 56 56 237 280 237c134 0 204 -60 204 -176c0 -17 -1 -30 -4 -55h-131c1 10 1 21 1 26c0 62 -31 93 -93 93c-61 0 -114 -50 -114 -107z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" 
+d="M501 528l89 73l54 -69l-91 -75c7 -23 10 -41 10 -60c0 -51 -20 -105 -56 -151l60 -76l-83 -68l-59 75c-48 -24 -71 -30 -108 -30c-38 0 -82 13 -103 31l-94 -78l-54 69l94 77c-8 24 -11 42 -11 64c0 50 21 105 55 147l-62 79l83 68l61 -77c34 19 79 31 118 31
+c35 0 72 -12 97 -30zM377 460c-72 0 -128 -57 -128 -130c0 -50 35 -85 86 -85c71 0 128 58 128 130c0 50 -36 85 -86 85z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" 
+d="M574 352l-13 -60h-144l-11 -52h144l-13 -60h-144l-38 -180h-140l38 180h-146l13 60h146l11 52h-146l12 60h140l-128 352h139l85 -254l187 254h136l-267 -352h139z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="280" 
+d="M335 729l-83 -389h-80l83 389h80zM220 189l-83 -389h-80l83 389h80z" />
+    <glyph glyph-name="section" unicode="&#xa7;" 
+d="M496 27c0 -46 -46 -228 -264 -228c-108 0 -176 55 -176 142c0 19 2 33 9 59h131c-2 -17 -3 -24 -3 -34c0 -36 23 -55 65 -55c51 0 90 32 90 74c0 27 -6 31 -55 64l-150 100c-34 23 -54 59 -54 98c0 75 30 121 127 181c-26 27 -38 57 -38 96c0 47 24 98 65 135
+c44 41 109 64 182 64c107 0 171 -48 171 -129c0 -14 -2 -25 -7 -50h-127c1 7 1 14 1 18c0 38 -22 59 -62 59c-43 0 -75 -27 -75 -62c0 -21 21 -43 71 -74l112 -70c48 -30 69 -65 69 -113c0 -106 -58 -149 -130 -176c33 -27 48 -58 48 -99zM258 247l125 -77
+c47 22 65 44 65 77c0 24 -11 38 -46 59l-127 76c-38 -20 -56 -47 -56 -81c0 -22 10 -37 39 -54z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M283 741l-26 -120h-110l26 120h110zM469 741l-26 -120h-110l26 120h110z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="737" 
+d="M232 287c0 172 114 305 261 305c93 0 154 -51 154 -128c0 -8 -1 -16 -3 -33h-90c0 54 -23 78 -76 78c-130 0 -153 -161 -153 -204c0 -61 31 -94 86 -94c57 0 97 30 115 86h92c-28 -105 -114 -169 -228 -169c-98 0 -158 61 -158 159zM530 743c177 0 307 -128 307 -303
+c0 -239 -230 -462 -477 -462c-176 0 -306 128 -306 303c0 239 230 462 476 462zM514 671c-196 0 -380 -182 -380 -376c0 -141 103 -245 243 -245c196 0 380 182 380 377c0 141 -103 244 -243 244z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="370" 
+d="M396 342l-16 -80h-284l17 80h283zM420 409l-2 -10h-92c-3 6 -4 10 -4 16c0 4 0 6 2 16c-36 -32 -67 -46 -107 -46c-51 0 -83 30 -83 78c0 63 48 112 122 123l34 6c41 6 76 9 76 44c0 17 -13 25 -44 25c-38 0 -57 -12 -67 -44h-79c17 75 71 112 161 112
+c71 0 114 -27 114 -72c0 -8 -1 -17 -3 -28l-39 -180c-1 -5 -1 -8 -1 -13c0 -8 4 -17 12 -27zM344 529l5 23c-7 -3 -9 -4 -16 -6c-2 0 -6 -1 -12 -2l-10 -1l-30 -6c-38 -6 -60 -26 -60 -54c0 -19 15 -30 42 -30c41 0 71 28 81 76z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" 
+d="M135 218l24 114l199 149l-25 -117l-120 -89l82 -89l-24 -114zM348 218l24 114l199 149l-25 -117l-120 -89l82 -89l-24 -114z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="584" 
+d="M128 376h504l-61 -290h-119l36 170h-385z" />
+    <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="333" 
+d="M371 342l-29 -135h-272l29 135h272z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="737" 
+d="M480 168c0 37 20 93 20 110c0 24 -17 35 -53 35h-91l-37 -173h-96l94 442h238c66 0 99 -30 99 -89c0 -64 -33 -111 -97 -140c28 -13 39 -27 39 -49c0 -17 -3 -38 -15 -109l-1 -13c0 -9 3 -15 12 -21l-5 -21h-102c-4 13 -5 19 -5 28zM475 394c42 0 78 12 78 75
+c0 24 -15 33 -55 33h-102l-23 -108h102zM530 743c178 0 307 -128 307 -303c0 -239 -229 -462 -476 -462c-176 0 -306 128 -306 303c0 239 229 462 475 462zM514 671c-196 0 -379 -182 -379 -376c0 -141 102 -245 242 -245c197 0 380 182 380 377c0 141 -103 244 -243 244z
+" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M467 722l-17 -80h-300l17 80h300z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="606" 
+d="M391 686c84 0 152 -68 152 -151c0 -85 -68 -152 -153 -152c-82 0 -150 69 -150 152s68 151 151 151zM392 623c-49 0 -89 -40 -89 -89c0 -47 40 -88 87 -88c50 0 90 39 90 89c0 48 -40 88 -88 88z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="584" 
+d="M630 452l-25 -120h-183l-35 -162h-119l35 162h-182l25 120h182l39 181h119l-39 -181h183zM559 119l-25 -119h-484l25 119h484z" />
+    <glyph glyph-name="uni00B2" unicode="&#xb2;" horiz-adv-x="350" 
+d="M457 613c0 -143 -187 -185 -236 -249h184l-17 -80h-306c53 205 282 181 282 316c0 29 -19 46 -52 46c-43 0 -69 -31 -75 -89h-91c16 104 79 161 178 161c84 0 133 -39 133 -105z" />
+    <glyph glyph-name="uni00B3" unicode="&#xb3;" horiz-adv-x="350" 
+d="M240 471l13 63c4 -1 9 -1 10 -1c53 0 87 28 87 73c0 24 -18 40 -45 40c-38 0 -56 -19 -68 -75h-87c20 102 73 147 172 147c81 0 128 -34 128 -93c0 -46 -24 -84 -71 -113c29 -18 43 -41 43 -73c0 -99 -75 -168 -184 -168c-83 0 -131 39 -131 107c0 12 1 20 4 36h91
+c-2 -8 -2 -12 -2 -18c0 -31 19 -47 56 -47c40 0 73 33 73 73c0 34 -22 48 -76 49h-13z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M475 757l-158 -150h-70l102 150h126z" />
+    <glyph glyph-name="uni00B5" unicode="&#xb5;" horiz-adv-x="667" 
+d="M523 118l19 -9l16 -76c-22 -12 -59 -35 -94 -35c-47 0 -71 20 -77 45c-38 -34 -91 -55 -141 -55c-58 0 -81 20 -97 31l-55 -213h-138l191 737h138l-83 -322c-3 -11 -4 -22 -4 -32c0 -31 17 -82 82 -82c58.0508 0 111.424 39.6953 130 114l83 322h136l-97 -376
+c-6.28809 -24.1035 -9 -39.2002 -9 -49z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" 
+d="M121 435c0 118 95 294 261 294h302l-15 -73h-44l-180 -847h-98l180 847h-62l-180 -847h-98l97 458c-100 5 -163 70 -163 168z" />
+    <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="278" 
+d="M270 282l-22 -100h-105l22 100h105z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M154 0h50l-41 -62c16 4 28 6 43 6c40 0 64 -21 64 -57c0 -65 -60 -107 -150 -107c-45 0 -77 7 -133 29l30 51c47 -23 70 -30 98 -30c38 0 68 20 68 44c0 20 -18 33 -44 33c-17 0 -29 -3 -53 -13z" />
+    <glyph glyph-name="uni00B9" unicode="&#xb9;" horiz-adv-x="248" 
+d="M248 573h-106l13 61c78 0 128 25 152 75h63l-90 -425h-94z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="365" 
+d="M410 342l-17 -80h-301l17 80h301zM140 506c0 115 75 223 199 223c82 0 132 -45 132 -119c0 -124 -80 -224 -202 -224c-79 0 -129 46 -129 120zM326 661c-54 0 -99 -64 -99 -141c0 -43 23 -71 58 -71c54 0 99 65 99 141c0 43 -23 71 -58 71z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" 
+d="M326 335l-24 -115l-199 -148l25 117l120 89l-82 89l24 114zM533 335l-24 -115l-199 -148l25 117l120 89l-82 89l24 114z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="869" 
+d="M252 573h-106l13 61c78 0 128 25 152 75h63l-90 -425h-94zM733 715h85l-581 -735h-85zM881 166l-16 -73h-46l-19 -93h-94l20 93h-177l16 72l217 260h108l-55 -259h46zM742 166l35 166l-140 -166h105z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="869" 
+d="M258 573h-106l13 61c78 0 128 25 152 75h63l-90 -425h-94zM738 715h85l-581 -735h-85zM915 329c0 -143 -187 -185 -236 -249h184l-17 -80h-306c53 205 282 181 282 316c0 29 -19 46 -52 46c-43 0 -69 -31 -75 -89h-91c16 104 79 161 178 161c84 0 133 -39 133 -105z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="869" 
+d="M247 471l13 63c4 -1 9 -1 10 -1c53 0 87 28 87 73c0 24 -18 40 -45 40c-38 0 -56 -19 -68 -75h-87c20 102 73 147 172 147c81 0 128 -34 128 -93c0 -46 -24 -84 -71 -113c29 -18 43 -41 43 -73c0 -99 -75 -168 -184 -168c-83 0 -131 39 -131 107c0 12 1 20 4 36h91
+c-2 -8 -2 -12 -2 -18c0 -31 19 -47 56 -47c40 0 73 33 73 73c0 34 -22 48 -76 49h-13zM775 715h85l-581 -735h-85zM878 166l-16 -73h-46l-19 -93h-94l20 93h-177l16 72l217 260h108l-55 -259h46zM739 166l35 166l-140 -166h105z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="611" 
+d="M556 59c-13 -59 -58 -263 -288 -263c-133 0 -216 69 -216 178c0 157 128 222 167 246c68 41 77 53 91 119h122c-18 -197 -237 -188 -237 -332c0 -51 38 -87 92 -87c67 0 117 52 133 139h136zM306 394l31 146h150l-31 -146h-150z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="722" 
+d="M430 924h119l45 -150h-63zM532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="722" 
+d="M691 930l-158 -150h-70l102 150h126zM532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="722" 
+d="M511 936h108l71 -147h-78l-61 97l-103 -97h-76zM532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="722" 
+d="M740 923c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM532 147h-272l-81 -147h-153l407 729h173l97 -729h-153z
+M518 272l-35 283l-154 -283h189z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="722" 
+d="M532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189zM523 921l-26 -120h-110l26 120h110zM709 921l-26 -120h-110l26 120h110z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="722" 
+d="M532 147h-272l-81 -147h-153l407 729h173l97 -729h-153zM518 272l-35 283l-154 -283h189zM564 953c42 0 72 -30 72 -71c0 -57 -54 -109 -112 -109c-42 0 -72 30 -72 71c0 57 54 109 112 109zM554 903c-27 0 -53 -23 -53 -48c0 -18 14 -32 34 -32c27 0 52 24 52 49
+c0 18 -14 31 -33 31z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1000" 
+d="M464 152h-219l-85 -152h-159l420 729h683l-26 -125h-367l-36 -165h339l-26 -125h-339l-40 -189h386l-27 -125h-536zM491 277l70 327h-66l-185 -327h181z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="722" 
+d="M516 613c-219 0 -260 -278 -260 -348c0 -106 50 -160 147 -160c96 0 167 52 196 144h143c-41 -167 -177 -271 -353 -272l-26 -40c14 5 28 7 43 7c40 0 64 -21 64 -57c0 -65 -60 -107 -151 -107c-44 0 -76 7 -133 29l30 51c48 -23 71 -30 99 -30c38 0 68 20 68 44
+c0 20 -18 33 -44 33c-17 0 -29 -3 -54 -13l55 84c-141 11 -233 112 -233 257c0 282 182 506 426 506c155 0 260 -85 260 -210c0 -11 -1 -23 -4 -49h-141c0 77 -33 131 -132 131z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="667" 
+d="M430 923h119l45 -150h-63zM296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="667" 
+d="M675 937l-158 -150h-70l102 150h126zM296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="667" 
+d="M494 936h108l71 -147h-78l-61 97l-103 -97h-76zM296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="667" 
+d="M501 921l-26 -120h-110l26 120h110zM687 921l-26 -120h-110l26 120h110zM296 314l-40 -189h395l-27 -125h-545l155 729h528l-27 -125h-378l-35 -165h349l-26 -125h-349z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="278" 
+d="M204 926h119l45 -150h-63zM368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="278" 
+d="M488 937l-158 -150h-70l102 150h126zM368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="278" 
+d="M288 936h108l71 -147h-78l-61 97l-103 -97h-76zM368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="278" 
+d="M296 921l-26 -120h-110l26 120h110zM482 921l-26 -120h-110l26 120h110zM368 729l-155 -729h-150l155 729h150z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M150 341h-77l17 80h76l66 308h285c181 0 259 -75 259 -250c0 -118 -41 -241 -112 -339c-73 -101 -157 -140 -302 -140h-285zM300 341l-46 -216h134c87 0 136 28 179 103c34 59 60 162 60 241c0 91 -45 135 -137 135h-135l-39 -183h174l-17 -80h-173z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="722" 
+d="M740 923c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM816 729l-155 -729h-148l-192 523l-111 -523h-142l155 729
+h150l192 -515l109 515h142z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="778" 
+d="M430 926h119l45 -150h-63zM538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176
+c-220 0 -264 -262 -264 -331c0 -109 63 -177 164 -177z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="778" 
+d="M731 935l-158 -150h-70l102 150h126zM538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176
+c-220 0 -264 -262 -264 -331c0 -109 63 -177 164 -177z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="778" 
+d="M542 937h108l71 -147h-78l-61 97l-103 -97h-76zM538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332
+c0 110 -60 176 -160 176c-220 0 -264 -262 -264 -331c0 -109 63 -177 164 -177z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="778" 
+d="M538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176c-220 0 -264 -262 -264 -331
+c0 -109 63 -177 164 -177zM769 923c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="778" 
+d="M538 741c183 0 290 -106 290 -286c0 -118 -45 -240 -123 -331c-86 -102 -182 -147 -310 -147c-178 0 -289 109 -289 284c0 115 47 241 125 333c82 99 183 147 307 147zM419 105c219 0 260 266 260 332c0 110 -60 176 -160 176c-220 0 -264 -262 -264 -331
+c0 -109 63 -177 164 -177zM550 921l-26 -120h-110l26 120h110zM736 921l-26 -120h-110l26 120h110z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="584" 
+d="M516 444l66 -84l-157 -129l101 -129l-102 -84l-101 129l-155 -128l-66 84l155 128l-101 128l102 85l101 -129z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="778" 
+d="M181 56l-106 -95l-41 46l111 99c-23 44 -36 98 -36 157c0 114 48 240 125 332c83 97 188 146 313 146c94 0 166 -27 216 -82l101 90l42 -45l-108 -97c23 -47 34 -97 34 -155c0 -113 -47 -237 -125 -329c-82 -96 -188 -146 -312 -146c-93 0 -167 27 -214 79zM678 500
+l-384 -343c29 -34 73 -52 127 -52c76 0 140 35 190 105c45 61 72 148 72 229c0 21 -1 39 -5 61zM521 613c-219 0 -263 -263 -263 -332c0 -23 2 -46 6 -68l386 344c-30 37 -73 56 -129 56z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M430 925h119l45 -150h-63zM659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M692 937l-158 -150h-70l102 150h126zM659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M516 936h108l71 -147h-78l-61 97l-103 -97h-76zM659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M659 729h150l-105 -494c-18 -83 -50 -139 -107 -184c-61 -48 -143 -74 -231 -74c-151 0 -247 74 -247 190c0 22 4 55 11 88l101 474h150l-105 -494c-3 -16 -5 -30 -5 -45c0 -53 45 -85 123 -85c91 0 141 40 160 130zM523 921l-26 -120h-110l26 120h110zM709 921l-26 -120
+h-110l26 120h110z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="667" 
+d="M669 937l-158 -150h-70l102 150h126zM477 270l-58 -270h-150l58 270l-145 459h167l82 -315l207 315h167z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="667" 
+d="M514 609c168 0 207 -101 207 -169c0 -77 -34 -162 -88 -219s-111 -81 -190 -81h-187l-30 -140h-150l155 729h150l-26 -120h159zM435 265c110 0 137 82 137 140c0 47 -36 79 -90 79h-153l-47 -219h153z" />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="611" 
+d="M319 96c105 2 168 66 168 155c0 65 -38 98 -113 98h-15l20 95c79 0 132 44 132 108c0 41 -34 65 -89 65s-90 -27 -101 -80l-114 -537h-140l119 558c22 104 126 171 266 171c122 0 202 -59 202 -147c0 -78 -48 -145 -122 -171c62 -14 98 -63 98 -134
+c0 -64 -60 -300 -281 -300c-20 0 -36 2 -68 7l24 112h14z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" 
+d="M271 757h119l45 -150h-63zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9
+c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" 
+d="M588 758l-158 -150h-70l102 150h126zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203
+l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" 
+d="M386 756h108l71 -147h-78l-61 97l-103 -97h-76zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131
+c0 41 30 174 202 203l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" 
+d="M604 731c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45
+l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131
+c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" 
+d="M397 739l-26 -120h-110l26 120h110zM583 739l-26 -120h-110l26 120h110zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77
+c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187zM400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" 
+d="M441 774c42 0 72 -30 72 -71c0 -57 -54 -109 -112 -109c-42 0 -72 30 -72 71c0 57 54 109 112 109zM431 724c-27 0 -53 -23 -53 -48c0 -18 14 -32 34 -32c27 0 52 24 52 49c0 18 -14 31 -33 31zM386 549c161 0 192 -73 192 -121c0 -12 -2 -27 -6 -45l-63 -300
+c-2 -8 -3 -15 -3 -21c0 -15 6 -28 21 -45l-4 -17h-153c-5 11 -7 17 -7 27c0 7 0 12 3 27c-60 -54 -109 -77 -167 -77c-89 0 -149 53 -149 131c0 41 30 174 202 203l58 9c49 7 126 11 126 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c28 130 109 187 266 187z
+M400 217l8 38c-17 -10 -16 -8 -47 -14l-66 -11c-65 -11 -102 -44 -102 -91c0 -33 25 -50 73 -50c68 0 116 46 134 128z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="889" 
+d="M718 549c130 0 209 -88 209 -198c0 -38 -6 -80 -18 -125h-362c-6 -26 -7 -37 -7 -51c0 -51 39 -86 96 -86c49 0 94 25 114 63h138c-53 -107 -162 -175 -282 -175c-88 0 -153 36 -181 100c-70 -75 -124 -100 -216 -100c-97 0 -155 48 -155 129c0 38 18 174 202 205l57 9
+c50 7 127 11 127 74c0 30 -22 43 -73 43c-64 0 -95 -20 -112 -75h-131c13 63 30 97 63 126c45 40 115 61 205 61c77 0 129 -16 161 -49c46 31 106 49 165 49zM404 216l8 38c-12 -6 -15 -7 -26 -10c-4 0 -11 -2 -21 -3l-66 -11c-65 -11 -102 -44 -102 -91
+c0 -33 25 -50 71 -50c70 0 118 45 136 127zM784 319v27c0 58 -31 91 -85 91c-64 0 -110 -41 -131 -118h216z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" 
+d="M561 187c-51 -162 -179 -210 -260 -210h-13l-26 -39c15 4 27 6 43 6c40 0 64 -21 64 -57c0 -65 -60 -107 -151 -107c-44 0 -77 7 -133 29l30 52c47 -24 71 -31 99 -31c38 0 68 20 68 44c0 20 -18 33 -44 33c-17 0 -29 -3 -54 -13l57 87c-155 30 -164 152 -164 192
+c0 94 42 211 100 281c53 63 127 95 221 95c124 0 199 -75 199 -168c0 -10 -1 -19 -4 -43h-134c-1 56 -8 99 -82 99c-55 0 -92 -26 -120 -85c-24 -48 -37 -107 -37 -160c0 -69 29 -103 89 -103c54 0 87 27 118 98h134z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" 
+d="M271 757h119l45 -150h-63zM379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208c0 80 47 364 315 364zM448 334c0 55 -16 103 -86 103
+c-80 0 -117 -58 -134 -118h220v15z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" 
+d="M563 759l-158 -150h-70l102 150h126zM379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208c0 80 47 364 315 364zM448 334
+c0 55 -16 103 -86 103c-80 0 -117 -58 -134 -118h220v15z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" 
+d="M376 757h108l71 -147h-78l-61 97l-103 -97h-76zM379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208c0 80 47 364 315 364zM448 334
+c0 55 -16 103 -86 103c-80 0 -117 -58 -134 -118h220v15z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" 
+d="M390 739l-26 -120h-110l26 120h110zM576 739l-26 -120h-110l26 120h110zM379 549c128 0 212 -82 212 -198c0 -38 -6 -80 -18 -125h-363c-3 -28 -3 -36 -3 -45c0 -55 38 -92 95 -92c48 0 92 25 112 63h138c-55 -111 -156 -175 -277 -175c-125 0 -211 84 -211 208
+c0 80 47 364 315 364zM448 334c0 55 -16 103 -86 103c-80 0 -117 -58 -134 -118h220v15z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M161 757h119l45 -150h-63zM322 540l-115 -540h-140l115 540h140z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M448 757l-158 -150h-70l102 150h126zM322 540l-115 -540h-140l115 540h140z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M247 756h108l71 -147h-78l-61 97l-103 -97h-76zM322 540l-115 -540h-140l115 540h140z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M256 740l-26 -120h-110l26 120h110zM442 740l-26 -120h-110l26 120h110zM322 540l-115 -540h-140l115 540h140z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="611" 
+d="M83 178c0 75 42 352 279 352c32 0 52 -6 90 -27c-24 41 -59 79 -97 106l-97 -45l-41 43l88 41c-26 18 -32 22 -70 46l70 50c20 -9 59 -27 95 -51l104 45l43 -43l-93 -41c130 -96 179 -181 179 -309c0 -205 -131 -368 -328 -368c-139 0 -222 75 -222 201zM491 326
+c0 84 -61 105 -104 105c-135 0 -160 -175 -160 -225c0 -99 61 -117 99 -117c94 0 165 101 165 237z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="611" 
+d="M639 731c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM178 540h140l-18 -82c54 64 108 91 182 91
+c89 0 147 -52 147 -132c0 -18 -2 -36 -6 -55l-77 -362h-140l67 313c4 22 6 36 6 49c0 48 -26 75 -74 75c-67 0 -119 -51 -137 -133l-65 -304h-140z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="611" 
+d="M310 757h119l45 -150h-63zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="611" 
+d="M600 758l-158 -150h-70l102 150h126zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="611" 
+d="M416 757h108l71 -147h-78l-61 97l-103 -97h-76zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z
+" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="611" 
+d="M631 731c-25 -90 -80 -122 -133 -122c-17 0 -38 5 -51 11l-50 25c-15 7 -36 14 -44 14c-18 0 -34 -15 -51 -48h-54c23 75 67 117 121 117c25 0 39 -3 71 -17l50 -21c19 -9 21 -10 33 -10c23 0 40 17 54 51h54zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200
+c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="611" 
+d="M420 739l-26 -120h-110l26 120h110zM606 739l-26 -120h-110l26 120h110zM82 177c0 201 129 372 331 372c137 0 221 -76 221 -200c0 -206 -132 -372 -335 -372c-132 0 -217 78 -217 200zM324 89c134 0 167 176 167 231c0 71 -39 117 -100 117c-90 0 -166 -105 -166 -232
+c0 -71 39 -116 99 -116z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="584" 
+d="M606 292l-25 -120h-504l25 120h504zM318 124c29 0 50 -21 50 -51c0 -37 -37 -73 -76 -73c-29 0 -50 21 -50 49c0 39 37 75 76 75zM390 462c29 0 50 -21 50 -51c0 -37 -37 -73 -77 -73c-28 0 -49 21 -49 49c0 38 37 75 76 75z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="611" 
+d="M636 344c0 -193 -131 -367 -332 -367c-71 0 -129 21 -169 59l-89 -74l-34 40l93 78c-14 30 -21 63 -21 98c0 191 125 371 333 371c73 0 134 -22 173 -63l85 71l34 -41l-91 -76c12 -29 18 -61 18 -96zM328 89c133 0 166 177 166 232c0 3 0 8 -1 15l-247 -207
+c17 -25 48 -40 82 -40zM395 437c-134 0 -168 -176 -168 -229c0 -9 0 -14 1 -25l250 209c-18 29 -48 45 -83 45z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="611" 
+d="M341 757h119l45 -150h-63zM541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="611" 
+d="M589 758l-158 -150h-70l102 150h126zM541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="611" 
+d="M405 757h108l71 -147h-78l-61 97l-103 -97h-76zM541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="611" 
+d="M420 739l-26 -120h-110l26 120h110zM606 739l-26 -120h-110l26 120h110zM541 0h-140l15 68c-54 -64 -108 -91 -182 -91c-88 0 -146 52 -146 132c0 18 2 36 6 55l80 376h140l-70 -327c-4 -23 -6 -35 -6 -49c0 -49 26 -75 76 -75c65 0 117 52 134 133l68 318h140z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" 
+d="M566 757l-158 -150h-70l102 150h126zM509 540h144l-358 -638c-20 -37 -53 -121 -214 -121c-21 0 -31 1 -44 4l23 109c11 -2 16 -2 28 -2c69 0 113 36 113 93c-23 188 -52 369 -77 555h154l36 -393z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="611" 
+d="M352 729l-57 -269c46 59 102 89 169 89c105 0 173 -81 173 -206c0 -201 -132 -366 -293 -366c-70 0 -112 28 -133 87l-60 -282h-140l201 947h140zM406 437c-86 0 -160 -110 -160 -235c0 -68 35 -113 88 -113c86 0 160 108 160 234c0 69 -35 114 -88 114z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" 
+d="M397 741l-26 -120h-110l26 120h110zM583 741l-26 -120h-110l26 120h110zM509 540h144l-358 -638c-20 -37 -53 -121 -214 -121c-21 0 -31 1 -44 4l23 109c11 -2 16 -2 28 -2c69 0 113 36 113 93c-23 188 -52 369 -77 555h154l36 -393z" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="10" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="B,uni1E02"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="j"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="x"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="j"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="x"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="J"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="j"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="x"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="45" />
+    <hkern g1="F,uni1E1E"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="F,uni1E1E"
+	g2="J"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="j"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="x"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="50" />
+    <hkern g1="F,uni1E1E"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="J"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="J"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="J"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="J"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="J"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="J"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="J"
+	g2="j"
+	k="20" />
+    <hkern g1="J"
+	g2="x"
+	k="50" />
+    <hkern g1="J"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="J"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="J"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="J"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="J"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="J"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="J"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="j"
+	k="10" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="J"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="x"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="R,Rcaron"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="R,Rcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="j"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="x"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="50" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="J"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="x"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="J"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="x"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="r,rcaron"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="p,uni1E57"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="x"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="x"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="f,uniFB00"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="x"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="j"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="x"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="40" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="r,rcaron"
+	k="25" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="j"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="x"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="25" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="x"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="j"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="x"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="x"
+	k="20" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="35" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="B,uni1E02"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="F,uni1E1E"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="guillemotright,guilsinglright"
+	k="50" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="comma,period"
+	k="100" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="80" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="70" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="guillemotright,guilsinglright"
+	k="80" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="80" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="70" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="90" />
+    <hkern g1="quoteright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="quoteright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="quoteright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="quoteright"
+	g2="x"
+	k="40" />
+    <hkern g1="quoteright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="J"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="j"
+	k="30" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="x"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="j"
+	k="10" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="x"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="J"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="x"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="40" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="uni0433,uni0442"
+	g2="uni0434"
+	k="40" />
+    <hkern g1="uni0443,uni045E"
+	g2="uni0434"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0410"
+	k="40" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni042F"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni0420"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="10" />
+    <hkern g1="uni0420"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni042F"
+	k="10" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="40" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni042F"
+	k="20" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansItalic.svg b/Tests/W3CTestSuite/resources/SVGFreeSansItalic.svg
new file mode 100644
index 0000000000000000000000000000000000000000..80d54955d3d602a0e36da58b0fcfb3af391377c4
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/SVGFreeSansItalic.svg
@@ -0,0 +1,1306 @@
+<?xml version="1.0" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" >
+<defs>
+<font id="ascii" horiz-adv-x="1024" >
+  <font-face 
+    font-family="SVGFreeSansASCII"
+    font-weight="400"
+    font-style="oblique"
+    font-stretch="normal"
+    units-per-em="2048"
+    panose-1="2 11 6 3 3 3 4 11 2 4"
+    ascent="1556"
+    descent="-492"
+    x-height="1120"
+    cap-height="1493"
+    bbox="-537 -483 2578 1901"
+    underline-thickness="143"
+    underline-position="-284"
+    slope="-11"
+    unicode-range="U+0020-U+FB02"
+  />
+<missing-glyph horiz-adv-x="1229" 
+d="M102 -362v1806h1024v-1806h-1024zM217 -248h795v1577h-795v-1577z" />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="651" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="821" 
+d="M453 1493h202l-127 -655l-90 -357h-162l50 357zM213 254h203l-49 -254h-205z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="942" 
+d="M367 1493v-555h-170v555h170zM745 1493v-555h-170v555h170z" />
+    <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="1716" 
+d="M897 1470l-104 -415h292l105 415h160l-103 -415h336l-39 -154h-336l-82 -334h340l-36 -153h-343l-104 -414h-160l103 414h-293l-103 -414h-161l104 414h-330l37 153h330l84 334h-336l39 154h336l102 415h162zM1047 901h-291l-84 -334h293z" />
+    <glyph glyph-name="dollar" unicode="$" horiz-adv-x="1303" 
+d="M600 145q139 6 220 70.5t81 167.5q0 84 -51 130t-166 65zM700 1180q-132 -14 -207 -78t-75 -164q0 -70 47.5 -109.5t155.5 -58.5zM1167 1262l-34 -181q-86 46 -169.5 71t-162.5 27l-84 -427q184 -29 280.5 -115t96.5 -221q0 -175 -143 -289.5t-380 -126.5l-59 -301h-100
+l59 301q-116 3 -218 26.5t-185 65.5l34 184q92 -62 192 -96t206 -38l88 456q-189 36 -275 110.5t-86 200.5q0 166 137.5 281t362.5 133l47 233h100l-44 -233q90 -3 175.5 -18.5t161.5 -42.5z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="1946" 
+d="M481 707q-136 0 -215.5 88.5t-79.5 240.5q0 216 116 350t302 134q136 0 215.5 -89.5t79.5 -242.5q0 -214 -116 -347.5t-302 -133.5zM739 1182q0 105 -39 158t-116 53q-112 0 -175 -97t-63 -270q0 -92 40.5 -142t115.5 -50q107 0 172 95t65 253zM1599 446q0 107 -38 160
+t-115 53q-111 0 -174.5 -97.5t-63.5 -270.5q0 -93 40.5 -143t115.5 -50q107 0 171 95t64 253zM1343 -29q-136 0 -215 89t-79 241q0 216 115.5 349.5t301.5 133.5q136 0 214.5 -88t78.5 -241q0 -215 -115.5 -349.5t-300.5 -134.5zM1683 1520l-1234 -1549h-160l1235 1549h159z
+" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="1597" 
+d="M967 260l-426 543q-121 -88 -183.5 -187t-62.5 -202q0 -127 85.5 -204t227.5 -77q94 0 185.5 32.5t173.5 94.5zM1507 801q-45 -159 -118.5 -291t-176.5 -240l209 -270h-252l-106 139q-106 -83 -228 -125.5t-255 -42.5q-221 0 -352.5 109t-131.5 289q0 154 92.5 291
+t274.5 253q-31 46 -45.5 93.5t-14.5 101.5q0 68 23 129t66 111q69 82 173 127t224 45q78 0 157 -18t160 -54l-35 -182q-75 47 -149.5 71.5t-144.5 24.5q-124 0 -201.5 -64.5t-77.5 -164.5q0 -44 19 -87t88 -131l407 -520q75 79 128 181.5t81 224.5h186z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="563" 
+d="M367 1493v-555h-170v555h170z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="799" 
+d="M874 1554q-265 -331 -395.5 -628.5t-130.5 -573.5q0 -158 38 -313.5t114 -308.5h-160q-92 172 -137 334.5t-45 318.5q0 297 137.5 588.5t415.5 582.5h163z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="799" 
+d="M-127 -270q266 331 396 628.5t130 573.5q0 158 -37.5 313.5t-113.5 308.5h160q92 -173 137 -334t45 -317q0 -298 -138.5 -591.5t-414.5 -581.5h-164z" />
+    <glyph glyph-name="asterisk" unicode="*" 
+d="M963 1247l-359 -194l359 -195l-58 -98l-336 203v-377h-114v377l-336 -203l-58 98l359 195l-359 194l58 99l336 -203v377h114v-377l336 203z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="1716" 
+d="M942 1284v-557h557v-170h-557v-557h-168v557h-557v170h557v557h168z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="651" 
+d="M184 254h211l-33 -172l-227 -320h-129l144 320z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="739" 
+d="M125 643h539l-31 -164h-541z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="651" 
+d="M168 254h211l-49 -254h-211z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="690" 
+d="M696 1493h178l-847 -1683h-177z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="1303" 
+d="M782 1520q203 0 310.5 -135t107.5 -388q0 -192 -50.5 -381.5t-141.5 -339.5q-93 -150 -218.5 -227.5t-277.5 -77.5q-196 0 -303 136t-107 387q0 190 51.5 380.5t143.5 339.5q92 150 215.5 228t269.5 78zM770 1360q-76 0 -144.5 -40.5t-123.5 -119.5
+q-92 -132 -146.5 -329.5t-54.5 -405.5q0 -165 58.5 -249.5t172.5 -84.5q80 0 148 40.5t123 119.5q91 131 144.5 328.5t53.5 406.5q0 165 -58.5 249.5t-172.5 84.5z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="1303" 
+d="M133 170h330l223 1149l-373 -72l35 174l371 72h203l-258 -1323h329l-32 -170h-861z" />
+    <glyph glyph-name="two" unicode="2" horiz-adv-x="1303" 
+d="M944 721l-645 -553h713l-35 -168h-969l33 170l674 578q135 117 191.5 205.5t56.5 181.5q0 97 -68 158t-178 61q-95 0 -211 -34t-248 -99l37 200q124 49 237 74t209 25q196 0 315.5 -104t119.5 -273q0 -114 -57 -217.5t-175 -204.5z" />
+    <glyph glyph-name="three" unicode="3" horiz-adv-x="1303" 
+d="M324 1456q110 32 213.5 48t203.5 16q198 0 314 -88t116 -236q0 -145 -91.5 -249t-252.5 -142q126 -36 185 -112t59 -201q0 -120 -57.5 -225t-165.5 -181q-82 -58 -196 -86.5t-263 -28.5q-94 0 -190 18.5t-195 55.5l37 191q94 -52 189.5 -77.5t195.5 -25.5
+q197 0 319.5 101.5t122.5 263.5q0 104 -78 160.5t-223 56.5h-174l31 164h184q166 0 261.5 76t95.5 206q0 94 -70 145.5t-197 51.5q-96 0 -196.5 -20.5t-208.5 -61.5z" />
+    <glyph glyph-name="four" unicode="4" horiz-adv-x="1303" 
+d="M881 1493h254l-191 -973h213l-33 -168h-213l-67 -352h-201l68 352h-674l39 195zM899 1317l-666 -797h510z" />
+    <glyph glyph-name="five" unicode="5" horiz-adv-x="1303" 
+d="M1190 1493l-31 -168h-618l-72 -369q46 15 93.5 22t96.5 7q207 0 327 -111t120 -301q0 -133 -61.5 -255t-174.5 -214q-80 -64 -195.5 -98.5t-252.5 -34.5q-90 0 -184 16t-197 48l37 188q92 -45 184.5 -67.5t186.5 -22.5q195 0 322.5 117t127.5 293q0 130 -83.5 202
+t-233.5 72q-79 0 -164.5 -18.5t-175.5 -55.5l145 750h803z" />
+    <glyph glyph-name="six" unicode="6" horiz-adv-x="1303" 
+d="M940 553q0 127 -65 200.5t-177 73.5q-155 0 -260.5 -119.5t-105.5 -295.5q0 -132 64.5 -206.5t178.5 -74.5q156 0 260.5 122.5t104.5 299.5zM1212 1458l-34 -184q-58 38 -133 58t-160 20q-207 0 -332.5 -130t-187.5 -407q73 85 169.5 128.5t208.5 43.5
+q183 0 291.5 -105.5t108.5 -283.5q0 -146 -53.5 -271.5t-155.5 -220.5q-70 -65 -163 -100t-198 -35q-206 0 -325 131t-119 359q0 212 54.5 408.5t152.5 340.5q103 152 249.5 231t323.5 79q78 0 154 -15.5t149 -46.5z" />
+    <glyph glyph-name="seven" unicode="7" horiz-adv-x="1303" 
+d="M262 1493h1022l-18 -86l-854 -1407h-222l807 1323h-768z" />
+    <glyph glyph-name="eight" unicode="8" horiz-adv-x="1303" 
+d="M911 453q0 113 -79 184.5t-207 71.5q-156 0 -257.5 -93.5t-101.5 -236.5q0 -114 77.5 -181t209.5 -67q157 0 257.5 91t100.5 231zM1014 1149q0 95 -70 153t-186 58q-137 0 -225.5 -77t-88.5 -193q0 -100 69.5 -161t184.5 -61q138 0 227 79.5t89 201.5zM877 786
+q113 -43 173 -130t60 -210q0 -207 -160 -341t-413 -134q-215 0 -342 105.5t-127 281.5q0 160 109 284.5t284 158.5q-105 36 -160 111.5t-55 183.5q0 181 150.5 302.5t381.5 121.5q193 0 314.5 -98.5t121.5 -250.5q0 -132 -90.5 -235.5t-246.5 -149.5z" />
+    <glyph glyph-name="nine" unicode="9" horiz-adv-x="1303" 
+d="M90 33l37 184q58 -38 132 -58t159 -20q207 0 333.5 131t188.5 408q-74 -85 -171.5 -129.5t-209.5 -44.5q-182 0 -289.5 105.5t-107.5 283.5q0 146 53 271.5t156 219.5q70 66 162 101t196 35q207 0 327 -131.5t120 -358.5q0 -211 -55.5 -408t-153.5 -341
+q-104 -152 -250 -231t-324 -79q-77 0 -153.5 15.5t-149.5 46.5zM362 940q0 -127 66 -201.5t178 -74.5q155 0 260 119t105 296q0 132 -65 206.5t-179 74.5q-155 0 -260 -121.5t-105 -298.5z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="690" 
+d="M313 1059h211l-49 -254h-211zM156 254h211l-50 -254h-211z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="690" 
+d="M180 254h211l-35 -172l-225 -320h-129l143 320zM336 1059h211l-49 -254h-211z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="1716" 
+d="M1499 1008l-1032 -367l1032 -365v-182l-1282 465v166l1282 465v-182z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="1716" 
+d="M217 930h1282v-168h-1282v168zM217 522h1282v-170h-1282v170z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="1716" 
+d="M217 1008v182l1282 -465v-166l-1282 -465v182l1030 365z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="1087" 
+d="M510 254l-49 -254h-203l49 254h203zM289 1407q102 57 203.5 85t207.5 28q161 0 254 -75t93 -204q0 -103 -53.5 -193t-174.5 -188l-104 -84q-84 -66 -112 -113t-46 -139l-25 -123h-190l31 154q18 94 57 159.5t150 157.5l106 89q84 70 118 123t34 110q0 76 -54.5 119
+t-150.5 43q-80 0 -178.5 -35.5t-202.5 -101.5z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="2048" 
+d="M1253 238q-69 -74 -149.5 -112t-167.5 -38q-147 0 -243.5 99t-96.5 251q0 220 148.5 384.5t347.5 164.5q92 0 164.5 -40t111.5 -111l27 131h143l-143 -738q177 28 291 180t114 361q0 233 -165 380.5t-427 147.5q-178 0 -344 -62.5t-293 -176.5q-145 -134 -226 -310
+t-81 -360q0 -261 174.5 -431.5t444.5 -170.5q129 0 254 43.5t262 136.5l82 -114q-135 -102 -291.5 -154.5t-321.5 -52.5q-322 0 -535.5 214t-213.5 541q0 225 104.5 435.5t292.5 363.5q139 114 319 177t369 63q321 0 531.5 -189t210.5 -473q0 -295 -203.5 -491.5
+t-519.5 -202.5zM1094 846q-141 0 -239.5 -111.5t-98.5 -267.5q0 -112 57 -175t158 -63q142 0 238 114t96 280q0 102 -57.5 162.5t-153.5 60.5z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="1401" 
+d="M754 1493h229l277 -1493h-211l-62 383h-672l-211 -383h-213zM827 1294l-419 -743h548z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="1405" 
+d="M346 1493h516q210 0 314 -78t104 -235q0 -144 -89.5 -248.5t-234.5 -126.5q124 -28 186 -107t62 -211q0 -225 -166.5 -356t-455.5 -131h-527zM395 713l-106 -547h325q183 0 282 84t99 237q0 118 -65.5 172t-210.5 54h-324zM514 1327l-88 -450h301q161 0 251.5 70
+t90.5 194q0 97 -61 141.5t-195 44.5h-299z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="1430" 
+d="M1423 1378l-41 -213q-96 97 -203.5 144t-232.5 47q-171 0 -300.5 -82t-223.5 -250q-60 -108 -91.5 -228.5t-31.5 -242.5q0 -204 105.5 -311t306.5 -107q139 0 267 44.5t249 133.5l-47 -239q-119 -51 -240.5 -77t-243.5 -26q-287 0 -448.5 156t-161.5 434q0 178 61.5 350
+t176.5 314q122 151 278.5 223t364.5 72q128 0 242.5 -35.5t213.5 -106.5z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="1577" 
+d="M346 1493h434q346 0 522.5 -146.5t176.5 -435.5q0 -191 -67 -367.5t-185 -297.5q-119 -124 -302 -185t-433 -61h-437zM516 1327l-225 -1161h264q339 0 525 195t186 550q0 215 -120 315.5t-376 100.5h-254z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="1294" 
+d="M346 1493h944l-33 -170h-743l-86 -442h713l-33 -170h-713l-104 -541h760l-33 -170h-963z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="1178" 
+d="M346 1493h856l-33 -170h-655l-86 -440h592l-33 -170h-592l-139 -713h-201z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="1587" 
+d="M1118 223l78 391h-332l31 166h530l-129 -657q-133 -73 -290 -112.5t-316 -39.5q-281 0 -439.5 156t-158.5 434q0 231 96.5 439.5t266.5 347.5q107 87 234 129.5t282 42.5q140 0 268.5 -35.5t245.5 -106.5l-41 -215q-90 94 -211 143.5t-258 49.5q-159 0 -280 -60.5
+t-216 -187.5q-81 -108 -127.5 -254.5t-46.5 -298.5q0 -209 107 -314.5t319 -105.5q106 0 205 22.5t182 65.5z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="1540" 
+d="M346 1493h203l-119 -612h733l119 612h203l-291 -1493h-203l139 711h-733l-139 -711h-203z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="604" 
+d="M346 1493h203l-291 -1493h-203z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="604" 
+d="M342 1493h203l-271 -1389q-53 -271 -178.5 -392.5t-351.5 -121.5h-80l33 170h63q135 0 205 77t107 267z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="1343" 
+d="M346 1493h203l-123 -629l784 629h269l-887 -713l649 -780h-246l-596 727l-141 -727h-203z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="1141" 
+d="M344 1493h203l-256 -1325h727l-33 -168h-930z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="1767" 
+d="M346 1493h303l174 -1006l578 1006h311l-291 -1493h-196l254 1309l-586 -1022h-197l-190 1026l-254 -1313h-197z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="1532" 
+d="M346 1493h272l412 -1280l250 1280h197l-291 -1493h-273l-411 1288l-250 -1288h-197z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="1612" 
+d="M934 1356q-166 0 -293 -80.5t-221 -245.5q-60 -105 -91.5 -223t-31.5 -238q0 -208 99.5 -321t281.5 -113q164 0 292.5 81.5t219.5 242.5q61 108 93 226.5t32 236.5q0 207 -100 320.5t-281 113.5zM672 -29q-275 0 -432.5 163t-157.5 446q0 162 61.5 331t169.5 301
+q127 155 283 231.5t344 76.5q274 0 432 -161.5t158 -440.5q0 -172 -60 -338t-172 -301q-128 -156 -282.5 -232t-343.5 -76z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="1235" 
+d="M346 1493h467q204 0 311 -95t107 -278q0 -246 -158 -383t-444 -137h-254l-117 -600h-203zM516 1327l-108 -561h254q172 0 264 88t92 252q0 105 -62.5 163t-175.5 58h-264z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="1612" 
+d="M739 -27q-11 -1 -23 -1.5t-36 -0.5q-280 0 -438 160.5t-158 443.5q0 167 60.5 335t168.5 302q125 154 281.5 231t345.5 77q274 0 432 -161.5t158 -440.5q0 -301 -165 -551t-431 -353l203 -278h-226zM934 1356q-166 0 -293 -80.5t-221 -245.5q-60 -105 -91.5 -223
+t-31.5 -238q0 -208 99.5 -321t281.5 -113q164 0 292.5 81.5t219.5 242.5q61 108 93 226.5t32 236.5q0 207 -100 320.5t-281 113.5z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="1423" 
+d="M516 1327l-102 -530h260q153 0 247.5 84.5t94.5 220.5q0 109 -63.5 167t-182.5 58h-254zM887 717q64 -15 106.5 -74t98.5 -235l127 -408h-213l-117 383q-45 148 -104 198t-181 50h-223l-123 -631h-203l291 1493h455q207 0 317.5 -93.5t110.5 -269.5q0 -156 -94 -270
+t-248 -143z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="1300" 
+d="M1235 1444l-39 -197q-101 54 -200.5 81.5t-192.5 27.5q-181 0 -288 -79t-107 -210q0 -72 39.5 -110.5t203.5 -82.5l121 -30q205 -53 285 -134.5t80 -228.5q0 -226 -177.5 -368t-467.5 -142q-119 0 -239 23.5t-241 71.5l41 208q111 -69 222.5 -104t222.5 -35q189 0 303 84
+t114 219q0 90 -45.5 136.5t-195.5 84.5l-121 31q-207 54 -282.5 124.5t-75.5 197.5q0 223 171.5 365.5t446.5 142.5q107 0 212 -19t210 -57z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="1251" 
+d="M121 1493h1263l-32 -170h-533l-256 -1323h-203l256 1323h-528z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="1499" 
+d="M317 1493h203l-176 -907q-11 -61 -15.5 -100.5t-4.5 -69.5q0 -138 77 -209.5t226 -71.5q193 0 300.5 106t153.5 345l176 907h203l-180 -932q-59 -302 -224 -446t-452 -144q-224 0 -354.5 112.5t-130.5 305.5q0 35 5 78.5t15 93.5z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="1401" 
+d="M422 0l-262 1493h198l217 -1284l725 1284h220l-863 -1493h-235z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="2025" 
+d="M197 1493h196l72 -1270l563 1270h225l74 -1270l557 1270h205l-664 -1493h-254l-69 1245l-559 -1245h-254z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="1403" 
+d="M281 1493h204l256 -539l463 539h236l-615 -713l371 -780h-203l-301 629l-545 -629h-235l698 803z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="1251" 
+d="M129 1493h217l279 -614l532 614h227l-677 -782l-138 -711h-202l137 711z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="1403" 
+d="M268 1493h1172l-29 -154l-1157 -1169h952l-32 -170h-1219l29 154l1157 1169h-905z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="799" 
+d="M436 1556h424l-29 -143h-239l-299 -1540h239l-26 -143h-424z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="690" 
+d="M344 1493l193 -1683h-168l-195 1683h170z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="799" 
+d="M700 1556l-354 -1826h-424l27 143h239l299 1540h-237l26 143h424z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="1716" 
+d="M956 1493l543 -557h-201l-440 395l-440 -395h-201l543 557h196z" />
+    <glyph glyph-name="underscore" unicode="_" 
+d="M1044 -340v-143h-1064v143h1064z" />
+    <glyph glyph-name="grave" unicode="`" 
+d="M586 1638l209 -374h-154l-252 374h197z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="1255" 
+d="M1100 639l-125 -639h-184l34 170q-81 -100 -184.5 -149.5t-230.5 -49.5q-143 0 -234.5 87.5t-91.5 224.5q0 196 156.5 310t431.5 114h256l10 49q2 8 3 17.5t1 29.5q0 89 -72.5 138.5t-203.5 49.5q-90 0 -184.5 -23t-194.5 -69l32 170q104 39 203.5 58.5t192.5 19.5
+q198 0 301.5 -86t103.5 -250q0 -33 -5 -77.5t-15 -94.5zM901 563h-184q-226 0 -334.5 -60.5t-108.5 -187.5q0 -88 55.5 -138t153.5 -50q150 0 262 107.5t148 287.5z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="1300" 
+d="M1014 684q0 145 -66.5 227t-183.5 82q-85 0 -159.5 -41.5t-129.5 -120.5q-58 -83 -91.5 -192.5t-33.5 -218.5q0 -138 65.5 -216.5t180.5 -78.5q87 0 161 40.5t130 119.5q57 82 92 191t35 208zM442 950q68 92 170.5 144.5t214.5 52.5q172 0 273.5 -116t101.5 -314
+q0 -162 -59.5 -314t-169.5 -270q-72 -78 -166 -120t-197 -42q-109 0 -189 50t-130 149l-33 -170h-184l303 1556h184z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="1126" 
+d="M1098 1077l-37 -182q-66 48 -140.5 72t-154.5 24q-88 0 -167.5 -31t-133.5 -88q-86 -87 -133 -204t-47 -242q0 -151 75.5 -225t229.5 -74q76 0 161.5 23t178.5 69l-35 -182q-80 -33 -164.5 -49.5t-173.5 -16.5q-223 0 -343 111.5t-120 318.5q0 174 62.5 320.5
+t185.5 263.5q84 80 197 121t247 41q78 0 155 -17.5t157 -52.5z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="1300" 
+d="M856 168q-74 -97 -175 -147t-224 -50q-168 0 -265.5 114.5t-97.5 313.5q0 166 59 316.5t171 269.5q74 79 167 120.5t195 41.5q108 0 190.5 -52t127.5 -149l120 610h185l-303 -1556h-185zM285 432q0 -145 65.5 -226t181.5 -81q86 0 159.5 41.5t129.5 122.5q59 84 93 194
+t34 217q0 139 -65.5 217t-180.5 78q-87 0 -162 -41t-128 -118q-58 -83 -92.5 -193t-34.5 -211z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="1260" 
+d="M985 660q3 16 4.5 33t1.5 34q0 122 -71.5 193t-194.5 71q-137 0 -242 -86.5t-159 -245.5zM1145 516h-856q-6 -38 -8 -60t-2 -38q0 -139 85.5 -215t241.5 -76q120 0 227 27t199 79l-35 -182q-99 -40 -204.5 -60t-214.5 -20q-233 0 -358.5 111.5t-125.5 316.5
+q0 175 62.5 325.5t183.5 268.5q78 74 185.5 114t228.5 40q190 0 302.5 -114t112.5 -306q0 -46 -6 -98.5t-18 -112.5z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="721" 
+d="M979 1556l-29 -153h-176q-100 0 -145.5 -39.5t-67.5 -144.5l-20 -99h303l-27 -143h-303l-190 -977h-185l191 977h-176l26 143h176l15 78q38 198 133.5 278t300.5 80h174z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="1300" 
+d="M1221 1120l-191 -981q-55 -285 -210.5 -425t-418.5 -140q-97 0 -180 14.5t-155 44.5l34 179q68 -44 144 -65t162 -21q175 0 287.5 95.5t148.5 274.5l16 84q-77 -88 -179 -134t-220 -46q-170 0 -267.5 112.5t-97.5 309.5q0 155 59 303.5t166 263.5q71 76 165.5 117
+t197.5 41q113 0 197 -52.5t125 -148.5l32 174h185zM944 709q0 136 -64 210t-182 74q-73 0 -139 -29t-113 -81q-76 -86 -118.5 -202.5t-42.5 -240.5q0 -138 64.5 -212t185.5 -74q175 0 292 158.5t117 396.5z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="1298" 
+d="M1141 676l-131 -676h-185l131 669q9 47 14 83t5 57q0 84 -53 131t-148 47q-148 0 -256.5 -100t-140.5 -266l-121 -621h-184l303 1556h184l-119 -612q70 94 179 148.5t229 54.5q148 0 229.5 -80t81.5 -225q0 -36 -4.5 -77t-13.5 -89z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="569" 
+d="M375 1556h184l-45 -233h-184zM291 1120h184l-219 -1120h-184z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="569" 
+d="M297 1120h184l-221 -1140l-1 -5q-37 -191 -85 -262q-45 -67 -131.5 -103t-204.5 -36h-69l30 156h47q108 0 153.5 45t76.5 205zM383 1556h184l-45 -233h-184z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="1186" 
+d="M375 1556h184l-176 -907l631 471h239l-704 -536l514 -584h-223l-478 547l-106 -547h-184z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="569" 
+d="M375 1556h184l-303 -1556h-184z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="1995" 
+d="M1839 676l-131 -676h-184l129 670q8 43 12 74t4 53q0 90 -50 140t-140 50q-134 0 -239 -100.5t-136 -261.5l-123 -625h-184l131 670q8 37 12 68.5t4 56.5q0 91 -50 141.5t-138 50.5q-136 0 -241 -100.5t-136 -261.5l-123 -625h-184l219 1120h184l-35 -174
+q75 98 175.5 149.5t215.5 51.5q122 0 200.5 -64t94.5 -178q84 118 194.5 180t233.5 62q144 0 222.5 -83t78.5 -235q0 -33 -4 -72.5t-12 -80.5z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="1298" 
+d="M1141 676l-131 -676h-185l131 669q9 47 14 83t5 57q0 84 -53 131t-148 47q-148 0 -255 -98.5t-140 -267.5l-123 -621h-184l217 1120h184l-37 -176q77 97 185 150t227 53q148 0 229.5 -80t81.5 -225q0 -36 -4.5 -77t-13.5 -89z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="1253" 
+d="M520 -29q-197 0 -311.5 121.5t-114.5 331.5q0 122 39.5 248.5t102.5 212.5q99 134 221 198t276 64q191 0 308.5 -119t117.5 -311q0 -133 -39 -265t-102 -219q-98 -134 -220 -198t-278 -64zM285 430q0 -152 63.5 -227.5t192.5 -75.5q185 0 306.5 161.5t121.5 409.5
+q0 145 -65 219t-191 74q-104 0 -185 -48.5t-145 -147.5q-47 -74 -72.5 -169t-25.5 -196z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="1300" 
+d="M1016 690q0 147 -64 225t-184 78q-82 0 -156.5 -42t-132.5 -122q-57 -79 -91 -191t-34 -222q0 -140 64 -215.5t182 -75.5q87 0 161.5 41t127.5 119q57 82 92 193t35 212zM446 950q74 97 174.5 147t223.5 50q172 0 267 -112.5t95 -315.5q0 -166 -59 -316.5t-170 -269.5
+q-74 -79 -167 -120.5t-196 -41.5q-119 0 -200 49.5t-121 147.5l-115 -594h-184l301 1546h184z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="1300" 
+d="M854 168q-74 -97 -174.5 -147t-222.5 -50q-170 0 -266.5 114.5t-96.5 315.5q0 162 59.5 313t170.5 271q72 78 165.5 120t196.5 42q124 0 204 -49t116 -148l32 168h185l-299 -1540h-185zM285 428q0 -148 62 -225.5t179 -77.5q174 0 297 166.5t123 404.5q0 144 -63.5 220.5
+t-182.5 76.5q-87 0 -161 -40.5t-129 -118.5q-58 -82 -91.5 -192t-33.5 -214z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="842" 
+d="M913 950q-28 15 -64 23t-77 8q-147 0 -257 -111.5t-146 -298.5l-113 -571h-184l219 1120h184l-35 -174q73 97 174.5 149t216.5 52q30 0 59 -3.5t58 -11.5z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="1067" 
+d="M1024 1087l-35 -174q-73 40 -154 60t-167 20q-145 0 -228.5 -49.5t-83.5 -134.5q0 -99 194 -152l22 -6l59 -18q184 -51 245.5 -107t61.5 -153q0 -178 -141.5 -290t-370.5 -112q-89 0 -187 17t-216 53l36 190q101 -52 199 -79t188 -27q135 0 219.5 58t84.5 147
+q0 96 -222 155l-19 5l-63 16q-140 37 -205 97.5t-65 154.5q0 179 134.5 284t365.5 105q91 0 177.5 -15t170.5 -45z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="803" 
+d="M866 1120l-28 -143h-367l-119 -608q-6 -34 -9 -57t-3 -36q0 -64 38.5 -93t123.5 -29h186l-31 -154h-176q-164 0 -244.5 64t-80.5 194q0 23 3 50.5t9 60.5l119 608h-156l29 143h153l62 318h184l-61 -318h368z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="1298" 
+d="M137 444l131 676h185l-131 -669q-10 -49 -14.5 -84t-4.5 -58q0 -85 52 -131.5t147 -46.5q148 0 256 100t141 269l123 620h184l-217 -1120h-184l37 176q-78 -98 -185.5 -151.5t-228.5 -53.5q-147 0 -229 80.5t-82 224.5q0 30 5 75t15 93z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="1212" 
+d="M147 1120h195l164 -952l536 952h195l-637 -1120h-248z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="1675" 
+d="M174 1120h182l47 -901l418 901h213l62 -901l397 901h184l-512 -1120h-215l-55 928l-428 -928h-217z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="1212" 
+d="M1229 1120l-514 -549l315 -571h-211l-237 444l-412 -444h-223l551 590l-293 530h211l215 -405l375 405h223z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="1212" 
+d="M508 -104q-128 -215 -208.5 -268.5t-205.5 -53.5h-145l31 154h106q77 0 131 42t121 164l57 107l-248 1079h195l186 -858l514 858h193z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="1075" 
+d="M238 1120h874l-33 -168l-843 -805h696l-29 -147h-909l33 168l843 805h-661z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="1303" 
+d="M1239 1556l-29 -143h-77q-136 0 -183 -39.5t-78 -189.5l-51 -252q-32 -160 -92.5 -232.5t-171.5 -93.5q73 -18 113.5 -69.5t40.5 -126.5q0 -24 -4 -57t-11 -71l-47 -244q-5 -31 -7.5 -57.5t-2.5 -50.5q0 -63 42.5 -91.5t139.5 -28.5h78l-29 -144h-71q-188 0 -269 54.5
+t-81 177.5q0 32 3.5 66t10.5 71l45 235q0 3 2 12q10 50 10 95q0 85 -49 122.5t-162 37.5h-61l28 147h62q144 0 207.5 54.5t95.5 205.5l47 244q26 123 61.5 194.5t90.5 110.5q46 34 115 48.5t202 14.5h82z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="690" 
+d="M430 1565v-2048h-170v2048h170z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="1303" 
+d="M14 -334l29 144h78q136 0 183 39.5t77 189.5l51 252q33 160 93 232.5t171 92.5q-73 19 -113 70t-40 127q0 25 3.5 57t10.5 70l47 243q6 34 8 59t2 50q0 64 -42.5 92.5t-139.5 28.5h-78l27 143h74q187 0 268.5 -54t81.5 -177q0 -31 -3.5 -65t-11.5 -73l-45 -235
+q0 -3 -2 -12q-10 -49 -10 -94q0 -86 49 -123t162 -37h62l-29 -147h-62q-144 0 -207 -55t-92 -205l-53 -244q-26 -126 -61 -196.5t-88 -108.5q-47 -34 -116 -49t-202 -15h-82z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="1716" 
+d="M1499 817v-178q-105 -79 -194.5 -113t-186.5 -34q-110 0 -256 59q-11 4 -16 6q-7 3 -22 8q-155 62 -249 62q-88 0 -174 -38.5t-184 -121.5v178q105 79 194.5 113.5t186.5 34.5q110 0 257 -60l15 -6l22 -8q155 -62 249 -62q86 0 170.5 38t187.5 122z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="1401" 
+d="M754 1493h229l277 -1493h-211l-62 383h-672l-211 -383h-213zM827 1294l-419 -743h548zM623 1870h204l-41 -203h-202zM1014 1870h202l-38 -203h-203z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="1401" 
+d="M1020 1626q0 63 -44.5 107.5t-107.5 44.5q-64 0 -107.5 -43.5t-43.5 -108.5q0 -63 43.5 -107t107.5 -44q63 0 107.5 44t44.5 107zM705 1407q-54 37 -82.5 93.5t-28.5 125.5q0 114 80 194.5t194 80.5t194.5 -80.5t80.5 -194.5q0 -79 -36.5 -140t-105.5 -97l259 -1389h-211
+l-62 383h-672l-211 -383h-213zM827 1294l-419 -743h548z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="1430" 
+d="M1423 1378l-41 -213q-96 97 -203.5 144t-232.5 47q-171 0 -300.5 -82t-223.5 -250q-60 -108 -91.5 -228.5t-31.5 -242.5q0 -204 105.5 -311t306.5 -107q139 0 267 44.5t249 133.5l-47 -239q-119 -51 -240.5 -77t-243.5 -26q-287 0 -448.5 156t-161.5 434q0 178 61.5 350
+t176.5 314q122 151 278.5 223t364.5 72q128 0 242.5 -35.5t213.5 -106.5zM747 0q36 -51 53 -94.5t17 -85.5q0 -100 -73.5 -157.5t-201.5 -57.5q-43 0 -86 6t-86 18l23 131q39 -16 78.5 -24t81.5 -8q60 0 95.5 30.5t35.5 83.5q0 29 -12.5 65t-43.5 93h119z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="1294" 
+d="M346 1493h944l-33 -170h-743l-86 -442h713l-33 -170h-713l-104 -541h760l-33 -170h-963zM934 1899h207l-307 -264h-158z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="1532" 
+d="M346 1493h272l412 -1280l250 1280h197l-291 -1493h-273l-411 1288l-250 -1288h-197zM934 1710l-35 25l-1 1q-43 32 -81 32q-34 0 -61 -25.5t-45 -75.5h-125q35 109 96.5 164t146.5 55q35 0 65.5 -11t66.5 -36l32 -26q18 -14 37 -20.5t39 -6.5q39 0 67.5 27t39.5 73h125
+q-33 -109 -95.5 -164t-154.5 -55q-31 0 -58.5 10.5t-58.5 32.5z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="1612" 
+d="M934 1356q-166 0 -293 -80.5t-221 -245.5q-60 -105 -91.5 -223t-31.5 -238q0 -208 99.5 -321t281.5 -113q164 0 292.5 81.5t219.5 242.5q61 108 93 226.5t32 236.5q0 207 -100 320.5t-281 113.5zM672 -29q-275 0 -432.5 163t-157.5 446q0 162 61.5 331t169.5 301
+q127 155 283 231.5t344 76.5q274 0 432 -161.5t158 -440.5q0 -172 -60 -338t-172 -301q-128 -156 -282.5 -232t-343.5 -76zM746 1870h204l-41 -203h-202zM1137 1870h202l-38 -203h-203z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="1499" 
+d="M317 1493h203l-176 -907q-11 -61 -15.5 -100.5t-4.5 -69.5q0 -138 77 -209.5t226 -71.5q193 0 300.5 106t153.5 345l176 907h203l-180 -932q-59 -302 -224 -446t-452 -144q-224 0 -354.5 112.5t-130.5 305.5q0 35 5 78.5t15 93.5zM656 1870h204l-41 -203h-202zM1047 1870
+h202l-38 -203h-203z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="1255" 
+d="M1100 639l-125 -639h-184l34 170q-81 -100 -184.5 -149.5t-230.5 -49.5q-143 0 -234.5 87.5t-91.5 224.5q0 196 156.5 310t431.5 114h256l10 49q2 8 3 17.5t1 29.5q0 89 -72.5 138.5t-203.5 49.5q-90 0 -184.5 -23t-194.5 -69l32 170q104 39 203.5 58.5t192.5 19.5
+q198 0 301.5 -86t103.5 -250q0 -33 -5 -77.5t-15 -94.5zM901 563h-184q-226 0 -334.5 -60.5t-108.5 -187.5q0 -88 55.5 -138t153.5 -50q150 0 262 107.5t148 287.5zM970 1638h199l-399 -376h-154z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="1255" 
+d="M1100 639l-125 -639h-184l34 170q-81 -100 -184.5 -149.5t-230.5 -49.5q-143 0 -234.5 87.5t-91.5 224.5q0 196 156.5 310t431.5 114h256l10 49q2 8 3 17.5t1 29.5q0 89 -72.5 138.5t-203.5 49.5q-90 0 -184.5 -23t-194.5 -69l32 170q104 39 203.5 58.5t192.5 19.5
+q198 0 301.5 -86t103.5 -250q0 -33 -5 -77.5t-15 -94.5zM901 563h-184q-226 0 -334.5 -60.5t-108.5 -187.5q0 -88 55.5 -138t153.5 -50q150 0 262 107.5t148 287.5zM686 1638l209 -374h-154l-252 374h197z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="1255" 
+d="M1100 639l-125 -639h-184l34 170q-81 -100 -184.5 -149.5t-230.5 -49.5q-143 0 -234.5 87.5t-91.5 224.5q0 196 156.5 310t431.5 114h256l10 49q2 8 3 17.5t1 29.5q0 89 -72.5 138.5t-203.5 49.5q-90 0 -184.5 -23t-194.5 -69l32 170q104 39 203.5 58.5t192.5 19.5
+q198 0 301.5 -86t103.5 -250q0 -33 -5 -77.5t-15 -94.5zM901 563h-184q-226 0 -334.5 -60.5t-108.5 -187.5q0 -88 55.5 -138t153.5 -50q150 0 262 107.5t148 287.5zM757 1638h148l172 -376h-139l-127 237l-234 -237h-139z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="1255" 
+d="M1100 639l-125 -639h-184l34 170q-81 -100 -184.5 -149.5t-230.5 -49.5q-143 0 -234.5 87.5t-91.5 224.5q0 196 156.5 310t431.5 114h256l10 49q2 8 3 17.5t1 29.5q0 89 -72.5 138.5t-203.5 49.5q-90 0 -184.5 -23t-194.5 -69l32 170q104 39 203.5 58.5t192.5 19.5
+q198 0 301.5 -86t103.5 -250q0 -33 -5 -77.5t-15 -94.5zM901 563h-184q-226 0 -334.5 -60.5t-108.5 -187.5q0 -88 55.5 -138t153.5 -50q150 0 262 107.5t148 287.5zM516 1552h205l-41 -202h-203zM907 1552h203l-39 -202h-203z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="1255" 
+d="M1100 639l-125 -639h-184l34 170q-81 -100 -184.5 -149.5t-230.5 -49.5q-143 0 -234.5 87.5t-91.5 224.5q0 196 156.5 310t431.5 114h256l10 49q2 8 3 17.5t1 29.5q0 89 -72.5 138.5t-203.5 49.5q-90 0 -184.5 -23t-194.5 -69l32 170q104 39 203.5 58.5t192.5 19.5
+q198 0 301.5 -86t103.5 -250q0 -33 -5 -77.5t-15 -94.5zM901 563h-184q-226 0 -334.5 -60.5t-108.5 -187.5q0 -88 55.5 -138t153.5 -50q150 0 262 107.5t148 287.5zM774 1370l-45 55q-13 16 -29 26t-32 13q-39 0 -64.5 -36.5t-42.5 -118.5h-125q30 137 94.5 209.5
+t155.5 72.5q37 0 69 -15.5t58 -45.5l47 -55q12 -16 26 -25t33 -14q38 0 62.5 35.5t44.5 119.5h125q-29 -137 -93.5 -209.5t-156.5 -72.5q-38 0 -71 15.5t-56 45.5z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="1255" 
+d="M1100 639l-125 -639h-184l34 170q-81 -100 -184.5 -149.5t-230.5 -49.5q-143 0 -234.5 87.5t-91.5 224.5q0 196 156.5 310t431.5 114h256l10 49q2 8 3 17.5t1 29.5q0 89 -72.5 138.5t-203.5 49.5q-90 0 -184.5 -23t-194.5 -69l32 170q104 39 203.5 58.5t192.5 19.5
+q198 0 301.5 -86t103.5 -250q0 -33 -5 -77.5t-15 -94.5zM901 563h-184q-226 0 -334.5 -60.5t-108.5 -187.5q0 -88 55.5 -138t153.5 -50q150 0 262 107.5t148 287.5zM1077 1524q0 -115 -79.5 -195t-195.5 -80q-115 0 -194.5 80t-79.5 195q0 116 79.5 195t194.5 79
+q116 0 195.5 -79t79.5 -195zM954 1524q0 64 -43.5 107.5t-108.5 43.5q-66 0 -108.5 -42.5t-42.5 -108.5t42.5 -109t108.5 -43q67 0 109.5 43t42.5 109z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="1126" 
+d="M1098 1077l-37 -182q-66 48 -140.5 72t-154.5 24q-88 0 -167.5 -31t-133.5 -88q-86 -87 -133 -204t-47 -242q0 -151 75.5 -225t229.5 -74q76 0 161.5 23t178.5 69l-35 -182q-80 -33 -164.5 -49.5t-173.5 -16.5q-223 0 -343 111.5t-120 318.5q0 174 62.5 320.5
+t185.5 263.5q84 80 197 121t247 41q78 0 155 -17.5t157 -52.5zM596 0q36 -51 53 -94.5t17 -85.5q0 -100 -73.5 -157.5t-201.5 -57.5q-43 0 -86 6t-86 18l23 131q39 -16 78.5 -24t81.5 -8q60 0 95.5 30.5t35.5 83.5q0 29 -12.5 65t-43.5 93h119z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="1260" 
+d="M985 660q3 16 4.5 33t1.5 34q0 122 -71.5 193t-194.5 71q-137 0 -242 -86.5t-159 -245.5zM1145 516h-856q-6 -38 -8 -60t-2 -38q0 -139 85.5 -215t241.5 -76q120 0 227 27t199 79l-35 -182q-99 -40 -204.5 -60t-214.5 -20q-233 0 -358.5 111.5t-125.5 316.5
+q0 175 62.5 325.5t183.5 268.5q78 74 185.5 114t228.5 40q190 0 302.5 -114t112.5 -306q0 -46 -6 -98.5t-18 -112.5zM981 1638h199l-399 -376h-154z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="1260" 
+d="M985 660q3 16 4.5 33t1.5 34q0 122 -71.5 193t-194.5 71q-137 0 -242 -86.5t-159 -245.5zM1145 516h-856q-6 -38 -8 -60t-2 -38q0 -139 85.5 -215t241.5 -76q120 0 227 27t199 79l-35 -182q-99 -40 -204.5 -60t-214.5 -20q-233 0 -358.5 111.5t-125.5 316.5
+q0 175 62.5 325.5t183.5 268.5q78 74 185.5 114t228.5 40q190 0 302.5 -114t112.5 -306q0 -46 -6 -98.5t-18 -112.5zM697 1638l209 -374h-154l-252 374h197z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="1260" 
+d="M985 660q3 16 4.5 33t1.5 34q0 122 -71.5 193t-194.5 71q-137 0 -242 -86.5t-159 -245.5zM1145 516h-856q-6 -38 -8 -60t-2 -38q0 -139 85.5 -215t241.5 -76q120 0 227 27t199 79l-35 -182q-99 -40 -204.5 -60t-214.5 -20q-233 0 -358.5 111.5t-125.5 316.5
+q0 175 62.5 325.5t183.5 268.5q78 74 185.5 114t228.5 40q190 0 302.5 -114t112.5 -306q0 -46 -6 -98.5t-18 -112.5zM768 1638h148l172 -376h-139l-127 237l-234 -237h-139z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="1260" 
+d="M985 660q3 16 4.5 33t1.5 34q0 122 -71.5 193t-194.5 71q-137 0 -242 -86.5t-159 -245.5zM1145 516h-856q-6 -38 -8 -60t-2 -38q0 -139 85.5 -215t241.5 -76q120 0 227 27t199 79l-35 -182q-99 -40 -204.5 -60t-214.5 -20q-233 0 -358.5 111.5t-125.5 316.5
+q0 175 62.5 325.5t183.5 268.5q78 74 185.5 114t228.5 40q190 0 302.5 -114t112.5 -306q0 -46 -6 -98.5t-18 -112.5zM527 1552h205l-41 -202h-203zM918 1552h203l-39 -202h-203z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="569" 
+d="M291 1120h184l-219 -1120h-184zM612 1638h199l-399 -376h-154z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="569" 
+d="M291 1120h184l-219 -1120h-184zM328 1638l209 -374h-154l-252 374h197z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="569" 
+d="M291 1120h184l-219 -1120h-184zM399 1638h148l172 -376h-139l-127 237l-234 -237h-139z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="569" 
+d="M291 1120h184l-219 -1120h-184zM158 1552h205l-41 -202h-203zM549 1552h203l-39 -202h-203z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="1298" 
+d="M1141 676l-131 -676h-185l131 669q9 47 14 83t5 57q0 84 -53 131t-148 47q-148 0 -255 -98.5t-140 -267.5l-123 -621h-184l217 1120h184l-37 -176q77 97 185 150t227 53q148 0 229.5 -80t81.5 -225q0 -36 -4.5 -77t-13.5 -89zM811 1370l-45 55q-13 16 -29 26t-32 13
+q-39 0 -64.5 -36.5t-42.5 -118.5h-125q30 137 94.5 209.5t155.5 72.5q37 0 69 -15.5t58 -45.5l47 -55q12 -16 26 -25t33 -14q38 0 62.5 35.5t44.5 119.5h125q-29 -137 -93.5 -209.5t-156.5 -72.5q-38 0 -71 15.5t-56 45.5z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="1253" 
+d="M520 -29q-197 0 -311.5 121.5t-114.5 331.5q0 122 39.5 248.5t102.5 212.5q99 134 221 198t276 64q191 0 308.5 -119t117.5 -311q0 -133 -39 -265t-102 -219q-98 -134 -220 -198t-278 -64zM285 430q0 -152 63.5 -227.5t192.5 -75.5q185 0 306.5 161.5t121.5 409.5
+q0 145 -65 219t-191 74q-104 0 -185 -48.5t-145 -147.5q-47 -74 -72.5 -169t-25.5 -196zM985 1638h199l-399 -376h-154z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="1253" 
+d="M520 -29q-197 0 -311.5 121.5t-114.5 331.5q0 122 39.5 248.5t102.5 212.5q99 134 221 198t276 64q191 0 308.5 -119t117.5 -311q0 -133 -39 -265t-102 -219q-98 -134 -220 -198t-278 -64zM285 430q0 -152 63.5 -227.5t192.5 -75.5q185 0 306.5 161.5t121.5 409.5
+q0 145 -65 219t-191 74q-104 0 -185 -48.5t-145 -147.5q-47 -74 -72.5 -169t-25.5 -196zM701 1638l209 -374h-154l-252 374h197z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="1253" 
+d="M520 -29q-197 0 -311.5 121.5t-114.5 331.5q0 122 39.5 248.5t102.5 212.5q99 134 221 198t276 64q191 0 308.5 -119t117.5 -311q0 -133 -39 -265t-102 -219q-98 -134 -220 -198t-278 -64zM285 430q0 -152 63.5 -227.5t192.5 -75.5q185 0 306.5 161.5t121.5 409.5
+q0 145 -65 219t-191 74q-104 0 -185 -48.5t-145 -147.5q-47 -74 -72.5 -169t-25.5 -196zM772 1638h148l172 -376h-139l-127 237l-234 -237h-139z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="1253" 
+d="M520 -29q-197 0 -311.5 121.5t-114.5 331.5q0 122 39.5 248.5t102.5 212.5q99 134 221 198t276 64q191 0 308.5 -119t117.5 -311q0 -133 -39 -265t-102 -219q-98 -134 -220 -198t-278 -64zM285 430q0 -152 63.5 -227.5t192.5 -75.5q185 0 306.5 161.5t121.5 409.5
+q0 145 -65 219t-191 74q-104 0 -185 -48.5t-145 -147.5q-47 -74 -72.5 -169t-25.5 -196zM531 1552h205l-41 -202h-203zM922 1552h203l-39 -202h-203z" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="1253" 
+d="M520 -29q-197 0 -311.5 121.5t-114.5 331.5q0 122 39.5 248.5t102.5 212.5q99 134 221 198t276 64q191 0 308.5 -119t117.5 -311q0 -133 -39 -265t-102 -219q-98 -134 -220 -198t-278 -64zM285 430q0 -152 63.5 -227.5t192.5 -75.5q185 0 306.5 161.5t121.5 409.5
+q0 145 -65 219t-191 74q-104 0 -185 -48.5t-145 -147.5q-47 -74 -72.5 -169t-25.5 -196zM789 1370l-45 55q-13 16 -29 26t-32 13q-39 0 -64.5 -36.5t-42.5 -118.5h-125q30 137 94.5 209.5t155.5 72.5q37 0 69 -15.5t58 -45.5l47 -55q12 -16 26 -25t33 -14q38 0 62.5 35.5
+t44.5 119.5h125q-29 -137 -93.5 -209.5t-156.5 -72.5q-38 0 -71 15.5t-56 45.5z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="1298" 
+d="M137 444l131 676h185l-131 -669q-10 -49 -14.5 -84t-4.5 -58q0 -85 52 -131.5t147 -46.5q148 0 256 100t141 269l123 620h184l-217 -1120h-184l37 176q-78 -98 -185.5 -151.5t-228.5 -53.5q-147 0 -229 80.5t-82 224.5q0 30 5 75t15 93zM976 1638h199l-399 -376h-154z
+" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="1298" 
+d="M137 444l131 676h185l-131 -669q-10 -49 -14.5 -84t-4.5 -58q0 -85 52 -131.5t147 -46.5q148 0 256 100t141 269l123 620h184l-217 -1120h-184l37 176q-78 -98 -185.5 -151.5t-228.5 -53.5q-147 0 -229 80.5t-82 224.5q0 30 5 75t15 93zM692 1638l209 -374h-154l-252 374
+h197z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="1298" 
+d="M137 444l131 676h185l-131 -669q-10 -49 -14.5 -84t-4.5 -58q0 -85 52 -131.5t147 -46.5q148 0 256 100t141 269l123 620h184l-217 -1120h-184l37 176q-78 -98 -185.5 -151.5t-228.5 -53.5q-147 0 -229 80.5t-82 224.5q0 30 5 75t15 93zM763 1638h148l172 -376h-139
+l-127 237l-234 -237h-139z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="1298" 
+d="M137 444l131 676h185l-131 -669q-10 -49 -14.5 -84t-4.5 -58q0 -85 52 -131.5t147 -46.5q148 0 256 100t141 269l123 620h184l-217 -1120h-184l37 176q-78 -98 -185.5 -151.5t-228.5 -53.5q-147 0 -229 80.5t-82 224.5q0 30 5 75t15 93zM522 1552h205l-41 -202h-203z
+M913 1552h203l-39 -202h-203z" />
+    <glyph glyph-name="dagger" unicode="&#x2020;" 
+d="M565 1493h174l-80 -420h367l-31 -153h-366l-217 -1117h-176l217 1117h-367l29 153h368z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" 
+d="M512 1391q-80 0 -135 -55.5t-55 -135.5q0 -79 55 -133.5t135 -54.5t135 54.5t55 133.5t-55.5 135t-134.5 56zM512 1520q64 0 123 -24.5t102 -70.5q46 -45 69 -102t23 -123q0 -132 -92.5 -223.5t-226.5 -91.5q-135 0 -225 90t-90 225q0 134 92 227t225 93z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="1303" 
+d="M758 985q-178 -23 -298 -183.5t-120 -375.5q0 -134 61 -207.5t189 -93.5zM889 1145q73 -7 137.5 -23.5t126.5 -44.5l-35 -182q-47 37 -109 59.5t-151 34.5l-168 -862q66 5 140 27.5t157 64.5l-35 -182q-65 -28 -138 -44.5t-150 -21.5l-60 -284h-100l59 284
+q-197 13 -304 124.5t-107 305.5q0 306 177 513.5t459 230.5l56 285h100z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="1303" 
+d="M1305 1460l-35 -182q-61 40 -126.5 61t-129.5 21q-147 0 -221 -79.5t-115 -287.5l-41 -215h391l-29 -143h-391l-90 -465h537l-33 -170h-973l33 170h235l91 465h-199l29 143h198l45 238q52 262 182.5 383t362.5 121q70 0 140 -15t139 -45z" />
+    <glyph glyph-name="section" unicode="&#xa7;" 
+d="M602 410q82 49 125 104.5t43 112.5q0 54 -53.5 110.5t-196.5 147.5l-80 51q-81 -51 -123.5 -107t-42.5 -112q0 -50 42.5 -98.5t168.5 -131.5zM993 1462l-32 -164q-72 39 -140.5 58.5t-126.5 19.5q-103 0 -169 -48.5t-66 -121.5q0 -79 135 -169l47 -31l88 -60
+q122 -85 164.5 -143.5t42.5 -128.5q0 -101 -66 -191t-180 -143q41 -35 61.5 -80t20.5 -100q0 -157 -121.5 -256t-320.5 -99q-69 0 -146 14.5t-159 43.5l32 164q76 -38 148 -58t131 -20q112 0 179 47.5t67 126.5q0 98 -180 219l-15 10l-76 51q-123 84 -164 140.5t-41 130.5
+q0 96 64 182.5t182 149.5q-43 38 -62.5 78.5t-19.5 91.5q0 147 121.5 245.5t308.5 98.5q71 0 143.5 -14.5t149.5 -43.5z" />
+    <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="1208" 
+d="M307 762q0 123 87 209t210 86q122 0 208.5 -86.5t86.5 -208.5t-87.5 -209.5t-209.5 -87.5q-123 0 -209 87t-86 210z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="1303" 
+d="M768 1493h406l-328 -1690h-139l305 1567h-191l-305 -1567h-141l164 846q-178 6 -278.5 100t-100.5 252q0 211 172 351.5t436 140.5z" />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="1290" 
+d="M317 1137q38 197 170.5 308t329.5 111q174 0 282.5 -93t108.5 -240q0 -25 -3 -55.5t-9 -67.5q-162 -8 -262 -75.5t-100 -164.5q0 -40 21 -76t69 -73l49 -39q119 -94 160 -159.5t41 -145.5q0 -172 -139 -284t-357 -112q-76 0 -146 12.5t-133 36.5l31 164q65 -29 134.5 -44
+t140.5 -15q124 0 201 57t77 148q0 45 -23.5 84t-101.5 106l-51 43q-97 82 -130.5 137.5t-33.5 122.5q0 126 106 227t279 138q2 8 3 18t1 29q0 78 -56.5 123t-156.5 45q-133 0 -213 -68t-106 -202l-219 -1133h-185z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="2048" 
+d="M1024 1382q-131 0 -244 -47t-207 -141t-142 -208.5t-48 -244.5q0 -129 48 -242.5t142 -207.5t207 -141.5t244 -47.5q132 0 245.5 47.5t207.5 141.5q93 93 139.5 206t46.5 244q0 133 -47 246.5t-139 206.5q-94 94 -207.5 141t-245.5 47zM1024 1485q152 0 283.5 -55
+t240.5 -164t163 -240t54 -285q0 -152 -54 -282.5t-163 -239.5t-240.5 -164t-283.5 -55t-283.5 55t-240.5 164t-163 239.5t-54 282.5q0 154 54 285t163 240t240.5 164t283.5 55zM997 1071h-123v-276h123q110 0 153.5 31t43.5 106q0 76 -44 107.5t-153 31.5zM1004 1174
+q176 0 263 -59.5t87 -180.5q0 -86 -52.5 -142t-148.5 -73q24 -8 57.5 -46.5t79.5 -111.5l137 -223h-172l-129 209q-59 96 -95.5 121.5t-90.5 25.5h-66v-356h-155v836h285z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="2048" 
+d="M1024 1485q152 0 283.5 -55t240.5 -164t163 -240t54 -285q0 -152 -54 -282.5t-163 -239.5t-240.5 -164t-283.5 -55t-283.5 55t-240.5 164t-163 239.5t-54 282.5q0 154 54 285t163 240t240.5 164t283.5 55zM1024 1382q-131 0 -244 -47t-207 -141t-142 -208.5t-48 -244.5
+q0 -129 48 -242.5t142 -207.5t207 -141.5t244 -47.5q132 0 245.5 47.5t207.5 141.5q93 93 139.5 206t46.5 244q0 133 -47 246.5t-139 206.5q-94 94 -207.5 141t-245.5 47zM1323 1137v-129q-66 33 -131 49t-131 16q-149 0 -232.5 -87.5t-83.5 -244.5q0 -159 85.5 -246
+t240.5 -87q64 0 125 15.5t127 49.5v-127q-67 -29 -135.5 -43t-138.5 -14q-216 0 -341.5 122t-125.5 330q0 209 125.5 330t341.5 121q73 0 141 -14t133 -41z" />
+    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="2048" 
+d="M1098 1493l174 -256l164 256h170v-578h-113v484l-195 -303h-55l-203 303v-484h-114v578h172zM813 1493v-94h-203v-484h-114v484h-201v94h518z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" 
+d="M870 1638h199l-399 -376h-154z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" 
+d="M416 1552h205l-41 -202h-203zM807 1552h203l-39 -202h-203z" />
+    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1716" 
+d="M217 930h772l256 315l125 -102l-174 -213h303v-168h-440l-195 -240h635v-170h-774l-258 -313l-125 102l174 211h-299v170h438l195 240h-633v168z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1995" 
+d="M932 1335l-483 -784h458l154 784h-129zM2036 1493l-33 -170h-741l-88 -442h712l-33 -170h-712l-105 -541h760l-33 -170h-962l73 383h-526l-235 -383h-205l915 1493h1213z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1612" 
+d="M1223 1235q-45 60 -118 90.5t-171 30.5q-165 0 -292.5 -81t-219.5 -243q-62 -109 -94.5 -228t-32.5 -233q0 -45 6 -88.5t18 -87.5zM1288 1116l-907 -846q51 -68 124.5 -101.5t172.5 -33.5q164 0 292.5 81.5t219.5 242.5q62 112 93.5 229.5t31.5 239.5q0 56 -6.5 102.5
+t-20.5 85.5zM160 246q-39 80 -58.5 162t-19.5 167q0 166 61 334t170 303q125 154 281.5 231t345.5 77q130 0 235 -38.5t189 -115.5l203 193l90 -99l-209 -198q40 -73 60 -157.5t20 -182.5q0 -177 -59 -342.5t-171 -300.5q-128 -156 -282.5 -232t-343.5 -76q-139 0 -247.5 42
+t-184.5 124l-220 -203l-90 99z" />
+    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1706" 
+d="M915 559q49 -88 116 -133t151 -45q101 0 165 67.5t64 172.5q0 101 -59 168t-148 67q-82 0 -148.5 -67.5t-140.5 -229.5zM793 666q-49 88 -115.5 132t-151.5 44q-102 0 -165.5 -66t-63.5 -172q0 -101 59 -168t148 -67q82 0 149 68t140 229zM864 483
+q-70 -135 -148.5 -198.5t-172.5 -63.5q-136 0 -229 111.5t-93 277.5q0 175 83.5 283t217.5 108q95 0 171.5 -63t148.5 -201q68 138 147 203.5t176 65.5q134 0 228 -112.5t94 -279.5q0 -175 -83.5 -282t-217.5 -107q-94 0 -168.5 59.5t-153.5 198.5z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="1716" 
+d="M942 1284v-387h557v-170h-557v-387h-168v387h-557v170h557v387h168zM217 170h1282v-170h-1282v170z" />
+    <glyph glyph-name="lessequal" unicode="&#x2264;" horiz-adv-x="1716" 
+d="M1499 1016l-960 -277l960 -274v-178l-1282 368v170l1282 367v-176zM217 170h1282v-170h-1282v170z" />
+    <glyph glyph-name="greaterequal" unicode="&#x2265;" horiz-adv-x="1716" 
+d="M217 1016v176l1282 -367v-170l-1282 -368v178l961 274zM1499 170v-170h-1282v170h1282z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="1303" 
+d="M1122 455h-411l-88 -455h-203l88 455h-416l23 123h417l11 51l-54 155h-333l24 123h266l-204 586h190l240 -700l512 700h194l-430 -586h262l-24 -123h-328l-113 -155l-10 -51h410z" />
+    <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="1303" 
+d="M-27 -426l301 1546h185l-136 -697q-4 -21 -7 -47t-3 -52q0 -93 58.5 -143t167.5 -50q148 0 239 84t123 252l127 653h184l-167 -861q-4 -19 -5.5 -33t-1.5 -25q0 -31 12.5 -45.5t39.5 -14.5q10 0 27.5 5t49.5 18l-28 -148q-44 -22 -84 -33.5t-78 -11.5q-66 0 -103.5 42
+t-37.5 116q-56 -80 -133.5 -119t-182.5 -39q-93 0 -162.5 43t-91.5 113l-108 -553h-185z" />
+    <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="1059" 
+d="M756 621q15 87 22.5 168.5t7.5 156.5q0 129 -36.5 194.5t-108.5 65.5q-55 0 -127 -58t-108 -58t-60 22t-24 53q0 62 72 111t173 49q180 0 287 -155t107 -418q0 -335 -144.5 -556t-357.5 -221q-152 0 -253.5 108t-101.5 271q0 198 110.5 326.5t272.5 128.5
+q101 0 166 -45.5t103 -142.5zM707 494q0 116 -43.5 178.5t-122.5 62.5q-109 0 -179.5 -129t-70.5 -336q0 -116 43 -177.5t123 -61.5q109 0 179.5 130t70.5 333z" />
+    <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="1380" 
+d="M55 1473h1258v-193h-959l672 -717l-694 -764h1007v-192h-1314v149l725 801l-695 739v177z" />
+    <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="1550" 
+d="M156 1473h1237v-1866h-240v1661h-758v-1661h-239v1866z" />
+    <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="1206" 
+d="M1159 913h-182l-105 -487q-15 -74 -22.5 -120t-7.5 -68q0 -58 23.5 -82.5t78.5 -24.5q17 0 40 2.5t60 7.5l-30 -141q-30 -8 -57.5 -12t-53.5 -4q-118 0 -178.5 51t-60.5 151q0 46 10.5 118t44.5 233l80 376h-326l-194 -913h-181l195 913h-41q-54 0 -84 -32t-39 -101h-160
+q28 166 99.5 228.5t236.5 62.5h889z" />
+    <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="1067" 
+d="M311 -262q106 0 120 688l3 165q12 515 107 737t297 222q80 0 130 -42t50 -107q0 -54 -32 -85.5t-87 -31.5q-42 0 -70 19t-40 54q-6 15 -10.5 51t-20.5 36q-107 0 -121 -619q-4 -193 -8 -303q-17 -479 -111.5 -686t-290.5 -207q-79 0 -129.5 41.5t-50.5 106.5
+q0 56 34 87.5t95 31.5q33 0 57 -14.5t39 -42.5q10 -18 15 -59.5t24 -41.5z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="965" 
+d="M594 1104q-157 0 -228 -37.5t-71 -120.5q0 -59 38 -94t103 -35q115 0 193.5 67.5t105.5 190.5l6 29h-147zM903 1165l-88 -448h-149l22 112q-58 -65 -134.5 -98t-172.5 -33q-107 0 -172.5 61t-65.5 161q0 140 115.5 219.5t323.5 79.5h182v4q2 19 3 29.5t1 17.5
+q0 70 -46.5 102.5t-146.5 32.5q-70 0 -142.5 -17t-145.5 -51l24 127q79 28 155 42t144 14q150 0 226.5 -62t76.5 -182q0 -27 -2.5 -54.5t-7.5 -56.5zM104 592h689l-23 -123h-688z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="965" 
+d="M788 1180q0 110 -49.5 167.5t-146.5 57.5q-116 0 -200.5 -107t-84.5 -258q0 -109 49.5 -168t141.5 -59q122 0 206 105.5t84 261.5zM621 1520q148 0 236.5 -86t88.5 -230q0 -220 -133 -363t-336 -143q-150 0 -237.5 90t-87.5 244q0 68 19 134.5t56 129.5q62 106 166 165
+t228 59zM104 592h689l-23 -123h-688z" />
+    <glyph glyph-name="Omega" unicode="&#x3a9;" horiz-adv-x="1565" 
+d="M1487 178v-178h-600v178q177 97 276 263t99 368q0 240 -132 385t-348 145t-348.5 -145.5t-132.5 -384.5q0 -202 99.5 -368t277.5 -263v-178h-600v178h319q-158 139 -230.5 288t-72.5 333q0 318 191.5 515t496.5 197q303 0 495.5 -196.5t192.5 -505.5q0 -194 -71 -342
+t-232 -289h320z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="2038" 
+d="M1763 660q3 16 4.5 33t1.5 34q0 122 -71 193t-195 71q-137 0 -242 -86.5t-159 -245.5zM319 1069q104 39 203.5 58.5t192.5 19.5q144 0 237 -45t138 -137q86 90 198 136t244 46q190 0 303 -114t113 -306q0 -46 -6.5 -98.5t-18.5 -112.5h-856q-6 -38 -8 -60t-2 -38
+q0 -139 85.5 -215t241.5 -76q120 0 227.5 27t198.5 79l-34 -182q-100 -40 -205.5 -60t-214.5 -20q-168 0 -281.5 57.5t-169.5 170.5q-102 -118 -212 -173t-242 -55q-174 0 -270.5 82t-96.5 230q0 196 156.5 310t431.5 114h256l10 49q2 8 3 17.5t1 29.5q0 89 -72.5 138.5
+t-203.5 49.5q-90 0 -184.5 -23t-194.5 -69zM901 563h-184q-226 0 -334.5 -60.5t-108.5 -187.5q0 -88 55.5 -138t153.5 -50q150 0 262 107.5t148 287.5z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="1253" 
+d="M901 922q-37 35 -83.5 52t-104.5 17q-186 0 -306 -160.5t-120 -410.5q0 -47 1.5 -67.5t6.5 -37.5zM154 172q-30 49 -45 112t-15 138q0 122 39.5 249.5t102.5 213.5q98 134 219.5 198t277.5 64q87 0 161 -26t132 -77l162 164l86 -86l-172 -172q28 -55 42.5 -117.5
+t14.5 -130.5q0 -124 -39.5 -253.5t-101.5 -215.5q-97 -134 -218.5 -198t-279.5 -64q-87 0 -160.5 26.5t-130.5 78.5l-172 -170l-86 84zM961 809l-609 -610q39 -37 84.5 -54.5t104.5 -17.5q189 0 308.5 163.5t119.5 426.5q0 39 -2 58t-6 34z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="1087" 
+d="M612 1239l50 254h202l-49 -254h-203zM834 86q-103 -57 -204 -85t-208 -28q-161 0 -253.5 75t-92.5 204q0 103 53.5 193t173.5 188l103 84q85 68 113.5 115t45.5 137l25 123h190l-30 -154q-19 -94 -58 -159.5t-149 -157.5l-107 -89q-84 -70 -117.5 -123t-33.5 -110
+q0 -76 54.5 -119t149.5 -43q81 0 179 35.5t202 101.5z" />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="821" 
+d="M377 0h-203l127 655l90 357h162l-49 -357zM616 1239h-202l49 254h205z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="1716" 
+d="M217 862h1282v-575h-168v405h-1114v170z" />
+    <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="1305" 
+d="M1116 1661h189v-96h-115l-594 -1606h-66l-319 883l-125 -45l-25 80l283 98l256 -709z" />
+    <glyph glyph-name="florin" unicode="&#x192;" horiz-adv-x="1303" 
+d="M1266 1509l-31 -153q-38 29 -78 43t-84 14q-96 0 -153 -61t-82 -193l-60 -311h318l-31 -143h-317l-127 -635q-57 -279 -150 -387.5t-266 -108.5q-74 0 -135.5 12.5t-116.5 38.5l31 158q52 -33 100.5 -49.5t95.5 -16.5q97 0 151.5 68.5t88.5 234.5l137 685h-278l30 143
+h279l63 330q37 191 138 284.5t270 93.5q46 0 95.5 -11t111.5 -36z" />
+    <glyph glyph-name="approxequal" unicode="&#x2248;" horiz-adv-x="1716" 
+d="M1499 623v-179q-105 -78 -194.5 -112.5t-186.5 -34.5q-110 0 -256 59l-17 7q-6 2 -21 8q-155 61 -249 61q-88 0 -174 -38t-184 -122v179q105 78 194.5 112.5t186.5 34.5q110 0 257 -59q11 -5 16 -7q6 -2 21 -8q155 -61 249 -61q86 0 170.5 37.5t187.5 122.5zM1499 1012
+v-178q-105 -79 -194.5 -113.5t-186.5 -34.5q-110 0 -256 59l-17 7q-6 2 -21 8q-155 61 -249 61q-88 0 -174 -38t-184 -121v178q105 78 194.5 112.5t186.5 34.5q110 0 257 -59l15 -6l22 -9q155 -61 249 -61q86 0 170.5 37.5t187.5 122.5z" />
+    <glyph glyph-name="Delta" unicode="&#x2206;" horiz-adv-x="1370" 
+d="M684 1262l-418 -1084h836zM573 1473h224l579 -1473h-1382z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="1264" 
+d="M692 1059l-39 -201l-354 -270l252 -266l-37 -181l-387 418l16 82zM1137 1059l-39 -201l-355 -270l252 -266l-37 -181l-387 418l17 82z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="1264" 
+d="M569 141l39 201l355 270l-252 267l39 180l385 -418l-15 -82zM127 141l39 201l352 270l-250 267l37 180l385 -418l-14 -82z" />
+    <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="2048" 
+d="M182 254h211l-49 -254h-211zM1548 254h211l-49 -254h-211zM864 254h211l-49 -254h-211z" />
+    <glyph glyph-name="nonbreakingspace" unicode="&#xa0;" horiz-adv-x="1303" 
+ />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="1401" 
+d="M754 1493h229l277 -1493h-211l-62 383h-672l-211 -383h-213zM827 1294l-419 -743h548zM864 1899l148 -264h-140l-190 264h182z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="1401" 
+d="M754 1493h229l277 -1493h-211l-62 383h-672l-211 -383h-213zM827 1294l-419 -743h548zM897 1710l-35 25l-1 1q-43 32 -81 32q-34 0 -61 -25.5t-45 -75.5h-125q35 109 96.5 164t146.5 55q35 0 65.5 -11t66.5 -36l32 -26q18 -14 37 -20.5t39 -6.5q39 0 67.5 27t39.5 73h125
+q-33 -109 -95.5 -164t-154.5 -55q-31 0 -58.5 10.5t-58.5 32.5z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="1612" 
+d="M934 1356q-166 0 -293 -80.5t-221 -245.5q-60 -105 -91.5 -223t-31.5 -238q0 -208 99.5 -321t281.5 -113q164 0 292.5 81.5t219.5 242.5q61 108 93 226.5t32 236.5q0 207 -100 320.5t-281 113.5zM672 -29q-275 0 -432.5 163t-157.5 446q0 162 61.5 331t169.5 301
+q127 155 283 231.5t344 76.5q274 0 432 -161.5t158 -440.5q0 -172 -60 -338t-172 -301q-128 -156 -282.5 -232t-343.5 -76zM1020 1710l-35 25l-1 1q-43 32 -81 32q-34 0 -61 -25.5t-45 -75.5h-125q35 109 96.5 164t146.5 55q35 0 65.5 -11t66.5 -36l32 -26q18 -14 37 -20.5
+t39 -6.5q39 0 67.5 27t39.5 73h125q-33 -109 -95.5 -164t-154.5 -55q-31 0 -58.5 10.5t-58.5 32.5z" />
+    <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="2191" 
+d="M1210 1323h-120q-166 0 -295.5 -38t-216.5 -111q-133 -110 -202 -260.5t-69 -331.5q0 -203 126.5 -307.5t373.5 -104.5h49h129zM2185 1493l-33 -170h-739l-88 -442h711l-33 -170h-711l-104 -541h760l-33 -170h-1090q-162 0 -250.5 15.5t-166.5 50.5q-157 70 -235.5 199
+t-78.5 317q0 209 92.5 395t264.5 321q123 98 298 146.5t400 48.5h1036z" />
+    <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="2105" 
+d="M1991 516h-856q-4 -27 -6.5 -52t-2.5 -46q0 -139 85 -215t241 -76q120 0 228.5 27t199.5 79l-37 -182q-99 -39 -204 -59.5t-214 -20.5q-161 0 -276 55t-162 154q-101 -105 -216.5 -157t-250.5 -52q-191 0 -308.5 119t-117.5 311q0 137 38 266.5t104 217.5q99 134 221 198
+t276 64q130 0 229.5 -58.5t153.5 -166.5q99 112 220 168.5t263 56.5q191 0 303.5 -114t112.5 -306q0 -46 -6 -98.5t-18 -112.5zM1831 660q3 16 4.5 33t1.5 34q0 122 -71.5 193t-194.5 71q-138 0 -242.5 -86.5t-159.5 -245.5zM285 430q0 -152 63.5 -227.5t192.5 -75.5
+q185 0 306.5 160t121.5 409q0 147 -64.5 221t-191.5 74q-104 0 -185 -48.5t-145 -147.5q-47 -74 -72.5 -169t-25.5 -196z" />
+    <glyph glyph-name="endash" unicode="&#x2013;" 
+d="M14 633h1024l-28 -144h-1024z" />
+    <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="2048" 
+d="M14 633h2048l-28 -144h-2048z" />
+    <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="1061" 
+d="M479 1001h-211l35 173l225 319h129l-143 -319zM889 1001h-211l35 173l225 319h129l-143 -319z" />
+    <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="1061" 
+d="M455 1493h211l-35 -172l-225 -320h-130l144 320zM864 1493h211l-35 -172l-225 -320h-129l143 320z" />
+    <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="651" 
+d="M479 1001h-211l35 173l225 319h129l-143 -319z" />
+    <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="651" 
+d="M455 1493h211l-33 -172l-227 -320h-130l144 320z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="1716" 
+d="M735 1135h246v-246h-246v246zM735 395h246v-245h-246v245zM217 727h1282v-170h-1282v170z" />
+    <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="1012" 
+d="M506 1409l-385 -817l385 -825l385 825zM506 1653l500 -1061l-500 -1069l-500 1069z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="1212" 
+d="M508 -104q-128 -215 -208.5 -268.5t-205.5 -53.5h-145l31 154h106q77 0 131 42t121 164l57 107l-248 1079h195l186 -858l514 858h193zM510 1552h205l-41 -202h-203zM901 1552h203l-39 -202h-203z" />
+    <glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="1251" 
+d="M129 1493h217l279 -614l532 614h227l-677 -782l-138 -711h-202l137 711zM533 1870h204l-41 -203h-202zM924 1870h202l-38 -203h-203z" />
+    <glyph glyph-name="fraction" unicode="&#x2215;" horiz-adv-x="342" 
+d="M698 1520h179l-1233 -1549h-181z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="1303" 
+d="M891 993l207 209l114 -115l-206 -206q37 -59 55 -118.5t18 -121.5q0 -63 -19 -120.5t-59 -114.5l209 -207l-114 -113l-207 207q-59 -40 -117 -59t-119 -19q-58 0 -118 18.5t-121 55.5l-207 -207l-113 115l207 206q-37 62 -55.5 121t-18.5 117q0 64 19 122t57 114
+l-207 206l115 115l207 -207q55 39 113 57.5t122 18.5q60 0 118.5 -18t119.5 -56zM922 643q0 112 -77.5 189t-191.5 77q-112 0 -191 -77t-79 -189q0 -114 78.5 -192t191.5 -78t191 78.5t78 191.5z" />
+    <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="819" 
+d="M692 1059l-37 -201l-356 -270l252 -266l-37 -181l-387 418l16 82z" />
+    <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="819" 
+d="M127 141l39 201l356 270l-252 267l35 180l387 -418l-14 -82z" />
+    <glyph glyph-name="fi" unicode="&#xfb01;" horiz-adv-x="1323" 
+d="M1042 1120h187l-219 -1120h-185zM1128 1556h185l-45 -233h-185zM979 1556l-29 -153h-176q-100 0 -145.5 -39.5t-67.5 -144.5l-20 -99h303l-27 -143h-303l-190 -977h-185l191 977h-176l26 143h176l15 78q38 198 133.5 278t300.5 80h174z" />
+    <glyph glyph-name="fl" unicode="&#xfb02;" horiz-adv-x="1323" 
+d="M805 1556h508l-303 -1556h-185l279 1403h-330q-100 0 -145.5 -39.5t-67.5 -144.5l-20 -99h303l-27 -143h-303l-190 -977h-185l191 977h-176l26 143h176l15 78q38 199 133 278.5t301 79.5z" />
+    <glyph glyph-name="daggerdbl" unicode="&#x2021;" 
+d="M874 223h-366l-82 -420h-176l82 420h-367l29 154h366l107 543h-367l29 153h367l82 420h176l-82 -420h368l-30 -153h-367l-106 -543h366z" />
+    <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="651" 
+d="M283 838h211l-50 -254h-211z" />
+    <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="651" 
+d="M184 254h211l-35 -172l-225 -320h-129l144 320z" />
+    <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="1061" 
+d="M184 254h211l-35 -172l-225 -320h-129l144 320zM594 254h211l-35 -172l-225 -320h-129l143 320z" />
+    <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="2765" 
+d="M2163 -29q-137 0 -216 89t-79 241q0 216 115.5 349.5t302.5 133.5q135 0 213.5 -88t78.5 -241q0 -215 -115.5 -349.5t-299.5 -134.5zM2419 446q0 107 -38.5 160t-115.5 53q-111 0 -174 -97.5t-63 -270.5q0 -93 40 -143t115 -50q107 0 171.5 95t64.5 253zM481 707
+q-136 0 -215.5 88.5t-79.5 240.5q0 216 116 350t302 134q136 0 215.5 -89.5t79.5 -242.5q0 -214 -116 -347.5t-302 -133.5zM739 1182q0 105 -39 158t-116 53q-112 0 -175 -97t-63 -270q0 -92 40.5 -142t115.5 -50q107 0 172 95t65 253zM1599 446q0 107 -38 160t-115 53
+q-111 0 -174.5 -97.5t-63.5 -270.5q0 -93 40.5 -143t115.5 -50q107 0 171 95t64 253zM1343 -29q-136 0 -215 89t-79 241q0 216 115.5 349.5t301.5 133.5q136 0 214.5 -88t78.5 -241q0 -215 -115.5 -349.5t-300.5 -134.5zM1683 1520l-1234 -1549h-160l1235 1549h159z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="1401" 
+d="M754 1493h229l277 -1493h-211l-62 383h-672l-211 -383h-213zM827 1294l-419 -743h548zM817 1901h215l158 -266h-135l-140 178l-209 -178h-151z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="1294" 
+d="M346 1493h944l-33 -170h-743l-86 -442h713l-33 -170h-713l-104 -541h760l-33 -170h-963zM760 1901h215l158 -266h-135l-140 178l-209 -178h-151z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="1401" 
+d="M754 1493h229l277 -1493h-211l-62 383h-672l-211 -383h-213zM827 1294l-419 -743h548zM991 1899h207l-307 -264h-158z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="1294" 
+d="M346 1493h944l-33 -170h-743l-86 -442h713l-33 -170h-713l-104 -541h760l-33 -170h-963zM566 1870h204l-41 -203h-202zM957 1870h202l-38 -203h-203z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="1294" 
+d="M346 1493h944l-33 -170h-743l-86 -442h713l-33 -170h-713l-104 -541h760l-33 -170h-963zM807 1899l148 -264h-140l-190 264h182z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="604" 
+d="M346 1493h203l-291 -1493h-203zM577 1899h207l-307 -264h-158z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="604" 
+d="M346 1493h203l-291 -1493h-203zM403 1901h215l158 -266h-135l-140 178l-209 -178h-151z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="604" 
+d="M346 1493h203l-291 -1493h-203zM209 1870h204l-41 -203h-202zM600 1870h202l-38 -203h-203z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="604" 
+d="M346 1493h203l-291 -1493h-203zM450 1899l148 -264h-140l-190 264h182z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="1612" 
+d="M934 1356q-166 0 -293 -80.5t-221 -245.5q-60 -105 -91.5 -223t-31.5 -238q0 -208 99.5 -321t281.5 -113q164 0 292.5 81.5t219.5 242.5q61 108 93 226.5t32 236.5q0 207 -100 320.5t-281 113.5zM672 -29q-275 0 -432.5 163t-157.5 446q0 162 61.5 331t169.5 301
+q127 155 283 231.5t344 76.5q274 0 432 -161.5t158 -440.5q0 -172 -60 -338t-172 -301q-128 -156 -282.5 -232t-343.5 -76zM1114 1899h207l-307 -264h-158z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="1612" 
+d="M934 1356q-166 0 -293 -80.5t-221 -245.5q-60 -105 -91.5 -223t-31.5 -238q0 -208 99.5 -321t281.5 -113q164 0 292.5 81.5t219.5 242.5q61 108 93 226.5t32 236.5q0 207 -100 320.5t-281 113.5zM672 -29q-275 0 -432.5 163t-157.5 446q0 162 61.5 331t169.5 301
+q127 155 283 231.5t344 76.5q274 0 432 -161.5t158 -440.5q0 -172 -60 -338t-172 -301q-128 -156 -282.5 -232t-343.5 -76zM940 1901h215l158 -266h-135l-140 178l-209 -178h-151z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="1612" 
+d="M934 1356q-166 0 -293 -80.5t-221 -245.5q-60 -105 -91.5 -223t-31.5 -238q0 -208 99.5 -321t281.5 -113q164 0 292.5 81.5t219.5 242.5q61 108 93 226.5t32 236.5q0 207 -100 320.5t-281 113.5zM672 -29q-275 0 -432.5 163t-157.5 446q0 162 61.5 331t169.5 301
+q127 155 283 231.5t344 76.5q274 0 432 -161.5t158 -440.5q0 -172 -60 -338t-172 -301q-128 -156 -282.5 -232t-343.5 -76zM987 1899l148 -264h-140l-190 264h182z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="1499" 
+d="M317 1493h203l-176 -907q-11 -61 -15.5 -100.5t-4.5 -69.5q0 -138 77 -209.5t226 -71.5q193 0 300.5 106t153.5 345l176 907h203l-180 -932q-59 -302 -224 -446t-452 -144q-224 0 -354.5 112.5t-130.5 305.5q0 35 5 78.5t15 93.5zM1024 1899h207l-307 -264h-158z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="1499" 
+d="M317 1493h203l-176 -907q-11 -61 -15.5 -100.5t-4.5 -69.5q0 -138 77 -209.5t226 -71.5q193 0 300.5 106t153.5 345l176 907h203l-180 -932q-59 -302 -224 -446t-452 -144q-224 0 -354.5 112.5t-130.5 305.5q0 35 5 78.5t15 93.5zM850 1901h215l158 -266h-135l-140 178
+l-209 -178h-151z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="1499" 
+d="M317 1493h203l-176 -907q-11 -61 -15.5 -100.5t-4.5 -69.5q0 -138 77 -209.5t226 -71.5q193 0 300.5 106t153.5 345l176 907h203l-180 -932q-59 -302 -224 -446t-452 -144q-224 0 -354.5 112.5t-130.5 305.5q0 35 5 78.5t15 93.5zM897 1899l148 -264h-140l-190 264h182z
+" />
+    <glyph glyph-name="dotlessi" unicode="&#x131;" horiz-adv-x="569" 
+d="M291 1120h184l-219 -1120h-184z" />
+    <glyph glyph-name="circumflex" unicode="&#x2c6;" 
+d="M657 1638h148l172 -376h-139l-127 237l-234 -237h-139z" />
+    <glyph glyph-name="tilde" unicode="&#x2dc;" 
+d="M674 1370l-45 55q-13 16 -29 26t-32 13q-39 0 -64.5 -36.5t-42.5 -118.5h-125q30 137 94.5 209.5t155.5 72.5q37 0 69 -15.5t58 -45.5l47 -55q12 -16 26 -25t33 -14q38 0 62.5 35.5t44.5 119.5h125q-29 -137 -93.5 -209.5t-156.5 -72.5q-38 0 -71 15.5t-56 45.5z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" 
+d="M410 1526h598l-29 -148h-598z" />
+    <glyph glyph-name="breve" unicode="&#x2d8;" 
+d="M412 1608h114v-15q0 -68 42 -101.5t128 -33.5q85 0 140 36.5t86 113.5h116q-32 -139 -127 -213t-241 -74q-128 0 -194 64.5t-66 189.5q0 6 1 17t1 16z" />
+    <glyph glyph-name="dotaccent" unicode="&#x2d9;" 
+d="M612 1552h203l-39 -204h-205z" />
+    <glyph glyph-name="ring" unicode="&#x2da;" 
+d="M977 1524q0 -115 -79.5 -195t-195.5 -80q-115 0 -194.5 80t-79.5 195q0 116 79.5 195t194.5 79q116 0 195.5 -79t79.5 -195zM854 1524q0 64 -43.5 107.5t-108.5 43.5q-66 0 -108.5 -42.5t-42.5 -108.5t42.5 -109t108.5 -43q67 0 109.5 43t42.5 109z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" 
+d="M477 0q36 -51 53 -94.5t17 -85.5q0 -100 -73.5 -157.5t-201.5 -57.5q-43 0 -86 6t-86 18l23 131q39 -16 78.5 -24t81.5 -8q60 0 95.5 30.5t35.5 83.5q0 29 -12.5 65t-43.5 93h119z" />
+    <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" 
+d="M649 1638h170l-297 -376h-137zM983 1638h178l-321 -376h-135z" />
+    <glyph glyph-name="ogonek" unicode="&#x2db;" 
+d="M354 0h119q-64 -67 -95.5 -117.5t-31.5 -85.5t22.5 -52t67.5 -17q29 0 63.5 7.5t71.5 22.5l-24 -132q-37 -12 -72.5 -17.5t-66.5 -5.5q-103 0 -155 38t-52 113q0 52 38.5 113.5t114.5 132.5z" />
+    <glyph glyph-name="caron" unicode="&#x2c7;" 
+d="M729 1262h-147l-172 376h141l127 -237l231 237h140z" />
+    <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="1151" 
+d="M354 1493h203l-125 -633l352 156l56 -125l-439 -193l-100 -530h727l-33 -168h-929l114 600l-164 -76l-57 123l252 113z" />
+    <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="588" 
+d="M389 1556h184l-116 -606l141 64l53 -119l-223 -102l-158 -793h-184l137 700l-135 -61l-53 119l219 98z" />
+    <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="1300" 
+d="M1235 1444l-39 -197q-101 54 -200.5 81.5t-192.5 27.5q-181 0 -288 -79t-107 -210q0 -72 39.5 -110.5t203.5 -82.5l121 -30q205 -53 285 -134.5t80 -228.5q0 -226 -177.5 -368t-467.5 -142q-119 0 -239 23.5t-241 71.5l41 208q111 -69 222.5 -104t222.5 -35q189 0 303 84
+t114 219q0 90 -45.5 136.5t-195.5 84.5l-121 31q-207 54 -282.5 124.5t-75.5 197.5q0 223 171.5 365.5t446.5 142.5q107 0 212 -19t210 -57zM924 1635h-213l-158 266h134l139 -178l209 178h151z" />
+    <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="1067" 
+d="M1024 1087l-35 -174q-73 40 -154 60t-167 20q-145 0 -228.5 -49.5t-83.5 -134.5q0 -99 194 -152l22 -6l59 -18q184 -51 245.5 -107t61.5 -153q0 -178 -141.5 -290t-370.5 -112q-89 0 -187 17t-216 53l36 190q101 -52 199 -79t188 -27q135 0 219.5 58t84.5 147
+q0 96 -222 155l-19 5l-63 16q-140 37 -205 97.5t-65 154.5q0 179 134.5 284t365.5 105q91 0 177.5 -15t170.5 -45zM752 1262h-147l-172 376h141l127 -237l231 237h140z" />
+    <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="1403" 
+d="M268 1493h1172l-29 -154l-1157 -1169h952l-32 -170h-1219l29 154l1157 1169h-905zM975 1635h-213l-158 266h134l139 -178l209 178h151z" />
+    <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="1075" 
+d="M238 1120h874l-33 -168l-843 -805h696l-29 -147h-909l33 168l843 805h-661zM756 1262h-147l-172 376h141l127 -237l231 237h140z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="690" 
+d="M430 408v-758h-170v758h170zM430 1432v-758h-170v758h170z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="1587" 
+d="M356 1493h435q345 0 521.5 -146.5t176.5 -435.5q0 -190 -67.5 -366.5t-186.5 -298.5q-119 -124 -301 -185t-432 -61h-436l135 700h-201l29 144h200zM526 1327l-94 -483h336l-29 -144h-336l-102 -534h264q340 0 525.5 195t185.5 550q0 215 -120 315.5t-376 100.5h-254z
+" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="1253" 
+d="M1016 1141q68 -102 102.5 -212.5t34.5 -228.5q0 -136 -39.5 -262.5t-114.5 -226.5q-84 -116 -206.5 -178t-266.5 -62q-198 0 -316 117.5t-118 312.5q0 120 41 238t117 219q88 116 209 178t260 62q20 0 49 -2.5t69 -7.5l-124 180l-351 -107l-32 94l327 97l-139 204h217
+l96 -145l336 109l35 -95l-313 -98zM913 915q-43 17 -86.5 25t-87.5 8q-202 0 -329 -150.5t-127 -389.5q0 -138 65.5 -209.5t192.5 -71.5q182 0 304 161.5t122 405.5q0 68 -13 122t-41 99z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="1251" 
+d="M129 1493h217l279 -614l532 614h227l-677 -782l-138 -711h-202l137 711zM901 1899h207l-307 -264h-158z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="1212" 
+d="M508 -104q-128 -215 -208.5 -268.5t-205.5 -53.5h-145l31 154h106q77 0 131 42t121 164l57 107l-248 1079h195l186 -858l514 858h193zM964 1638h199l-399 -376h-154z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="1245" 
+d="M580 338h-256l-66 -338h-203l291 1493h203l-51 -264h266q204 0 311 -95t107 -278q0 -246 -158 -382t-444 -136zM467 1063l-109 -559h254q172 0 264.5 87.5t92.5 252.5q0 104 -62 161.5t-176 57.5h-264z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="1300" 
+d="M1016 690q0 147 -64 225t-184 78q-82 0 -156.5 -42t-132.5 -122q-57 -79 -91 -191t-34 -222q0 -140 64 -215.5t182 -75.5q87 0 161.5 41t127.5 119q57 82 92 193t35 212zM446 950q74 97 174.5 147t223.5 50q172 0 267 -112.5t95 -315.5q0 -166 -59 -316.5t-170 -269.5
+q-74 -79 -167 -120.5t-196 -41.5q-119 0 -200 49.5t-121 147.5l-115 -594h-184l381 1982h184z" />
+    <glyph glyph-name="minus" unicode="&#x2212;" horiz-adv-x="1716" 
+d="M217 727h1282v-170h-1282v170z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="1716" 
+d="M1436 1100l-457 -459l457 -457l-119 -121l-459 459l-459 -459l-118 121l456 457l-456 459l118 121l459 -459l459 459z" />
+    <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="821" 
+d="M156 778h204l119 611l-229 -41l22 116l230 39h145l-141 -725h205l-23 -110h-553z" />
+    <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="821" 
+d="M659 1090l-385 -308h441l-23 -114h-618l22 110l422 340q59 46 88 89t29 83q0 54 -42 87.5t-112 33.5q-55 0 -121 -17t-149 -53l25 123q76 28 144 42t132 14q123 0 199.5 -57t76.5 -146q0 -62 -32 -118.5t-97 -108.5z" />
+    <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="821" 
+d="M215 1485q83 18 146 26.5t118 8.5q125 0 200 -52.5t75 -138.5q0 -77 -57 -134t-154 -75q75 -16 115 -63t40 -119q0 -127 -111.5 -206t-295.5 -79q-64 0 -129 10.5t-129 30.5l24 121q53 -27 109 -40t119 -13q123 0 192.5 46t69.5 128q0 62 -48.5 93.5t-146.5 31.5h-86
+l23 108h92q102 0 159.5 36t57.5 100q0 53 -41 79.5t-123 26.5q-56 0 -118 -10.5t-123 -30.5z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="1985" 
+d="M156 778h204l119 611l-229 -41l22 116l230 39h145l-141 -725h205l-23 -110h-553zM1519 1520h179l-1233 -1549h-181zM1765 710l-393 -415h311zM1765 835h166l-106 -540h137l-21 -109h-137l-37 -186h-141l37 186h-416l25 131z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="1985" 
+d="M156 778h204l119 611l-229 -41l22 116l230 39h145l-141 -725h205l-23 -110h-553zM1519 1520h179l-1233 -1549h-181zM1822 422l-385 -308h441l-23 -114h-618l22 110l422 340q59 46 88 89t29 83q0 54 -42 87.5t-112 33.5q-55 0 -121 -17t-149 -53l25 123q76 28 144 42
+t132 14q123 0 199.5 -57t76.5 -146q0 -62 -32 -118.5t-97 -108.5z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="1985" 
+d="M215 1485q83 18 146 26.5t118 8.5q125 0 200 -52.5t75 -138.5q0 -77 -57 -134t-154 -75q75 -16 115 -63t40 -119q0 -127 -111.5 -206t-295.5 -79q-64 0 -129 10.5t-129 30.5l24 121q53 -27 109 -40t119 -13q123 0 192.5 46t69.5 128q0 62 -48.5 93.5t-146.5 31.5h-86
+l23 108h92q102 0 159.5 36t57.5 100q0 53 -41 79.5t-123 26.5q-56 0 -118 -10.5t-123 -30.5zM1519 1520h179l-1233 -1549h-181zM1765 710l-393 -415h311zM1765 835h166l-106 -540h137l-21 -109h-137l-37 -186h-141l37 186h-416l25 131z" />
+    <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="1587" 
+d="M1118 223l78 391h-332l31 166h530l-129 -657q-133 -73 -290 -112.5t-316 -39.5q-281 0 -439.5 156t-158.5 434q0 231 96.5 439.5t266.5 347.5q107 87 234 129.5t282 42.5q140 0 268.5 -35.5t245.5 -106.5l-41 -215q-90 94 -211 143.5t-258 49.5q-159 0 -280 -60.5
+t-216 -187.5q-81 -108 -127.5 -254.5t-46.5 -298.5q0 -209 107 -314.5t319 -105.5q106 0 205 22.5t182 65.5zM684 1901h119q12 -61 51 -88t115 -27q86 0 140 27.5t83 87.5h119q-34 -113 -126 -177.5t-220 -64.5q-121 0 -191 60.5t-90 181.5z" />
+    <glyph glyph-name="gbreve" unicode="&#x11f;" horiz-adv-x="1300" 
+d="M1221 1120l-191 -981q-55 -285 -210.5 -425t-418.5 -140q-97 0 -180 14.5t-155 44.5l34 179q68 -44 144 -65t162 -21q175 0 287.5 95.5t148.5 274.5l16 84q-77 -88 -179 -134t-220 -46q-170 0 -267.5 112.5t-97.5 309.5q0 155 59 303.5t166 263.5q71 76 165.5 117
+t197.5 41q113 0 197 -52.5t125 -148.5l32 174h185zM944 709q0 136 -64 210t-182 74q-73 0 -139 -29t-113 -81q-76 -86 -118.5 -202.5t-42.5 -240.5q0 -138 64.5 -212t185.5 -74q175 0 292 158.5t117 396.5zM551 1608h114v-15q0 -68 42 -101.5t128 -33.5q85 0 140 36.5
+t86 113.5h116q-32 -139 -127 -213t-241 -74q-128 0 -194 64.5t-66 189.5q0 6 1 17t1 16z" />
+    <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="604" 
+d="M346 1493h203l-291 -1493h-203zM405 1872h203l-39 -205h-205z" />
+    <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="1300" 
+d="M1235 1444l-39 -197q-101 54 -200.5 81.5t-192.5 27.5q-181 0 -288 -79t-107 -210q0 -72 39.5 -110.5t203.5 -82.5l121 -30q205 -53 285 -134.5t80 -228.5q0 -226 -177.5 -368t-467.5 -142q-119 0 -239 23.5t-241 71.5l41 208q111 -69 222.5 -104t222.5 -35q189 0 303 84
+t114 219q0 90 -45.5 136.5t-195.5 84.5l-121 31q-207 54 -282.5 124.5t-75.5 197.5q0 223 171.5 365.5t446.5 142.5q107 0 212 -19t210 -57zM577 0q36 -51 53 -94.5t17 -85.5q0 -100 -73.5 -157.5t-201.5 -57.5q-43 0 -86 6t-86 18l23 131q39 -16 78.5 -24t81.5 -8
+q60 0 95.5 30.5t35.5 83.5q0 29 -12.5 65t-43.5 93h119z" />
+    <glyph glyph-name="scedilla" unicode="&#x15f;" horiz-adv-x="1067" 
+d="M1024 1087l-35 -174q-73 40 -154 60t-167 20q-145 0 -228.5 -49.5t-83.5 -134.5q0 -99 194 -152l22 -6l59 -18q184 -51 245.5 -107t61.5 -153q0 -178 -141.5 -290t-370.5 -112q-89 0 -187 17t-216 53l36 190q101 -52 199 -79t188 -27q135 0 219.5 58t84.5 147
+q0 96 -222 155l-19 5l-63 16q-140 37 -205 97.5t-65 154.5q0 179 134.5 284t365.5 105q91 0 177.5 -15t170.5 -45zM500 0q36 -51 53 -94.5t17 -85.5q0 -100 -73.5 -157.5t-201.5 -57.5q-43 0 -86 6t-86 18l23 131q39 -16 78.5 -24t81.5 -8q60 0 95.5 30.5t35.5 83.5
+q0 29 -12.5 65t-43.5 93h119z" />
+    <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="1430" 
+d="M1423 1378l-41 -213q-96 97 -203.5 144t-232.5 47q-171 0 -300.5 -82t-223.5 -250q-60 -108 -91.5 -228.5t-31.5 -242.5q0 -204 105.5 -311t306.5 -107q139 0 267 44.5t249 133.5l-47 -239q-119 -51 -240.5 -77t-243.5 -26q-287 0 -448.5 156t-161.5 434q0 178 61.5 350
+t176.5 314q122 151 278.5 223t364.5 72q128 0 242.5 -35.5t213.5 -106.5zM1075 1899h207l-307 -264h-158z" />
+    <glyph glyph-name="cacute" unicode="&#x107;" horiz-adv-x="1126" 
+d="M1098 1077l-37 -182q-66 48 -140.5 72t-154.5 24q-88 0 -167.5 -31t-133.5 -88q-86 -87 -133 -204t-47 -242q0 -151 75.5 -225t229.5 -74q76 0 161.5 23t178.5 69l-35 -182q-80 -33 -164.5 -49.5t-173.5 -16.5q-223 0 -343 111.5t-120 318.5q0 174 62.5 320.5
+t185.5 263.5q84 80 197 121t247 41q78 0 155 -17.5t157 -52.5zM989 1638h199l-399 -376h-154z" />
+    <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="1430" 
+d="M1423 1378l-41 -213q-96 97 -203.5 144t-232.5 47q-171 0 -300.5 -82t-223.5 -250q-60 -108 -91.5 -228.5t-31.5 -242.5q0 -204 105.5 -311t306.5 -107q139 0 267 44.5t249 133.5l-47 -239q-119 -51 -240.5 -77t-243.5 -26q-287 0 -448.5 156t-161.5 434q0 178 61.5 350
+t176.5 314q122 151 278.5 223t364.5 72q128 0 242.5 -35.5t213.5 -106.5zM1073 1635h-213l-158 266h134l139 -178l209 178h151z" />
+    <glyph glyph-name="ccaron" unicode="&#x10d;" horiz-adv-x="1126" 
+d="M1098 1077l-37 -182q-66 48 -140.5 72t-154.5 24q-88 0 -167.5 -31t-133.5 -88q-86 -87 -133 -204t-47 -242q0 -151 75.5 -225t229.5 -74q76 0 161.5 23t178.5 69l-35 -182q-80 -33 -164.5 -49.5t-173.5 -16.5q-223 0 -343 111.5t-120 318.5q0 174 62.5 320.5
+t185.5 263.5q84 80 197 121t247 41q78 0 155 -17.5t157 -52.5zM848 1262h-147l-172 376h141l127 -237l231 237h140z" />
+    <glyph glyph-name="dcroat" unicode="&#x111;" horiz-adv-x="1300" 
+d="M856 168q-74 -97 -175 -147t-224 -50q-168 0 -265.5 114.5t-97.5 313.5q0 166 59 316.5t171 269.5q74 79 167 120.5t195 41.5q108 0 190.5 -52t127.5 -149l67 338h-326l27 123h326l26 149h185l-27 -149h154l-27 -123h-154l-249 -1284h-185zM285 432q0 -145 65.5 -226
+t181.5 -81q86 0 159.5 41.5t129.5 122.5q59 84 93 194t34 217q0 139 -65.5 217t-180.5 78q-87 0 -162 -41t-128 -118q-58 -83 -92.5 -193t-34.5 -211z" />
+    <glyph glyph-name="sfthyphen" unicode="&#xad;" horiz-adv-x="739" 
+d="M125 643h539l-31 -164h-541z" />
+    <glyph glyph-name="periodcentered" unicode="&#x2219;" horiz-adv-x="651" 
+d="M283 838h211l-50 -254h-211z" />
+    <glyph glyph-name="Euro" unicode="&#x20ac;" horiz-adv-x="1303" 
+d="M1243 1378l-33 -213q-83 101 -166.5 148t-179.5 47q-143 0 -251 -97.5t-179 -289.5h520l-53 -123h-504q-12 -50 -20 -101t-12 -106h444l-55 -123h-393q9 -195 88.5 -292t230.5 -97q109 0 205 43t198 139l-39 -239q-94 -51 -193 -77t-196 -26q-223 0 -354.5 146
+t-141.5 403h-198l55 123h145q5 55 13 106.5t19 100.5h-173l56 123h151q97 276 257 411.5t388 135.5q103 0 195.5 -35.5t175.5 -106.5z" />
+    <glyph glyph-name="c6459" 
+d="M406 1497h204l-41 -203h-202zM797 1497h202l-38 -203h-203z" />
+    <glyph glyph-name="c6460" 
+d="M774 1526h207l-307 -264h-158z" />
+    <glyph glyph-name="c6461" 
+d="M680 1337l-35 25l-1 1q-43 32 -81 32q-34 0 -61 -25.5t-45 -75.5h-125q35 109 96.5 164t146.5 55q35 0 65.5 -11t66.5 -36l32 -26q18 -14 37 -20.5t39 -6.5q39 0 67.5 27t39.5 73h125q-33 -109 -95.5 -164t-154.5 -55q-31 0 -58.5 10.5t-58.5 32.5z" />
+    <glyph glyph-name="c6462" 
+d="M647 1526l148 -264h-140l-190 264h182z" />
+    <glyph glyph-name="c6463" 
+d="M600 1528h215l158 -266h-135l-140 178l-209 -178h-151z" />
+    <glyph glyph-name="c6466" 
+d="M772 1262h-213l-158 266h134l139 -178l209 178h151z" />
+    <glyph glyph-name="c6467" horiz-adv-x="821" 
+d="M602 1378l-393 -415h311zM602 1503h166l-106 -540h137l-21 -109h-137l-37 -186h-141l37 186h-416l25 131z" />
+    <glyph glyph-name="c6468" 
+d="M389 1528h119q12 -61 51 -88t115 -27q86 0 140 27.5t83 87.5h119q-34 -113 -126 -177.5t-220 -64.5q-121 0 -191 60.5t-90 181.5z" />
+    <glyph glyph-name="c6469" 
+d="M602 1499h203l-39 -205h-205z" />
+    <hkern u1="&#x2d;" u2="&#xdd;" k="149" />
+    <hkern u1="&#x2d;" u2="&#x178;" k="149" />
+    <hkern u1="&#x2d;" u2="Y" k="149" />
+    <hkern u1="&#x2d;" u2="X" k="73" />
+    <hkern u1="&#x2d;" u2="W" k="36" />
+    <hkern u1="&#x2d;" u2="V" k="83" />
+    <hkern u1="&#x2d;" u2="T" k="149" />
+    <hkern u1="A" u2="&#x2019;" k="272" />
+    <hkern u1="A" u2="&#x201d;" k="272" />
+    <hkern u1="A" u2="W" k="36" />
+    <hkern u1="A" u2="V" k="102" />
+    <hkern u1="A" u2="T" k="149" />
+    <hkern u1="A" u2="&#x3b;" k="-38" />
+    <hkern u1="A" u2="&#x3a;" k="-38" />
+    <hkern u1="A" u2="&#x2e;" k="-38" />
+    <hkern u1="A" u2="&#x2c;" k="-38" />
+    <hkern u1="B" u2="&#xdd;" k="36" />
+    <hkern u1="B" u2="&#x178;" k="36" />
+    <hkern u1="B" u2="Y" k="36" />
+    <hkern u1="B" u2="&#x2d;" k="36" />
+    <hkern u1="C" u2="&#x15e;" k="-38" />
+    <hkern u1="C" u2="&#x160;" k="-38" />
+    <hkern u1="C" u2="&#x2019;" k="45" />
+    <hkern u1="C" u2="&#x201d;" k="45" />
+    <hkern u1="C" u2="S" k="-38" />
+    <hkern u1="F" u2="&#xc1;" k="120" />
+    <hkern u1="F" u2="&#xc2;" k="120" />
+    <hkern u1="F" u2="&#xc3;" k="120" />
+    <hkern u1="F" u2="&#xc0;" k="120" />
+    <hkern u1="F" u2="&#xfc;" k="83" />
+    <hkern u1="F" u2="&#xfb;" k="83" />
+    <hkern u1="F" u2="&#xf9;" k="83" />
+    <hkern u1="F" u2="&#xfa;" k="83" />
+    <hkern u1="F" u2="&#xc4;" k="120" />
+    <hkern u1="F" u2="u" k="83" />
+    <hkern u1="F" u2="A" k="120" />
+    <hkern u1="F" u2="&#x3b;" k="73" />
+    <hkern u1="F" u2="&#x3a;" k="73" />
+    <hkern u1="F" u2="&#x2e;" k="264" />
+    <hkern u1="F" u2="&#x2d;" k="112" />
+    <hkern u1="F" u2="&#x2c;" k="264" />
+    <hkern u1="K" u2="&#x10c;" k="55" />
+    <hkern u1="K" u2="&#x106;" k="55" />
+    <hkern u1="K" u2="&#xfd;" k="55" />
+    <hkern u1="K" u2="&#xd9;" k="36" />
+    <hkern u1="K" u2="&#xdb;" k="36" />
+    <hkern u1="K" u2="&#xda;" k="36" />
+    <hkern u1="K" u2="&#xd2;" k="55" />
+    <hkern u1="K" u2="&#xd4;" k="55" />
+    <hkern u1="K" u2="&#xd3;" k="55" />
+    <hkern u1="K" u2="&#xff;" k="55" />
+    <hkern u1="K" u2="&#x153;" k="92" />
+    <hkern u1="K" u2="&#x152;" k="55" />
+    <hkern u1="K" u2="&#xd5;" k="55" />
+    <hkern u1="K" u2="&#xf8;" k="92" />
+    <hkern u1="K" u2="&#xe6;" k="36" />
+    <hkern u1="K" u2="&#xd8;" k="55" />
+    <hkern u1="K" u2="&#xfc;" k="55" />
+    <hkern u1="K" u2="&#xfb;" k="55" />
+    <hkern u1="K" u2="&#xf9;" k="55" />
+    <hkern u1="K" u2="&#xfa;" k="55" />
+    <hkern u1="K" u2="&#xf5;" k="73" />
+    <hkern u1="K" u2="&#xf6;" k="73" />
+    <hkern u1="K" u2="&#xf4;" k="73" />
+    <hkern u1="K" u2="&#xf2;" k="73" />
+    <hkern u1="K" u2="&#xf3;" k="73" />
+    <hkern u1="K" u2="&#xeb;" k="73" />
+    <hkern u1="K" u2="&#xea;" k="73" />
+    <hkern u1="K" u2="&#xe8;" k="73" />
+    <hkern u1="K" u2="&#xe9;" k="73" />
+    <hkern u1="K" u2="&#xe5;" k="73" />
+    <hkern u1="K" u2="&#xe3;" k="73" />
+    <hkern u1="K" u2="&#xe4;" k="73" />
+    <hkern u1="K" u2="&#xe2;" k="73" />
+    <hkern u1="K" u2="&#xe0;" k="73" />
+    <hkern u1="K" u2="&#xe1;" k="73" />
+    <hkern u1="K" u2="&#xdc;" k="36" />
+    <hkern u1="K" u2="&#xd6;" k="55" />
+    <hkern u1="K" u2="&#xc7;" k="55" />
+    <hkern u1="K" u2="y" k="55" />
+    <hkern u1="K" u2="u" k="55" />
+    <hkern u1="K" u2="o" k="73" />
+    <hkern u1="K" u2="e" k="73" />
+    <hkern u1="K" u2="a" k="73" />
+    <hkern u1="K" u2="U" k="36" />
+    <hkern u1="K" u2="O" k="55" />
+    <hkern u1="K" u2="C" k="55" />
+    <hkern u1="K" u2="&#x2d;" k="206" />
+    <hkern u1="L" u2="&#xfd;" k="73" />
+    <hkern u1="L" u2="&#xdd;" k="196" />
+    <hkern u1="L" u2="&#xd2;" k="63" />
+    <hkern u1="L" u2="&#xd4;" k="63" />
+    <hkern u1="L" u2="&#xd3;" k="63" />
+    <hkern u1="L" u2="&#x178;" k="196" />
+    <hkern u1="L" u2="&#xff;" k="73" />
+    <hkern u1="L" u2="&#x2019;" k="368" />
+    <hkern u1="L" u2="&#x2018;" k="188" />
+    <hkern u1="L" u2="&#x201d;" k="368" />
+    <hkern u1="L" u2="&#x201c;" k="188" />
+    <hkern u1="L" u2="&#x152;" k="63" />
+    <hkern u1="L" u2="&#xd5;" k="63" />
+    <hkern u1="L" u2="&#xd8;" k="63" />
+    <hkern u1="L" u2="&#xd6;" k="63" />
+    <hkern u1="L" u2="y" k="73" />
+    <hkern u1="L" u2="Y" k="196" />
+    <hkern u1="L" u2="W" k="83" />
+    <hkern u1="L" u2="V" k="149" />
+    <hkern u1="L" u2="T" k="139" />
+    <hkern u1="L" u2="O" k="63" />
+    <hkern u1="L" u2="&#x2d;" k="159" />
+    <hkern u1="O" u2="X" k="55" />
+    <hkern u1="O" u2="&#x3b;" k="-38" />
+    <hkern u1="O" u2="&#x3a;" k="-38" />
+    <hkern u1="O" u2="&#x2e;" k="83" />
+    <hkern u1="O" u2="&#x2c;" k="83" />
+    <hkern u1="P" u2="&#xc1;" k="102" />
+    <hkern u1="P" u2="&#xc2;" k="102" />
+    <hkern u1="P" u2="&#xc3;" k="102" />
+    <hkern u1="P" u2="&#xc0;" k="102" />
+    <hkern u1="P" u2="&#xc4;" k="102" />
+    <hkern u1="P" u2="A" k="102" />
+    <hkern u1="P" u2="&#x3b;" k="36" />
+    <hkern u1="P" u2="&#x3a;" k="36" />
+    <hkern u1="P" u2="&#x2e;" k="282" />
+    <hkern u1="P" u2="&#x2d;" k="112" />
+    <hkern u1="P" u2="&#x2c;" k="282" />
+    <hkern u1="Q" u2="&#x2d;" k="-38" />
+    <hkern u1="S" u2="&#x15e;" k="73" />
+    <hkern u1="S" u2="&#x160;" k="73" />
+    <hkern u1="S" u2="S" k="73" />
+    <hkern u1="T" u2="&#x10d;" k="253" />
+    <hkern u1="T" u2="&#x107;" k="253" />
+    <hkern u1="T" u2="&#x15f;" k="243" />
+    <hkern u1="T" u2="&#xfd;" k="178" />
+    <hkern u1="T" u2="&#x161;" k="243" />
+    <hkern u1="T" u2="&#xc1;" k="188" />
+    <hkern u1="T" u2="&#xc2;" k="188" />
+    <hkern u1="T" u2="&#xff;" k="178" />
+    <hkern u1="T" u2="&#x153;" k="253" />
+    <hkern u1="T" u2="&#xc3;" k="188" />
+    <hkern u1="T" u2="&#xc0;" k="188" />
+    <hkern u1="T" u2="&#xf8;" k="253" />
+    <hkern u1="T" u2="&#xe6;" k="253" />
+    <hkern u1="T" u2="&#xfc;" k="206" />
+    <hkern u1="T" u2="&#xfb;" k="206" />
+    <hkern u1="T" u2="&#xf9;" k="206" />
+    <hkern u1="T" u2="&#xfa;" k="206" />
+    <hkern u1="T" u2="&#xf5;" k="253" />
+    <hkern u1="T" u2="&#xf6;" k="253" />
+    <hkern u1="T" u2="&#xf4;" k="253" />
+    <hkern u1="T" u2="&#xf2;" k="253" />
+    <hkern u1="T" u2="&#xf3;" k="253" />
+    <hkern u1="T" u2="&#xeb;" k="253" />
+    <hkern u1="T" u2="&#xea;" k="253" />
+    <hkern u1="T" u2="&#xe8;" k="253" />
+    <hkern u1="T" u2="&#xe9;" k="253" />
+    <hkern u1="T" u2="&#xe7;" k="253" />
+    <hkern u1="T" u2="&#xe5;" k="215" />
+    <hkern u1="T" u2="&#xe3;" k="215" />
+    <hkern u1="T" u2="&#xe4;" k="215" />
+    <hkern u1="T" u2="&#xe2;" k="215" />
+    <hkern u1="T" u2="&#xe0;" k="215" />
+    <hkern u1="T" u2="&#xe1;" k="215" />
+    <hkern u1="T" u2="&#xc4;" k="188" />
+    <hkern u1="T" u2="y" k="178" />
+    <hkern u1="T" u2="w" k="167" />
+    <hkern u1="T" u2="u" k="206" />
+    <hkern u1="T" u2="s" k="243" />
+    <hkern u1="T" u2="r" k="159" />
+    <hkern u1="T" u2="o" k="253" />
+    <hkern u1="T" u2="e" k="253" />
+    <hkern u1="T" u2="c" k="253" />
+    <hkern u1="T" u2="a" k="215" />
+    <hkern u1="T" u2="A" k="188" />
+    <hkern u1="T" u2="&#x3b;" k="188" />
+    <hkern u1="T" u2="&#x3a;" k="188" />
+    <hkern u1="T" u2="&#x2e;" k="243" />
+    <hkern u1="T" u2="&#x2d;" k="292" />
+    <hkern u1="T" u2="&#x2c;" k="243" />
+    <hkern u1="V" u2="&#xc1;" k="139" />
+    <hkern u1="V" u2="&#xc2;" k="139" />
+    <hkern u1="V" u2="&#x153;" k="120" />
+    <hkern u1="V" u2="&#xc3;" k="139" />
+    <hkern u1="V" u2="&#xc0;" k="139" />
+    <hkern u1="V" u2="&#xf8;" k="120" />
+    <hkern u1="V" u2="&#xe6;" k="149" />
+    <hkern u1="V" u2="&#xfc;" k="36" />
+    <hkern u1="V" u2="&#xfb;" k="36" />
+    <hkern u1="V" u2="&#xf9;" k="36" />
+    <hkern u1="V" u2="&#xfa;" k="36" />
+    <hkern u1="V" u2="&#xf5;" k="120" />
+    <hkern u1="V" u2="&#xf6;" k="120" />
+    <hkern u1="V" u2="&#xf4;" k="120" />
+    <hkern u1="V" u2="&#xf2;" k="120" />
+    <hkern u1="V" u2="&#xf3;" k="120" />
+    <hkern u1="V" u2="&#xeb;" k="120" />
+    <hkern u1="V" u2="&#xea;" k="120" />
+    <hkern u1="V" u2="&#xe8;" k="120" />
+    <hkern u1="V" u2="&#xe9;" k="120" />
+    <hkern u1="V" u2="&#xe5;" k="131" />
+    <hkern u1="V" u2="&#xe3;" k="131" />
+    <hkern u1="V" u2="&#xe4;" k="131" />
+    <hkern u1="V" u2="&#xe2;" k="131" />
+    <hkern u1="V" u2="&#xe0;" k="131" />
+    <hkern u1="V" u2="&#xe1;" k="131" />
+    <hkern u1="V" u2="&#xc4;" k="139" />
+    <hkern u1="V" u2="u" k="36" />
+    <hkern u1="V" u2="o" k="120" />
+    <hkern u1="V" u2="e" k="120" />
+    <hkern u1="V" u2="a" k="131" />
+    <hkern u1="V" u2="A" k="139" />
+    <hkern u1="V" u2="&#x3b;" k="55" />
+    <hkern u1="V" u2="&#x3a;" k="55" />
+    <hkern u1="V" u2="&#x2e;" k="235" />
+    <hkern u1="V" u2="&#x2d;" k="178" />
+    <hkern u1="V" u2="&#x2c;" k="235" />
+    <hkern u1="W" u2="&#xc1;" k="102" />
+    <hkern u1="W" u2="&#xc2;" k="102" />
+    <hkern u1="W" u2="&#x2019;" k="36" />
+    <hkern u1="W" u2="&#x201d;" k="36" />
+    <hkern u1="W" u2="&#xc3;" k="102" />
+    <hkern u1="W" u2="&#xc0;" k="102" />
+    <hkern u1="W" u2="&#xe6;" k="112" />
+    <hkern u1="W" u2="&#xe5;" k="112" />
+    <hkern u1="W" u2="&#xe3;" k="112" />
+    <hkern u1="W" u2="&#xe4;" k="112" />
+    <hkern u1="W" u2="&#xe2;" k="112" />
+    <hkern u1="W" u2="&#xe0;" k="112" />
+    <hkern u1="W" u2="&#xe1;" k="112" />
+    <hkern u1="W" u2="&#xc4;" k="102" />
+    <hkern u1="W" u2="r" k="36" />
+    <hkern u1="W" u2="a" k="112" />
+    <hkern u1="W" u2="A" k="102" />
+    <hkern u1="W" u2="&#x2e;" k="167" />
+    <hkern u1="W" u2="&#x2d;" k="159" />
+    <hkern u1="W" u2="&#x2c;" k="167" />
+    <hkern u1="X" u2="&#x10c;" k="36" />
+    <hkern u1="X" u2="&#x106;" k="36" />
+    <hkern u1="X" u2="&#xd2;" k="73" />
+    <hkern u1="X" u2="&#xd4;" k="73" />
+    <hkern u1="X" u2="&#xd3;" k="73" />
+    <hkern u1="X" u2="&#x152;" k="55" />
+    <hkern u1="X" u2="&#xd5;" k="73" />
+    <hkern u1="X" u2="&#xd8;" k="36" />
+    <hkern u1="X" u2="&#xd6;" k="73" />
+    <hkern u1="X" u2="&#xc7;" k="36" />
+    <hkern u1="X" u2="O" k="73" />
+    <hkern u1="X" u2="C" k="36" />
+    <hkern u1="X" u2="&#x2d;" k="188" />
+    <hkern u1="Y" u2="&#x10c;" k="36" />
+    <hkern u1="Y" u2="&#x106;" k="36" />
+    <hkern u1="Y" u2="&#xd2;" k="36" />
+    <hkern u1="Y" u2="&#xd4;" k="36" />
+    <hkern u1="Y" u2="&#xd3;" k="36" />
+    <hkern u1="Y" u2="&#xc1;" k="159" />
+    <hkern u1="Y" u2="&#xc2;" k="159" />
+    <hkern u1="Y" u2="&#x2018;" k="45" />
+    <hkern u1="Y" u2="&#x201c;" k="45" />
+    <hkern u1="Y" u2="&#x153;" k="225" />
+    <hkern u1="Y" u2="&#x152;" k="36" />
+    <hkern u1="Y" u2="&#xd5;" k="36" />
+    <hkern u1="Y" u2="&#xc3;" k="159" />
+    <hkern u1="Y" u2="&#xc0;" k="159" />
+    <hkern u1="Y" u2="&#xf8;" k="225" />
+    <hkern u1="Y" u2="&#xe6;" k="188" />
+    <hkern u1="Y" u2="&#xd8;" k="36" />
+    <hkern u1="Y" u2="&#xfc;" k="188" />
+    <hkern u1="Y" u2="&#xfb;" k="188" />
+    <hkern u1="Y" u2="&#xf9;" k="188" />
+    <hkern u1="Y" u2="&#xfa;" k="188" />
+    <hkern u1="Y" u2="&#xf5;" k="225" />
+    <hkern u1="Y" u2="&#xf6;" k="225" />
+    <hkern u1="Y" u2="&#xf4;" k="225" />
+    <hkern u1="Y" u2="&#xf2;" k="225" />
+    <hkern u1="Y" u2="&#xf3;" k="225" />
+    <hkern u1="Y" u2="&#xeb;" k="225" />
+    <hkern u1="Y" u2="&#xea;" k="225" />
+    <hkern u1="Y" u2="&#xe8;" k="225" />
+    <hkern u1="Y" u2="&#xe9;" k="225" />
+    <hkern u1="Y" u2="&#xe5;" k="188" />
+    <hkern u1="Y" u2="&#xe3;" k="188" />
+    <hkern u1="Y" u2="&#xe4;" k="188" />
+    <hkern u1="Y" u2="&#xe2;" k="188" />
+    <hkern u1="Y" u2="&#xe0;" k="188" />
+    <hkern u1="Y" u2="&#xe1;" k="188" />
+    <hkern u1="Y" u2="&#xd6;" k="36" />
+    <hkern u1="Y" u2="&#xc7;" k="36" />
+    <hkern u1="Y" u2="&#xc4;" k="159" />
+    <hkern u1="Y" u2="u" k="188" />
+    <hkern u1="Y" u2="o" k="225" />
+    <hkern u1="Y" u2="i" k="36" />
+    <hkern u1="Y" u2="e" k="225" />
+    <hkern u1="Y" u2="a" k="188" />
+    <hkern u1="Y" u2="O" k="36" />
+    <hkern u1="Y" u2="C" k="36" />
+    <hkern u1="Y" u2="A" k="159" />
+    <hkern u1="Y" u2="&#x3b;" k="178" />
+    <hkern u1="Y" u2="&#x3a;" k="178" />
+    <hkern u1="Y" u2="&#x2e;" k="264" />
+    <hkern u1="Y" u2="&#x2d;" k="282" />
+    <hkern u1="Y" u2="&#x2c;" k="264" />
+    <hkern u1="Z" u2="&#x2d;" k="102" />
+    <hkern u1="f" u2="&#x2019;" k="-94" />
+    <hkern u1="f" u2="&#x2018;" k="-141" />
+    <hkern u1="f" u2="&#x201d;" k="-94" />
+    <hkern u1="f" u2="&#x201c;" k="-141" />
+    <hkern u1="f" u2="&#x2e;" k="36" />
+    <hkern u1="f" u2="&#x2d;" k="36" />
+    <hkern u1="f" u2="&#x2c;" k="36" />
+    <hkern u1="r" u2="&#x2e;" k="188" />
+    <hkern u1="r" u2="&#x2d;" k="112" />
+    <hkern u1="r" u2="&#x2c;" k="188" />
+    <hkern u1="v" u2="&#x2e;" k="167" />
+    <hkern u1="v" u2="&#x2c;" k="167" />
+    <hkern u1="w" u2="&#x2e;" k="131" />
+    <hkern u1="w" u2="&#x2c;" k="131" />
+    <hkern u1="y" u2="&#x2e;" k="159" />
+    <hkern u1="y" u2="&#x2d;" k="73" />
+    <hkern u1="y" u2="&#x2c;" k="159" />
+    <hkern u1="&#xc4;" u2="&#x2019;" k="272" />
+    <hkern u1="&#xc4;" u2="&#x201d;" k="272" />
+    <hkern u1="&#xc4;" u2="W" k="36" />
+    <hkern u1="&#xc4;" u2="V" k="102" />
+    <hkern u1="&#xc4;" u2="T" k="149" />
+    <hkern u1="&#xc4;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xc4;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xc4;" u2="&#x2e;" k="-38" />
+    <hkern u1="&#xc4;" u2="&#x2c;" k="-38" />
+    <hkern u1="&#xc7;" u2="&#x15e;" k="-38" />
+    <hkern u1="&#xc7;" u2="&#x160;" k="-38" />
+    <hkern u1="&#xc7;" u2="&#x2019;" k="45" />
+    <hkern u1="&#xc7;" u2="&#x201d;" k="45" />
+    <hkern u1="&#xc7;" u2="S" k="-38" />
+    <hkern u1="&#xd6;" u2="X" k="55" />
+    <hkern u1="&#xd6;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xd6;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xd6;" u2="&#x2e;" k="83" />
+    <hkern u1="&#xd6;" u2="&#x2c;" k="83" />
+    <hkern u1="&#xc6;" u2="&#x2d;" k="36" />
+    <hkern u1="&#xd8;" u2="X" k="36" />
+    <hkern u1="&#xd8;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xd8;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xd8;" u2="&#x2e;" k="83" />
+    <hkern u1="&#xd8;" u2="&#x2d;" k="-38" />
+    <hkern u1="&#xd8;" u2="&#x2c;" k="83" />
+    <hkern u1="&#xc0;" u2="&#x2019;" k="272" />
+    <hkern u1="&#xc0;" u2="&#x201d;" k="272" />
+    <hkern u1="&#xc0;" u2="W" k="36" />
+    <hkern u1="&#xc0;" u2="V" k="102" />
+    <hkern u1="&#xc0;" u2="T" k="149" />
+    <hkern u1="&#xc0;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xc0;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xc0;" u2="&#x2e;" k="-38" />
+    <hkern u1="&#xc0;" u2="&#x2c;" k="-38" />
+    <hkern u1="&#xc3;" u2="&#x2019;" k="272" />
+    <hkern u1="&#xc3;" u2="&#x201d;" k="272" />
+    <hkern u1="&#xc3;" u2="W" k="36" />
+    <hkern u1="&#xc3;" u2="V" k="102" />
+    <hkern u1="&#xc3;" u2="T" k="149" />
+    <hkern u1="&#xc3;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xc3;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xc3;" u2="&#x2e;" k="-38" />
+    <hkern u1="&#xc3;" u2="&#x2c;" k="-38" />
+    <hkern u1="&#xd5;" u2="X" k="55" />
+    <hkern u1="&#xd5;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xd5;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xd5;" u2="&#x2e;" k="83" />
+    <hkern u1="&#xd5;" u2="&#x2c;" k="83" />
+    <hkern u1="&#x201c;" u2="&#xdd;" k="-47" />
+    <hkern u1="&#x201c;" u2="&#xc1;" k="243" />
+    <hkern u1="&#x201c;" u2="&#xc2;" k="243" />
+    <hkern u1="&#x201c;" u2="&#x178;" k="-47" />
+    <hkern u1="&#x201c;" u2="&#xc3;" k="243" />
+    <hkern u1="&#x201c;" u2="&#xc0;" k="243" />
+    <hkern u1="&#x201c;" u2="&#xc6;" k="301" />
+    <hkern u1="&#x201c;" u2="&#xc4;" k="243" />
+    <hkern u1="&#x201c;" u2="Y" k="-47" />
+    <hkern u1="&#x201c;" u2="V" k="-75" />
+    <hkern u1="&#x201c;" u2="A" k="243" />
+    <hkern u1="&#x2018;" u2="&#xdd;" k="-47" />
+    <hkern u1="&#x2018;" u2="&#xc1;" k="243" />
+    <hkern u1="&#x2018;" u2="&#xc2;" k="243" />
+    <hkern u1="&#x2018;" u2="&#x178;" k="-47" />
+    <hkern u1="&#x2018;" u2="&#xc3;" k="243" />
+    <hkern u1="&#x2018;" u2="&#xc0;" k="243" />
+    <hkern u1="&#x2018;" u2="&#xc6;" k="301" />
+    <hkern u1="&#x2018;" u2="&#xc4;" k="243" />
+    <hkern u1="&#x2018;" u2="Y" k="-47" />
+    <hkern u1="&#x2018;" u2="V" k="-75" />
+    <hkern u1="&#x2018;" u2="A" k="243" />
+    <hkern u1="&#xff;" u2="&#x2e;" k="159" />
+    <hkern u1="&#xff;" u2="&#x2d;" k="73" />
+    <hkern u1="&#xff;" u2="&#x2c;" k="159" />
+    <hkern u1="&#x178;" u2="&#x10c;" k="36" />
+    <hkern u1="&#x178;" u2="&#x106;" k="36" />
+    <hkern u1="&#x178;" u2="&#xd2;" k="36" />
+    <hkern u1="&#x178;" u2="&#xd4;" k="36" />
+    <hkern u1="&#x178;" u2="&#xd3;" k="36" />
+    <hkern u1="&#x178;" u2="&#xc1;" k="159" />
+    <hkern u1="&#x178;" u2="&#xc2;" k="159" />
+    <hkern u1="&#x178;" u2="&#x2018;" k="45" />
+    <hkern u1="&#x178;" u2="&#x201c;" k="45" />
+    <hkern u1="&#x178;" u2="&#x153;" k="225" />
+    <hkern u1="&#x178;" u2="&#x152;" k="36" />
+    <hkern u1="&#x178;" u2="&#xd5;" k="36" />
+    <hkern u1="&#x178;" u2="&#xc3;" k="159" />
+    <hkern u1="&#x178;" u2="&#xc0;" k="159" />
+    <hkern u1="&#x178;" u2="&#xf8;" k="225" />
+    <hkern u1="&#x178;" u2="&#xe6;" k="188" />
+    <hkern u1="&#x178;" u2="&#xd8;" k="36" />
+    <hkern u1="&#x178;" u2="&#xfc;" k="188" />
+    <hkern u1="&#x178;" u2="&#xfb;" k="188" />
+    <hkern u1="&#x178;" u2="&#xf9;" k="188" />
+    <hkern u1="&#x178;" u2="&#xfa;" k="188" />
+    <hkern u1="&#x178;" u2="&#xf5;" k="225" />
+    <hkern u1="&#x178;" u2="&#xf6;" k="225" />
+    <hkern u1="&#x178;" u2="&#xf4;" k="225" />
+    <hkern u1="&#x178;" u2="&#xf2;" k="225" />
+    <hkern u1="&#x178;" u2="&#xf3;" k="225" />
+    <hkern u1="&#x178;" u2="&#xeb;" k="225" />
+    <hkern u1="&#x178;" u2="&#xea;" k="225" />
+    <hkern u1="&#x178;" u2="&#xe8;" k="225" />
+    <hkern u1="&#x178;" u2="&#xe9;" k="225" />
+    <hkern u1="&#x178;" u2="&#xe5;" k="188" />
+    <hkern u1="&#x178;" u2="&#xe3;" k="188" />
+    <hkern u1="&#x178;" u2="&#xe4;" k="188" />
+    <hkern u1="&#x178;" u2="&#xe2;" k="188" />
+    <hkern u1="&#x178;" u2="&#xe0;" k="188" />
+    <hkern u1="&#x178;" u2="&#xe1;" k="188" />
+    <hkern u1="&#x178;" u2="&#xd6;" k="36" />
+    <hkern u1="&#x178;" u2="&#xc7;" k="36" />
+    <hkern u1="&#x178;" u2="&#xc4;" k="159" />
+    <hkern u1="&#x178;" u2="u" k="188" />
+    <hkern u1="&#x178;" u2="o" k="225" />
+    <hkern u1="&#x178;" u2="i" k="36" />
+    <hkern u1="&#x178;" u2="e" k="225" />
+    <hkern u1="&#x178;" u2="a" k="188" />
+    <hkern u1="&#x178;" u2="O" k="36" />
+    <hkern u1="&#x178;" u2="C" k="36" />
+    <hkern u1="&#x178;" u2="A" k="159" />
+    <hkern u1="&#x178;" u2="&#x3b;" k="178" />
+    <hkern u1="&#x178;" u2="&#x3a;" k="178" />
+    <hkern u1="&#x178;" u2="&#x2e;" k="264" />
+    <hkern u1="&#x178;" u2="&#x2d;" k="282" />
+    <hkern u1="&#x178;" u2="&#x2c;" k="264" />
+    <hkern u1="&#x201a;" u2="&#x10c;" k="73" />
+    <hkern u1="&#x201a;" u2="&#x106;" k="73" />
+    <hkern u1="&#x201a;" u2="&#xfd;" k="92" />
+    <hkern u1="&#x201a;" u2="&#xdd;" k="339" />
+    <hkern u1="&#x201a;" u2="&#xd2;" k="73" />
+    <hkern u1="&#x201a;" u2="&#xd4;" k="73" />
+    <hkern u1="&#x201a;" u2="&#xd3;" k="73" />
+    <hkern u1="&#x201a;" u2="&#xfb02;" k="73" />
+    <hkern u1="&#x201a;" u2="&#xfb01;" k="73" />
+    <hkern u1="&#x201a;" u2="&#x178;" k="339" />
+    <hkern u1="&#x201a;" u2="&#xff;" k="92" />
+    <hkern u1="&#x201a;" u2="&#x152;" k="73" />
+    <hkern u1="&#x201a;" u2="&#xd5;" k="73" />
+    <hkern u1="&#x201a;" u2="&#xd8;" k="55" />
+    <hkern u1="&#x201a;" u2="&#xd6;" k="73" />
+    <hkern u1="&#x201a;" u2="&#xc7;" k="73" />
+    <hkern u1="&#x201a;" u2="y" k="92" />
+    <hkern u1="&#x201a;" u2="w" k="73" />
+    <hkern u1="&#x201a;" u2="v" k="112" />
+    <hkern u1="&#x201a;" u2="f" k="73" />
+    <hkern u1="&#x201a;" u2="Y" k="339" />
+    <hkern u1="&#x201a;" u2="W" k="149" />
+    <hkern u1="&#x201a;" u2="V" k="264" />
+    <hkern u1="&#x201a;" u2="T" k="225" />
+    <hkern u1="&#x201a;" u2="Q" k="73" />
+    <hkern u1="&#x201a;" u2="O" k="73" />
+    <hkern u1="&#x201a;" u2="C" k="73" />
+    <hkern u1="&#x201e;" u2="&#x10c;" k="73" />
+    <hkern u1="&#x201e;" u2="&#x106;" k="73" />
+    <hkern u1="&#x201e;" u2="&#xfd;" k="112" />
+    <hkern u1="&#x201e;" u2="&#xdd;" k="339" />
+    <hkern u1="&#x201e;" u2="&#xd2;" k="73" />
+    <hkern u1="&#x201e;" u2="&#xd4;" k="73" />
+    <hkern u1="&#x201e;" u2="&#xd3;" k="73" />
+    <hkern u1="&#x201e;" u2="&#xfb02;" k="73" />
+    <hkern u1="&#x201e;" u2="&#xfb01;" k="73" />
+    <hkern u1="&#x201e;" u2="&#x178;" k="339" />
+    <hkern u1="&#x201e;" u2="&#xff;" k="112" />
+    <hkern u1="&#x201e;" u2="&#x152;" k="73" />
+    <hkern u1="&#x201e;" u2="&#xd5;" k="73" />
+    <hkern u1="&#x201e;" u2="&#xd8;" k="55" />
+    <hkern u1="&#x201e;" u2="&#xd6;" k="73" />
+    <hkern u1="&#x201e;" u2="&#xc7;" k="73" />
+    <hkern u1="&#x201e;" u2="y" k="112" />
+    <hkern u1="&#x201e;" u2="w" k="73" />
+    <hkern u1="&#x201e;" u2="v" k="149" />
+    <hkern u1="&#x201e;" u2="f" k="73" />
+    <hkern u1="&#x201e;" u2="Y" k="339" />
+    <hkern u1="&#x201e;" u2="W" k="149" />
+    <hkern u1="&#x201e;" u2="V" k="264" />
+    <hkern u1="&#x201e;" u2="T" k="225" />
+    <hkern u1="&#x201e;" u2="Q" k="73" />
+    <hkern u1="&#x201e;" u2="O" k="73" />
+    <hkern u1="&#x201e;" u2="C" k="73" />
+    <hkern u1="&#xc2;" u2="&#x2019;" k="272" />
+    <hkern u1="&#xc2;" u2="&#x201d;" k="272" />
+    <hkern u1="&#xc2;" u2="W" k="36" />
+    <hkern u1="&#xc2;" u2="V" k="102" />
+    <hkern u1="&#xc2;" u2="T" k="149" />
+    <hkern u1="&#xc2;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xc2;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xc2;" u2="&#x2e;" k="-38" />
+    <hkern u1="&#xc2;" u2="&#x2c;" k="-38" />
+    <hkern u1="&#xc1;" u2="&#x2019;" k="272" />
+    <hkern u1="&#xc1;" u2="&#x201d;" k="272" />
+    <hkern u1="&#xc1;" u2="W" k="36" />
+    <hkern u1="&#xc1;" u2="V" k="102" />
+    <hkern u1="&#xc1;" u2="T" k="149" />
+    <hkern u1="&#xc1;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xc1;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xc1;" u2="&#x2e;" k="-38" />
+    <hkern u1="&#xc1;" u2="&#x2c;" k="-38" />
+    <hkern u1="&#xd3;" u2="X" k="55" />
+    <hkern u1="&#xd3;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xd3;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xd3;" u2="&#x2e;" k="83" />
+    <hkern u1="&#xd3;" u2="&#x2c;" k="83" />
+    <hkern u1="&#xd4;" u2="X" k="55" />
+    <hkern u1="&#xd4;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xd4;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xd4;" u2="&#x2e;" k="83" />
+    <hkern u1="&#xd4;" u2="&#x2c;" k="83" />
+    <hkern u1="&#xd2;" u2="X" k="55" />
+    <hkern u1="&#xd2;" u2="&#x3b;" k="-38" />
+    <hkern u1="&#xd2;" u2="&#x3a;" k="-38" />
+    <hkern u1="&#xd2;" u2="&#x2e;" k="83" />
+    <hkern u1="&#xd2;" u2="&#x2c;" k="83" />
+    <hkern u1="&#x141;" u2="&#xfd;" k="73" />
+    <hkern u1="&#x141;" u2="&#xdd;" k="196" />
+    <hkern u1="&#x141;" u2="&#xd2;" k="63" />
+    <hkern u1="&#x141;" u2="&#xd4;" k="63" />
+    <hkern u1="&#x141;" u2="&#xd3;" k="63" />
+    <hkern u1="&#x141;" u2="&#x178;" k="196" />
+    <hkern u1="&#x141;" u2="&#xff;" k="73" />
+    <hkern u1="&#x141;" u2="&#x2019;" k="368" />
+    <hkern u1="&#x141;" u2="&#x2018;" k="188" />
+    <hkern u1="&#x141;" u2="&#x201d;" k="368" />
+    <hkern u1="&#x141;" u2="&#x201c;" k="188" />
+    <hkern u1="&#x141;" u2="&#x152;" k="63" />
+    <hkern u1="&#x141;" u2="&#xd5;" k="63" />
+    <hkern u1="&#x141;" u2="&#xd8;" k="63" />
+    <hkern u1="&#x141;" u2="&#xd6;" k="63" />
+    <hkern u1="&#x141;" u2="y" k="73" />
+    <hkern u1="&#x141;" u2="Y" k="196" />
+    <hkern u1="&#x141;" u2="W" k="83" />
+    <hkern u1="&#x141;" u2="V" k="149" />
+    <hkern u1="&#x141;" u2="T" k="139" />
+    <hkern u1="&#x141;" u2="O" k="63" />
+    <hkern u1="&#x141;" u2="&#x2d;" k="159" />
+    <hkern u1="&#x160;" u2="&#x15e;" k="73" />
+    <hkern u1="&#x160;" u2="&#x160;" k="73" />
+    <hkern u1="&#x160;" u2="S" k="73" />
+    <hkern u1="&#x17d;" u2="&#x2d;" k="102" />
+    <hkern u1="&#xd0;" u2="&#x2d;" k="-38" />
+    <hkern u1="&#xdd;" u2="&#x10c;" k="36" />
+    <hkern u1="&#xdd;" u2="&#x106;" k="36" />
+    <hkern u1="&#xdd;" u2="&#xd2;" k="36" />
+    <hkern u1="&#xdd;" u2="&#xd4;" k="36" />
+    <hkern u1="&#xdd;" u2="&#xd3;" k="36" />
+    <hkern u1="&#xdd;" u2="&#xc1;" k="159" />
+    <hkern u1="&#xdd;" u2="&#xc2;" k="159" />
+    <hkern u1="&#xdd;" u2="&#x2018;" k="45" />
+    <hkern u1="&#xdd;" u2="&#x201c;" k="45" />
+    <hkern u1="&#xdd;" u2="&#x153;" k="225" />
+    <hkern u1="&#xdd;" u2="&#x152;" k="36" />
+    <hkern u1="&#xdd;" u2="&#xd5;" k="36" />
+    <hkern u1="&#xdd;" u2="&#xc3;" k="159" />
+    <hkern u1="&#xdd;" u2="&#xc0;" k="159" />
+    <hkern u1="&#xdd;" u2="&#xf8;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xe6;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xd8;" k="36" />
+    <hkern u1="&#xdd;" u2="&#xfc;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xfb;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xf9;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xfa;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xf5;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xf6;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xf4;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xf2;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xf3;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xeb;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xea;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xe8;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xe9;" k="225" />
+    <hkern u1="&#xdd;" u2="&#xe5;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xe3;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xe4;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xe2;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xe0;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xe1;" k="188" />
+    <hkern u1="&#xdd;" u2="&#xd6;" k="36" />
+    <hkern u1="&#xdd;" u2="&#xc7;" k="36" />
+    <hkern u1="&#xdd;" u2="&#xc4;" k="159" />
+    <hkern u1="&#xdd;" u2="u" k="188" />
+    <hkern u1="&#xdd;" u2="o" k="225" />
+    <hkern u1="&#xdd;" u2="i" k="36" />
+    <hkern u1="&#xdd;" u2="e" k="225" />
+    <hkern u1="&#xdd;" u2="a" k="188" />
+    <hkern u1="&#xdd;" u2="O" k="36" />
+    <hkern u1="&#xdd;" u2="C" k="36" />
+    <hkern u1="&#xdd;" u2="A" k="159" />
+    <hkern u1="&#xdd;" u2="&#x3b;" k="178" />
+    <hkern u1="&#xdd;" u2="&#x3a;" k="178" />
+    <hkern u1="&#xdd;" u2="&#x2e;" k="264" />
+    <hkern u1="&#xdd;" u2="&#x2d;" k="282" />
+    <hkern u1="&#xdd;" u2="&#x2c;" k="264" />
+    <hkern u1="&#xfd;" u2="&#x2e;" k="159" />
+    <hkern u1="&#xfd;" u2="&#x2d;" k="73" />
+    <hkern u1="&#xfd;" u2="&#x2c;" k="159" />
+    <hkern u1="&#xde;" u2="&#x2e;" k="149" />
+    <hkern u1="&#xde;" u2="&#x2d;" k="-75" />
+    <hkern u1="&#xde;" u2="&#x2c;" k="149" />
+    <hkern u1="&#x15e;" u2="&#x15e;" k="73" />
+    <hkern u1="&#x15e;" u2="&#x160;" k="73" />
+    <hkern u1="&#x15e;" u2="S" k="73" />
+    <hkern u1="&#x106;" u2="&#x15e;" k="-38" />
+    <hkern u1="&#x106;" u2="&#x160;" k="-38" />
+    <hkern u1="&#x106;" u2="&#x2019;" k="45" />
+    <hkern u1="&#x106;" u2="&#x201d;" k="45" />
+    <hkern u1="&#x106;" u2="S" k="-38" />
+    <hkern u1="&#x10c;" u2="&#x15e;" k="-38" />
+    <hkern u1="&#x10c;" u2="&#x160;" k="-38" />
+    <hkern u1="&#x10c;" u2="&#x2019;" k="45" />
+    <hkern u1="&#x10c;" u2="&#x201d;" k="45" />
+    <hkern u1="&#x10c;" u2="S" k="-38" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansOblique-Lat1.svg b/Tests/W3CTestSuite/resources/SVGFreeSansOblique-Lat1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1812555a9e584805379e81c889362165d9ae9ae1
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/SVGFreeSansOblique-Lat1.svg
@@ -0,0 +1,1807 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100429 at Thu Jun 10 14:29:55 2010
+ By Chris Lilley,,,
+Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation.
+</metadata>
+<defs>
+<font id="FreeSansOblique" horiz-adv-x="556" >
+  <font-face 
+    font-family="SVGFreeSansISO-8859-1"
+    font-weight="400"
+    font-style="oblique"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="2 11 5 4 2 2 2 9 2 4"
+    ascent="800"
+    descent="-200"
+    x-height="524"
+    cap-height="729"
+    bbox="-65 -220 1087 952"
+    underline-thickness="50"
+    underline-position="-151"
+    slope="-12"
+    stemh="78"
+    stemv="88"
+    unicode-range="U+0020-00FF"
+  />
+    <missing-glyph />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="278" 
+d="M363 729l-74 -350l-67 -211h-40l23 211l74 350h84zM230 103l-22 -103h-84l22 103h84z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="355" 
+d="M202 709h94l-24 -111l-55 -134h-40l1 134zM361 709h94l-24 -111l-55 -134h-40l1 134z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M632 697l-77 -194h94l-14 -64h-105l-73 -184h107l-14 -64h-118l-83 -211h-76l83 211h-125l-83 -211h-76l83 211h-101l14 64h112l73 184h-109l13 64h121l77 194h76l-76 -194h124l77 194h76zM454 439h-124l-74 -184h125z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M311 318c-101 35 -159 62 -159 151c0 49 22 231 244 247l11 54h59l-11 -54c100 -5 158 -61 158 -151c0 -16 -1 -26 -6 -46h-79l1 15c1 9 1 17 1 21c0 52 -35 88 -90 91l-53 -249c114 -35 178 -62 178 -154c0 -147 -101 -261 -267 -266l-22 -103h-59l22 103
+c-117 18 -170 66 -170 157c0 23 2 40 8 74h79l-1 -11c-2 -19 -3 -38 -3 -47c0 -55 28 -83 101 -104zM381 645c-123 -9 -146 -113 -146 -144c0 -49 26 -75 95 -96zM368 309l-56 -263c105 8 165 68 165 165c0 48 -28 74 -109 98z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="889" 
+d="M759 709h66l-550 -729h-66zM345 682c78 0 138 -57 138 -130c0 -108 -101 -206 -213 -206c-78 0 -136 56 -136 132c0 105 103 204 211 204zM329 616c-64 0 -125 -59 -125 -122c0 -47 35 -82 82 -82c65 0 127 60 127 122c0 49 -34 82 -84 82zM757 320
+c78 0 138 -57 138 -130c0 -108 -101 -206 -213 -206c-78 0 -136 56 -136 132c0 105 103 204 211 204zM741 254c-64 0 -125 -59 -125 -122c0 -47 35 -82 82 -82c65 0 127 60 127 122c0 49 -34 82 -84 82z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="667" 
+d="M83 128c0 157 142 226 205 262c-4 11 -7 19 -9 23l-18 42c-9 22 -14 45 -14 68c0 97 99 186 208 186c81 0 133 -47 133 -122c0 -87 -57 -153 -181 -209l98 -163c32 37 48 70 60 119h79c-12 -61 -51 -132 -100 -183l90 -151h-106l-46 78c-91 -75 -149 -101 -229 -101
+c-105 0 -170 58 -170 151zM377 434c92 46 128 85 128 140c0 40 -26 65 -69 65c-59 0 -106 -47 -106 -106c0 -28 6 -41 47 -99zM448 137l-119 199c-112 -60 -158 -112 -158 -177s42 -105 109 -105c49 0 95 22 168 83z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="191" 
+d="M198 709h94l-24 -111l-55 -134h-40l1 134z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="333" 
+d="M391 729h55c-168 -206 -255 -428 -255 -650c0 -102 18 -196 55 -292h-55c-49 86 -78 210 -78 329c0 203 104 431 278 613z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="333" 
+d="M325 407c0 -136 -45 -377 -277 -620h-55c166 203 255 428 255 644c0 107 -17 201 -55 298h55c47 -83 77 -209 77 -322z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="389" 
+d="M319 729h62l-29 -112l110 38l9 -62l-113 -27l53 -91l-58 -37l-44 96l-81 -95l-47 40l92 88l-104 31l30 59l100 -40z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="584" 
+d="M591 269l-15 -72h-207l-44 -208h-70l44 208h-207l15 72h207l44 204h70l-44 -204h207z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="278" 
+d="M109 103h105l-26 -119c-17 -83 -64 -131 -127 -131h-6l8 38c48 0 69 27 83 109h-59z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="333" 
+d="M351 312l-15 -72h-239l15 72h239z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="278" 
+d="M213 103l-22 -103h-104l22 103h104z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="278" 
+d="M379 729h55l-391 -749h-55z" />
+    <glyph glyph-name="zero" unicode="0" 
+d="M98 170c0 111 48 539 320 539c113 0 180 -73 180 -195c0 -114 -48 -537 -322 -537c-73 0 -178 39 -178 193zM287 54c178 0 223 353 223 450c0 81 -39 128 -104 128c-176 0 -220 -354 -220 -451c0 -79 38 -127 101 -127z" />
+    <glyph glyph-name="one" unicode="1" 
+d="M367 505h-159l13 63c144 20 165 33 219 141h58l-151 -709h-88z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M428 709c154 0 192 -103 192 -172c0 -100 -65 -183 -198 -250l-112 -57c-91 -45 -146 -94 -163 -143h377l-19 -87h-471c44 161 90 215 263 307l104 52c83 42 131 102 131 166s-46 107 -116 107c-145 0 -172 -134 -181 -169h-88c39 169 127 246 281 246z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M555 249c0 -148 -114 -272 -291 -272c-125 0 -193 59 -193 167c0 18 1 32 5 62h88l-2 -13c-2 -16 -3 -31 -3 -39c0 -61 47 -100 118 -100c112 0 190 74 190 182c0 57 -49 91 -132 91c-14 0 -24 0 -45 -2l16 75h18c107 0 187 34 187 145c0 54 -41 87 -106 87
+c-135 0 -159 -112 -168 -152h-88c13 49 54 229 268 229c110 0 182 -58 182 -146c0 -89 -37 -148 -122 -196c56 -28 78 -61 78 -118z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M362 170h-299l20 92l416 447h66l-98 -461h106l-17 -78h-106l-36 -170h-88zM379 248l65 308l-286 -308h221z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M271 -23c-75 0 -201 25 -201 175v22h88c3 -80 46 -120 125 -120c113 0 196 91 196 215c0 77 -46 121 -126 121c-58 0 -88 -13 -149 -67h-80l135 386h370l-18 -87h-300l-70 -198c49 30 92 43 140 43c113 0 186 -68 186 -172c0 -71 -25 -146 -69 -202
+c-59 -78 -134 -116 -227 -116z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M566 271c0 -64 -58 -294 -280 -294c-118 0 -193 74 -193 190c0 125 47 302 105 393c63 99 143 149 237 149c107 0 176 -62 176 -158c0 -6 0 -16 -1 -27h-88c1 2 1 4 1 5c0 37 -19 103 -102 103c-101 0 -183 -105 -212 -274c57 57 113 84 179 84c107 0 178 -68 178 -171z
+M364 365c-102 0 -183 -85 -183 -191c0 -71 49 -120 118 -120c99 0 179 90 179 202c0 65 -46 109 -114 109z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M671 709l-17 -81c-171 -168 -352 -439 -419 -628h-98c90 211 198 369 423 622h-383l19 87h475z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M560 239c0 -59 -56 -262 -279 -262c-126 0 -207 66 -207 168s54 180 159 228l-12 10c-42 34 -52 53 -52 97c0 55 23 110 65 152c51 53 110 77 187 77c146 0 183 -92 183 -148c0 -121 -95 -168 -127 -188c56 -32 83 -76 83 -134zM364 408c93 0 152 63 152 137
+c0 54 -41 87 -109 87c-87 0 -150 -59 -150 -141c0 -52 40 -83 107 -83zM344 334c-101 0 -182 -77 -182 -174c0 -63 51 -106 125 -106c105 0 185 75 185 172c0 66 -50 108 -128 108z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M404 709c156 0 195 -116 195 -184c0 -120 -51 -548 -341 -548c-106 0 -175 62 -175 158c0 6 0 16 1 27h87c0 -69 35 -108 99 -108c101 0 171 90 211 270c-29 -24 -85 -80 -178 -80c-108 0 -177 67 -177 173c0 71 56 292 278 292zM392 632c-97 0 -178 -89 -178 -196
+c0 -72 42 -115 113 -115c101 0 184 87 184 193c0 67 -51 118 -119 118z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="278" 
+d="M236 103l-22 -103h-104l22 103h104zM326 524l-22 -103h-104l22 103h104z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="278" 
+d="M325 524l-22 -103h-104l22 103h104zM132 103h105l-26 -119c-17 -83 -64 -131 -127 -131h-6l8 38c48 0 69 27 83 109h-59z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="584" 
+d="M87 198l15 69l533 207l-17 -79l-422 -164l353 -163l-17 -77z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="584" 
+d="M609 355l-15 -72h-483l14 72h484zM572 183l-14 -72h-484l15 72h483z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="584" 
+d="M596 267l-15 -69l-533 -207l17 79l422 164l-353 163l17 77z" />
+    <glyph glyph-name="question" unicode="?" 
+d="M449 741c145 0 181 -94 181 -151c0 -187 -210 -205 -249 -344l-10 -47h-90l12 55c34 149 241 177 241 324c0 51 -44 86 -107 86c-88 0 -136 -48 -158 -157h-85c31 154 121 234 265 234zM351 103l-22 -103h-90l22 103h90z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="1015" 
+d="M597 134c-61 -43 -84 -72 -152 -72c-81 0 -135 55 -135 139c0 152 167 323 316 323c59 0 97 -30 109 -89l36 66h82l-149 -280c-17 -32 -24 -49 -24 -58c0 -19 19 -36 41 -36c109 0 232 153 232 287c0 144 -124 250 -293 250c-247 0 -492 -233 -492 -468
+c0 -156 124 -261 307 -261c61 0 116 9 204 32l13 -67c-74 -27 -164 -42 -245 -42c-203 0 -367 136 -367 324c0 227 221 559 601 559c205 0 355 -130 355 -307c0 -302 -260 -377 -340 -377s-99 36 -99 63v14zM478 124c119 0 204 207 204 266c0 42 -24 65 -68 65
+c-111 0 -212 -150 -212 -245c0 -50 32 -86 76 -86z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="667" 
+d="M524 219h-285l-123 -219h-99l415 729h120l101 -729h-102zM514 297l-40 333l-191 -333h231z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="667" 
+d="M672 258c0 -135 -103 -258 -263 -258h-330l155 729h296c145 0 181 -83 181 -145c0 -89 -49 -161 -136 -200c70 -30 97 -65 97 -126zM441 415c140 0 174 82 174 146c0 59 -39 86 -124 86h-180l-50 -232h180zM417 82c98 0 159 70 159 160c0 59 -37 91 -106 91h-226
+l-54 -251h227z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="722" 
+d="M367 -23c-206 0 -255 159 -255 265c0 125 49 263 128 358c78 94 175 141 292 141c95 0 228 -38 238 -238h-96c-8 108 -58 157 -159 157c-246 0 -307 -306 -307 -400c0 -121 69 -202 173 -202c154 0 212 107 256 208h98c-95 -226 -219 -289 -368 -289z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="722" 
+d="M526 729c189 0 233 -155 233 -241c0 -125 -48 -271 -116 -354c-73 -89 -164 -134 -272 -134h-282l155 729h282zM200 82h172c91 0 167 43 219 123c40 63 72 183 72 275c0 104 -64 167 -171 167h-171z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="667" 
+d="M255 332l-54 -250h429l-17 -82h-523l155 729h506l-17 -82h-412l-50 -233h396l-18 -82h-395z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="611" 
+d="M255 332l-71 -332h-94l155 729h489l-17 -82h-395l-50 -233h347l-17 -82h-347z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="778" 
+d="M205 277c0 -186 122 -219 206 -219c116 0 243 72 276 219l6 26h-222l18 82h304l-83 -389h-59l-4 90c-77 -64 -150 -109 -269 -109c-108 0 -269 57 -269 284c0 130 58 266 154 362c78 78 176 118 292 118c157 0 254 -83 254 -216v-17h-91c-3 125 -110 152 -181 152
+c-278 0 -332 -303 -332 -383z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="722" 
+d="M621 332h-373l-71 -332h-94l155 729h94l-67 -315h373l67 315h94l-155 -729h-94z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="278" 
+d="M349 729l-155 -729h-94l155 729h94z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="500" 
+d="M213 -23c-134 0 -166 95 -166 145c0 14 2 31 6 48l14 64h94l-14 -66c-3 -12 -4 -23 -4 -34c0 -45 36 -76 90 -76c116 0 138 125 145 158l109 513h94l-116 -547c-28 -131 -120 -205 -252 -205z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="667" 
+d="M226 249l-53 -249h-94l155 729h94l-79 -373l444 373h120l-361 -298l206 -431h-110l-168 376z" />
+    <glyph glyph-name="L" unicode="L" 
+d="M329 729l-138 -647h360l-17 -82h-454l155 729h94z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="833" 
+d="M467 0h-97l-77 605l-129 -605h-89l155 729h129l80 -627l346 627h131l-155 -729h-89l129 605z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="722" 
+d="M801 729l-155 -729h-106l-249 591l-126 -591h-89l155 729h104l250 -598l127 598h89z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="778" 
+d="M391 -23c-124 0 -287 57 -287 286c0 127 53 259 142 351c81 85 178 127 291 127c233 0 291 -159 291 -277c0 -107 -68 -487 -437 -487zM732 446c0 171 -120 214 -207 214c-94 0 -183 -47 -241 -127c-53 -73 -84 -170 -84 -262c0 -170 122 -213 204 -213
+c277 0 328 310 328 388z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="667" 
+d="M733 568c0 -136 -100 -259 -254 -259h-228l-66 -309h-94l155 729h302c122 0 185 -55 185 -161zM462 391c110 0 175 73 175 159c0 63 -42 97 -120 97h-194l-55 -256h194z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="778" 
+d="M537 741c127 0 291 -57 291 -285c0 -144 -63 -281 -173 -380l78 -77l-60 -58l-87 87c-73 -39 -119 -51 -196 -51c-180 0 -286 107 -286 287c0 153 78 311 197 400c69 51 147 77 236 77zM732 446c0 171 -120 214 -207 214c-94 0 -183 -47 -240 -127
+c-53 -72 -85 -170 -85 -261c0 -134 78 -214 209 -214c41 0 70 7 119 29l-62 62l58 56l74 -73c87 84 134 195 134 314z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="722" 
+d="M562 47c0 72 32 128 32 192c0 49 -36 75 -101 75h-239l-67 -314h-94l155 729h336c128 0 186 -48 186 -154c0 -140 -100 -193 -140 -215c47 -31 60 -52 60 -96c0 -42 -27 -152 -27 -188c0 -22 8 -41 21 -53l-5 -23h-113c-3 21 -4 32 -4 47zM674 558c0 75 -51 89 -119 89
+h-230l-54 -251h231c139 0 172 98 172 162z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="667" 
+d="M488 741c181 0 226 -103 226 -170c0 -15 -2 -28 -8 -56h-88c3 20 4 27 4 36c0 82 -64 109 -152 109c-110 0 -196 -55 -196 -142c0 -44 24 -64 101 -86l172 -49c91 -25 122 -96 122 -146c0 -52 -51 -260 -339 -260c-151 0 -241 72 -241 192c0 21 2 37 9 63h87
+c-3 -19 -4 -28 -4 -41c0 -91 52 -133 165 -133c143 0 227 70 227 151c0 48 -33 77 -113 100l-171 48c-67 19 -111 72 -111 135c0 51 31 122 72 164c54 56 135 85 238 85z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="611" 
+d="M493 647l-138 -647h-94l138 647h-241l17 82h573l-17 -82h-238z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="722" 
+d="M363 -23c-147 0 -239 76 -239 178c0 15 7 63 14 96l102 478h94l-109 -512c-3 -16 -5 -30 -5 -44c0 -69 65 -115 161 -115c113 0 195 60 216 159l109 512h94l-109 -512c-31 -146 -160 -240 -328 -240z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="667" 
+d="M392 0h-100l-107 729h97l83 -617l336 617h99z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="944" 
+d="M744 0h-102l-41 592l-290 -592h-102l-32 729h100l15 -592l288 592h96l41 -592l263 592h104z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="667" 
+d="M471 374l179 -374h-115l-134 304l-264 -304h-115l339 374l-167 355h113l125 -285l248 285h114z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="667" 
+d="M448 286l-61 -286h-94l61 286l-186 443h112l136 -357l289 357h111z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="611" 
+d="M737 729l-18 -84l-556 -563h438l-17 -82h-556l18 84l555 563h-406l17 82h525z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="278" 
+d="M405 729l-15 -72h-102l-170 -798h102l-15 -72h-186l200 942h186z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="278" 
+d="M147 729h55l78 -749h-55z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="278" 
+d="M-23 -213l15 72h103l170 798h-103l15 72h187l-200 -942h-187z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="469" 
+d="M349 709h73l74 -380h-69l-58 299l-182 -299h-72z" />
+    <glyph glyph-name="underscore" unicode="_" 
+d="M551 -126l-11 -50h-599l11 50h599z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="333" 
+d="M285 740l72 -148h-53l-125 148h106z" />
+    <glyph glyph-name="a" unicode="a" 
+d="M372 462c-111 0 -131 -74 -137 -93h-84c19 111 104 170 243 170c105 0 174 -45 174 -113c0 -10 0 -10 -6 -37l-64 -301c-1 -3 -1 -6 -1 -10c0 -20 12 -29 38 -29c4 0 8 0 17 2l-13 -65c-23 -4 -30 -9 -53 -9c-48 0 -76 25 -76 66v11c-26 -22 -80 -77 -201 -77
+c-90 0 -144 48 -144 128c0 58 30 111 82 144c136 86 304 10 326 112l3 18c1 8 2 15 2 19c0 37 -46 64 -106 64zM451 258c-105 -36 -298 -14 -298 -143c0 -42 32 -66 89 -66c88 0 176 53 189 115z" />
+    <glyph glyph-name="b" unicode="b" 
+d="M294 -23c-89 0 -127 50 -148 101l-17 -78h-75l155 729h84l-58 -275c24 26 70 85 176 85c101 0 177 -84 177 -196c0 -103 -44 -217 -111 -288c-45 -47 -116 -78 -183 -78zM296 54c170 0 204 214 204 270c0 86 -44 138 -117 138c-60 0 -113 -35 -152 -101
+c-28 -48 -46 -116 -46 -178c0 -79 43 -129 111 -129z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="500" 
+d="M381 539c106 0 173 -69 173 -147c0 -3 -1 -14 -2 -29l-1 -15h-84c1 9 1 16 1 22c0 57 -39 92 -102 92c-170 0 -202 -224 -202 -281c0 -78 44 -127 113 -127c72 0 127 44 157 126h84c-15 -51 -57 -203 -255 -203c-150 0 -187 122 -187 193c0 208 121 369 305 369z" />
+    <glyph glyph-name="d" unicode="d" 
+d="M430 76c-32 -64 -119 -99 -186 -99c-104 0 -171 76 -171 193c0 211 124 369 290 369c71 0 111 -26 143 -91l60 281h84l-155 -729h-81zM278 54c156 0 195 209 195 273c0 85 -44 135 -118 135c-162 0 -194 -217 -194 -272c0 -86 43 -136 117 -136z" />
+    <glyph glyph-name="e" unicode="e" 
+d="M84 173c0 73 46 366 305 366c108 0 191 -75 191 -171c0 -27 -5 -69 -14 -117l-3 -17h-386c-4 -15 -5 -25 -5 -46c0 -85 45 -134 124 -134c67 0 120 36 156 105h84c-31 -108 -134 -182 -254 -182c-122 0 -198 89 -198 196zM195 306h294c2 16 3 23 3 33
+c0 75 -45 123 -116 123c-81 0 -155 -64 -181 -156z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="278" 
+d="M370 524l-14 -67h-86l-97 -457h-84l97 457h-70l14 67h70l19 89c16 74 72 119 149 119c16 0 27 -1 45 -5l-15 -69c-14 2 -20 2 -27 2c-43 0 -61 -17 -72 -67l-15 -69h86z" />
+    <glyph glyph-name="g" unicode="g" 
+d="M369 539c96 0 130 -73 139 -93l17 78h76l-93 -439c-45 -210 -120 -303 -299 -303c-107 0 -177 50 -177 127c0 4 0 10 1 18l1 13h84v-14c0 -45 40 -72 108 -72c106 0 160 54 189 190l4 19c-50 -53 -109 -80 -172 -80c-102 0 -173 76 -173 185c0 74 52 371 295 371z
+M363 462c-170 0 -201 -222 -201 -278c0 -79 42 -129 109 -129c60 0 119 38 152 99c28 49 46 123 46 185c0 75 -42 123 -106 123z" />
+    <glyph glyph-name="h" unicode="h" 
+d="M225 729h84l-57 -270c63 59 112 80 187 80c84 0 135 -47 135 -126c0 -12 -1 -24 -4 -37l-80 -376h-84l73 343c6 27 6 27 6 39c0 51 -34 85 -85 85c-91 0 -162 -68 -185 -178l-61 -289h-84z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="222" 
+d="M261 524l-111 -524h-84l111 524h84zM305 729l-22 -103h-84l22 103h84z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="222" 
+d="M180 524h84l-134 -633c-18 -82 -61 -109 -176 -109c-9 0 -12 1 -19 3l15 71c18 -2 20 -2 25 -2c51 0 66 14 78 70zM308 729l-22 -103h-84l22 103h84z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="500" 
+d="M297 729l-90 -423l269 218h108l-222 -181l140 -343h-96l-114 291l-107 -88l-43 -203h-84l155 729h84z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="222" 
+d="M307 729l-155 -729h-84l155 729h84z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="833" 
+d="M725 539c103 0 127 -73 127 -111c0 -11 -4 -44 -6 -55l-79 -373h-84l72 341c9 34 9 34 9 49c0 48 -29 77 -76 77c-72 0 -140 -60 -157 -138l-70 -329h-84l77 361c3 13 4 26 4 37c0 41 -33 69 -82 69c-67 0 -135 -62 -151 -138l-70 -329h-84l111 524h76l-13 -65
+c64 60 110 80 178 80c66 0 105 -27 121 -83c59 57 116 83 181 83z" />
+    <glyph glyph-name="n" unicode="n" 
+d="M181 524h76l-13 -65c52 53 118 80 194 80c83 0 136 -49 136 -125c0 -13 -1 -25 -4 -38l-80 -376h-84l74 349c4 16 6 31 6 37c0 46 -37 81 -87 81c-90 0 -161 -68 -184 -178l-61 -289h-84z" />
+    <glyph glyph-name="o" unicode="o" 
+d="M384 539c117 0 192 -77 192 -187c0 -87 -33 -196 -79 -259c-56 -77 -132 -116 -228 -116c-112 0 -189 76 -189 187c0 85 33 195 78 259c51 74 133 116 226 116zM283 54c174 0 205 220 205 279c0 81 -43 129 -117 129c-171 0 -203 -222 -203 -278c0 -80 44 -130 115 -130z
+" />
+    <glyph glyph-name="p" unicode="p" 
+d="M586 344c0 -205 -125 -367 -292 -367c-71 0 -112 26 -143 91l-60 -281h-84l157 737h81l-18 -84c29 61 114 99 185 99c107 0 174 -75 174 -195zM302 54c164 0 196 216 196 270c0 86 -44 138 -119 138c-157 0 -196 -212 -196 -278c0 -80 46 -130 119 -130z" />
+    <glyph glyph-name="q" unicode="q" 
+d="M425 62c-26 -26 -74 -85 -177 -85c-101 0 -177 84 -177 196c0 103 44 217 111 288c45 48 116 78 184 78c73 0 124 -36 147 -101l19 86h75l-157 -737h-84zM364 462c-173 0 -205 -221 -205 -276c0 -80 46 -132 117 -132c60 0 112 35 152 101c28 48 46 116 46 178
+c0 79 -43 129 -110 129z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="333" 
+d="M180 524h76l-17 -82c62 71 107 97 165 97c11 0 19 -1 32 -3l-18 -85h-10c-104 0 -172 -61 -197 -179l-58 -272h-84z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="500" 
+d="M123 345c0 105 91 194 233 194c97 0 164 -48 164 -118c0 -13 -1 -22 -6 -43h-84c1 8 1 15 1 22c0 39 -33 62 -92 62c-77 0 -128 -43 -128 -95c0 -26 29 -46 85 -60l76 -19c88 -22 121 -54 121 -115c0 -119 -97 -196 -246 -196c-116 0 -186 48 -186 128c0 16 1 28 6 51h89
+c-1 -10 -2 -19 -2 -25c0 -50 39 -77 108 -77c120 0 143 76 143 96c0 44 -52 54 -70 59l-74 19c-103 27 -138 56 -138 117z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="278" 
+d="M366 524l-14 -67h-89l-78 -367c-1 -6 -2 -11 -2 -14c0 -16 14 -27 36 -27c12 0 17 1 48 8l-16 -73c-14 -4 -45 -7 -65 -7c-55 0 -89 30 -89 79c0 10 1 21 3 31l79 370h-71l14 67h71l31 144h84l-31 -144h89z" />
+    <glyph glyph-name="u" unicode="u" 
+d="M483 0h-76l12 57c-58 -56 -115 -80 -193 -80c-86 0 -138 41 -138 109c0 13 1 24 3 34l86 404h84l-79 -371c-2 -10 -3 -19 -3 -27c0 -47 35 -77 89 -77c85 0 156 70 179 178l63 297h84z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="500" 
+d="M287 0h-91l-74 524h92l49 -422l244 422h91z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="722" 
+d="M556 0h-95l-12 418l-195 -418h-96l-40 524h91l19 -408l189 408h105l11 -408l196 408h91z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="500" 
+d="M350 267l123 -267h-94l-90 200l-174 -200h-98l239 267l-118 257h93l88 -192l167 192h97z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="500" 
+d="M501 524h89l-368 -634c-43 -74 -94 -108 -165 -108c-19 0 -31 2 -49 10l16 75c27 -3 34 -4 44 -4c37 0 53 10 80 52l52 81l-68 528h90l46 -407z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="500" 
+d="M557 524l-18 -75l-392 -377h326l-15 -72h-427l18 74l395 378h-294l15 72h392z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="334" 
+d="M431 729l-14 -65h-16c-50 0 -67 -15 -78 -67l-39 -181c-14 -71 -52 -126 -108 -157c37 -24 48 -46 48 -97c0 -22 -2 -42 -6 -61l-39 -181c-3 -12 -4 -23 -4 -33c0 -24 16 -34 54 -34h16l-14 -66h-47c-54 0 -86 29 -86 79c0 16 2 36 6 54l35 166c6 27 9 51 9 67
+c0 40 -20 65 -57 71l15 69c58 10 87 49 106 138l36 166c28 124 107 132 136 132h47z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="260" 
+d="M255 729h60l-201 -941h-60z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="334" 
+d="M-16 -213l14 65h16c50 0 67 15 78 67l39 181c17 90 42 126 108 157c-33 29 -48 62 -48 105c0 17 2 35 6 54l39 181c3 12 4 23 4 33c0 24 -16 34 -54 34h-16l14 65h47c51 0 86 -33 86 -82c0 -14 -2 -31 -6 -50l-35 -166c-6 -30 -9 -52 -9 -72c0 -37 20 -60 57 -66l-15 -70
+c-58 -9 -88 -55 -106 -138l-36 -166c-7 -33 -27 -132 -136 -132h-47z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="584" 
+d="M594 411c-22 -129 -108 -143 -136 -143c-24 0 -52 10 -74 26l-85 63c-11 8 -29 15 -39 15c-31 0 -55 -27 -71 -79h-52c25 94 74 145 138 145c18 0 36 -6 51 -16l102 -69c18 -12 32 -17 47 -17c35 0 56 24 67 75h52z" />
+    <glyph glyph-name="uni00A0" unicode="&#xa0;" horiz-adv-x="278" 
+ />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="333" 
+d="M76 -205l74 350l67 211h40l-23 -211l-74 -350h-84zM211 421l22 103h84l-22 -103h-84z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" 
+d="M423 538c134 0 162 -114 162 -146c0 -3 -1 -14 -2 -29l-1 -15h-84c1 9 1 17 1 23c0 51 -27 81 -80 90l-12 2l-87 -410c71 8 114 45 145 127h84c-35 -131 -111 -195 -245 -203l-21 -97h-40l21 98c-103 11 -168 86 -168 193c0 76 31 342 287 367l19 90h40zM281 56l85 404
+c-38 -7 -64 -20 -90 -45c-55 -53 -92 -146 -92 -232c0 -70 37 -119 97 -127z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" 
+d="M256 492c0 -41 6 -36 31 -116h160l-12 -55h-137l1 -11c1 -13 2 -23 2 -27c0 -103 -91 -165 -165 -222c56 28 94 39 133 39c58 0 85 -30 155 -30c31 0 52 7 94 31l25 -70c-43 -35 -94 -54 -142 -54c-83 0 -131 46 -202 46c-37 0 -72 -11 -118 -37l-37 66
+c117 77 174 148 174 219c0 15 -1 21 -10 50h-113l12 55h83c-9 28 -30 58 -30 104c0 130 135 249 282 249c111 0 186 -60 186 -150c0 -22 -2 -40 -9 -82h-88c7 26 9 39 9 57c0 60 -45 98 -116 98c-95 0 -168 -70 -168 -160z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" 
+d="M156 305c0 84 49 119 58 140l-42 55l66 56l45 -58c27 16 68 27 102 27c37 0 73 -11 93 -29l68 56l47 -58l-69 -56c9 -16 13 -32 13 -57c0 -47 -24 -107 -54 -136l43 -54l-70 -54l-42 53c-28 -19 -66 -30 -105 -30s-71 9 -90 25l-65 -52l-44 58l60 49c-9 17 -14 41 -14 65
+zM369 448c-69 0 -134 -60 -134 -125c0 -49 39 -86 90 -86c69 0 133 62 133 127c0 47 -39 84 -89 84z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" 
+d="M573 354l-11 -51h-172l-17 -77h172l-10 -51h-173l-37 -175h-88l37 175h-174l11 51h174l17 77h-175l11 51h154l-130 355h85l116 -322l248 322h85l-277 -355h154z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="260" 
+d="M255 729h60l-86 -401h-60zM140 189h60l-86 -401h-60z" />
+    <glyph glyph-name="section" unicode="&#xa7;" 
+d="M104 274c0 120 107 170 143 189c-18 23 -26 47 -26 77c0 98 103 189 215 189c90 0 153 -56 153 -135c0 -21 -1 -25 -12 -61c0 -1 -1 -4 -2 -9h-84c7 20 10 35 10 51c0 47 -33 77 -83 77c-56 0 -105 -47 -105 -99c0 -23 8 -35 42 -62l127 -101c21 -17 77 -52 77 -123
+c0 -36 -18 -154 -147 -196c22 -30 30 -53 30 -87c0 -41 -21 -87 -55 -126c-40 -44 -98 -71 -162 -71c-98 0 -162 55 -162 138c0 21 3 34 11 61h85c-6 -21 -8 -32 -8 -45c0 -45 37 -77 87 -77c61 0 112 47 112 102c0 29 -10 48 -38 72l-145 124c-46 39 -63 70 -63 112z
+M236 229l138 -121c64 33 97 75 97 123c0 30 -21 65 -53 91l-131 106c-70 -40 -95 -71 -95 -119c0 -32 10 -51 44 -80z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="333" 
+d="M285 715l-22 -103h-104l22 103h104zM446 715l-22 -103h-104l22 103h104z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="737" 
+d="M618 312c-54 -137 -129 -186 -218 -186c-94 0 -151 63 -151 166c0 75 29 156 77 214c48 56 109 86 177 86c90 0 132 -49 134 -155h-71c-3 66 -26 93 -78 93c-134 0 -167 -175 -167 -229c0 -67 38 -113 95 -113c55 0 101 43 131 124h71zM530 742c177 0 306 -128 306 -302
+c0 -240 -229 -462 -475 -462c-177 0 -306 128 -306 303c0 239 229 461 475 461zM516 680c-202 0 -391 -187 -391 -387c0 -146 106 -253 250 -253c202 0 391 187 391 388c0 145 -106 252 -250 252z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="370" 
+d="M406 354l-11 -51h-288l11 51h288zM184 634c12 44 28 108 153 108c64 0 104 -25 104 -66c0 -7 0 -15 -1 -18l-41 -190c-1 -3 -1 -5 -1 -7c0 -7 8 -14 17 -14c4 0 17 2 17 2l-9 -44c-5 -1 -9 -2 -10 -2c-17 -4 -19 -4 -26 -4c-28 0 -44 15 -47 43c-30 -28 -68 -43 -109 -43
+c-61 0 -95 29 -95 80c0 104 108 113 184 121c39 4 62 9 62 56c0 28 -35 35 -62 35c-34 0 -66 -12 -80 -57h-56zM363 566c-56 -20 -167 -8 -167 -80c0 -25 18 -37 53 -37c45 0 98 34 104 66z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="444" 
+d="M93 227l19 89l177 122l-18 -83l-121 -84l86 -83l-18 -82zM298 227l19 89l177 122l-18 -83l-121 -84l86 -83l-18 -82z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="584" 
+d="M114 377h505l-61 -291h-70l46 219h-435z" />
+    <glyph glyph-name="uni00AD" unicode="&#xad;" horiz-adv-x="333" 
+d="M351 312l-15 -72h-239l15 72h239z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="737" 
+d="M510 168c0 44 19 89 19 117c0 27 -18 40 -54 40h-134l-39 -185h-70l94 445h206c81 0 119 -28 119 -89c0 -94 -62 -125 -80 -136c23 -18 29 -29 29 -56c0 -24 -15 -85 -15 -110c0 -14 3 -21 12 -29l-5 -25h-78c-3 12 -4 18 -4 28zM484 388c78 0 91 55 91 88s-19 46 -63 46
+h-129l-28 -134h129zM530 742c177 0 306 -128 306 -302c0 -240 -229 -462 -475 -462c-177 0 -306 128 -306 303c0 239 229 461 475 461zM516 680c-202 0 -391 -187 -391 -387c0 -146 106 -253 250 -253c202 0 391 187 391 388c0 145 -106 252 -250 252z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="333" 
+d="M450 696l-15 -69h-275l15 69h275z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="606" 
+d="M442 686c84 0 152 -68 152 -151c0 -85 -68 -152 -153 -152c-82 0 -150 69 -150 152s68 151 151 151zM443 643c-59 0 -107 -49 -107 -108s48 -109 105 -109c60 0 108 48 108 109c0 59 -48 108 -106 108z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="584" 
+d="M625 429l-15 -72h-207l-44 -208h-71l45 208h-207l15 72h207l43 204h71l-44 -204h207zM549 72l-15 -72h-484l15 72h484z" />
+    <glyph glyph-name="uni00B2" unicode="&#xb2;" horiz-adv-x="352" 
+d="M396 344l-12 -60h-300c28 101 55 132 165 188l63 31c47 22 75 56 75 91c0 36 -27 60 -68 60c-56 0 -88 -30 -105 -99h-63c24 107 79 154 178 154c75 0 123 -41 123 -106c0 -60 -41 -110 -124 -151l-68 -33c-54 -27 -76 -44 -95 -75h231z" />
+    <glyph glyph-name="uni00B3" unicode="&#xb3;" horiz-adv-x="352" 
+d="M157 565c9 34 34 144 170 144c71 0 117 -36 117 -91c0 -51 -19 -83 -69 -114c31 -15 44 -37 44 -70c0 -94 -79 -164 -183 -164c-80 0 -124 37 -124 103c0 10 1 19 3 41h64l-1 -12c-1 -9 -1 -15 -1 -21c0 -34 27 -56 68 -56c65 0 109 40 109 100c0 32 -29 50 -78 50
+c-7 0 -15 0 -31 -1l11 53h16c73 0 107 25 107 79c0 30 -24 48 -62 48c-82 0 -93 -71 -97 -89h-63z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="333" 
+d="M346 740h112l-180 -148h-60z" />
+    <glyph glyph-name="uni00B5" unicode="&#xb5;" 
+d="M554 49l-14 -63c-15 -2 -31 -9 -54 -9c-54 0 -75 18 -75 64c0 4 1 11 3 19c-54 -56 -114 -83 -183 -83c-37 0 -60 8 -81 29l-48 -226h-84l158 744h84l-77 -364c-2 -10 -3 -19 -3 -30c0 -50 33 -80 86 -80c86 0 157 70 180 177l63 297h84l-93 -436c-1 -3 -1 -7 -1 -11
+c0 -20 13 -31 38 -31c6 0 9 1 17 3z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="537" 
+d="M677 729l-14 -64h-56l-179 -843h-64l179 843h-83l-179 -843h-64l93 437c-103 3 -165 70 -165 177c0 152 136 293 282 293h250z" />
+    <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="278" 
+d="M293 295l-22 -103h-105l22 103h105z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="333" 
+d="M155 -94c-4 0 -20 -3 -27 -4l-13 6l50 92h41l-30 -56c13 2 17 2 21 2c37 0 67 -23 67 -51c0 -63 -61 -109 -145 -109c-38 0 -67 8 -118 34l28 38c41 -21 66 -29 94 -29c37 0 63 23 63 55c0 12 -14 22 -31 22z" />
+    <glyph glyph-name="uni00B9" unicode="&#xb9;" horiz-adv-x="250" 
+d="M261 580h-97l10 46c91 12 101 18 134 83h44l-90 -425h-64z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="365" 
+d="M388 354l-11 -51h-263l11 51h263zM149 509c0 130 75 233 187 233c94 0 116 -71 116 -115c0 -118 -72 -228 -190 -228c-67 0 -113 45 -113 110zM327 690c-66 0 -118 -72 -118 -165c0 -47 25 -74 67 -74c65 0 116 73 116 166c0 45 -25 73 -65 73z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="444" 
+d="M267 317l-19 -89l-179 -122l18 83l123 84l-88 83l18 82zM466 317l-19 -89l-179 -122l18 83l123 84l-88 83l18 82z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="947" 
+d="M302 580h-97l10 46c91 12 101 18 134 83h44l-90 -425h-64zM818 709h58l-606 -729h-58zM798 100h-184l13 60l256 265h47l-57 -270h65l-12 -55h-65l-21 -100h-63zM810 155l34 161l-156 -161h122z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="947" 
+d="M302 580h-97l10 46c91 12 101 18 134 83h44l-90 -425h-64zM808 709h58l-606 -729h-58zM909 60l-12 -60h-300c28 101 55 132 165 188l63 31c47 22 75 56 75 91c0 36 -27 60 -68 60c-56 0 -88 -30 -105 -99h-63c24 107 79 154 178 154c75 0 123 -41 123 -106
+c0 -60 -41 -110 -124 -151l-68 -33c-54 -27 -76 -44 -95 -75h231z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="947" 
+d="M168 565c9 34 34 144 170 144c71 0 117 -36 117 -91c0 -51 -19 -83 -69 -114c31 -15 44 -37 44 -70c0 -94 -79 -164 -183 -164c-80 0 -124 37 -124 103c0 10 1 19 3 41h64l-1 -12c-1 -9 -1 -15 -1 -21c0 -34 27 -56 68 -56c65 0 109 40 109 100c0 32 -29 50 -78 50
+c-7 0 -15 0 -31 -1l11 53h16c73 0 107 25 107 79c0 30 -24 48 -62 48c-82 0 -93 -71 -97 -89h-63zM838 709h58l-606 -729h-58zM798 100h-184l13 60l256 265h47l-57 -270h65l-12 -55h-65l-21 -100h-63zM810 155l34 161l-156 -161h122z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="611" 
+d="M266 -217c-144 0 -180 92 -180 145c0 97 65 165 144 226c74 55 90 74 104 124l10 47h90l-12 -55c-34 -148 -241 -176 -241 -323c0 -53 42 -87 107 -87c88 0 136 48 158 157h85c-31 -155 -121 -234 -265 -234zM364 421l22 103h90l-22 -103h-90z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="667" 
+d="M493.292 949l40.542 -148h-53l-93.542 148h106zM524 219h-285l-123 -219h-99l415 729h120l101 -729h-102zM514 297l-40 333l-191 -333h231z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="667" 
+d="M577.292 939h112l-211.458 -148h-60zM524 219h-285l-123 -219h-99l415 729h120l101 -729h-102zM514 297l-40 333l-191 -333h231z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="667" 
+d="M487 940h95l64 -150h-63l-56 99l-104 -99h-64zM524 219h-285l-123 -219h-99l415 729h120l101 -729h-102zM514 297l-40 333l-191 -333h231z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="667" 
+d="M442 904c37 0 106 -32 136 -32c20 0 30 8 48 37h53c-21 -65 -63 -107 -108 -107c-48 0 -104 32 -130 32c-28 0 -36 -14 -50 -33h-53c15 45 40 103 104 103zM524 219h-285l-123 -219h-99l415 729h120l101 -729h-102zM514 297l-40 333l-191 -333h231z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="667" 
+d="M501 904l-22 -103h-104l22 103h104zM662 904l-22 -103h-104l22 103h104zM524 219h-285l-123 -219h-99l415 729h120l101 -729h-102zM514 297l-40 333l-191 -333h231z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="667" 
+d="M533 952c41 0 72 -29 72 -67c0 -56 -52 -108 -109 -108c-40 0 -71 31 -71 70c0 53 54 105 108 105zM526 908c-28 0 -55 -26 -55 -52c0 -21 15 -35 35 -35c27 0 54 26 54 52c0 20 -15 35 -34 35zM524 219h-285l-123 -219h-99l415 729h120l101 -729h-102zM514 297l-40 333
+l-191 -333h231z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1000" 
+d="M513 214h-269l-130 -214h-103l454 729h622l-17 -82h-371l-49 -233h351l-18 -82h-351l-53 -250h388l-17 -82h-482zM531 295l74 352h-100l-212 -352h238z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="722" 
+d="M381 58c154 0 212 107 256 208h98c-79 -198 -193 -287 -367 -289l-17 -33c13 2 16 2 21 2c37 0 67 -23 67 -51c0 -63 -61 -109 -145 -109c-38 0 -67 8 -118 34l28 38c40 -21 66 -29 94 -29c37 0 63 23 63 55c0 12 -14 22 -31 22c-5 0 -21 -3 -27 -4l-13 6l38 71
+c-67 10 -96 22 -131 53c-55 49 -85 124 -85 210c0 125 49 263 128 358c78 94 175 141 292 141c95 0 228 -38 238 -238h-96c-8 108 -58 157 -159 157c-246 0 -307 -306 -307 -400c0 -121 69 -202 173 -202z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="667" 
+d="M499.292 949l40.542 -148h-53l-93.542 148h106zM255 332l-54 -250h429l-17 -82h-523l155 729h506l-17 -82h-412l-50 -233h396l-18 -82h-395z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="667" 
+d="M603.292 939h112l-211.458 -148h-60zM255 332l-54 -250h429l-17 -82h-523l155 729h506l-17 -82h-412l-50 -233h396l-18 -82h-395z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="667" 
+d="M495 940h95l64 -150h-63l-56 99l-104 -99h-64zM255 332l-54 -250h429l-17 -82h-523l155 729h506l-17 -82h-412l-50 -233h396l-18 -82h-395z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="667" 
+d="M507 904l-22 -103h-104l22 103h104zM668 904l-22 -103h-104l22 103h104zM255 332l-54 -250h429l-17 -82h-523l155 729h506l-17 -82h-412l-50 -233h396l-18 -82h-395z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="278" 
+d="M323.292 939l40.542 -148h-53l-93.542 148h106zM349 729l-155 -729h-94l155 729h94z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="278" 
+d="M397.292 939h112l-211.458 -148h-60zM349 729l-155 -729h-94l155 729h94z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="278" 
+d="M297 940h95l64 -150h-63l-56 99l-104 -99h-64zM349 729l-155 -729h-94l155 729h94z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="278" 
+d="M311 904l-22 -103h-104l22 103h104zM472 904l-22 -103h-104l22 103h104zM349 729l-155 -729h-94l155 729h94z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="722" 
+d="M526 729c189 0 233 -155 233 -241c0 -125 -48 -271 -116 -354c-73 -89 -164 -134 -272 -134h-282l72 341h-68l13 67h70l68 321h282zM255 341l-55 -259h172c91 0 167 43 219 123c40 63 72 184 72 275c0 105 -64 167 -171 167h-171l-51 -239h166l-14 -67h-167z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="722" 
+d="M476 904c37 0 106 -32 136 -32c20 0 30 8 48 37h53c-21 -65 -63 -107 -108 -107c-48 0 -104 32 -130 32c-28 0 -36 -14 -50 -33h-53c15 45 40 103 104 103zM801 729l-155 -729h-106l-249 591l-126 -591h-89l155 729h104l250 -598l127 598h89z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="778" 
+d="M556.292 939l40.542 -148h-53l-93.542 148h106zM391 -23c-124 0 -287 57 -287 286c0 127 53 259 142 351c81 85 178 127 291 127c233 0 291 -159 291 -277c0 -107 -68 -487 -437 -487zM732 446c0 171 -120 214 -207 214c-94 0 -183 -47 -241 -127
+c-53 -73 -84 -170 -84 -262c0 -170 122 -213 204 -213c277 0 328 310 328 388z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="778" 
+d="M649.292 939h112l-211.458 -148h-60zM391 -23c-124 0 -287 57 -287 286c0 127 53 259 142 351c81 85 178 127 291 127c233 0 291 -159 291 -277c0 -107 -68 -487 -437 -487zM732 446c0 171 -120 214 -207 214c-94 0 -183 -47 -241 -127c-53 -73 -84 -170 -84 -262
+c0 -170 122 -213 204 -213c277 0 328 310 328 388z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="778" 
+d="M526 940h95l64 -150h-63l-56 99l-104 -99h-64zM391 -23c-124 0 -287 57 -287 286c0 127 53 259 142 351c81 85 178 127 291 127c233 0 291 -159 291 -277c0 -107 -68 -487 -437 -487zM732 446c0 171 -120 214 -207 214c-94 0 -183 -47 -241 -127
+c-53 -73 -84 -170 -84 -262c0 -170 122 -213 204 -213c277 0 328 310 328 388z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="778" 
+d="M495 904c37 0 106 -32 136 -32c20 0 30 8 48 37h53c-21 -65 -63 -107 -108 -107c-48 0 -104 32 -130 32c-28 0 -36 -14 -50 -33h-53c15 45 40 103 104 103zM391 -23c-124 0 -287 57 -287 286c0 127 53 259 142 351c81 85 178 127 291 127c233 0 291 -159 291 -277
+c0 -107 -68 -487 -437 -487zM732 446c0 171 -120 214 -207 214c-94 0 -183 -47 -241 -127c-53 -73 -84 -170 -84 -262c0 -170 122 -213 204 -213c277 0 328 310 328 388z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="778" 
+d="M543 904l-22 -103h-104l22 103h104zM704 904l-22 -103h-104l22 103h104zM391 -23c-124 0 -287 57 -287 286c0 127 53 259 142 351c81 85 178 127 291 127c233 0 291 -159 291 -277c0 -107 -68 -487 -437 -487zM732 446c0 171 -120 214 -207 214c-94 0 -183 -47 -241 -127
+c-53 -73 -84 -170 -84 -262c0 -170 122 -213 204 -213c277 0 328 310 328 388z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="584" 
+d="M529 427l39 -50l-178 -146l117 -147l-61 -50l-116 147l-178 -146l-39 49l178 147l-115 146l60 49l115 -145z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="778" 
+d="M812 463c0 -100 -71 -486 -434 -486c-93 0 -169 28 -220 80l-91 -81l-35 39l94 85c-24 41 -38 105 -38 168c0 122 54 254 141 346c80 84 178 127 290 127c97 0 182 -32 226 -84l87 78l35 -39l-92 -83c25 -43 37 -94 37 -150zM202 168l470 424c-36 43 -97 68 -164 68
+c-181 0 -324 -174 -324 -395c0 -40 5 -67 18 -97zM700 546l-470 -423c34 -40 95 -65 161 -65c93 0 183 48 241 127c52 71 84 170 84 258c0 42 -6 78 -16 103z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="722" 
+d="M541.292 939l40.542 -148h-53l-93.542 148h106zM363 -23c-147 0 -239 76 -239 178c0 15 7 63 14 96l102 478h94l-109 -512c-3 -16 -5 -30 -5 -44c0 -69 65 -115 161 -115c113 0 195 60 216 159l109 512h94l-109 -512c-31 -146 -160 -240 -328 -240z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="722" 
+d="M615.292 939h112l-211.458 -148h-60zM363 -23c-147 0 -239 76 -239 178c0 15 7 63 14 96l102 478h94l-109 -512c-3 -16 -5 -30 -5 -44c0 -69 65 -115 161 -115c113 0 195 60 216 159l109 512h94l-109 -512c-31 -146 -160 -240 -328 -240z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="722" 
+d="M517 940h95l64 -150h-63l-56 99l-104 -99h-64zM363 -23c-147 0 -239 76 -239 178c0 15 7 63 14 96l102 478h94l-109 -512c-3 -16 -5 -30 -5 -44c0 -69 65 -115 161 -115c113 0 195 60 216 159l109 512h94l-109 -512c-31 -146 -160 -240 -328 -240z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="722" 
+d="M529 904l-22 -103h-104l22 103h104zM690 904l-22 -103h-104l22 103h104zM363 -23c-147 0 -239 76 -239 178c0 15 7 63 14 96l102 478h94l-109 -512c-3 -16 -5 -30 -5 -44c0 -69 65 -115 161 -115c113 0 195 60 216 159l109 512h94l-109 -512
+c-31 -146 -160 -240 -328 -240z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" horiz-adv-x="667" 
+d="M587.292 939h112l-211.458 -148h-60zM448 286l-61 -286h-94l61 286l-186 443h112l136 -357l289 357h111z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="667" 
+d="M708 450c0 -136 -100 -259 -254 -259h-228l-41 -191h-94l155 729h94l-25 -118h208c122 0 185 -55 185 -161zM437 273c110 0 175 73 175 159c0 63 -42 97 -120 97h-195l-54 -256h194z" />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="611" 
+d="M312 64c165 0 206 116 206 190s-57 100 -145 100h-16l16 73c146 0 182 83 182 137c0 52 -43 88 -131 88c-113 0 -154 -57 -172 -142l-109 -510h-88l113 532c25 115 123 197 273 197c130 0 205 -56 205 -144c0 -112 -89 -168 -118 -185c58 -17 84 -79 84 -133
+c0 -12 -1 -23 -3 -33c-38 -177 -162 -249 -305 -249c-29 0 -38 4 -51 7l15 75c15 -2 30 -3 44 -3z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" 
+d="M413.292 739l40.542 -148h-53l-93.542 148h106zM372 462c-111 0 -131 -74 -137 -93h-84c19 111 104 170 243 170c105 0 174 -45 174 -113c0 -10 0 -10 -6 -37l-64 -301c-1 -3 -1 -6 -1 -10c0 -20 12 -29 38 -29c4 0 8 0 17 2l-13 -65c-23 -4 -30 -9 -53 -9
+c-48 0 -76 25 -76 66v11c-26 -22 -80 -77 -201 -77c-90 0 -144 48 -144 128c0 58 30 111 82 144c136 86 304 10 326 112l3 18c1 8 2 15 2 19c0 37 -46 64 -106 64zM451 258c-105 -36 -298 -14 -298 -143c0 -42 32 -66 89 -66c88 0 176 53 189 115z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" 
+d="M486.292 740h112l-211.458 -148h-60zM372 462c-111 0 -131 -74 -137 -93h-84c19 111 104 170 243 170c105 0 174 -45 174 -113c0 -10 0 -10 -6 -37l-64 -301c-1 -3 -1 -6 -1 -10c0 -20 12 -29 38 -29c4 0 8 0 17 2l-13 -65c-23 -4 -30 -9 -53 -9c-48 0 -76 25 -76 66v11
+c-26 -22 -80 -77 -201 -77c-90 0 -144 48 -144 128c0 58 30 111 82 144c136 86 304 10 326 112l3 18c1 8 2 15 2 19c0 37 -46 64 -106 64zM451 258c-105 -36 -298 -14 -298 -143c0 -42 32 -66 89 -66c88 0 176 53 189 115z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" 
+d="M391 742h95l64 -150h-63l-56 99l-104 -99h-64zM372 462c-111 0 -131 -74 -137 -93h-84c19 111 104 170 243 170c105 0 174 -45 174 -113c0 -10 0 -10 -6 -37l-64 -301c-1 -3 -1 -6 -1 -10c0 -20 12 -29 38 -29c4 0 8 0 17 2l-13 -65c-23 -4 -30 -9 -53 -9
+c-48 0 -76 25 -76 66v11c-26 -22 -80 -77 -201 -77c-90 0 -144 48 -144 128c0 58 30 111 82 144c136 86 304 10 326 112l3 18c1 8 2 15 2 19c0 37 -46 64 -106 64zM451 258c-105 -36 -298 -14 -298 -143c0 -42 32 -66 89 -66c88 0 176 53 189 115z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" 
+d="M352 702c37 0 106 -32 136 -32c20 0 30 8 48 37h53c-21 -65 -63 -107 -108 -107c-48 0 -104 32 -130 32c-28 0 -36 -14 -50 -33h-53c15 45 40 103 104 103zM372 462c-111 0 -131 -74 -137 -93h-84c19 111 104 170 243 170c105 0 174 -45 174 -113c0 -10 0 -10 -6 -37
+l-64 -301c-1 -3 -1 -6 -1 -10c0 -20 12 -29 38 -29c4 0 8 0 17 2l-13 -65c-23 -4 -30 -9 -53 -9c-48 0 -76 25 -76 66v11c-26 -22 -80 -77 -201 -77c-90 0 -144 48 -144 128c0 58 30 111 82 144c136 86 304 10 326 112l3 18c1 8 2 15 2 19c0 37 -46 64 -106 64zM451 258
+c-105 -36 -298 -14 -298 -143c0 -42 32 -66 89 -66c88 0 176 53 189 115z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" 
+d="M400 702l-22 -103h-104l22 103h104zM561 702l-22 -103h-104l22 103h104zM372 462c-111 0 -131 -74 -137 -93h-84c19 111 104 170 243 170c105 0 174 -45 174 -113c0 -10 0 -10 -6 -37l-64 -301c-1 -3 -1 -6 -1 -10c0 -20 12 -29 38 -29c4 0 8 0 17 2l-13 -65
+c-23 -4 -30 -9 -53 -9c-48 0 -76 25 -76 66v11c-26 -22 -80 -77 -201 -77c-90 0 -144 48 -144 128c0 58 30 111 82 144c136 86 304 10 326 112l3 18c1 8 2 15 2 19c0 37 -46 64 -106 64zM451 258c-105 -36 -298 -14 -298 -143c0 -42 32 -66 89 -66c88 0 176 53 189 115z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" 
+d="M444 754c41 0 72 -29 72 -67c0 -56 -52 -108 -109 -108c-40 0 -71 31 -71 70c0 53 54 105 108 105zM437 710c-28 0 -55 -26 -55 -52c0 -21 15 -35 35 -35c27 0 54 26 54 52c0 20 -15 35 -34 35zM372 462c-111 0 -131 -74 -137 -93h-84c19 111 104 170 243 170
+c105 0 174 -45 174 -113c0 -10 0 -10 -6 -37l-64 -301c-1 -3 -1 -6 -1 -10c0 -20 12 -29 38 -29c4 0 8 0 17 2l-13 -65c-23 -4 -30 -9 -53 -9c-48 0 -76 25 -76 66v11c-26 -22 -80 -77 -201 -77c-90 0 -144 48 -144 128c0 58 30 111 82 144c136 86 304 10 326 112l3 18
+c1 8 2 15 2 19c0 37 -46 64 -106 64zM451 258c-105 -36 -298 -14 -298 -143c0 -42 32 -66 89 -66c88 0 176 53 189 115z" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="889" 
+d="M507 163c0 -23 19 -109 125 -109c66 0 119 36 155 105h84c-32 -109 -134 -182 -255 -182c-80 0 -135 32 -174 102c-67 -65 -154 -102 -241 -102s-142 50 -142 128c0 58 31 112 82 144c144 86 297 6 322 112l5 25c1 7 2 13 2 19c0 35 -40 57 -104 57
+c-79 0 -120 -27 -141 -93h-84c14 50 37 170 246 170c96 0 149 -41 159 -65c45 40 114 65 182 65c102 0 187 -77 187 -169c0 -28 -5 -71 -14 -119l-3 -17h-386c-4 -18 -5 -30 -5 -53v-18zM441 257c-99 -35 -294 -14 -294 -142c0 -43 32 -66 90 -66c84 0 171 55 184 115z
+M530 306h294c2 15 3 22 3 33c0 75 -44 123 -115 123c-83 0 -151 -58 -182 -156z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="500" 
+d="M366 462c-170 0 -202 -224 -202 -281c0 -78 44 -127 113 -127c72 0 127 44 157 126h84c-32 -129 -118 -199 -247 -203l-18 -33c13 2 17 2 21 2c37 0 67 -23 67 -51c0 -63 -61 -109 -145 -109c-38 0 -67 8 -118 34l28 38c41 -21 66 -29 94 -29c37 0 63 23 63 55
+c0 12 -15 22 -31 22c-5 0 -21 -3 -27 -4l-13 6l38 70c-119 23 -154 119 -154 192c0 208 121 369 305 369c147 0 173 -114 173 -146c0 -3 -1 -14 -2 -30l-1 -15h-84c1 9 1 16 1 22c0 57 -39 92 -102 92z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" 
+d="M408.292 740l40.542 -148h-53l-93.542 148h106zM84 173c0 73 46 366 305 366c108 0 191 -75 191 -171c0 -27 -5 -69 -14 -117l-3 -17h-386c-4 -15 -5 -25 -5 -46c0 -85 45 -134 124 -134c67 0 120 36 156 105h84c-31 -108 -134 -182 -254 -182c-122 0 -198 89 -198 196z
+M195 306h294c2 16 3 23 3 33c0 75 -45 123 -116 123c-81 0 -155 -64 -181 -156z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" 
+d="M491.292 740h112l-211.458 -148h-60zM84 173c0 73 46 366 305 366c108 0 191 -75 191 -171c0 -27 -5 -69 -14 -117l-3 -17h-386c-4 -15 -5 -25 -5 -46c0 -85 45 -134 124 -134c67 0 120 36 156 105h84c-31 -108 -134 -182 -254 -182c-122 0 -198 89 -198 196zM195 306
+h294c2 16 3 23 3 33c0 75 -45 123 -116 123c-81 0 -155 -64 -181 -156z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" 
+d="M388 742h95l64 -150h-63l-56 99l-104 -99h-64zM84 173c0 73 46 366 305 366c108 0 191 -75 191 -171c0 -27 -5 -69 -14 -117l-3 -17h-386c-4 -15 -5 -25 -5 -46c0 -85 45 -134 124 -134c67 0 120 36 156 105h84c-31 -108 -134 -182 -254 -182c-122 0 -198 89 -198 196z
+M195 306h294c2 16 3 23 3 33c0 75 -45 123 -116 123c-81 0 -155 -64 -181 -156z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" 
+d="M395 702l-22 -103h-104l22 103h104zM556 702l-22 -103h-104l22 103h104zM84 173c0 73 46 366 305 366c108 0 191 -75 191 -171c0 -27 -5 -69 -14 -117l-3 -17h-386c-4 -15 -5 -25 -5 -46c0 -85 45 -134 124 -134c67 0 120 36 156 105h84c-31 -108 -134 -182 -254 -182
+c-122 0 -198 89 -198 196zM195 306h294c2 16 3 23 3 33c0 75 -45 123 -116 123c-81 0 -155 -64 -181 -156z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="278" 
+d="M275.292 740l40.542 -148h-53l-93.542 148h106zM289 524l-111 -524h-84l111 524h84z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="278" 
+d="M352.292 739h112l-211.458 -148h-60zM289 524l-111 -524h-84l111 524h84z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="278" 
+d="M248 742h95l64 -150h-63l-56 99l-104 -99h-64zM289 524l-111 -524h-84l111 524h84z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="278" 
+d="M257 702l-22 -103h-104l22 103h104zM418 702l-22 -103h-104l22 103h104zM289 524l-111 -524h-84l111 524h84z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" 
+d="M80 164c0 79 43 370 289 370c26 0 38 -3 66 -17c-32 42 -48 59 -84 92l-100 -45l-32 39l89 41c-39 34 -36 25 -75 54l42 45l22 -14c28 -16 59 -38 72 -48c1 0 4 -2 8 -5l99 43l39 -38l-95 -41c105 -90 156 -186 156 -293c0 -79 -45 -370 -303 -370
+c-116 0 -193 75 -193 187zM283 54c174 0 205 220 205 279c0 81 -43 129 -117 129c-171 0 -203 -222 -203 -278c0 -80 44 -130 115 -130z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" 
+d="M352 702c37 0 106 -32 136 -32c20 0 30 8 48 37h53c-21 -65 -63 -107 -108 -107c-48 0 -104 32 -130 32c-28 0 -36 -14 -50 -33h-53c15 45 40 103 104 103zM181 524h76l-13 -65c52 53 118 80 194 80c83 0 136 -49 136 -125c0 -13 -1 -25 -4 -38l-80 -376h-84l74 349
+c4 16 6 31 6 37c0 46 -37 81 -87 81c-90 0 -161 -68 -184 -178l-61 -289h-84z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" 
+d="M413.292 740l40.542 -148h-53l-93.542 148h106zM384 539c117 0 192 -77 192 -187c0 -87 -33 -196 -79 -259c-56 -77 -132 -116 -228 -116c-112 0 -189 76 -189 187c0 85 33 195 78 259c51 74 133 116 226 116zM283 54c174 0 205 220 205 279c0 81 -43 129 -117 129
+c-171 0 -203 -222 -203 -278c0 -80 44 -130 115 -130z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" 
+d="M486.292 740h112l-211.458 -148h-60zM384 539c117 0 192 -77 192 -187c0 -87 -33 -196 -79 -259c-56 -77 -132 -116 -228 -116c-112 0 -189 76 -189 187c0 85 33 195 78 259c51 74 133 116 226 116zM283 54c174 0 205 220 205 279c0 81 -43 129 -117 129
+c-171 0 -203 -222 -203 -278c0 -80 44 -130 115 -130z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" 
+d="M383 742h95l64 -150h-63l-56 99l-104 -99h-64zM384 539c117 0 192 -77 192 -187c0 -87 -33 -196 -79 -259c-56 -77 -132 -116 -228 -116c-112 0 -189 76 -189 187c0 85 33 195 78 259c51 74 133 116 226 116zM283 54c174 0 205 220 205 279c0 81 -43 129 -117 129
+c-171 0 -203 -222 -203 -278c0 -80 44 -130 115 -130z" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" 
+d="M342 702c37 0 106 -32 136 -32c20 0 30 8 48 37h53c-21 -65 -63 -107 -108 -107c-48 0 -104 32 -130 32c-28 0 -36 -14 -50 -33h-53c15 45 40 103 104 103zM384 539c117 0 192 -77 192 -187c0 -87 -33 -196 -79 -259c-56 -77 -132 -116 -228 -116
+c-112 0 -189 76 -189 187c0 85 33 195 78 259c51 74 133 116 226 116zM283 54c174 0 205 220 205 279c0 81 -43 129 -117 129c-171 0 -203 -222 -203 -278c0 -80 44 -130 115 -130z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" 
+d="M390 702l-22 -103h-104l22 103h104zM551 702l-22 -103h-104l22 103h104zM384 539c117 0 192 -77 192 -187c0 -87 -33 -196 -79 -259c-56 -77 -132 -116 -228 -116c-112 0 -189 76 -189 187c0 85 33 195 78 259c51 74 133 116 226 116zM283 54c174 0 205 220 205 279
+c0 81 -43 129 -117 129c-171 0 -203 -222 -203 -278c0 -80 44 -130 115 -130z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="584" 
+d="M591 269l-15 -72h-484l15 72h484zM305 104c29 0 52 -23 52 -53c0 -27 -24 -51 -52 -51s-52 24 -52 52s24 52 52 52zM379 462c29 0 52 -23 52 -53c0 -27 -24 -51 -52 -51s-52 24 -52 52c0 29 23 52 52 52z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="611" 
+d="M577 354c0 -194 -116 -377 -303 -377c-68 0 -121 22 -151 64l-78 -71l-26 28l83 76c-15 32 -21 59 -21 90c0 84 33 195 78 259c52 75 132 116 224 116c71 0 121 -22 154 -67l76 69l26 -30l-81 -74c13 -29 19 -54 19 -83zM369 462c-169 0 -200 -222 -200 -282
+c0 -17 1 -24 6 -39l295 269c-19 34 -55 52 -101 52zM289 54c160 0 200 209 200 274c0 11 -1 22 -5 42l-294 -268c19 -31 55 -48 99 -48z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" 
+d="M407.292 739l40.542 -148h-53l-93.542 148h106zM483 0h-76l12 57c-58 -56 -115 -80 -193 -80c-86 0 -138 41 -138 109c0 13 1 24 3 34l86 404h84l-79 -371c-2 -10 -3 -19 -3 -27c0 -47 35 -77 89 -77c85 0 156 70 179 178l63 297h84z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" 
+d="M491.292 739h112l-211.458 -148h-60zM483 0h-76l12 57c-58 -56 -115 -80 -193 -80c-86 0 -138 41 -138 109c0 13 1 24 3 34l86 404h84l-79 -371c-2 -10 -3 -19 -3 -27c0 -47 35 -77 89 -77c85 0 156 70 179 178l63 297h84z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" 
+d="M386 749h95l64 -150h-63l-56 99l-104 -99h-64zM483 0h-76l12 57c-58 -56 -115 -80 -193 -80c-86 0 -138 41 -138 109c0 13 1 24 3 34l86 404h84l-79 -371c-2 -10 -3 -19 -3 -27c0 -47 35 -77 89 -77c85 0 156 70 179 178l63 297h84z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" 
+d="M395 702l-22 -103h-104l22 103h104zM556 702l-22 -103h-104l22 103h104zM483 0h-76l12 57c-58 -56 -115 -80 -193 -80c-86 0 -138 41 -138 109c0 13 1 24 3 34l86 404h84l-79 -371c-2 -10 -3 -19 -3 -27c0 -47 35 -77 89 -77c85 0 156 70 179 178l63 297h84z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" horiz-adv-x="500" 
+d="M466.292 739h112l-211.458 -148h-60zM501 524h89l-368 -634c-43 -74 -94 -108 -165 -108c-19 0 -31 2 -49 10l16 75c27 -3 34 -4 44 -4c37 0 53 10 80 52l52 81l-68 528h90l46 -407z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" 
+d="M586 344c0 -205 -125 -367 -292 -367c-71 0 -112 26 -143 91l-60 -281h-84l200 942h84l-61 -289c30 58 106 99 182 99c107 0 174 -75 174 -195zM302 54c164 0 196 216 196 270c0 86 -44 138 -119 138c-157 0 -196 -212 -196 -278c0 -80 46 -130 119 -130z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="500" 
+d="M371 702l-22 -103h-104l22 103h104zM532 702l-22 -103h-104l22 103h104zM501 524h89l-368 -634c-43 -74 -94 -108 -165 -108c-19 0 -31 2 -49 10l16 75c27 -3 34 -4 44 -4c37 0 53 10 80 52l52 81l-68 528h90l46 -407z" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="10" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve,Aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="B,uni1E02"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="j"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="x"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="B,uni1E02"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="B,uni1E02"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="B,uni1E02"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="j"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="x"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="30" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="C,D,G,Ccedilla,Eth,Thorn,Cacute,Ccircumflex,Cdotaccent,Ccaron,Dcaron,Dcroat,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,uni01B7,uni1E0A"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="J"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="j"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="x"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,Emacron,Eogonek,Ecaron,OE,uni1EBC"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="45" />
+    <hkern g1="F,uni1E1E"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="F,uni1E1E"
+	g2="J"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="j"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="x"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="50" />
+    <hkern g1="F,uni1E1E"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="F,uni1E1E"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="J"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="J"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="J"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="J"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="J"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="J"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="J"
+	g2="j"
+	k="20" />
+    <hkern g1="J"
+	g2="x"
+	k="50" />
+    <hkern g1="J"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="J"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="J"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="J"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="J"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="J"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="J"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="j"
+	k="10" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="J"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="x"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="O,Q,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Omacron,Obreve,Ohungarumlaut"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="R,Rcaron"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="R,Rcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="R,Rcaron"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="R,Rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="j"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="x"
+	k="40" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="25" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="50" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="J"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="x"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,AE,Amacron,Abreve,Aogonek"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="J"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="x"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="r,rcaron"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="p,uni1E57"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,eth,ograve,oacute,ocircumflex,otilde,odieresis,oslash,ccircumflex,ccaron,dcaron,emacron,ebreve,eogonek,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni1E41"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB03,uniFB04"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="50" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="r,rcaron"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="x"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve,aogonek"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="x"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="b,c,e,o,p,ae,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,cacute,ccircumflex,cdotaccent,ccaron,emacron,ebreve,edotaccent,eogonek,ecaron,omacron,obreve,ohungarumlaut,oe,uni1E57"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="f,uniFB00"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="x"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="f,uniFB00"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="f,uniFB00"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="j"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="x"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="40" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="r,rcaron"
+	k="25" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="p,uni1E57"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="j"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="x"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="25" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="r,rcaron"
+	g2="x"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="r,rcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="5" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="j"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="x"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="r,rcaron"
+	k="20" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="p,uni1E57"
+	k="10" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="x"
+	k="20" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="10" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="15" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="r,rcaron"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,aogonek,gbreve,gdotaccent,gcommaaccent"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="j"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="x"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="m,n,z,ntilde,nacute,ncommaaccent,ncaron,zacute,zdotaccent,zcaron,uni0292"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="f,t,uni0163,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="10" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="r,rcaron"
+	k="30" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="p,uni1E57"
+	k="20" />
+    <hkern g1="z,zacute,zdotaccent,zcaron"
+	g2="u,ugrave,uacute,ucircumflex,udieresis,utilde,umacron,ubreve,uring,uhungarumlaut"
+	k="35" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring,Amacron,Abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="B,uni1E02"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="B,uni1E02"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="B,uni1E02"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="C,D,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="F,uni1E1E"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="F,uni1E1E"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="F,uni1E1E"
+	g2="guillemotright,guilsinglright"
+	k="50" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="L,Lacute,Lcommaaccent,Lcaron,Lslash"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="comma,period"
+	k="100" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="80" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="P,uni01F7,uni1E56"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="30" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="70" />
+    <hkern g1="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="T,uni0162,uni1E6A,uni1E6C"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	g2="guillemotright,guilsinglright"
+	k="80" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="30" />
+    <hkern g1="K,X,Z,Kcommaaccent,Zacute,Zdotaccent,Zcaron"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring,amacron,abreve"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="comma,period"
+	k="20" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="b,c,e,o,p,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,emacron,ebreve,omacron,obreve,ohungarumlaut,uni1E03,uni1E57"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="f,uni1E1F,uniFB00"
+	g2="guillemotright,guilsinglright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="20" />
+    <hkern g1="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="comma,period"
+	k="30" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="h,m,n,ntilde,nacute,ncommaaccent,ncaron,uni1E23,uni1E41"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="g,u,ugrave,uacute,ucircumflex,udieresis,gbreve,gdotaccent,gcommaaccent,umacron,ubreve,uhungarumlaut"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="60" />
+    <hkern g1="k,x,kcommaaccent"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="comma,period"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="60" />
+    <hkern g1="r,rcaron"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="40" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="80" />
+    <hkern g1="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	g2="guillemotright,guilsinglright"
+	k="30" />
+    <hkern g1="t,uni0163,uni1E6B,uni1E6D"
+	g2="guillemotright,guilsinglright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="comma,period"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="hyphen,guillemotleft,guilsinglleft"
+	k="70" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="quoteright,quotedblleft,quotedblright"
+	k="40" />
+    <hkern g1="z,zacute,zdotaccent,zcaron,uni0292"
+	g2="guillemotright,guilsinglright"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="90" />
+    <hkern g1="quoteright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="10" />
+    <hkern g1="quoteright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="50" />
+    <hkern g1="quoteright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="20" />
+    <hkern g1="quoteright"
+	g2="x"
+	k="40" />
+    <hkern g1="quoteright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="60" />
+    <hkern g1="quoteright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="J"
+	k="20" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="j"
+	k="30" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="x"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="40" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="50" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="60" />
+    <hkern g1="hyphen,guillemotright,guilsinglright"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="60" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="j"
+	k="10" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="x"
+	k="40" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="20" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="50" />
+    <hkern g1="guillemotleft,guilsinglleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,AE,Amacron"
+	k="60" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="40" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="J"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quoteleft,quotedblleft"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="V,W,Y,Yacute,Ycircumflex,Ydieresis,Ygrave"
+	k="50" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,Cacute,Ccircumflex,Cdotaccent,Ccaron,Gcircumflex,Gbreve,Gdotaccent,Gcommaaccent,Omacron,Obreve,Ohungarumlaut,OE"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,ccircumflex,ccaron,dcaron,emacron,ebreve,omacron,obreve,ohungarumlaut,oe"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="a,g,agrave,aacute,acircumflex,atilde,adieresis,aring,ae,amacron,abreve,gbreve,gdotaccent,gcommaaccent"
+	k="10" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="v,w,y,yacute,ydieresis,ycircumflex,ygrave"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="T,uni0162,Tcaron,uni1E6A,uni1E6C"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="x"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="m,n,p,r,u,z,ntilde,ugrave,uacute,ucircumflex,udieresis,nacute,ncommaaccent,ncaron,rcaron,utilde,umacron,ubreve,uhungarumlaut,zacute,zdotaccent,zcaron,uni0292,uni1E41,uni1E57"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="s,sacute,scedilla,scaron,uni1E61,uni1E63"
+	k="20" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="f,t,uni0163,uni1E1F,uni1E6B,uni1E6D,uniFB00,uniFB01,uniFB02,uniFB03,uniFB04"
+	k="40" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="X,Z,Zacute,Zdotaccent,Zcaron"
+	k="30" />
+    <hkern g1="quotesinglbase,quotedblbase"
+	g2="S,Sacute,Scedilla,Scaron,uni1E60,uni1E62"
+	k="40" />
+    <hkern g1="uni0433,uni0442"
+	g2="uni0434"
+	k="40" />
+    <hkern g1="uni0443,uni045E"
+	g2="uni0434"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="20" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0403,uni0413,uni0422"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="30" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni0410"
+	k="40" />
+    <hkern g1="uni040E,uni0423"
+	g2="uni042F"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni0420"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="10" />
+    <hkern g1="uni0420"
+	g2="uni0410"
+	k="30" />
+    <hkern g1="uni0420"
+	g2="uni042F"
+	k="10" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni0404,uni0417,uni041E,uni0421,uni0424,uni042A,uni042C,uni042D,uni042E"
+	g2="uni042F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0430,uni0432,uni0433,uni0434,uni0435,uni0436,uni0437,uni0438,uni0439,uni043A,uni043B,uni043C,uni043D,uni043E,uni043F,uni0440,uni0441,uni0442,uni0443,uni0444,uni0445,uni0446,uni0447,uni0448,uni0449,uni044A,uni044B,uni044C,uni044D,uni044E,uni044F,uni0450,uni0451,uni0452,uni0453,uni0454,uni0455,uni0456,uni0457,uni0458,uni0459,uni045A,uni045B,uni045C,uni045D,uni045E,uni045F"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0404,uni0417,uni041E,uni0421,uni0424,uni042D"
+	k="40" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni0422"
+	k="20" />
+    <hkern g1="uni040C,uni041A"
+	g2="uni042F"
+	k="20" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/ScheherazadeRegOT.ttf b/Tests/W3CTestSuite/resources/ScheherazadeRegOT.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..970f7f18e530306d88ed3febeb0c1efaa8525c89
Binary files /dev/null and b/Tests/W3CTestSuite/resources/ScheherazadeRegOT.ttf differ
diff --git a/Tests/W3CTestSuite/resources/ZCB.svg b/Tests/W3CTestSuite/resources/ZCB.svg
new file mode 100644
index 0000000000000000000000000000000000000000..67b0b7beea49bcb5183a3dba5eb53f2aeb72653c
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/ZCB.svg
@@ -0,0 +1,602 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100212 at Mon Apr 12 12:57:56 2010
+ By Chris Lilley,,,
+Copyright (c) Tim Ahrens, 2003. All rights reserved.
+Converted to SVG and subsetted with permission.
+</metadata>
+<defs>
+<font id="ZCB" horiz-adv-x="454" >
+  <font-face 
+    font-family="ZC"
+    font-weight="700"
+    font-variant="small-caps"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="0 0 8 0 0 0 0 0 0 0"
+    ascent="698"
+    descent="-302"
+    x-height="690"
+    cap-height="690"
+    bbox="-55 -189 732 813"
+    underline-thickness="150"
+    underline-position="-150"
+    stemh="468"
+    stemv="547"
+    unicode-range="U+0-7F"
+  />
+    <missing-glyph horiz-adv-x="500" 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="170" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="277" 
+d="M56 702l187 11l-7 -236l1 -235l-175 -11l1 234zM260 14l-175 -32l-30 181l174 32z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="412" 
+d="M181 425h-135l-5 265h145zM366 425h-135l-5 265h145z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M8 292h49l8 105h-45v135h54l12 158h147l-11 -158h34l11 158h148l-12 -158h43v-135h-52l-8 -105h46v-135h-56l-11 -157h-148l12 157h-34l-11 -157h-148l12 157h-40v135zM213 397l-8 -105h33l8 105h-33z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M330 765l-2 -120l72 2l1 -204l-152 -1l-2 71c-31 -8 -57 -29 -57 -46c0 -60 246 -65 246 -226c0 -64 -40 -110 -108 -156l2 -140h-191l2 89l-89 -3l-12 215l158 4l9 -82c36 16 65 33 65 50c0 61 -245 61 -245 229c0 70 45 119 115 160l-3 158h191z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="741" 
+d="M222 299l-146 -5c-42 58 -69 127 -69 198c0 75 31 143 101 196l145 5c42 -58 69 -127 69 -198c0 -75 -30 -143 -100 -196zM160 390c25 30 37 62 37 97c0 32 -11 68 -27 110c-25 -31 -37 -63 -37 -97c0 -32 10 -68 27 -110zM632 2l-146 -4c-42 57 -69 126 -69 197
+c0 75 31 143 100 196l146 5c42 -58 69 -127 69 -197c0 -76 -30 -144 -100 -197zM570 94c25 29 37 62 37 96c0 33 -11 68 -27 110c-26 -30 -38 -62 -38 -97c0 -32 11 -67 28 -109zM689 653l-279 -342l-240 -352l-118 78l278 341l241 353z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="643" 
+d="M458 472l128 -100l-147 -193l44 -56l10 104l135 -19l-33 -203l-177 -14l-65 74l-46 -61l-219 -12c-56 70 -77 129 -77 180c0 76 48 134 104 184c-39 58 -58 105 -58 152c0 58 27 111 86 178l215 11c62 -56 85 -106 85 -151c0 -77 -66 -140 -130 -198l31 -44zM192 182
+c0 -20 7 -41 24 -66l41 61c-17 20 -34 39 -49 58c-10 -18 -16 -35 -16 -53zM224 527c0 -17 5 -36 16 -61c19 22 31 43 31 65c0 18 -7 36 -23 56c-16 -20 -24 -38 -24 -60z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="290" 
+d="M304 -38l-156 -78c-85 160 -126 314 -126 464c0 155 45 307 132 458l150 -78c-65 -120 -97 -252 -97 -383s32 -263 97 -383z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="290" 
+d="M-14 728l156 78c84 -160 126 -314 126 -464c0 -155 -45 -306 -132 -458l-150 78c64 120 97 252 97 383s-32 262 -97 383z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="376" 
+d="M340 432l-107 -64l-45 112l-45 -112l-107 64l78 105l-108 29l50 120l86 -56l-18 135h128l-18 -135l86 56l50 -120l-108 -29z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="372" 
+d="M358 254l-93 5l5 -148h-168l6 148l-93 -5v182l93 -5l-6 148h168l-5 -148l93 5v-182z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="236" 
+d="M44 152l156 4l-21 -271l-138 -1z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="237" 
+d="M119 269l-108 -5v162l108 -5l108 5v-162z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="254" 
+d="M228 21l-171 -39l-31 177l172 39z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="281" 
+d="M283 773l-68 -438l-45 -436l-171 18l63 432l49 441z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="451" 
+d="M285 3l-175 -7c-64 107 -106 229 -106 350c0 132 49 250 162 342l174 8c65 -108 107 -230 107 -350c0 -133 -50 -250 -162 -343zM239 565c-46 -49 -73 -103 -81 -164l123 38c-10 41 -25 83 -42 126zM211 127c43 46 70 98 80 155l-122 -29c10 -41 25 -83 42 -126z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="369" 
+d="M94 688l180 6l-2 -396v-140l97 -3v-155h-369v155l96 3v140z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M45 440l5 242l219 16c109 -74 150 -145 150 -217c0 -121 -121 -233 -243 -351l103 8l4 92l154 4l-3 -234h-417l-6 166c169 170 232 233 232 296c0 30 -15 55 -46 85l-3 -107h-149z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M412 524l-83 -120c76 -52 105 -106 105 -162c0 -97 -87 -188 -181 -240l-204 -5l-10 239l154 5l7 -109c35 20 63 50 63 87c0 39 -33 81 -128 140l123 190h-75l-4 -91l-150 2l3 220l377 19z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M288 665l-57 -178h155l-3 -218l73 2v-151l-71 3l3 -123h-162l3 122l-222 -2l-7 139l133 453zM228 477l-66 -211h69z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M397 482l-155 -1l-4 64h-52l-2 -84c185 -46 254 -128 254 -218c0 -89 -68 -174 -185 -241l-205 -5l-10 234l153 4l8 -103c42 25 67 57 67 91c0 51 -59 82 -225 120l6 339l349 16z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M281 671c-48 -91 -81 -186 -92 -282l82 75l131 12c26 -69 40 -151 40 -211c0 -118 -54 -202 -150 -262l-190 -7c-56 99 -80 209 -80 319c0 146 43 283 99 398zM270 324l-80 -73c6 -43 17 -84 34 -123c41 36 56 74 56 125c0 23 -4 48 -10 71z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M180 431l-153 2l4 247l402 20l5 -176l-194 -552l-175 50l199 515h-83z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M15 199c0 54 21 115 73 169c-39 33 -68 73 -68 127c0 68 48 131 133 191l177 11c58 -50 90 -106 90 -172c0 -48 -16 -103 -64 -162c49 -33 90 -77 90 -146c0 -84 -59 -158 -140 -213l-199 -12c-53 55 -92 133 -92 207zM269 192c0 33 -24 60 -57 86
+c-23 -28 -30 -58 -30 -79c0 -31 14 -63 39 -87c32 23 48 50 48 80zM179 506c0 -32 24 -54 58 -75c15 23 22 50 22 70c0 28 -12 58 -33 80c-31 -22 -47 -48 -47 -75z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M162 14c52 93 88 192 100 293l-78 -72l-133 -12c-24 62 -39 143 -39 202c0 119 58 204 153 263l192 4c51 -96 73 -201 73 -305c0 -151 -46 -291 -106 -409zM174 433c0 -24 4 -40 9 -60l79 73c-5 40 -15 79 -30 116c-43 -36 -58 -76 -58 -129z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="243" 
+d="M219 151l-165 -38l-29 170l165 38zM219 407l-165 -37l-29 170l165 37z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="254" 
+d="M227 313l-165 -37l-29 170l165 37zM58 152l156 4l-20 -271l-139 -1z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="372" 
+d="M255 107l-231 158v159l231 159l97 -134l-185 -104l185 -104z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="372" 
+d="M350 369l-164 5l-163 -5v158l163 -4l164 4v-158zM350 163l-164 5l-163 -5v158l163 -5l164 5v-158z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="372" 
+d="M117 583l231 -158v-159l-231 -159l-96 134l184 104l-184 104z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="365" 
+d="M52 555l22 184c212 -18 291 -107 291 -213c0 -131 -123 -157 -123 -228c0 -20 10 -56 19 -77l-166 -51c-21 46 -31 101 -31 141c0 130 115 152 115 195c0 23 -29 39 -127 49zM291 13l-170 -30l-26 153l170 30z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="649" 
+d="M592 186l43 -110c-75 -37 -176 -66 -269 -66c-176 0 -352 104 -352 342c0 222 154 328 323 328c188 0 301 -132 301 -275c0 -135 -101 -239 -238 -239c-125 0 -204 87 -204 184c0 81 53 150 151 150c61 0 105 -26 133 -94l-91 -56c-10 17 -21 26 -34 26
+c-17 0 -28 -15 -28 -34c0 -28 23 -51 66 -51c52 0 102 32 102 103c0 80 -65 147 -159 147c-105 0 -180 -82 -180 -189c0 -117 90 -219 234 -219c66 0 140 20 202 53z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="480" 
+d="M303 0l-14 119l-52 -3l-55 4l-17 -120h-169l123 687l253 8l112 -695h-181zM202 273l35 3l34 -3l-32 269z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="484" 
+d="M40 -2l4 359l-4 325l369 17c28 -53 48 -115 48 -169c0 -59 -23 -106 -61 -146c45 -48 73 -107 73 -172c0 -93 -58 -160 -192 -210zM286 225c0 25 -10 47 -27 68c-17 -9 -36 -17 -54 -24l1 -138c55 21 80 53 80 94zM206 549l-1 -143c43 22 74 47 74 88c0 19 -6 42 -10 55
+h-63z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="462" 
+d="M424 435l-162 -5l-2 113h-48c-12 -58 -19 -108 -19 -164c0 -92 16 -179 67 -232l7 137l162 4l-5 -279l-256 -16c-111 102 -148 223 -148 372c0 104 19 211 55 317l352 16z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="478" 
+d="M40 -2l2 348l-3 336l344 16c52 -119 74 -229 74 -331c0 -143 -44 -265 -165 -366zM205 356l2 -226c52 45 77 113 77 208c0 62 -11 131 -34 208h-45v-190z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="473" 
+d="M276 229l161 4v-233h-398l4 355l-4 325l398 19l-1 -209l-162 -5l-1 63h-66v-118l169 8v-157l-169 4v-146l68 4z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="466" 
+d="M221 0h-182l6 338l-5 342l406 19l-2 -236l-161 -5l-1 85h-62v-151l169 9v-174l-169 4z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="485" 
+d="M437 8l-230 -16c-136 90 -191 221 -191 378c0 98 22 207 59 312l360 16l-1 -222l-165 -2l-2 72h-58c-12 -52 -18 -111 -18 -165c0 -98 22 -196 91 -255l-1 136l-49 3v138h245v-139l-38 -2z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="520" 
+d="M220 690l-1 -253l41 3l41 -3l-1 253h182l-6 -342l6 -348h-182l1 264l-41 -4l-41 4l1 -264h-182l6 348l-6 342h182z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="258" 
+d="M38 690h182l-4 -335l4 -355h-182l4 355z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="467" 
+d="M36 266l162 4l4 -122c47 54 61 111 61 207c0 57 -4 133 -9 188h-52l-3 -107l-161 -2l-3 246l387 18c10 -110 17 -231 17 -310c0 -170 -23 -290 -181 -385l-217 -6z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="498" 
+d="M38 690h182l-1 -272c64 72 75 156 75 270l180 4c0 -132 -5 -239 -91 -343l125 -349h-197l-65 230l-27 -18l1 -212h-182l6 350z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="456" 
+d="M285 257l163 1l-2 -258h-406l4 272l-5 418h182l-3 -544l63 6z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="715" 
+d="M453 28l-197 -4l-37 267l-34 239l7 -530h-157l12 687l253 6l32 -260l28 -241l27 242l33 253l248 5l12 -692h-162l6 530l-33 -235z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="535" 
+d="M188 0h-153l7 688l216 5l94 -488l-10 485h154l-8 -689l-216 -4l-95 491z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="474" 
+d="M346 2l-219 -3c-73 92 -113 235 -113 351c0 117 41 244 114 339l219 4c73 -94 113 -236 113 -352c0 -118 -42 -244 -114 -339zM232 548c-26 -64 -38 -134 -38 -198c0 -77 16 -143 48 -207c25 63 38 132 38 199c0 76 -16 143 -48 206z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="464" 
+d="M213 547l-1 -218c51 26 72 71 72 132c0 26 -4 53 -11 86h-60zM221 0h-182l4 348l-4 334l377 16c24 -84 37 -157 37 -220c0 -144 -67 -244 -235 -314z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="471" 
+d="M458 347c0 -93 -21 -180 -70 -256l103 -140l-143 -103l-104 153l-133 -5c-61 105 -99 226 -99 348c0 132 44 250 144 344l203 8c62 -106 99 -226 99 -349zM228 149c37 54 52 116 52 182c0 69 -15 137 -37 211c-37 -54 -52 -116 -52 -183c0 -68 16 -137 37 -210z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="469" 
+d="M212 0h-173l4 349l-4 333l375 16c17 -57 30 -123 30 -183c0 -76 -20 -136 -74 -187l108 -328h-190l-60 240l-17 -7zM208 551l-2 -154c53 23 72 56 72 97c0 19 -4 43 -9 57h-61z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="402" 
+d="M22 234l156 5l8 -102c31 22 54 46 54 72c0 76 -231 80 -231 264c0 103 72 168 177 218l180 4l2 -223l-150 -2l-3 89c-24 -12 -45 -39 -45 -64c0 -78 231 -86 231 -263c0 -95 -67 -158 -174 -229l-194 -6z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="423" 
+d="M121 0l4 522l-124 -6v174h421v-174l-123 6l4 -522h-182z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="516" 
+d="M294 686l182 9c0 -12 -4 -212 -4 -313c0 -86 1 -156 22 -376l-178 -13l-10 115l-75 -103l-172 -12c-14 152 -16 255 -17 349l-3 344l184 9c0 -12 -3 -190 -3 -282c0 -78 1 -143 6 -212l69 83z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="471" 
+d="M184 690l53 -524l63 524h167l-116 -687l-242 -8l-105 695h180z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="694" 
+d="M526 690h159l-58 -690h-241l-24 262l-18 233l-18 -235l-24 -260h-236l-56 690h164l30 -538l18 228l25 270l206 4l25 -276l17 -226z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="489" 
+d="M494 690l-117 -341l120 -327l-177 -51l-77 271l-55 -242h-192l118 351l-119 317l177 51l75 -260l54 231h193z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="477" 
+d="M144 0l3 234l-160 434l179 51l76 -291l58 262h190l-166 -471l2 -219h-182z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="460" 
+d="M186 444l-150 2l4 234l381 20l5 -199l-237 -372l97 9l5 106l153 1l-5 -245h-417l-5 163l255 387h-81z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="282" 
+d="M194 348l2 -296l85 -2v-149h-244l3 447l-3 441h244v-149l-85 -2z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="281" 
+d="M67 335l-68 438l171 17l49 -441l64 -432l-172 -18z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="282" 
+d="M88 342l-2 296l-85 2v149h244l-3 -447l3 -441h-244v149l85 2z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="372" 
+d="M5 435l103 308h155l105 -308l-135 -37l-49 190l-46 -190z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="315" 
+d="M314 -189h-313v156h313v-156z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="480" 
+d="M303 0l-14 119l-52 -3l-55 4l-17 -120h-169l123 687l253 8l112 -695h-181zM202 273l35 3l34 -3l-32 269z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="484" 
+d="M40 -2l4 359l-4 325l369 17c28 -53 48 -115 48 -169c0 -59 -23 -106 -61 -146c45 -48 73 -107 73 -172c0 -93 -58 -160 -192 -210zM286 225c0 25 -10 47 -27 68c-17 -9 -36 -17 -54 -24l1 -138c55 21 80 53 80 94zM206 549l-1 -143c43 22 74 47 74 88c0 19 -6 42 -10 55
+h-63z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="462" 
+d="M424 435l-162 -5l-2 113h-48c-12 -58 -19 -108 -19 -164c0 -92 16 -179 67 -232l7 137l162 4l-5 -279l-256 -16c-111 102 -148 223 -148 372c0 104 19 211 55 317l352 16z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="478" 
+d="M40 -2l2 348l-3 336l344 16c52 -119 74 -229 74 -331c0 -143 -44 -265 -165 -366zM205 356l2 -226c52 45 77 113 77 208c0 62 -11 131 -34 208h-45v-190z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="473" 
+d="M276 229l161 4v-233h-398l4 355l-4 325l398 19l-1 -209l-162 -5l-1 63h-66v-118l169 8v-157l-169 4v-146l68 4z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="466" 
+d="M221 0h-182l6 338l-5 342l406 19l-2 -236l-161 -5l-1 85h-62v-151l169 9v-174l-169 4z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="485" 
+d="M437 8l-230 -16c-136 90 -191 221 -191 378c0 98 22 207 59 312l360 16l-1 -222l-165 -2l-2 72h-58c-12 -52 -18 -111 -18 -165c0 -98 22 -196 91 -255l-1 136l-49 3v138h245v-139l-38 -2z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="520" 
+d="M220 690l-1 -253l41 3l41 -3l-1 253h182l-6 -342l6 -348h-182l1 264l-41 -4l-41 4l1 -264h-182l6 348l-6 342h182z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="258" 
+d="M38 690h182l-4 -335l4 -355h-182l4 355z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="467" 
+d="M36 266l162 4l4 -122c47 54 61 111 61 207c0 57 -4 133 -9 188h-52l-3 -107l-161 -2l-3 246l387 18c10 -110 17 -231 17 -310c0 -170 -23 -290 -181 -385l-217 -6z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="498" 
+d="M38 690h182l-1 -272c64 72 75 156 75 270l180 4c0 -132 -5 -239 -91 -343l125 -349h-197l-65 230l-27 -18l1 -212h-182l6 350z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="456" 
+d="M285 257l163 1l-2 -258h-406l4 272l-5 418h182l-3 -544l63 6z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="715" 
+d="M453 28l-197 -4l-37 267l-34 239l7 -530h-157l12 687l253 6l32 -260l28 -241l27 242l33 253l248 5l12 -692h-162l6 530l-33 -235z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="535" 
+d="M188 0h-153l7 688l216 5l94 -488l-10 485h154l-8 -689l-216 -4l-95 491z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="474" 
+d="M346 2l-219 -3c-73 92 -113 235 -113 351c0 117 41 244 114 339l219 4c73 -94 113 -236 113 -352c0 -118 -42 -244 -114 -339zM232 548c-26 -64 -38 -134 -38 -198c0 -77 16 -143 48 -207c25 63 38 132 38 199c0 76 -16 143 -48 206z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="464" 
+d="M213 547l-1 -218c51 26 72 71 72 132c0 26 -4 53 -11 86h-60zM221 0h-182l4 348l-4 334l377 16c24 -84 37 -157 37 -220c0 -144 -67 -244 -235 -314z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="471" 
+d="M458 347c0 -93 -21 -180 -70 -256l103 -140l-143 -103l-104 153l-133 -5c-61 105 -99 226 -99 348c0 132 44 250 144 344l203 8c62 -106 99 -226 99 -349zM228 149c37 54 52 116 52 182c0 69 -15 137 -37 211c-37 -54 -52 -116 -52 -183c0 -68 16 -137 37 -210z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="469" 
+d="M212 0h-173l4 349l-4 333l375 16c17 -57 30 -123 30 -183c0 -76 -20 -136 -74 -187l108 -328h-190l-60 240l-17 -7zM208 551l-2 -154c53 23 72 56 72 97c0 19 -4 43 -9 57h-61z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="402" 
+d="M22 234l156 5l8 -102c31 22 54 46 54 72c0 76 -231 80 -231 264c0 103 72 168 177 218l180 4l2 -223l-150 -2l-3 89c-24 -12 -45 -39 -45 -64c0 -78 231 -86 231 -263c0 -95 -67 -158 -174 -229l-194 -6z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="423" 
+d="M121 0l4 522l-124 -6v174h421v-174l-123 6l4 -522h-182z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="516" 
+d="M294 686l182 9c0 -12 -4 -212 -4 -313c0 -86 1 -156 22 -376l-178 -13l-10 115l-75 -103l-172 -12c-14 152 -16 255 -17 349l-3 344l184 9c0 -12 -3 -190 -3 -282c0 -78 1 -143 6 -212l69 83z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="471" 
+d="M184 690l53 -524l63 524h167l-116 -687l-242 -8l-105 695h180z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="694" 
+d="M526 690h159l-58 -690h-241l-24 262l-18 233l-18 -235l-24 -260h-236l-56 690h164l30 -538l18 228l25 270l206 4l25 -276l17 -226z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="489" 
+d="M494 690l-117 -341l120 -327l-177 -51l-77 271l-55 -242h-192l118 351l-119 317l177 51l75 -260l54 231h193z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="477" 
+d="M144 0l3 234l-160 434l179 51l76 -291l58 262h190l-166 -471l2 -219h-182z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="460" 
+d="M186 444l-150 2l4 234l381 20l5 -199l-237 -372l97 9l5 106l153 1l-5 -245h-417l-5 163l255 387h-81z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="270" 
+d="M215 813l73 -120c-59 -37 -74 -77 -74 -119c0 -37 12 -75 12 -113c0 -40 -13 -79 -68 -116c55 -37 68 -76 68 -116c0 -38 -12 -76 -12 -113c0 -42 15 -82 74 -119l-73 -120c-139 62 -163 134 -163 202c0 36 7 71 7 104c0 36 -9 68 -48 93v138c39 25 48 57 48 93
+c0 33 -7 68 -7 104c0 68 24 140 163 202z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="239" 
+d="M37 738h166l-4 -450l4 -476h-166l4 476z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="270" 
+d="M55 -123l-74 120c60 37 74 77 74 119c0 37 -12 74 -12 112c0 40 14 79 69 117c-55 38 -69 77 -69 117c0 38 12 75 12 112c0 42 -14 82 -74 119l74 120c139 -62 163 -134 163 -202c0 -36 -7 -71 -7 -103c0 -37 9 -69 48 -94v-138c-39 -25 -48 -57 -48 -94
+c0 -32 7 -67 7 -103c0 -68 -24 -140 -163 -202z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="372" 
+d="M291 453l97 -115c-58 -62 -100 -100 -149 -100c-51 0 -84 41 -108 41c-14 0 -26 -15 -50 -42l-96 115c57 62 99 100 148 100c51 0 84 -41 108 -41c14 0 26 14 50 42z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="226" 
+d="M181 425h-135l-5 265h145z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="202" 
+d="M201 612l-125 -88l-131 154l139 98z" />
+    <hkern u1="&#x22;" u2="&#x31;" k="50" />
+    <hkern u1="&#x28;" u2="q" k="20" />
+    <hkern u1="&#x28;" u2="o" k="20" />
+    <hkern u1="&#x28;" u2="Q" k="20" />
+    <hkern u1="&#x28;" u2="O" k="20" />
+    <hkern u1="&#x2a;" u2="&#x31;" k="50" />
+    <hkern u1="&#x31;" u2="&#x27;" k="62" />
+    <hkern u1="&#x31;" u2="y" k="35" />
+    <hkern u1="&#x31;" u2="w" k="34" />
+    <hkern u1="&#x31;" u2="v" k="34" />
+    <hkern u1="&#x31;" u2="t" k="25" />
+    <hkern u1="&#x31;" u2="g" k="25" />
+    <hkern u1="&#x31;" u2="c" k="25" />
+    <hkern u1="&#x31;" u2="Y" k="35" />
+    <hkern u1="&#x31;" u2="W" k="34" />
+    <hkern u1="&#x31;" u2="V" k="34" />
+    <hkern u1="&#x31;" u2="T" k="25" />
+    <hkern u1="&#x31;" u2="G" k="25" />
+    <hkern u1="&#x31;" u2="C" k="25" />
+    <hkern u1="&#x31;" u2="&#x2a;" k="62" />
+    <hkern u1="&#x31;" u2="&#x22;" k="62" />
+    <hkern u1="D" u2="&#x7d;" k="20" />
+    <hkern u1="D" u2="]" k="20" />
+    <hkern u1="D" u2="&#x31;" k="25" />
+    <hkern u1="D" u2="&#x29;" k="20" />
+    <hkern u1="F" u2="&#x31;" k="56" />
+    <hkern u1="J" u2="&#x7d;" k="20" />
+    <hkern u1="J" u2="]" k="20" />
+    <hkern u1="J" u2="&#x31;" k="25" />
+    <hkern u1="J" u2="&#x29;" k="20" />
+    <hkern u1="O" u2="&#x7d;" k="14" />
+    <hkern u1="O" u2="]" k="14" />
+    <hkern u1="O" u2="&#x31;" k="20" />
+    <hkern u1="O" u2="&#x29;" k="14" />
+    <hkern u1="P" u2="&#x31;" k="54" />
+    <hkern u1="S" u2="&#x31;" k="25" />
+    <hkern u1="T" u2="&#x31;" k="50" />
+    <hkern u1="V" u2="&#x31;" k="48" />
+    <hkern u1="W" u2="&#x31;" k="48" />
+    <hkern u1="Y" u2="&#x31;" k="41" />
+    <hkern u1="[" u2="q" k="20" />
+    <hkern u1="[" u2="o" k="20" />
+    <hkern u1="[" u2="Q" k="20" />
+    <hkern u1="[" u2="O" k="20" />
+    <hkern u1="d" u2="&#x7d;" k="20" />
+    <hkern u1="d" u2="]" k="20" />
+    <hkern u1="d" u2="&#x31;" k="25" />
+    <hkern u1="d" u2="&#x29;" k="20" />
+    <hkern u1="f" u2="&#x31;" k="56" />
+    <hkern u1="j" u2="&#x7d;" k="20" />
+    <hkern u1="j" u2="]" k="20" />
+    <hkern u1="j" u2="&#x31;" k="25" />
+    <hkern u1="j" u2="&#x29;" k="20" />
+    <hkern u1="o" u2="&#x7d;" k="14" />
+    <hkern u1="o" u2="]" k="14" />
+    <hkern u1="o" u2="&#x31;" k="20" />
+    <hkern u1="o" u2="&#x29;" k="14" />
+    <hkern u1="p" u2="&#x31;" k="54" />
+    <hkern u1="s" u2="&#x31;" k="25" />
+    <hkern u1="t" u2="&#x31;" k="50" />
+    <hkern u1="v" u2="&#x31;" k="48" />
+    <hkern u1="w" u2="&#x31;" k="48" />
+    <hkern u1="y" u2="&#x31;" k="41" />
+    <hkern u1="&#x7b;" u2="q" k="20" />
+    <hkern u1="&#x7b;" u2="o" k="20" />
+    <hkern u1="&#x7b;" u2="Q" k="20" />
+    <hkern u1="&#x7b;" u2="O" k="20" />
+    <hkern u1="&#x27;" u2="&#x31;" k="50" />
+    <hkern g1="C,c,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,uni0421"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="61" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="14" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="13" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="19" />
+    <hkern g1="G,g"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="10" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="51" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="8" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="67" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="19" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="X,x,uni0416,uni0425"
+	k="20" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="uni0423,Ucyrilbreve"
+	k="13" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="20" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="10" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="47" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="6" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="10" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="38" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="13" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="17" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="38" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="65" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="uni0423,Ucyrilbreve"
+	k="16" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="46" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="5" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="V,v"
+	k="33" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="W,w"
+	k="33" />
+    <hkern g1="uni0413,uni0403"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="57" />
+    <hkern g1="uni0413,uni0403"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="163" />
+    <hkern g1="uni0413,uni0403"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="115" />
+    <hkern g1="uni0413,uni0403"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="25" />
+    <hkern g1="uni0413,uni0403"
+	g2="uni041B,uni0409"
+	k="50" />
+    <hkern g1="P,p,uni0420"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="44" />
+    <hkern g1="P,p,uni0420"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="150" />
+    <hkern g1="P,p,uni0420"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="18" />
+    <hkern g1="P,p,uni0420"
+	g2="uni0423,Ucyrilbreve"
+	k="-4" />
+    <hkern g1="P,p,uni0420"
+	g2="uni041B,uni0409"
+	k="17" />
+    <hkern g1="P,p,uni0420"
+	g2="Oslash,Oslash.alt"
+	k="4" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="89" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="69" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="18" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="uni041B,uni0409"
+	k="37" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Oslash,Oslash.alt"
+	k="30" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	k="27" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="10" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="20" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="111" />
+    <hkern g1="uni0426,uni0429"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="10" />
+    <hkern g1="uni0426,uni0429"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="17" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="7" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="44" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="50" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="V,v"
+	k="37" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="W,w"
+	k="37" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="46" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="99" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="47" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="33" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="uni041B,uni0409"
+	k="42" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="88" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="89" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="91" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="99" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="28" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="V,v"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="W,w"
+	k="70" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="65" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="91" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="44" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="17" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="uni041B,uni0409"
+	k="51" />
+    <hkern g1="Oslash,Oslash.alt"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="58" />
+    <hkern g1="F,f"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="53" />
+    <hkern g1="F,f"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="156" />
+    <hkern g1="F,f"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="27" />
+    <hkern g1="F,f"
+	g2="Oslash,Oslash.alt"
+	k="34" />
+    <hkern g1="L,l"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="75" />
+    <hkern g1="L,l"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="L,l"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="123" />
+    <hkern g1="L,l"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="29" />
+    <hkern g1="L,l"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="75" />
+    <hkern g1="L,l"
+	g2="V,v"
+	k="48" />
+    <hkern g1="L,l"
+	g2="W,w"
+	k="48" />
+    <hkern g1="V,v"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="V,v"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="W,w"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="W,w"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="24" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="69" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="50" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="uni0423,Ucyrilbreve"
+	k="23" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="41" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="70" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/ZCL.svg b/Tests/W3CTestSuite/resources/ZCL.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1c8245d5425c9f44ba5b0980f5a71609053297a3
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/ZCL.svg
@@ -0,0 +1,606 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100212 at Mon Apr 12 13:14:53 2010
+ By Chris Lilley,,,
+Copyright (c) Tim Ahrens, 2003. All rights reserved.
+Converted to SVG and subsetted with permission.
+</metadata>
+<defs>
+<font id="ZCL" horiz-adv-x="394" >
+  <font-face 
+    font-family="ZC"
+    font-weight="300"
+    font-variant="small-caps"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="0 0 4 0 0 0 0 0 0 0"
+    ascent="695"
+    descent="-305"
+    x-height="690"
+    cap-height="690"
+    bbox="-1 -202 648 797"
+    underline-thickness="150"
+    underline-position="-150"
+    stemh="115"
+    stemv="199"
+    unicode-range="U+0-7F"
+  />
+    <missing-glyph horiz-adv-x="500" 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="205" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="241" 
+d="M94 707l72 6l-4 -255v-258l-64 -5l-1 258zM181 10l-79 -19l-16 78l79 20z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="332" 
+d="M128 485h-57l-3 205h63zM261 485h-57l-3 205h64z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M15 245h68l17 200h-65v54h70l16 191h57l-16 -191h95l16 191h57l-17 -191h65v-54h-69l-17 -200h65v-54h-70l-16 -191h-57l16 191h-94l-17 -191h-57l17 191h-64v54zM157 445l-17 -200h95l17 200h-95z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M240 765l-1 -122l11 3l68 3l-1 -163l-59 -1v110c-80 -21 -133 -60 -133 -109c0 -102 221 -118 221 -251c0 -56 -41 -102 -107 -145l1 -145h-68l1 107l-21 -11l-73 -3l-13 183l61 3l10 -129c78 36 143 83 143 132c0 91 -221 111 -221 249c0 63 47 110 114 142l-1 147h68z
+" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="680" 
+d="M165 298l-69 -4c-40 65 -66 135 -66 202c0 75 33 142 106 194l69 3c41 -65 66 -135 66 -202c0 -75 -32 -141 -106 -193zM137 344c50 39 74 87 74 143c0 52 -21 106 -46 156c-51 -39 -75 -87 -75 -142c0 -52 21 -106 47 -157zM542 1l-69 -3c-40 65 -65 134 -65 201
+c0 76 32 142 106 194l69 4c40 -66 65 -135 65 -202c0 -76 -32 -142 -106 -194zM514 48c50 39 74 87 74 142c0 52 -20 106 -46 157c-50 -40 -74 -87 -74 -143c0 -52 20 -106 46 -156zM621 677l-268 -359l-242 -341l-53 36l268 358l243 342z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="566" 
+d="M440 456l47 -34l-149 -230l98 -141l36 118l49 -17l-45 -150l-70 -5l-104 141l-90 -139l-86 -7c-67 80 -92 142 -92 194c0 78 57 133 117 182c-31 60 -49 110 -49 153c0 58 34 107 111 170l81 7c45 -56 62 -104 62 -144c0 -80 -66 -136 -131 -190c20 -33 46 -73 78 -121z
+M99 188c0 -41 21 -89 73 -149l95 149c-34 49 -65 94 -90 135c-43 -39 -78 -82 -78 -135zM167 520c0 -31 9 -64 34 -111c49 41 91 84 91 139c0 31 -12 65 -41 105c-58 -48 -84 -84 -84 -133z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="246" 
+d="M229 -76l-55 -31c-81 141 -121 296 -121 450c0 157 41 314 123 454l53 -28c-74 -130 -111 -277 -111 -424s37 -293 111 -421z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="246" 
+d="M18 766l54 31c81 -141 121 -295 121 -450c0 -157 -42 -313 -124 -454l-52 28c73 130 111 277 111 424s-37 293 -110 421z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="375" 
+d="M297 429l-46 -27l-63 128l-64 -128l-46 27l76 126l-116 44l22 51l106 -53l-5 160h53l-6 -160l106 53l23 -51l-116 -44z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="420" 
+d="M392 314l-153 2l2 -194h-62l2 194l-153 -2v62l153 -2l-2 194h62l-2 -194l153 2v-62z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="196" 
+d="M70 86l62 1l-11 -187h-53z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="261" 
+d="M131 315l-104 -2v64l104 -3l103 3v-64z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="196" 
+d="M145 12l-78 -21l-16 77l78 21z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="271" 
+d="M244 756l-82 -416l-73 -416l-62 10l81 414l74 418z" />
+    <glyph glyph-name="zero" unicode="0" 
+d="M197 1l-68 -5c-63 120 -101 242 -101 357c0 133 51 248 168 339l69 5c63 -122 101 -243 101 -358c0 -133 -51 -247 -169 -338zM170 48c91 77 135 172 135 286c0 105 -37 215 -82 310c-91 -76 -135 -171 -135 -286c0 -105 38 -215 82 -310zM241 328l-65 -26l-23 62l65 26z
+" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="328" 
+d="M131 689l66 3l-2 -437v-200l127 -2v-53h-316v53l126 2v200z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M80 497l3 188l80 10c111 -60 152 -130 152 -210c0 -131 -114 -285 -224 -437l194 9l7 144l57 -1l-5 -200h-312l-6 53c139 193 226 320 226 423c0 67 -37 118 -110 161l-5 -140h-57z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M332 632l-119 -211c92 -52 129 -114 129 -179c0 -105 -99 -203 -193 -241l-79 -2l-6 198l57 2l8 -146c77 30 148 100 148 180c0 59 -40 117 -137 166l131 238h-151l-3 -124l-59 1l2 170l269 11z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M227 536h64l-1 -314l106 1v-56l-106 1l2 -168h-65l1 168l-207 -1l-3 51l123 480l59 -15l-116 -461h145z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M314 524l-61 -1l-4 114h-117l-6 -183c160 -52 225 -136 225 -219c0 -90 -76 -177 -199 -234l-79 -3l-7 198l58 1l8 -144c96 44 154 107 154 174c0 78 -78 143 -217 186l6 271l239 11v-171z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M212 682c-69 -134 -106 -250 -106 -369l154 125l57 6c28 -64 43 -140 43 -193c0 -112 -63 -196 -168 -250l-71 -3c-55 113 -76 213 -76 310c0 126 37 234 103 395zM270 382l-162 -123c7 -69 26 -138 61 -210c92 50 129 117 129 196c0 41 -10 90 -28 137z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M102 495l-58 1l4 188l307 13l8 -59l-207 -650l-63 15l207 633h-192z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M37 188c0 56 29 123 98 182c-49 36 -89 78 -89 145c0 68 44 126 122 176l71 7c61 -48 98 -110 98 -174c0 -52 -24 -113 -86 -164c57 -39 110 -84 110 -164c0 -84 -59 -150 -140 -197l-75 -7c-64 53 -109 125 -109 196zM299 187c0 71 -59 111 -119 152
+c-62 -51 -81 -104 -81 -146c0 -54 31 -110 86 -156c76 41 114 92 114 150zM105 522c0 -62 49 -99 105 -135c46 37 67 89 67 130c0 46 -25 96 -75 137c-68 -39 -97 -83 -97 -132z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M167 9c77 137 119 255 119 381l-156 -123l-57 -6c-25 57 -39 126 -39 180c0 117 65 196 174 248l71 2c49 -108 69 -203 69 -295c0 -133 -43 -248 -117 -409zM96 442c0 -47 11 -84 25 -122l163 123c-6 64 -23 130 -53 198c-100 -51 -135 -113 -135 -199z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="163" 
+d="M131 181l-77 -21l-15 76l76 21zM131 454l-77 -21l-15 76l76 21z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="196" 
+d="M148 344l-78 -20l-15 76l77 21zM73 86l62 1l-11 -187h-54z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="420" 
+d="M330 147l-280 167v62l280 167l30 -53l-253 -144l253 -145z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="420" 
+d="M381 397l-171 2l-171 -2v58l171 -1l171 1v-58zM381 234l-171 2l-171 -2v59l171 -2l171 2v-59z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="420" 
+d="M90 543l280 -167v-62l-280 -167l-30 53l253 144l-253 145z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="323" 
+d="M65 670l10 65c169 -31 234 -107 234 -188c0 -124 -155 -158 -155 -267c0 -29 10 -78 19 -101l-64 -17c-12 30 -21 89 -21 122c0 139 153 164 153 260c0 57 -54 103 -176 126zM205 10l-78 -19l-16 73l78 20z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="575" 
+d="M533 152l19 -48c-63 -37 -143 -63 -224 -63c-150 0 -300 91 -300 302c0 203 138 306 282 306c152 0 239 -115 239 -246s-87 -229 -209 -229c-108 0 -170 77 -170 169c0 84 51 158 142 158c55 0 102 -26 132 -85l-40 -27c-24 36 -55 57 -91 57c-51 0 -84 -45 -84 -103
+c0 -62 38 -113 109 -113c74 0 148 54 148 168c0 109 -67 191 -178 191c-126 0 -217 -107 -217 -246c0 -137 89 -249 245 -249c69 0 135 21 197 58z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="415" 
+d="M332 0l-42 209l-81 -2l-87 2l-43 -209h-64l149 689l90 5l146 -694h-68zM134 265l75 3l70 -3l-72 357z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="434" 
+d="M81 -1l3 359l-3 327l254 10c23 -47 40 -99 40 -146c0 -70 -34 -123 -86 -162c58 -47 99 -115 99 -187c0 -97 -75 -166 -228 -200zM321 202c0 59 -35 112 -84 153c-29 -15 -60 -27 -93 -37l1 -263c124 27 176 75 176 147zM145 636l-1 -261c98 31 164 85 164 162
+c0 36 -12 71 -25 99h-138z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="407" 
+d="M344 503l-59 -1v134h-130c-27 -80 -42 -164 -42 -250c0 -135 38 -254 172 -333l4 159l59 1l-3 -209l-84 -10c-160 91 -214 219 -214 387c0 102 19 206 56 304l242 10z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="432" 
+d="M81 -3l1 350l-1 338l228 10c55 -131 79 -246 79 -341c0 -149 -60 -269 -223 -356zM143 356l1 -302c122 62 178 153 178 292c0 83 -20 180 -63 290h-116v-280z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="430" 
+d="M312 191l59 1l-3 -192h-287l2 351l-2 332l287 12l-1 -173l-59 -1v116h-164v-255l167 5v-64l-167 4v-278l164 6z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="423" 
+d="M147 0h-66l3 334l-3 349l294 12l-1 -175l-60 -1v117h-168v-274l172 5v-66l-172 4z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="434" 
+d="M351 5l-82 -10c-165 88 -224 214 -224 386c0 104 21 208 57 304l248 10l-1 -172l-60 -1l-1 114h-133c-28 -80 -44 -164 -44 -251c0 -137 40 -257 183 -337l-1 251l-80 4v51h186v-51l-44 -3z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="493" 
+d="M147 690l-1 -309l101 3l101 -3l-1 309h66l-3 -342l3 -348h-66l1 324l-101 -3l-101 3l1 -324h-66l2 348l-2 342h66z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="227" 
+d="M80 690h67l-2 -339l2 -351h-66l1 351z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="395" 
+d="M54 202l59 2l8 -148c119 69 152 144 152 296c0 84 -9 200 -19 283h-131v-139l-60 -1l-1 189l253 11c16 -117 24 -236 24 -329c0 -161 -24 -271 -198 -365l-79 -2z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="447" 
+d="M81 690h66l-1 -336c153 103 169 194 169 335l64 2c0 -128 -11 -234 -129 -336l177 -355h-73l-156 315c-16 -11 -33 -22 -52 -33l1 -282h-66l2 347z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="393" 
+d="M304 205h59l-2 -205h-280l2 235l-2 455h66l-1 -636l155 7z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="644" 
+d="M359 22l-79 -3l-75 313l-66 292l3 -624h-61l5 689l98 3l78 -336l60 -275l60 278l81 329l96 3l3 -691h-62l3 623l-66 -288z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="504" 
+d="M141 0h-62l4 689l86 4l194 -606l-2 603h62l-4 -690l-86 -3l-195 606z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="417" 
+d="M243 1l-72 -5c-91 98 -135 228 -135 348c0 123 46 243 138 345l71 5c92 -98 136 -229 136 -348c0 -124 -47 -243 -138 -345zM209 640c-72 -83 -108 -190 -108 -295c0 -109 39 -216 107 -295c70 81 107 187 107 294c0 110 -39 217 -106 296z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="405" 
+d="M145 636v-346c108 35 157 113 157 219c0 39 -7 82 -19 127h-138zM147 0h-66l2 348l-2 337l256 10c19 -63 30 -124 30 -179c0 -138 -69 -237 -221 -287z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="423" 
+d="M214 1l-74 -5c-66 121 -104 244 -104 357c0 132 51 247 174 338l73 6c67 -124 105 -244 105 -358c0 -89 -24 -170 -77 -242l108 -175l-49 -37l-97 167c-18 -18 -37 -35 -59 -51zM185 194l48 35l43 -74c32 55 46 116 46 179c0 102 -36 210 -84 307
+c-97 -79 -137 -176 -137 -282c0 -103 37 -210 84 -307c21 17 40 35 56 54z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="422" 
+d="M145 0h-64l2 348l-2 337l252 10c18 -50 29 -103 29 -153c0 -85 -34 -154 -115 -204l145 -338h-73l-128 310c-15 -6 -30 -12 -46 -17v-293zM144 638v-283c111 33 153 97 153 179c0 38 -9 75 -19 104h-134z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="361" 
+d="M54 205l60 3l11 -150c73 43 134 97 134 156c0 106 -212 129 -212 285c0 95 82 159 183 191l67 2l-1 -182h-59l-1 126c-75 -24 -124 -69 -124 -128c0 -119 211 -138 211 -287c0 -88 -75 -154 -185 -219l-72 -3z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="392" 
+d="M163 0l2 635l-153 -3v58h368v-58l-153 3l2 -635h-66z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="492" 
+d="M343 687l67 6c0 -10 -3 -258 -3 -363c0 -78 4 -149 20 -329l-68 -4l-13 189l-170 -185l-71 -4c-21 166 -22 267 -23 368l-1 322l67 6c0 -11 -2 -198 -2 -294c0 -158 6 -223 18 -328l179 185v431z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="430" 
+d="M91 690l124 -621l127 621h63l-148 -689l-87 -5l-144 694h65z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="612" 
+d="M521 690h62l-93 -689l-87 -3l-54 318l-46 286l-45 -287l-55 -314l-86 -3l-88 692h63l74 -621l45 275l56 325l78 3l55 -331l44 -272z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="420" 
+d="M396 690l-144 -329l152 -352l-61 -25l-136 328l-119 -312h-72l151 354l-147 327l62 25l128 -302l114 286h72z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="419" 
+d="M175 0l2 242l-162 441l62 20l135 -384l122 371h70l-165 -451l2 -239h-66z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="425" 
+d="M119 496l-58 2l5 186l295 13l8 -63l-266 -586l213 10l7 145l59 -1l-8 -202h-330l-6 53l269 584h-183z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="248" 
+d="M141 357l2 -394l94 -2v-58h-157l1 456l-1 428h157v-59l-94 -2z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="271" 
+d="M109 340l-82 416l62 10l74 -418l81 -414l-62 -10z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="248" 
+d="M107 333l-1 394l-94 2v58h157l-2 -456l2 -428h-157v59l94 2z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="420" 
+d="M57 415l122 328h62l122 -328l-54 -17l-99 284l-100 -284z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="310" 
+d="M298 -118h-286v61h286v-61z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="415" 
+d="M332 0l-42 209l-81 -2l-87 2l-43 -209h-64l149 689l90 5l146 -694h-68zM134 265l75 3l70 -3l-72 357z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="434" 
+d="M81 -1l3 359l-3 327l254 10c23 -47 40 -99 40 -146c0 -70 -34 -123 -86 -162c58 -47 99 -115 99 -187c0 -97 -75 -166 -228 -200zM321 202c0 59 -35 112 -84 153c-29 -15 -60 -27 -93 -37l1 -263c124 27 176 75 176 147zM145 636l-1 -261c98 31 164 85 164 162
+c0 36 -12 71 -25 99h-138z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="407" 
+d="M344 503l-59 -1v134h-130c-27 -80 -42 -164 -42 -250c0 -135 38 -254 172 -333l4 159l59 1l-3 -209l-84 -10c-160 91 -214 219 -214 387c0 102 19 206 56 304l242 10z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="432" 
+d="M81 -3l1 350l-1 338l228 10c55 -131 79 -246 79 -341c0 -149 -60 -269 -223 -356zM143 356l1 -302c122 62 178 153 178 292c0 83 -20 180 -63 290h-116v-280z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="430" 
+d="M312 191l59 1l-3 -192h-287l2 351l-2 332l287 12l-1 -173l-59 -1v116h-164v-255l167 5v-64l-167 4v-278l164 6z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="423" 
+d="M147 0h-66l3 334l-3 349l294 12l-1 -175l-60 -1v117h-168v-274l172 5v-66l-172 4z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="434" 
+d="M351 5l-82 -10c-165 88 -224 214 -224 386c0 104 21 208 57 304l248 10l-1 -172l-60 -1l-1 114h-133c-28 -80 -44 -164 -44 -251c0 -137 40 -257 183 -337l-1 251l-80 4v51h186v-51l-44 -3z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="493" 
+d="M147 690l-1 -309l101 3l101 -3l-1 309h66l-3 -342l3 -348h-66l1 324l-101 -3l-101 3l1 -324h-66l2 348l-2 342h66z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="227" 
+d="M80 690h67l-2 -339l2 -351h-66l1 351z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="395" 
+d="M54 202l59 2l8 -148c119 69 152 144 152 296c0 84 -9 200 -19 283h-131v-139l-60 -1l-1 189l253 11c16 -117 24 -236 24 -329c0 -161 -24 -271 -198 -365l-79 -2z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="447" 
+d="M81 690h66l-1 -336c153 103 169 194 169 335l64 2c0 -128 -11 -234 -129 -336l177 -355h-73l-156 315c-16 -11 -33 -22 -52 -33l1 -282h-66l2 347z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="393" 
+d="M304 205h59l-2 -205h-280l2 235l-2 455h66l-1 -636l155 7z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="644" 
+d="M359 22l-79 -3l-75 313l-66 292l3 -624h-61l5 689l98 3l78 -336l60 -275l60 278l81 329l96 3l3 -691h-62l3 623l-66 -288z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="504" 
+d="M141 0h-62l4 689l86 4l194 -606l-2 603h62l-4 -690l-86 -3l-195 606z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="417" 
+d="M243 1l-72 -5c-91 98 -135 228 -135 348c0 123 46 243 138 345l71 5c92 -98 136 -229 136 -348c0 -124 -47 -243 -138 -345zM209 640c-72 -83 -108 -190 -108 -295c0 -109 39 -216 107 -295c70 81 107 187 107 294c0 110 -39 217 -106 296z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="405" 
+d="M145 636v-346c108 35 157 113 157 219c0 39 -7 82 -19 127h-138zM147 0h-66l2 348l-2 337l256 10c19 -63 30 -124 30 -179c0 -138 -69 -237 -221 -287z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="423" 
+d="M214 1l-74 -5c-66 121 -104 244 -104 357c0 132 51 247 174 338l73 6c67 -124 105 -244 105 -358c0 -89 -24 -170 -77 -242l108 -175l-49 -37l-97 167c-18 -18 -37 -35 -59 -51zM185 194l48 35l43 -74c32 55 46 116 46 179c0 102 -36 210 -84 307
+c-97 -79 -137 -176 -137 -282c0 -103 37 -210 84 -307c21 17 40 35 56 54z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="422" 
+d="M145 0h-64l2 348l-2 337l252 10c18 -50 29 -103 29 -153c0 -85 -34 -154 -115 -204l145 -338h-73l-128 310c-15 -6 -30 -12 -46 -17v-293zM144 638v-283c111 33 153 97 153 179c0 38 -9 75 -19 104h-134z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="361" 
+d="M54 205l60 3l11 -150c73 43 134 97 134 156c0 106 -212 129 -212 285c0 95 82 159 183 191l67 2l-1 -182h-59l-1 126c-75 -24 -124 -69 -124 -128c0 -119 211 -138 211 -287c0 -88 -75 -154 -185 -219l-72 -3z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="392" 
+d="M163 0l2 635l-153 -3v58h368v-58l-153 3l2 -635h-66z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="492" 
+d="M343 687l67 6c0 -10 -3 -258 -3 -363c0 -78 4 -149 20 -329l-68 -4l-13 189l-170 -185l-71 -4c-21 166 -22 267 -23 368l-1 322l67 6c0 -11 -2 -198 -2 -294c0 -158 6 -223 18 -328l179 185v431z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="430" 
+d="M91 690l124 -621l127 621h63l-148 -689l-87 -5l-144 694h65z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="612" 
+d="M521 690h62l-93 -689l-87 -3l-54 318l-46 286l-45 -287l-55 -314l-86 -3l-88 692h63l74 -621l45 275l56 325l78 3l55 -331l44 -272z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="420" 
+d="M396 690l-144 -329l152 -352l-61 -25l-136 328l-119 -312h-72l151 354l-147 327l62 25l128 -302l114 286h72z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="419" 
+d="M175 0l2 242l-162 441l62 20l135 -384l122 371h70l-165 -451l2 -239h-66z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="425" 
+d="M119 496l-58 2l5 186l295 13l8 -63l-266 -586l213 10l7 145l59 -1l-8 -202h-330l-6 53l269 584h-183z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="240" 
+d="M213 793l28 -49c-83 -43 -101 -96 -101 -151c0 -40 9 -83 9 -125s-10 -84 -50 -123c40 -40 50 -81 50 -124c0 -41 -9 -84 -9 -124c0 -55 18 -107 101 -151l-28 -49c-114 55 -135 119 -135 186c0 40 8 81 8 120c0 40 -8 78 -41 113v58c33 35 41 73 41 113
+c0 39 -8 80 -8 120c0 66 21 131 135 186z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="224" 
+d="M79 731h66l-2 -458l2 -475h-66l2 475z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="240" 
+d="M27 -103l-28 49c84 44 102 96 102 151c0 40 -10 82 -10 123c0 43 10 85 51 125c-41 40 -51 82 -51 125c0 42 10 83 10 123c0 55 -18 107 -102 151l28 49c114 -55 136 -119 136 -186c0 -40 -8 -81 -8 -120c0 -40 8 -78 41 -113v-58c-33 -35 -41 -73 -41 -113
+c0 -39 8 -80 8 -120c0 -66 -22 -131 -136 -186z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="420" 
+d="M356 396l41 -38c-28 -40 -62 -72 -109 -72c-62 0 -110 56 -157 56c-31 0 -51 -24 -67 -49l-41 38c28 41 62 73 109 73c62 0 110 -56 157 -56c30 0 50 22 67 48z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="199" 
+d="M128 485h-57l-3 205h63z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="223" 
+d="M162 588l-47 -36l-101 117l54 40z" />
+    <hkern u1="&#x22;" u2="&#x31;" k="50" />
+    <hkern u1="&#x28;" u2="q" k="20" />
+    <hkern u1="&#x28;" u2="o" k="20" />
+    <hkern u1="&#x28;" u2="Q" k="20" />
+    <hkern u1="&#x28;" u2="O" k="20" />
+    <hkern u1="&#x2a;" u2="&#x31;" k="50" />
+    <hkern u1="&#x31;" u2="&#x27;" k="62" />
+    <hkern u1="&#x31;" u2="y" k="28" />
+    <hkern u1="&#x31;" u2="w" k="34" />
+    <hkern u1="&#x31;" u2="v" k="34" />
+    <hkern u1="&#x31;" u2="t" k="25" />
+    <hkern u1="&#x31;" u2="g" k="25" />
+    <hkern u1="&#x31;" u2="c" k="25" />
+    <hkern u1="&#x31;" u2="Y" k="28" />
+    <hkern u1="&#x31;" u2="W" k="34" />
+    <hkern u1="&#x31;" u2="V" k="34" />
+    <hkern u1="&#x31;" u2="T" k="25" />
+    <hkern u1="&#x31;" u2="G" k="25" />
+    <hkern u1="&#x31;" u2="C" k="25" />
+    <hkern u1="&#x31;" u2="&#x2a;" k="62" />
+    <hkern u1="&#x31;" u2="&#x22;" k="62" />
+    <hkern u1="D" u2="&#x7d;" k="20" />
+    <hkern u1="D" u2="]" k="20" />
+    <hkern u1="D" u2="&#x31;" k="25" />
+    <hkern u1="D" u2="&#x29;" k="20" />
+    <hkern u1="F" u2="&#x31;" k="56" />
+    <hkern u1="J" u2="&#x7d;" k="20" />
+    <hkern u1="J" u2="]" k="20" />
+    <hkern u1="J" u2="&#x31;" k="25" />
+    <hkern u1="J" u2="&#x29;" k="20" />
+    <hkern u1="O" u2="&#x7d;" k="14" />
+    <hkern u1="O" u2="]" k="14" />
+    <hkern u1="O" u2="&#x31;" k="20" />
+    <hkern u1="O" u2="&#x29;" k="14" />
+    <hkern u1="P" u2="&#x31;" k="54" />
+    <hkern u1="S" u2="&#x31;" k="25" />
+    <hkern u1="T" u2="&#x31;" k="50" />
+    <hkern u1="V" u2="&#x31;" k="48" />
+    <hkern u1="W" u2="&#x31;" k="48" />
+    <hkern u1="Y" u2="&#x31;" k="41" />
+    <hkern u1="[" u2="q" k="20" />
+    <hkern u1="[" u2="o" k="20" />
+    <hkern u1="[" u2="Q" k="20" />
+    <hkern u1="[" u2="O" k="20" />
+    <hkern u1="d" u2="&#x7d;" k="20" />
+    <hkern u1="d" u2="]" k="20" />
+    <hkern u1="d" u2="&#x31;" k="25" />
+    <hkern u1="d" u2="&#x29;" k="20" />
+    <hkern u1="f" u2="&#x31;" k="56" />
+    <hkern u1="j" u2="&#x7d;" k="20" />
+    <hkern u1="j" u2="]" k="20" />
+    <hkern u1="j" u2="&#x31;" k="25" />
+    <hkern u1="j" u2="&#x29;" k="20" />
+    <hkern u1="o" u2="&#x7d;" k="14" />
+    <hkern u1="o" u2="]" k="14" />
+    <hkern u1="o" u2="&#x31;" k="20" />
+    <hkern u1="o" u2="&#x29;" k="14" />
+    <hkern u1="p" u2="&#x31;" k="54" />
+    <hkern u1="s" u2="&#x31;" k="25" />
+    <hkern u1="t" u2="&#x31;" k="50" />
+    <hkern u1="v" u2="&#x31;" k="48" />
+    <hkern u1="w" u2="&#x31;" k="48" />
+    <hkern u1="y" u2="&#x31;" k="41" />
+    <hkern u1="&#x7b;" u2="q" k="20" />
+    <hkern u1="&#x7b;" u2="o" k="20" />
+    <hkern u1="&#x7b;" u2="Q" k="20" />
+    <hkern u1="&#x7b;" u2="O" k="20" />
+    <hkern u1="&#x27;" u2="&#x31;" k="50" />
+    <hkern g1="C,c,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,uni0421"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="61" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="14" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="13" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="14" />
+    <hkern g1="G,g"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="10" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="51" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="8" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="67" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="19" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="X,x,uni0416,uni0425"
+	k="20" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="uni0423,Ucyrilbreve"
+	k="13" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="18" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="10" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="47" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="6" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="8" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="38" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="11" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="17" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="38" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="65" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="uni0423,Ucyrilbreve"
+	k="16" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="46" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="5" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="V,v"
+	k="33" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="W,w"
+	k="33" />
+    <hkern g1="uni0413,uni0403"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="57" />
+    <hkern g1="uni0413,uni0403"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="163" />
+    <hkern g1="uni0413,uni0403"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="115" />
+    <hkern g1="uni0413,uni0403"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="25" />
+    <hkern g1="uni0413,uni0403"
+	g2="uni041B,uni0409"
+	k="50" />
+    <hkern g1="P,p,uni0420"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="44" />
+    <hkern g1="P,p,uni0420"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="150" />
+    <hkern g1="P,p,uni0420"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="18" />
+    <hkern g1="P,p,uni0420"
+	g2="uni0423,Ucyrilbreve"
+	k="-4" />
+    <hkern g1="P,p,uni0420"
+	g2="uni041B,uni0409"
+	k="17" />
+    <hkern g1="P,p,uni0420"
+	g2="Oslash,Oslash.alt"
+	k="4" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="89" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="69" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="18" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="uni041B,uni0409"
+	k="37" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Oslash,Oslash.alt"
+	k="30" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	k="27" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="10" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="20" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="111" />
+    <hkern g1="uni0426,uni0429"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="10" />
+    <hkern g1="uni0426,uni0429"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="17" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="7" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="44" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="50" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="V,v"
+	k="37" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="W,w"
+	k="37" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="46" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="99" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="42" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="28" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="uni041B,uni0409"
+	k="42" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="88" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="89" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="91" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="99" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="28" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="V,v"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="W,w"
+	k="70" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="65" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="91" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="44" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="17" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="uni041B,uni0409"
+	k="51" />
+    <hkern g1="Oslash,Oslash.alt"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="58" />
+    <hkern g1="F,f"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="53" />
+    <hkern g1="F,f"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="156" />
+    <hkern g1="F,f"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="27" />
+    <hkern g1="F,f"
+	g2="Oslash,Oslash.alt"
+	k="34" />
+    <hkern g1="L,l"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="75" />
+    <hkern g1="L,l"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="L,l"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="123" />
+    <hkern g1="L,l"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="34" />
+    <hkern g1="L,l"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="75" />
+    <hkern g1="L,l"
+	g2="V,v"
+	k="48" />
+    <hkern g1="L,l"
+	g2="W,w"
+	k="48" />
+    <hkern g1="V,v"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="V,v"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="W,w"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="W,w"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="24" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="69" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="50" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="uni0423,Ucyrilbreve"
+	k="23" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="41" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="70" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/ZCR.svg b/Tests/W3CTestSuite/resources/ZCR.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0604ba290fd6df92a46a83199f2289c51d60089b
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/ZCR.svg
@@ -0,0 +1,605 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100212 at Mon Apr 12 13:07:10 2010
+ By Chris Lilley,,,
+Copyright (c) Tim Ahrens, 2003. All rights reserved.
+Converted to SVG and subsetted with permission.
+</metadata>
+<defs>
+<font id="ZCR" horiz-adv-x="400" >
+  <font-face 
+    font-family="ZC"
+    font-weight="400"
+    font-variant="small-caps"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="0 0 5 0 0 0 0 0 0 0"
+    ascent="696"
+    descent="-304"
+    x-height="690"
+    cap-height="690"
+    bbox="-8 -198 680 800"
+    underline-thickness="150"
+    underline-position="-150"
+    stemh="206"
+    stemv="296"
+    unicode-range="U+0-7F"
+  />
+    <missing-glyph horiz-adv-x="500" 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="189" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="244" 
+d="M78 706l106 7l-5 -249l1 -251l-97 -8v251zM200 12l-107 -24l-20 108l106 24z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="350" 
+d="M143 465h-83l-4 225h90zM290 465h-83l-3 225h89z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M11 259h61l14 172h-57v78h63l14 181h83l-14 -181h74l14 181h83l-14 -181h56v-78h-63l-13 -172h58v-78h-64l-15 -181h-83l15 181h-74l-14 -181h-83l14 181h-55v78zM169 431l-14 -172h74l13 172h-73z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M260 765l-1 -119l74 2v-174l-86 -1v98c-63 -17 -106 -51 -106 -91c0 -89 222 -102 222 -244c0 -58 -40 -104 -104 -147l1 -144h-103l1 94l-90 -3l-12 192l88 4l10 -116c63 31 115 69 115 109c0 82 -222 96 -222 243c0 64 45 112 111 147l-1 150h103z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="703" 
+d="M182 298l-94 -4c-40 63 -66 132 -66 200c0 76 32 143 103 195l94 4c40 -63 66 -132 66 -200c0 -76 -31 -142 -103 -195zM143 361c41 36 61 78 61 126c0 45 -17 92 -40 139c-41 -36 -61 -78 -61 -126c0 -44 17 -92 40 -139zM577 1l-93 -3c-41 62 -66 131 -66 200
+c0 75 31 142 102 195l94 4c41 -63 66 -133 66 -201c0 -75 -31 -142 -103 -195zM538 64c41 36 61 78 61 126c0 45 -17 92 -39 140c-42 -36 -61 -78 -61 -126c0 -45 17 -92 39 -140zM646 669l-273 -354l-243 -344l-73 49l272 353l244 346z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="573" 
+d="M432 461l71 -53l-145 -221l81 -115l25 124l75 -17l-39 -176l-102 -8l-90 117l-74 -112l-124 -8c-62 77 -85 138 -85 190c0 77 52 133 110 183c-33 59 -51 108 -51 152c0 58 31 108 100 172l121 9c49 -56 68 -105 68 -147c0 -79 -66 -137 -129 -193l62 -96zM124 186
+c0 -35 17 -75 56 -124l76 121c-30 40 -57 78 -79 112c-31 -33 -53 -68 -53 -109zM179 522c0 -27 8 -56 27 -96c40 36 71 73 71 117c0 27 -11 57 -35 90c-43 -39 -63 -70 -63 -111z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="251" 
+d="M245 -65l-84 -45c-80 147 -120 301 -120 454c0 157 42 312 123 456l82 -43c-70 -127 -104 -270 -104 -412s34 -284 103 -410z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="251" 
+d="M7 755l83 45c81 -147 120 -301 120 -454c0 -157 -41 -312 -123 -456l-81 43c69 127 104 270 104 412s-35 284 -103 410z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="363" 
+d="M301 430l-63 -38l-56 123l-56 -123l-64 38l74 120l-110 39l30 71l97 -53l-9 152h75l-9 -152l97 53l30 -71l-110 -39z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="392" 
+d="M370 296l-130 3l3 -180h-94l3 180l-130 -3v98l130 -3l-3 180h94l-3 -180l130 3v-98z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="201" 
+d="M59 105l90 3l-14 -212l-79 -1z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="245" 
+d="M123 302l-103 -3v92l103 -3l101 3v-92z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="207" 
+d="M166 14l-105 -26l-20 107l105 26z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="265" 
+d="M248 761l-75 -422l-62 -422l-95 12l74 420l64 424z" />
+    <glyph glyph-name="zero" unicode="0" 
+d="M217 2l-97 -6c-62 116 -101 238 -101 355c0 133 50 248 163 340l98 5c62 -117 100 -239 100 -355c0 -133 -49 -248 -163 -339zM177 70c79 72 118 160 118 264c0 96 -33 197 -73 288c-79 -72 -117 -160 -117 -264c0 -96 33 -197 72 -288zM253 324l-81 -30l-25 74l80 30z
+" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="329" 
+d="M115 688l98 5l-1 -426v-183l114 -3v-81h-323v81l114 3v183z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M67 481l3 203l119 12c107 -64 148 -135 148 -212c0 -129 -114 -271 -224 -413l162 9l6 129l84 1l-4 -210h-335l-6 85c145 186 222 295 222 387c0 57 -29 101 -88 140l-5 -131h-82z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M346 602l-105 -186c85 -51 119 -111 119 -174c0 -103 -94 -199 -186 -240l-113 -4l-7 210l84 2l7 -135c64 27 120 86 120 154c0 53 -37 107 -131 159l126 225h-126l-3 -115l-84 1l2 184l295 13z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M220 521h91l-2 -286l94 2v-84l-93 2l2 -155h-92l2 155l-207 -1l-4 76l123 472l87 -24l-117 -443l118 -1z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M329 512l-86 -1l-4 100h-96l-4 -155c163 -51 228 -134 228 -219c0 -90 -72 -176 -190 -236l-114 -3l-8 207l84 3l8 -133c79 39 126 93 126 151c0 71 -72 126 -215 167l6 291l265 12v-184z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M226 679c-61 -122 -97 -232 -100 -345l130 111l77 8c27 -66 41 -144 41 -198c0 -114 -58 -198 -159 -253l-104 -4c-53 108 -75 211 -75 312c0 132 38 248 100 396zM262 366l-134 -109c7 -63 24 -124 52 -186c75 46 105 105 105 177c0 35 -8 77 -23 118z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M121 477l-84 2l4 204l327 15l7 -92l-198 -623l-94 26l200 599h-156z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M28 191c0 56 26 121 89 178c-45 35 -81 77 -81 140c0 69 44 128 123 181l100 8c58 -49 93 -109 93 -174c0 -51 -22 -110 -78 -164c54 -37 102 -81 102 -158c0 -84 -57 -153 -137 -202l-109 -8c-59 53 -102 127 -102 199zM282 188c0 60 -46 97 -99 134
+c-48 -44 -64 -92 -64 -127c0 -48 26 -97 71 -137c62 36 92 80 92 130zM123 517c0 -53 41 -86 90 -117c35 33 51 78 51 113c0 40 -21 85 -61 121c-56 -34 -80 -74 -80 -117z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M161 10c68 125 107 239 111 358l-131 -110l-77 -7c-24 58 -38 130 -38 185c0 118 61 199 164 253l104 2c48 -105 68 -202 68 -297c0 -138 -42 -260 -111 -409zM115 439c0 -40 9 -71 20 -104l135 109c-6 57 -20 116 -45 175c-81 -47 -110 -103 -110 -180z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="181" 
+d="M154 172l-102 -26l-20 104l102 26zM154 440l-102 -26l-20 104l102 26z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="207" 
+d="M167 335l-102 -26l-19 104l102 26zM65 105l90 3l-14 -212l-78 -1z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="392" 
+d="M297 135l-257 165v90l257 165l50 -77l-225 -132l225 -133z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="392" 
+d="M360 389l-164 3l-164 -3v88l164 -3l164 3v-88zM360 213l-164 3l-164 -3v88l164 -3l164 3v-88z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="392" 
+d="M95 555l257 -165v-90l-257 -165l-50 77l225 132l-225 133z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="325" 
+d="M58 636l14 100c177 -27 245 -107 245 -195c0 -126 -141 -158 -141 -256c0 -26 10 -71 19 -94l-94 -27c-15 35 -24 93 -24 128c0 136 137 161 137 240c0 48 -45 85 -156 104zM225 11l-105 -23l-18 97l104 23z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="600" 
+d="M553 164l27 -69c-67 -38 -154 -65 -239 -65c-159 0 -318 96 -318 316c0 210 144 314 296 314c164 0 260 -121 260 -256c0 -133 -92 -233 -218 -233c-114 0 -182 81 -182 175c0 82 51 155 145 155c57 0 103 -26 132 -89l-57 -36c-19 29 -44 46 -72 46
+c-39 0 -65 -35 -65 -79c0 -51 33 -92 95 -92c66 0 132 46 132 146c0 99 -66 176 -172 176c-119 0 -204 -99 -204 -227c0 -130 89 -239 242 -239c67 0 136 21 198 57z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="421" 
+d="M314 0l-32 183l-72 -2l-75 2l-34 -183h-94l138 688l137 7l132 -695h-100zM150 267l61 3l56 -2l-57 331z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="436" 
+d="M66 -2l3 360l-3 326l281 12c25 -48 42 -103 42 -152c0 -67 -30 -118 -76 -158c52 -47 88 -113 88 -183c0 -95 -68 -164 -212 -202zM302 209c0 49 -26 93 -64 128c-25 -13 -52 -24 -81 -33l1 -227c101 25 144 69 144 132zM158 610l-1 -224c75 28 134 71 134 139
+c0 31 -10 62 -20 85h-113z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="411" 
+d="M358 482l-87 -3l-1 130h-103c-22 -73 -35 -147 -35 -225c0 -123 31 -233 138 -305l5 156l87 1l-3 -230l-132 -12c-142 94 -190 220 -190 383c0 102 19 207 54 307l269 12z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="433" 
+d="M66 -3l1 349l-1 338l256 12c53 -128 76 -241 76 -338c0 -148 -54 -268 -201 -359zM156 356l1 -281c100 58 145 142 145 269c0 77 -16 166 -53 266h-92z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="430" 
+d="M293 203l87 1l-2 -204h-312l2 352l-2 330l313 14l-2 -184l-87 -2l-1 102h-131v-216l163 6v-91l-163 4v-240l132 5z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="423" 
+d="M164 0h-98l3 335l-3 347l320 14l-2 -192l-87 -2l-1 107h-133v-238l167 5v-96l-167 4z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="436" 
+d="M367 6l-123 -12c-153 88 -209 216 -209 384c0 102 20 208 56 306l275 12l-2 -186l-89 -1l-1 101h-108c-23 -72 -35 -148 -35 -226c0 -126 33 -240 151 -314l-1 212l-69 3v77h199v-77l-41 -3z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="487" 
+d="M163 690v-293l81 3l81 -3l-1 293h98l-3 -342l3 -348h-98l1 307l-81 -3l-81 3v-307h-98l4 348l-4 342h98z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="228" 
+d="M65 690h99l-3 -338l2 -352h-98l2 352z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="404" 
+d="M46 220l88 2l6 -140c95 64 123 135 123 271c0 76 -8 180 -16 256h-105l-1 -131l-88 -1l-1 206l286 13c13 -115 21 -235 21 -324c0 -163 -23 -276 -189 -370l-117 -4z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="449" 
+d="M65 690h98v-318c123 94 138 183 138 317l96 2c0 -129 -9 -235 -115 -338l157 -353h-107l-125 291l-44 -29v-262h-98l4 348z" />
+    <glyph glyph-name="L" unicode="L" 
+d="M290 220l88 1l-2 -221h-310l3 246l-3 444h98l-2 -610l125 7z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="648" 
+d="M378 24l-112 -4l-63 300l-54 277l4 -597h-89l8 689l141 3l63 -314l49 -265l49 267l65 308l138 3l7 -691h-91l4 596l-55 -273z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="500" 
+d="M152 0h-89l5 688l123 5l160 -572l-5 569h88l-4 -689l-124 -4l-160 573z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="421" 
+d="M266 2l-113 -5c-84 96 -126 230 -126 349c0 121 44 243 128 343l113 4c84 -96 126 -230 126 -349c0 -121 -44 -243 -128 -342zM209 614c-56 -77 -84 -174 -84 -267c0 -100 31 -196 87 -271c55 76 84 172 84 268c0 100 -31 196 -87 270z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="410" 
+d="M161 611l-1 -310c89 32 128 100 128 194c0 36 -5 74 -16 116h-111zM164 0h-98l2 348l-2 336l285 12c20 -69 31 -133 31 -190c0 -141 -66 -239 -220 -295z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="426" 
+d="M237 2l-109 -6c-63 117 -101 239 -101 355c0 131 48 247 161 339l110 6c63 -118 100 -239 100 -355c0 -89 -22 -171 -71 -244l105 -167l-70 -55l-92 155c-11 -10 -21 -19 -33 -28zM172 186l70 53l30 -51c21 45 30 94 30 145c0 93 -30 190 -69 280
+c-77 -71 -109 -159 -109 -254c0 -93 30 -190 68 -280c11 10 21 20 30 30z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="424" 
+d="M160 0h-94l2 349l-2 335l281 12c18 -52 29 -109 29 -162c0 -82 -29 -148 -100 -200l131 -334h-106l-104 290c-12 -5 -25 -10 -38 -14zM158 613v-246c91 30 126 85 126 156c0 33 -8 65 -16 90h-110z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="363" 
+d="M42 214l88 4l9 -136c59 37 107 81 107 130c0 98 -213 116 -213 279c0 98 78 162 177 199l99 3l1 -194l-86 -1l-1 115c-59 -21 -97 -59 -97 -109c0 -107 212 -123 212 -280c0 -90 -71 -155 -178 -222l-106 -4z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="390" 
+d="M146 0l2 604l-141 -5v91h376v-91l-141 5l2 -604h-98z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="485" 
+d="M320 687l99 6c0 -10 -4 -245 -4 -349c0 -80 3 -150 20 -341l-98 -7l-12 168l-138 -162l-99 -6c-19 162 -20 263 -21 363l-2 328l100 6c0 -11 -2 -195 -2 -290c0 -136 4 -199 14 -294l143 156v422z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="430" 
+d="M114 690l101 -594l106 594h92l-136 -688l-130 -7l-129 695h96z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="620" 
+d="M509 690h90l-80 -690l-131 -1l-44 301l-37 271l-36 -272l-44 -299l-129 -1l-76 691h92l59 -597l35 262l46 309l115 3l44 -315l35 -259z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="428" 
+d="M414 690l-133 -332l140 -345l-94 -32l-116 312l-98 -293h-104l137 353l-135 325l94 32l110 -290l93 270h106z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="423" 
+d="M161 0l2 240l-158 439l95 28l114 -358l101 341h104l-162 -456l2 -234h-98z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="423" 
+d="M135 481l-84 2l5 200l313 15l7 -101l-252 -526l174 10l7 134l85 -1l-7 -214h-348l-6 84l260 528h-149z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="251" 
+d="M153 355l2 -365l89 -3v-84h-180l2 453l-2 431h180v-85l-89 -2z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="265" 
+d="M92 339l-76 422l95 12l64 -424l73 -420l-94 -12z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="251" 
+d="M98 335l-2 365l-89 3v84h180l-2 -453l2 -431h-180v85l89 2z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="392" 
+d="M38 421l113 322h89l114 -322l-78 -23l-81 256l-81 -256z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="301" 
+d="M294 -139h-287v89h287v-89z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="421" 
+d="M314 0l-32 183l-72 -2l-75 2l-34 -183h-94l138 688l137 7l132 -695h-100zM150 267l61 3l56 -2l-57 331z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="436" 
+d="M66 -2l3 360l-3 326l281 12c25 -48 42 -103 42 -152c0 -67 -30 -118 -76 -158c52 -47 88 -113 88 -183c0 -95 -68 -164 -212 -202zM302 209c0 49 -26 93 -64 128c-25 -13 -52 -24 -81 -33l1 -227c101 25 144 69 144 132zM158 610l-1 -224c75 28 134 71 134 139
+c0 31 -10 62 -20 85h-113z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="411" 
+d="M358 482l-87 -3l-1 130h-103c-22 -73 -35 -147 -35 -225c0 -123 31 -233 138 -305l5 156l87 1l-3 -230l-132 -12c-142 94 -190 220 -190 383c0 102 19 207 54 307l269 12z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="433" 
+d="M66 -3l1 349l-1 338l256 12c53 -128 76 -241 76 -338c0 -148 -54 -268 -201 -359zM156 356l1 -281c100 58 145 142 145 269c0 77 -16 166 -53 266h-92z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="430" 
+d="M293 203l87 1l-2 -204h-312l2 352l-2 330l313 14l-2 -184l-87 -2l-1 102h-131v-216l163 6v-91l-163 4v-240l132 5z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="423" 
+d="M164 0h-98l3 335l-3 347l320 14l-2 -192l-87 -2l-1 107h-133v-238l167 5v-96l-167 4z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="436" 
+d="M367 6l-123 -12c-153 88 -209 216 -209 384c0 102 20 208 56 306l275 12l-2 -186l-89 -1l-1 101h-108c-23 -72 -35 -148 -35 -226c0 -126 33 -240 151 -314l-1 212l-69 3v77h199v-77l-41 -3z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="487" 
+d="M163 690v-293l81 3l81 -3l-1 293h98l-3 -342l3 -348h-98l1 307l-81 -3l-81 3v-307h-98l4 348l-4 342h98z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="228" 
+d="M65 690h99l-3 -338l2 -352h-98l2 352z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="404" 
+d="M46 220l88 2l6 -140c95 64 123 135 123 271c0 76 -8 180 -16 256h-105l-1 -131l-88 -1l-1 206l286 13c13 -115 21 -235 21 -324c0 -163 -23 -276 -189 -370l-117 -4z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="449" 
+d="M65 690h98v-318c123 94 138 183 138 317l96 2c0 -129 -9 -235 -115 -338l157 -353h-107l-125 291l-44 -29v-262h-98l4 348z" />
+    <glyph glyph-name="l" unicode="l" 
+d="M290 220l88 1l-2 -221h-310l3 246l-3 444h98l-2 -610l125 7z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="648" 
+d="M378 24l-112 -4l-63 300l-54 277l4 -597h-89l8 689l141 3l63 -314l49 -265l49 267l65 308l138 3l7 -691h-91l4 596l-55 -273z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="500" 
+d="M152 0h-89l5 688l123 5l160 -572l-5 569h88l-4 -689l-124 -4l-160 573z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="421" 
+d="M266 2l-113 -5c-84 96 -126 230 -126 349c0 121 44 243 128 343l113 4c84 -96 126 -230 126 -349c0 -121 -44 -243 -128 -342zM209 614c-56 -77 -84 -174 -84 -267c0 -100 31 -196 87 -271c55 76 84 172 84 268c0 100 -31 196 -87 270z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="410" 
+d="M161 611l-1 -310c89 32 128 100 128 194c0 36 -5 74 -16 116h-111zM164 0h-98l2 348l-2 336l285 12c20 -69 31 -133 31 -190c0 -141 -66 -239 -220 -295z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="426" 
+d="M237 2l-109 -6c-63 117 -101 239 -101 355c0 131 48 247 161 339l110 6c63 -118 100 -239 100 -355c0 -89 -22 -171 -71 -244l105 -167l-70 -55l-92 155c-11 -10 -21 -19 -33 -28zM172 186l70 53l30 -51c21 45 30 94 30 145c0 93 -30 190 -69 280
+c-77 -71 -109 -159 -109 -254c0 -93 30 -190 68 -280c11 10 21 20 30 30z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="424" 
+d="M160 0h-94l2 349l-2 335l281 12c18 -52 29 -109 29 -162c0 -82 -29 -148 -100 -200l131 -334h-106l-104 290c-12 -5 -25 -10 -38 -14zM158 613v-246c91 30 126 85 126 156c0 33 -8 65 -16 90h-110z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="363" 
+d="M42 214l88 4l9 -136c59 37 107 81 107 130c0 98 -213 116 -213 279c0 98 78 162 177 199l99 3l1 -194l-86 -1l-1 115c-59 -21 -97 -59 -97 -109c0 -107 212 -123 212 -280c0 -90 -71 -155 -178 -222l-106 -4z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="390" 
+d="M146 0l2 604l-141 -5v91h376v-91l-141 5l2 -604h-98z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="485" 
+d="M320 687l99 6c0 -10 -4 -245 -4 -349c0 -80 3 -150 20 -341l-98 -7l-12 168l-138 -162l-99 -6c-19 162 -20 263 -21 363l-2 328l100 6c0 -11 -2 -195 -2 -290c0 -136 4 -199 14 -294l143 156v422z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="430" 
+d="M114 690l101 -594l106 594h92l-136 -688l-130 -7l-129 695h96z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="620" 
+d="M509 690h90l-80 -690l-131 -1l-44 301l-37 271l-36 -272l-44 -299l-129 -1l-76 691h92l59 -597l35 262l46 309l115 3l44 -315l35 -259z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="428" 
+d="M414 690l-133 -332l140 -345l-94 -32l-116 312l-98 -293h-104l137 353l-135 325l94 32l110 -290l93 270h106z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="423" 
+d="M161 0l2 240l-158 439l95 28l114 -358l101 341h104l-162 -456l2 -234h-98z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="423" 
+d="M135 481l-84 2l5 200l313 15l7 -101l-252 -526l174 10l7 134l85 -1l-7 -214h-348l-6 84l260 528h-149z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="242" 
+d="M208 799l41 -70c-74 -42 -91 -90 -91 -141c0 -40 10 -81 10 -122s-10 -82 -54 -121c44 -39 54 -80 54 -121s-10 -82 -10 -122c0 -51 17 -99 91 -141l-41 -70c-119 57 -141 124 -141 190c0 40 7 79 7 116c0 39 -8 75 -42 107v82c34 32 43 68 43 107c0 37 -8 77 -8 116
+c0 66 22 133 141 190z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="221" 
+d="M63 733h95l-2 -456l2 -475h-95l2 475z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="242" 
+d="M34 -109l-41 70c74 42 90 90 90 141c0 39 -10 79 -10 119c0 43 11 85 55 124c-44 40 -55 81 -55 124c0 40 10 80 10 119c0 51 -16 99 -90 141l41 70c119 -57 141 -124 141 -190c0 -39 -8 -79 -8 -116c0 -38 9 -75 42 -107v-82c-33 -32 -42 -68 -42 -107
+c0 -37 8 -76 8 -115c0 -67 -22 -134 -141 -191z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="392" 
+d="M325 413l57 -61c-36 -46 -71 -80 -118 -80c-57 0 -99 52 -138 52c-25 0 -41 -22 -59 -47l-57 60c36 47 71 81 118 81c57 0 99 -52 137 -52c25 0 42 21 60 47z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="202" 
+d="M143 465h-83l-4 225h90z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="214" 
+d="M172 595l-70 -51l-110 127l79 59z" />
+    <hkern u1="&#x22;" u2="&#x31;" k="50" />
+    <hkern u1="&#x28;" u2="q" k="20" />
+    <hkern u1="&#x28;" u2="o" k="20" />
+    <hkern u1="&#x28;" u2="Q" k="20" />
+    <hkern u1="&#x28;" u2="O" k="20" />
+    <hkern u1="&#x2a;" u2="&#x31;" k="50" />
+    <hkern u1="&#x31;" u2="&#x27;" k="62" />
+    <hkern u1="&#x31;" u2="y" k="30" />
+    <hkern u1="&#x31;" u2="w" k="34" />
+    <hkern u1="&#x31;" u2="v" k="34" />
+    <hkern u1="&#x31;" u2="t" k="25" />
+    <hkern u1="&#x31;" u2="g" k="25" />
+    <hkern u1="&#x31;" u2="c" k="25" />
+    <hkern u1="&#x31;" u2="Y" k="30" />
+    <hkern u1="&#x31;" u2="W" k="34" />
+    <hkern u1="&#x31;" u2="V" k="34" />
+    <hkern u1="&#x31;" u2="T" k="25" />
+    <hkern u1="&#x31;" u2="G" k="25" />
+    <hkern u1="&#x31;" u2="C" k="25" />
+    <hkern u1="&#x31;" u2="&#x2a;" k="62" />
+    <hkern u1="&#x31;" u2="&#x22;" k="62" />
+    <hkern u1="D" u2="&#x7d;" k="20" />
+    <hkern u1="D" u2="]" k="20" />
+    <hkern u1="D" u2="&#x31;" k="25" />
+    <hkern u1="D" u2="&#x29;" k="20" />
+    <hkern u1="F" u2="&#x31;" k="56" />
+    <hkern u1="J" u2="&#x7d;" k="20" />
+    <hkern u1="J" u2="]" k="20" />
+    <hkern u1="J" u2="&#x31;" k="25" />
+    <hkern u1="J" u2="&#x29;" k="20" />
+    <hkern u1="O" u2="&#x7d;" k="14" />
+    <hkern u1="O" u2="]" k="14" />
+    <hkern u1="O" u2="&#x31;" k="20" />
+    <hkern u1="O" u2="&#x29;" k="14" />
+    <hkern u1="P" u2="&#x31;" k="54" />
+    <hkern u1="S" u2="&#x31;" k="25" />
+    <hkern u1="T" u2="&#x31;" k="50" />
+    <hkern u1="V" u2="&#x31;" k="48" />
+    <hkern u1="W" u2="&#x31;" k="48" />
+    <hkern u1="Y" u2="&#x31;" k="41" />
+    <hkern u1="[" u2="q" k="20" />
+    <hkern u1="[" u2="o" k="20" />
+    <hkern u1="[" u2="Q" k="20" />
+    <hkern u1="[" u2="O" k="20" />
+    <hkern u1="d" u2="&#x7d;" k="20" />
+    <hkern u1="d" u2="]" k="20" />
+    <hkern u1="d" u2="&#x31;" k="25" />
+    <hkern u1="d" u2="&#x29;" k="20" />
+    <hkern u1="f" u2="&#x31;" k="56" />
+    <hkern u1="j" u2="&#x7d;" k="20" />
+    <hkern u1="j" u2="]" k="20" />
+    <hkern u1="j" u2="&#x31;" k="25" />
+    <hkern u1="j" u2="&#x29;" k="20" />
+    <hkern u1="o" u2="&#x7d;" k="14" />
+    <hkern u1="o" u2="]" k="14" />
+    <hkern u1="o" u2="&#x31;" k="20" />
+    <hkern u1="o" u2="&#x29;" k="14" />
+    <hkern u1="p" u2="&#x31;" k="54" />
+    <hkern u1="s" u2="&#x31;" k="25" />
+    <hkern u1="t" u2="&#x31;" k="50" />
+    <hkern u1="v" u2="&#x31;" k="48" />
+    <hkern u1="w" u2="&#x31;" k="48" />
+    <hkern u1="y" u2="&#x31;" k="41" />
+    <hkern u1="&#x7b;" u2="q" k="20" />
+    <hkern u1="&#x7b;" u2="o" k="20" />
+    <hkern u1="&#x7b;" u2="Q" k="20" />
+    <hkern u1="&#x7b;" u2="O" k="20" />
+    <hkern u1="&#x27;" u2="&#x31;" k="50" />
+    <hkern g1="C,c,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,uni0421"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="61" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="14" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="13" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="15" />
+    <hkern g1="G,g"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="10" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="51" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="8" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="67" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="19" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="X,x,uni0416,uni0425"
+	k="20" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="uni0423,Ucyrilbreve"
+	k="13" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="18" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="10" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="47" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="6" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="8" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="38" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="11" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="17" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="38" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="65" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="uni0423,Ucyrilbreve"
+	k="16" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="46" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="5" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="V,v"
+	k="33" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="W,w"
+	k="33" />
+    <hkern g1="uni0413,uni0403"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="57" />
+    <hkern g1="uni0413,uni0403"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="163" />
+    <hkern g1="uni0413,uni0403"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="115" />
+    <hkern g1="uni0413,uni0403"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="25" />
+    <hkern g1="uni0413,uni0403"
+	g2="uni041B,uni0409"
+	k="50" />
+    <hkern g1="P,p,uni0420"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="44" />
+    <hkern g1="P,p,uni0420"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="150" />
+    <hkern g1="P,p,uni0420"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="18" />
+    <hkern g1="P,p,uni0420"
+	g2="uni0423,Ucyrilbreve"
+	k="-4" />
+    <hkern g1="P,p,uni0420"
+	g2="uni041B,uni0409"
+	k="17" />
+    <hkern g1="P,p,uni0420"
+	g2="Oslash,Oslash.alt"
+	k="4" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="89" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="69" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="18" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="uni041B,uni0409"
+	k="37" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Oslash,Oslash.alt"
+	k="30" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	k="27" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="10" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="20" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="111" />
+    <hkern g1="uni0426,uni0429"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="10" />
+    <hkern g1="uni0426,uni0429"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="17" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="7" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="44" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="50" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="V,v"
+	k="37" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="W,w"
+	k="37" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="46" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="99" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="43" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="29" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="uni041B,uni0409"
+	k="42" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="88" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="89" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="91" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="99" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="28" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="V,v"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="W,w"
+	k="70" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="65" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="91" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="44" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="17" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="uni041B,uni0409"
+	k="51" />
+    <hkern g1="Oslash,Oslash.alt"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="58" />
+    <hkern g1="F,f"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="53" />
+    <hkern g1="F,f"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="156" />
+    <hkern g1="F,f"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="27" />
+    <hkern g1="F,f"
+	g2="Oslash,Oslash.alt"
+	k="34" />
+    <hkern g1="L,l"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="75" />
+    <hkern g1="L,l"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="L,l"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="123" />
+    <hkern g1="L,l"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="32" />
+    <hkern g1="L,l"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="75" />
+    <hkern g1="L,l"
+	g2="V,v"
+	k="48" />
+    <hkern g1="L,l"
+	g2="W,w"
+	k="48" />
+    <hkern g1="V,v"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="V,v"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="W,w"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="W,w"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="24" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="69" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="50" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="uni0423,Ucyrilbreve"
+	k="23" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="41" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="70" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/ZCSB.svg b/Tests/W3CTestSuite/resources/ZCSB.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3470f2578b61afcb6022bede389d28d988a1665b
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/ZCSB.svg
@@ -0,0 +1,2111 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20100429 at Wed Dec  8 16:10:27 2010
+ By Cameron McCormack
+Copyright (c) Tim Ahrens, 2003. All rights reserved.
+</metadata>
+<defs>
+<font id="ZCSB" horiz-adv-x="447" >
+  <font-face 
+    font-family="ZC"
+    font-weight="600"
+    font-variant="small-caps"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="0 0 7 0 0 0 0 0 0 0"
+    ascent="697"
+    descent="-303"
+    x-height="690"
+    cap-height="697"
+    bbox="-257 -293 1021 960"
+    underline-thickness="150"
+    underline-position="-150"
+    stemh="338"
+    stemv="424"
+    unicode-range="U+0020-F6C3"
+  />
+<missing-glyph horiz-adv-x="500" 
+d="M0 0v700h500v-700h-500zM250 395l170 255h-340zM280 350l170 -255v510zM80 50h340l-170 255zM50 605v-510l170 255z" />
+    <glyph glyph-name=".notdef" horiz-adv-x="500" 
+d="M0 0v700h500v-700h-500zM250 395l170 255h-340zM280 350l170 -255v510zM80 50h340l-170 255zM50 605v-510l170 255z" />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="178" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="258" 
+d="M66 704l147 9l-6 -243l1 -242l-137 -10v243zM230 13l-142 -28l-26 146l142 28z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="380" 
+d="M162 444h-110l-5 246h119zM328 444h-110l-4 246h119z" />
+    <glyph glyph-name="numbersign" unicode="#" horiz-adv-x="424" 
+d="M9 276h54l11 137h-50v108h58l12 169h117l-13 -169h52l13 169h116l-13 -169h49v-108h-57l-10 -137h51v-107h-59l-13 -169h-116l13 169h-52l-12 -169h-117l12 169h-46v107zM190 413l-10 -137h52l10 137h-52z" />
+    <glyph glyph-name="dollar" unicode="$" horiz-adv-x="424" 
+d="M294 765l-1 -119l72 2l1 -190l-120 -1l-2 84c-45 -12 -79 -40 -79 -67c0 -75 233 -84 233 -236c0 -60 -40 -106 -105 -151l1 -142h-148l1 91l-88 -2l-12 203l123 5l10 -99c48 23 88 50 88 78c0 71 -232 78 -232 236c0 67 44 116 112 154l-2 154h148z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="724" 
+d="M203 298l-121 -4c-41 60 -68 129 -68 199c0 75 31 143 101 196l121 4c42 -60 68 -130 68 -199c0 -75 -31 -143 -101 -196zM151 377c33 32 49 69 49 110c0 38 -14 79 -33 123c-33 -33 -48 -69 -48 -110c0 -38 13 -78 32 -123zM608 2l-121 -4c-41 59 -67 129 -67 198
+c0 75 30 143 100 196l122 5c41 -61 67 -130 67 -200c0 -75 -31 -142 -101 -195zM557 80c32 33 48 70 48 110c0 38 -14 79 -33 123c-33 -32 -48 -69 -48 -110c0 -37 13 -78 33 -123zM670 661l-277 -349l-242 -348l-96 65l275 347l243 350z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="604" 
+d="M442 466l100 -77l-145 -207l61 -84l17 117l106 -18l-35 -193l-141 -11l-76 93l-59 -84l-173 -10c-58 73 -80 133 -80 184c0 77 50 134 106 184c-36 59 -54 107 -54 152c0 58 29 110 91 175l170 11c55 -57 76 -106 76 -150c0 -78 -65 -138 -129 -196l46 -68zM159 184
+c0 -27 11 -58 38 -94l57 88l-65 85c-18 -25 -30 -51 -30 -79zM201 525c0 -22 6 -46 21 -78c29 29 49 58 49 90c0 22 -8 46 -28 72c-29 -29 -42 -53 -42 -84z" />
+    <glyph glyph-name="quoteright" unicode="&#x2019;" horiz-adv-x="219" 
+d="M50 742l126 4l-18 -218l-111 -1z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="269" 
+d="M274 -51l-121 -62c-82 154 -123 308 -123 459c0 156 43 309 127 457l117 -61c-66 -123 -99 -260 -99 -397c0 -136 33 -273 99 -396z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="269" 
+d="M-4 741l120 62c82 -154 123 -307 123 -459c0 -156 -43 -309 -128 -457l-116 61c66 123 100 260 100 397s-34 273 -99 396z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="366" 
+d="M319 431l-86 -51l-50 117l-50 -118l-86 52l76 112l-108 34l40 96l91 -54l-14 143h102l-14 -143l91 54l40 -96l-108 -34z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="377" 
+d="M360 274l-109 4l4 -163h-132l4 163l-109 -4v142l109 -4l-4 163h132l-4 -163l109 4v-142z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="217" 
+d="M50 130l124 3l-17 -242l-110 -2z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="238" 
+d="M119 285l-104 -4v128l104 -4l104 4v-128z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="229" 
+d="M197 18l-139 -33l-26 143l140 33z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="271" 
+d="M264 767l-71 -430l-52 -429l-134 14l67 427l56 433z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="417" 
+d="M247 2l-136 -6c-64 112 -104 233 -104 353c0 132 50 248 162 341l137 6c63 -113 103 -234 103 -353c0 -132 -49 -249 -162 -341zM190 99c67 66 100 144 100 235c0 84 -28 173 -64 259c-67 -66 -100 -144 -100 -235c0 -84 29 -173 64 -259zM285 315l-112 -46l-40 105
+l112 46z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="346" 
+d="M103 688l140 6l-2 -411v-161l104 -3v-119h-344v119l104 3v161z" />
+    <glyph glyph-name="two" unicode="2" horiz-adv-x="424" 
+d="M55 460l4 223l170 14c107 -69 148 -140 148 -214c0 -125 -117 -252 -233 -382l131 9l5 110l120 2l-4 -222h-375l-6 126c156 178 226 264 226 341c0 43 -22 77 -66 112l-4 -119h-116z" />
+    <glyph glyph-name="three" unicode="3" horiz-adv-x="424" 
+d="M378 562l-93 -152c79 -52 111 -109 111 -168c0 -100 -90 -193 -183 -240l-159 -4l-9 224l120 4l7 -122c49 24 90 68 90 120c0 46 -35 94 -129 149l124 207h-99l-4 -103l-117 2l2 202l336 17z" />
+    <glyph glyph-name="four" unicode="4" horiz-adv-x="424" 
+d="M222 503h126l-3 -251l82 2v-118l-80 2l2 -138h-128l2 138l-213 -2l-5 109l127 463l122 -37l-121 -420l92 -1z" />
+    <glyph glyph-name="five" unicode="5" horiz-adv-x="424" 
+d="M362 497l-122 -1l-3 81h-73l-3 -118c173 -49 240 -131 240 -219c0 -89 -69 -175 -187 -238l-160 -5l-8 221l119 4l7 -118c60 32 95 75 95 120c0 61 -65 104 -219 144l6 315l307 14z" />
+    <glyph glyph-name="six" unicode="6" horiz-adv-x="424" 
+d="M253 675c-55 -106 -89 -209 -96 -314l104 94l105 9c26 -67 40 -147 40 -204c0 -116 -55 -200 -153 -258l-148 -5c-54 103 -77 210 -77 315c0 140 41 266 99 397zM264 344l-105 -91c6 -52 20 -103 42 -153c57 41 79 89 79 151c0 28 -6 62 -16 93z" />
+    <glyph glyph-name="seven" unicode="7" horiz-adv-x="424" 
+d="M150 454l-119 1l4 226l364 18l6 -135l-195 -587l-135 39l198 556h-117z" />
+    <glyph glyph-name="eight" unicode="8" horiz-adv-x="424" 
+d="M21 195c0 55 23 118 79 174c-41 34 -73 75 -73 133c0 68 46 130 127 186l140 10c58 -50 90 -108 90 -173c0 -50 -18 -107 -70 -164c52 -34 96 -78 96 -152c0 -84 -59 -155 -138 -207l-155 -10c-56 54 -96 130 -96 203zM273 190c0 45 -34 78 -77 109
+c-34 -36 -45 -74 -45 -102c0 -39 19 -79 53 -112c46 30 69 65 69 105zM151 511c0 -41 32 -69 73 -95c24 28 35 63 35 91c0 34 -16 71 -46 100c-43 -28 -62 -61 -62 -96z" />
+    <glyph glyph-name="nine" unicode="9" horiz-adv-x="424" 
+d="M160 12c59 108 97 215 105 325l-103 -91l-106 -9c-24 60 -38 137 -38 194c0 118 59 201 157 257l149 4c49 -101 71 -202 71 -302c0 -144 -45 -275 -108 -409zM145 436c0 -32 6 -55 14 -81l105 90c-6 49 -18 97 -37 145c-61 -41 -82 -89 -82 -154z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="212" 
+d="M187 161l-135 -32l-24 138l134 32zM187 423l-135 -32l-24 138l134 32z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="229" 
+d="M197 324l-134 -32l-25 138l135 32zM60 130l125 3l-18 -242l-109 -2z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="377" 
+d="M272 121l-241 161v126l241 161l74 -106l-202 -117l202 -118z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="377" 
+d="M351 379l-162 4l-163 -4v124l163 -4l162 4v-124zM351 187l-162 4l-163 -4v125l163 -4l162 4v-125z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="377" 
+d="M105 569l242 -161v-126l-242 -161l-73 106l201 117l-201 118z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="343" 
+d="M54 594l18 143c194 -22 267 -106 267 -204c0 -128 -130 -157 -130 -241c0 -23 10 -64 19 -85l-131 -40c-18 41 -28 97 -28 135c0 133 124 156 124 216c0 35 -36 61 -139 76zM258 12l-139 -26l-22 125l138 27z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="626" 
+d="M574 176l36 -91c-72 -38 -166 -66 -255 -66c-169 0 -337 101 -337 330c0 217 150 321 311 321c177 0 282 -126 282 -265c0 -134 -97 -237 -229 -237c-120 0 -194 84 -194 180c0 82 52 152 148 152c59 0 105 -26 133 -91l-75 -47c-14 23 -32 36 -52 36
+c-27 0 -45 -25 -45 -56c0 -38 28 -69 79 -69c59 0 116 38 116 122c0 89 -65 161 -165 161c-111 0 -191 -90 -191 -207c0 -123 89 -228 238 -228c66 0 138 21 200 55z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="448" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM176 270l47 3l43 -3l-43 300z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="457" 
+d="M52 -2l3 359l-3 326l325 15c26 -51 44 -110 44 -161c0 -63 -26 -112 -68 -152c49 -48 80 -110 80 -177c0 -94 -62 -162 -200 -207zM291 217c0 37 -17 70 -44 97c-21 -10 -43 -19 -67 -28l2 -181c76 23 109 60 109 112zM182 579l-2 -182c57 25 102 58 102 112
+c0 25 -7 51 -14 70h-86z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-194 -14c-125 98 -168 222 -168 377c0 104 19 210 55 313l310 14z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="452" 
+d="M52 -3l1 349l-2 337l300 14c52 -124 75 -235 75 -334c0 -146 -49 -267 -182 -363zM180 356l1 -253c75 51 109 127 109 238c0 69 -13 148 -42 236h-68v-221z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="441" 
+d="M192 0h-141l4 337l-3 344l362 17l-2 -215l-125 -4l-1 96h-95v-193l167 7v-136l-167 4z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="457" 
+d="M400 7l-177 -14c-143 89 -198 219 -198 381c0 100 21 207 56 309l318 14l-2 -204l-128 -2l-1 86h-81c-17 -62 -27 -129 -27 -195c0 -112 28 -217 119 -283v171l-59 3v109h222v-110l-39 -2z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="500" 
+d="M191 690l-1 -273l60 4l60 -4l-1 273h141l-5 -342l5 -348h-141l1 285l-60 -4l-60 4l1 -285h-141l5 348l-5 342h141z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="433" 
+d="M40 243l125 3l6 -130c69 58 90 122 90 238c0 66 -6 156 -12 221h-77l-2 -119l-126 -1l-2 226l337 16c11 -112 19 -233 19 -317c0 -166 -24 -283 -184 -378l-168 -4z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="471" 
+d="M50 690h141l-1 -294c92 82 105 169 105 292l139 4c0 -131 -7 -238 -101 -341l139 -351h-153l-93 260c-11 -8 -23 -16 -36 -23l1 -237h-141l5 349z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="426" 
+d="M285 239l126 1l-2 -240h-358l4 259l-4 431h141l-2 -576l92 6z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="678" 
+d="M414 26l-156 -4l-48 283l-43 258l5 -563h-124l10 688l199 4l46 -286l38 -252l37 254l48 279l194 4l10 -691h-128l5 562l-43 -253z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="514" 
+d="M170 0h-123l6 688l172 5l124 -528l-8 525h122l-6 -689l-171 -4l-125 531z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="445" 
+d="M305 2l-167 -4c-78 94 -118 232 -118 350c0 119 42 244 120 341l166 4c78 -95 119 -233 119 -350c0 -120 -42 -244 -120 -341zM219 580c-40 -70 -60 -153 -60 -232c0 -88 23 -168 67 -238c39 69 59 152 59 233c0 88 -23 169 -66 237z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="435" 
+d="M186 578v-263c68 29 98 85 98 162c0 31 -5 64 -14 101h-84zM192 0h-141l3 348l-3 335l331 14c21 -77 34 -146 34 -205c0 -143 -67 -242 -226 -305z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="445" 
+d="M427 344c0 -91 -22 -175 -70 -249l104 -155l-124 -79l-89 141l-129 -6c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352zM210 115c57 63 79 138 79 217c0 81 -22 163 -52 245c-56 -63 -78 -137 -78 -218c0 -80 21 -163 51 -244z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="444" 
+d="M185 0h-134l3 349l-3 334l328 14c17 -54 29 -116 29 -173c0 -79 -24 -142 -86 -194l119 -330h-149l-80 265l-28 -11zM183 581l-2 -199c71 27 97 71 97 126c0 26 -5 54 -11 73h-84z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="380" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="404" 
+d="M132 0l3 562l-131 -5v133h396v-133l-131 5l3 -562h-140z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="448" 
+d="M149 690l75 -558l84 558h130l-125 -688l-187 -7l-116 695h139z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="654" 
+d="M514 690h125l-67 -690l-188 -1l-33 281l-27 252l-26 -253l-34 -279l-184 -1l-65 691h129l43 -566l26 244l35 289l162 3l34 -295l25 -241z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="456" 
+d="M452 690l-124 -337l129 -335l-136 -42l-95 291l-75 -267h-149l126 352l-125 321l136 42l90 -275l73 250h150z" />
+    <glyph glyph-name="Y" unicode="Y" 
+d="M151 0l2 237l-158 436l138 40l94 -324l78 301h148l-164 -464l3 -226h-141z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="439" 
+d="M160 462l-118 2l5 217l346 18l6 -151l-243 -447l133 9l6 120h120l-6 -230h-381l-6 124l256 456h-113z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="265" 
+d="M173 351l2 -329l86 -2v-118h-212l3 450l-3 436h212v-118l-86 -2z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="271" 
+d="M78 337l-71 430l134 15l55 -433l68 -427l-134 -14z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="265" 
+d="M92 339l-2 329l-86 2v118h212l-3 -450l3 -436h-212v118l86 2z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="377" 
+d="M20 428l107 315h123l108 -315l-108 -30l-63 222l-61 -222z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="305" 
+d="M302 -165h-298v124h298v-124z" />
+    <glyph glyph-name="quoteleft" unicode="&#x2018;" horiz-adv-x="219" 
+d="M170 531l-126 -4l18 217l110 2z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="448" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM176 270l47 3l43 -3l-43 300z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="457" 
+d="M52 -2l3 359l-3 326l325 15c26 -51 44 -110 44 -161c0 -63 -26 -112 -68 -152c49 -48 80 -110 80 -177c0 -94 -62 -162 -200 -207zM291 217c0 37 -17 70 -44 97c-21 -10 -43 -19 -67 -28l2 -181c76 23 109 60 109 112zM182 579l-2 -182c57 25 102 58 102 112
+c0 25 -7 51 -14 70h-86z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-194 -14c-125 98 -168 222 -168 377c0 104 19 210 55 313l310 14z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="452" 
+d="M52 -3l1 349l-2 337l300 14c52 -124 75 -235 75 -334c0 -146 -49 -267 -182 -363zM180 356l1 -253c75 51 109 127 109 238c0 69 -13 148 -42 236h-68v-221z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="441" 
+d="M192 0h-141l4 337l-3 344l362 17l-2 -215l-125 -4l-1 96h-95v-193l167 7v-136l-167 4z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="457" 
+d="M400 7l-177 -14c-143 89 -198 219 -198 381c0 100 21 207 56 309l318 14l-2 -204l-128 -2l-1 86h-81c-17 -62 -27 -129 -27 -195c0 -112 28 -217 119 -283v171l-59 3v109h222v-110l-39 -2z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="500" 
+d="M191 690l-1 -273l60 4l60 -4l-1 273h141l-5 -342l5 -348h-141l1 285l-60 -4l-60 4l1 -285h-141l5 348l-5 342h141z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="433" 
+d="M40 243l125 3l6 -130c69 58 90 122 90 238c0 66 -6 156 -12 221h-77l-2 -119l-126 -1l-2 226l337 16c11 -112 19 -233 19 -317c0 -166 -24 -283 -184 -378l-168 -4z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="471" 
+d="M50 690h141l-1 -294c92 82 105 169 105 292l139 4c0 -131 -7 -238 -101 -341l139 -351h-153l-93 260c-11 -8 -23 -16 -36 -23l1 -237h-141l5 349z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="426" 
+d="M285 239l126 1l-2 -240h-358l4 259l-4 431h141l-2 -576l92 6z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="678" 
+d="M414 26l-156 -4l-48 283l-43 258l5 -563h-124l10 688l199 4l46 -286l38 -252l37 254l48 279l194 4l10 -691h-128l5 562l-43 -253z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="514" 
+d="M170 0h-123l6 688l172 5l124 -528l-8 525h122l-6 -689l-171 -4l-125 531z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="445" 
+d="M305 2l-167 -4c-78 94 -118 232 -118 350c0 119 42 244 120 341l166 4c78 -95 119 -233 119 -350c0 -120 -42 -244 -120 -341zM219 580c-40 -70 -60 -153 -60 -232c0 -88 23 -168 67 -238c39 69 59 152 59 233c0 88 -23 169 -66 237z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="435" 
+d="M186 578v-263c68 29 98 85 98 162c0 31 -5 64 -14 101h-84zM192 0h-141l3 348l-3 335l331 14c21 -77 34 -146 34 -205c0 -143 -67 -242 -226 -305z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="445" 
+d="M427 344c0 -91 -22 -175 -70 -249l104 -155l-124 -79l-89 141l-129 -6c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352zM210 115c57 63 79 138 79 217c0 81 -22 163 -52 245c-56 -63 -78 -137 -78 -218c0 -80 21 -163 51 -244z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="444" 
+d="M185 0h-134l3 349l-3 334l328 14c17 -54 29 -116 29 -173c0 -79 -24 -142 -86 -194l119 -330h-149l-80 265l-28 -11zM183 581l-2 -199c71 27 97 71 97 126c0 26 -5 54 -11 73h-84z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="380" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="404" 
+d="M132 0l3 562l-131 -5v133h396v-133l-131 5l3 -562h-140z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="448" 
+d="M149 690l75 -558l84 558h130l-125 -688l-187 -7l-116 695h139z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="654" 
+d="M514 690h125l-67 -690l-188 -1l-33 281l-27 252l-26 -253l-34 -279l-184 -1l-65 691h129l43 -566l26 244l35 289l162 3l34 -295l25 -241z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="456" 
+d="M452 690l-124 -337l129 -335l-136 -42l-95 291l-75 -267h-149l126 352l-125 321l136 42l90 -275l73 250h150z" />
+    <glyph glyph-name="y" unicode="y" 
+d="M151 0l2 237l-158 436l138 40l94 -324l78 301h148l-164 -464l3 -226h-141z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="439" 
+d="M160 462l-118 2l5 217l346 18l6 -151l-243 -447l133 9l6 120h120l-6 -230h-381l-6 124l256 456h-113z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="254" 
+d="M210 806l58 -96c-67 -39 -82 -83 -82 -129c0 -39 11 -78 11 -118s-12 -80 -61 -118c49 -38 61 -78 61 -119c0 -39 -11 -78 -11 -117c0 -46 15 -90 82 -129l-58 -96c-129 60 -152 129 -152 196c0 38 7 75 7 110c0 37 -8 71 -45 100v110c37 29 45 63 45 100
+c0 35 -7 72 -7 110c0 67 23 137 152 196z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="228" 
+d="M48 736h132l-3 -453l3 -476h-132l4 476z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="254" 
+d="M44 -116l-57 96c65 39 80 83 80 129c0 38 -10 77 -10 115c0 42 12 82 61 121c-49 39 -61 79 -61 121c0 38 10 77 10 115c0 46 -15 90 -80 129l57 96c129 -60 152 -129 152 -196c0 -37 -7 -75 -7 -109c0 -38 8 -72 44 -101v-110c-36 -29 -44 -63 -44 -101
+c0 -34 7 -71 7 -109c0 -67 -23 -137 -152 -196z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="377" 
+d="M304 434l78 -89c-47 -55 -86 -90 -134 -90c-53 0 -90 46 -120 46c-20 0 -34 -19 -55 -45l-77 89c47 55 86 90 133 90c53 0 90 -46 121 -46c19 0 33 18 54 45z" />
+    <glyph glyph-name="exclamdown" unicode="&#xa1;" horiz-adv-x="258" 
+d="M193 -14l-148 -9l6 243l-1 242l138 10l-1 -243zM29 677l141 28l26 -146l-142 -28z" />
+    <glyph glyph-name="cent" unicode="&#xa2;" horiz-adv-x="424" 
+d="M368 313l-2 -219l-56 -3l2 -146h-147l2 157c-85 69 -139 164 -139 264c0 93 47 176 139 227l-2 172h147l-2 -149l62 2l-3 -210l-119 -1l-2 95c-60 -24 -89 -68 -89 -128c0 -68 36 -127 86 -165l3 105z" />
+    <glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="424" 
+d="M16 288v115l48 -2c5 135 39 222 126 287l176 4l1 -185l-121 -3l-1 76c-34 -32 -48 -81 -50 -180l102 5v-116l-105 1c-4 -60 -13 -120 -29 -180l116 7l4 97h120l-1 -214h-362l-13 118c19 58 29 113 34 171z" />
+    <glyph glyph-name="fraction" unicode="&#x2044;" horiz-adv-x="101" 
+d="M358 661l-277 -349l-242 -348l-96 65l275 347l244 350z" />
+    <glyph glyph-name="yen" unicode="&#xa5;" horiz-adv-x="424" 
+d="M419 254v-99h-121c-28 -68 -63 -131 -104 -190l-115 73c28 41 51 79 71 117h-130v99h176l6 15l-81 -14l-13 46h-89v100h61l-77 279l148 23l75 -351c22 92 29 197 26 336l140 10c2 -106 -5 -205 -22 -297h49v-100h-71c-4 -16 -9 -32 -14 -47h85z" />
+    <glyph glyph-name="florin" unicode="&#x192;" horiz-adv-x="422" 
+d="M204 -185l-146 -19c0 20 14 130 14 291v273l-70 -2v119l71 -3v18c0 103 26 178 130 242l158 4l-1 -175l-106 -4l-1 75c-47 -30 -56 -58 -56 -123v-38l109 5v-119h-104v-273c0 -137 2 -249 2 -271z" />
+    <glyph glyph-name="section" unicode="&#xa7;" horiz-adv-x="400" 
+d="M153 90l7 -99c40 25 76 57 76 91c0 72 -221 67 -221 224c0 47 24 91 66 128c-27 26 -47 60 -47 108c0 75 48 131 144 178l172 3l1 -177l-120 -1l-3 85c-40 -15 -66 -42 -66 -72c0 -73 217 -81 217 -238c0 -48 -22 -88 -57 -124c26 -23 44 -53 44 -96
+c0 -83 -68 -150 -148 -200l-179 -5l-10 192zM144 324c0 -32 35 -49 77 -69c18 16 30 31 30 49c0 31 -36 49 -78 71c-17 -15 -29 -33 -29 -51z" />
+    <glyph glyph-name="currency" unicode="&#xa4;" horiz-adv-x="424" 
+d="M444 557l-77 -89c11 -30 17 -66 17 -107c0 -42 -6 -79 -18 -110l79 -91l-83 -85l-73 85c-23 -12 -49 -18 -79 -18c-29 0 -54 6 -76 17l-70 -86l-84 87l76 91c-11 30 -16 66 -16 107c0 42 6 79 17 110l-77 90l83 86l71 -85c23 12 49 18 79 18c29 0 55 -5 77 -16l69 82z
+M269 361c0 69 -18 106 -56 106c-40 0 -58 -41 -58 -107c0 -68 18 -108 57 -108c40 0 57 43 57 109z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="214" 
+d="M162 444h-110l-5 246h119z" />
+    <glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="374" 
+d="M325 531l-126 -4l18 217l110 2zM170 531l-126 -4l18 217l110 2z" />
+    <glyph glyph-name="guillemotleft" unicode="&#xab;" horiz-adv-x="432" 
+d="M121 565l106 -38l-74 -176l74 -190l-106 -36l-106 223zM306 565l106 -38l-74 -176l74 -190l-106 -36l-106 223z" />
+    <glyph glyph-name="guilsinglleft" unicode="&#x2039;" horiz-adv-x="252" 
+d="M122 574l109 -40l-73 -183l73 -198l-109 -37l-107 231z" />
+    <glyph glyph-name="guilsinglright" unicode="&#x203a;" horiz-adv-x="252" 
+d="M130 116l-110 40l74 183l-74 198l110 37l107 -231z" />
+    <glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="477" 
+d="M239 285l-224 -4v128l224 -4l223 4v-128z" />
+    <glyph glyph-name="dagger" unicode="&#x2020;" horiz-adv-x="367" 
+d="M251 710l-4 -211h116v-117h-115l3 -94l-11 -332h-113l-12 332l4 94h-115v117h116l-5 211h136z" />
+    <glyph glyph-name="daggerdbl" unicode="&#x2021;" horiz-adv-x="371" 
+d="M118 -82l3 177h-117v116h116l-2 103l2 103h-116v116h117l-3 177h136l-5 -177h118v-116h-116l2 -103l-2 -103h116v-116h-118l5 -177h-136z" />
+    <glyph glyph-name="periodcentered" unicode="&#xb7;" horiz-adv-x="223" 
+d="M191 292l-134 -32l-25 138l135 32z" />
+    <glyph glyph-name="paragraph" unicode="&#xb6;" horiz-adv-x="611" 
+d="M563 0h-126v582h-75v-582h-126v237c-159 67 -223 150 -223 270c0 51 13 115 34 183h516v-690zM144 516c0 -59 29 -110 92 -140v206h-81c-7 -22 -11 -45 -11 -66z" />
+    <glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="296" 
+d="M277 248l-219 -50l-39 223l218 51z" />
+    <glyph glyph-name="quotesinglbase" unicode="&#x201a;" horiz-adv-x="219" 
+d="M50 127l126 3l-18 -216l-111 -1z" />
+    <glyph glyph-name="quotedblbase" unicode="&#x201e;" horiz-adv-x="374" 
+d="M50 127l126 4l-18 -217l-111 -2zM205 127l125 4l-17 -217l-111 -2z" />
+    <glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="374" 
+d="M50 742l126 4l-18 -218l-111 -1zM205 742l125 4l-17 -218l-111 -1z" />
+    <glyph glyph-name="guillemotright" unicode="&#xbb;" horiz-adv-x="432" 
+d="M311 125l-106 38l74 176l-74 190l106 36l106 -223zM126 125l-106 38l74 176l-74 190l106 36l106 -223z" />
+    <glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="952" 
+d="M251 18l-139 -33l-26 143l140 33zM587 18l-140 -33l-25 143l140 33zM922 18l-139 -33l-26 143l140 33z" />
+    <glyph glyph-name="perthousand" unicode="&#x2030;" horiz-adv-x="1036" 
+d="M203 298l-121 -4c-41 60 -68 129 -68 199c0 75 31 143 101 196l121 4c42 -60 68 -130 68 -199c0 -75 -31 -143 -101 -196zM151 377c33 32 49 69 49 110c0 38 -14 79 -33 123c-33 -33 -48 -69 -48 -110c0 -38 13 -78 32 -123zM608 2l-121 -4c-41 59 -67 129 -67 198
+c0 75 30 143 100 196l122 5c41 -61 67 -130 67 -200c0 -75 -31 -142 -101 -195zM557 80c32 33 48 70 48 110c0 38 -14 79 -33 123c-33 -32 -48 -69 -48 -110c0 -37 13 -78 33 -123zM920 2l-121 -4c-41 59 -68 129 -68 198c0 75 31 143 101 196l121 5c42 -61 68 -130 68 -200
+c0 -75 -31 -142 -101 -195zM868 80c33 33 49 70 49 110c0 38 -14 79 -33 123c-33 -32 -48 -69 -48 -110c0 -37 13 -78 32 -123zM670 661l-277 -349l-242 -348l-96 65l275 347l243 350z" />
+    <glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="343" 
+d="M288 96l-17 -143c-194 22 -268 106 -268 204c0 128 130 157 130 241c0 23 -9 64 -18 85l131 40c18 -41 28 -97 28 -135c0 -133 -125 -156 -125 -216c0 -35 36 -61 139 -76zM85 678l138 26l22 -125l-137 -27z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="207" 
+d="M187 604l-99 -71l-121 142l110 79z" />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="207" 
+d="M120 533l-99 71l109 150l111 -79z" />
+    <glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="207" 
+d="M-52 610l157 163l155 -161l-86 -68l-71 83l-71 -84z" />
+    <glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="207" 
+d="M218 721l61 -79c-39 -45 -73 -75 -124 -75c-49 0 -80 27 -110 27c-23 0 -37 -15 -56 -34l-61 79c40 45 73 74 124 74c49 0 80 -27 110 -27c23 0 37 15 56 35z" />
+    <glyph glyph-name="macron" unicode="&#xaf;" horiz-adv-x="207" 
+d="M260 583h-312v114h312v-114z" />
+    <glyph glyph-name="breve" unicode="&#x2d8;" horiz-adv-x="207" 
+d="M152 717h115c-4 -112 -70 -161 -165 -161c-97 0 -156 51 -162 161h115c2 -44 16 -71 49 -71s47 25 48 71z" />
+    <glyph glyph-name="dotaccent" unicode="&#x2d9;" horiz-adv-x="207" 
+d="M193 617l-137 -48l-41 124l137 49z" />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="207" 
+d="M92 596l-134 -31l-28 126l134 32zM278 596l-134 -31l-28 126l134 32z" />
+    <glyph glyph-name="ring" unicode="&#x2da;" horiz-adv-x="207" 
+d="M236 676c0 -72 -56 -120 -132 -120s-132 48 -132 120c0 71 55 119 132 119c76 0 132 -48 132 -119zM144 676c0 26 -17 42 -40 42c-24 0 -40 -18 -40 -43c0 -26 17 -42 40 -42s40 17 40 43z" />
+    <glyph glyph-name="cedilla" unicode="&#xb8;" horiz-adv-x="207" 
+d="M55 86l89 -9l-13 -110c80 -22 109 -69 109 -115c0 -63 -54 -113 -195 -145l-25 89c91 15 108 26 108 46c0 17 -16 35 -98 52z" />
+    <glyph glyph-name="hungarumlaut" unicode="&#x2dd;" horiz-adv-x="207" 
+d="M32 533l-97 60l122 199l107 -67zM220 533l-96 60l122 199l107 -67z" />
+    <glyph glyph-name="ogonek" unicode="&#x2db;" horiz-adv-x="207" 
+d="M169 -111l60 -63c-32 -40 -71 -57 -121 -57c-85 0 -129 47 -129 110c0 48 24 88 107 143l105 -22c-80 -42 -110 -74 -110 -109c0 -22 9 -37 33 -37c21 0 39 12 55 35z" />
+    <glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="207" 
+d="M260 684l-157 -163l-155 161l86 68l71 -82l71 83z" />
+    <glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="947" 
+d="M474 285l-459 -4v128l459 -4l458 4v-128z" />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="657" 
+d="M301 0l-18 150l-61 -3l-65 3l-28 -150h-132l143 679l-3 2l439 17l21 -196l-128 -3l-12 78h-98l23 -164l173 7l7 -126l-163 3l26 -187l94 4l-10 100l127 4l22 -218h-357zM179 270l46 3l44 -3l-36 299z" />
+    <glyph glyph-name="ordfeminine" unicode="&#xaa;" horiz-adv-x="362" 
+d="M336 407l-113 -10l-5 61l-60 -54l-108 -4c-17 48 -27 100 -27 148c0 83 30 155 141 207l156 4l2 -169c2 -107 12 -170 14 -183zM207 555l-2 109c-51 -27 -66 -63 -66 -105c0 -17 3 -39 8 -56zM332 274l-153 4l-149 -4v95l149 -3l153 3v-95z" />
+    <glyph glyph-name="Lslash" unicode="&#x141;" horiz-adv-x="426" 
+d="M285 239l126 1l-2 -240h-358l4 259v31l-49 -22l-41 112l88 40l-2 270h141l-1 -208l79 35l41 -111l-120 -55l-1 -237l92 6z" />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="458" 
+d="M305 2l-154 -4l-7 8l-34 -81l-113 53l73 152c-30 71 -45 147 -45 218c0 119 45 243 128 341l154 4l7 -8l33 81l114 -53l-73 -152c30 -71 45 -148 45 -218c0 -120 -45 -243 -128 -341zM303 343c0 10 0 20 -1 30l-99 -225c9 -16 18 -31 29 -46c47 72 71 158 71 241z
+M226 589c-47 -72 -71 -158 -71 -241c0 -11 0 -20 1 -30l98 225c-8 16 -17 31 -28 46z" />
+    <glyph glyph-name="OE" unicode="&#x152;" horiz-adv-x="662" 
+d="M494 214l127 3l-1 -217h-487c-68 109 -113 227 -113 348c0 126 49 242 149 333l451 17l-1 -196l-128 -3v79h-102c14 -52 25 -107 29 -164l151 6v-124l-151 3c-5 -67 -18 -131 -43 -190l117 4zM228 114c40 66 57 151 57 231c0 82 -18 153 -40 231
+c-56 -62 -85 -136 -85 -217c0 -80 28 -164 68 -245z" />
+    <glyph glyph-name="ordmasculine" unicode="&#xba;" horiz-adv-x="351" 
+d="M314 274l-138 4l-145 -4v95l145 -3l138 3v-95zM216 405l-134 -7c-34 54 -59 117 -59 179c0 67 30 129 112 176l135 8c33 -55 59 -117 59 -181c0 -67 -31 -129 -113 -175zM166 488c34 23 45 49 45 78c0 30 -11 70 -25 104c-34 -22 -46 -49 -46 -78c0 -31 11 -69 26 -104z
+" />
+    <glyph glyph-name="ae" unicode="&#xe6;" horiz-adv-x="657" 
+d="M301 0l-18 150l-61 -3l-65 3l-28 -150h-132l143 679l-3 2l439 17l21 -196l-128 -3l-12 78h-98l23 -164l173 7l7 -126l-163 3l26 -187l94 4l-10 100l127 4l22 -218h-357zM179 270l46 3l44 -3l-36 299z" />
+    <glyph glyph-name="lslash" unicode="&#x142;" horiz-adv-x="426" 
+d="M285 239l126 1l-2 -240h-358l4 259v31l-49 -22l-41 112l88 40l-2 270h141l-1 -208l79 35l41 -111l-120 -55l-1 -237l92 6z" />
+    <glyph glyph-name="oslash" unicode="&#xf8;" horiz-adv-x="458" 
+d="M305 2l-154 -4l-7 8l-34 -81l-113 53l73 152c-30 71 -45 147 -45 218c0 119 45 243 128 341l154 4l7 -8l33 81l114 -53l-73 -152c30 -71 45 -148 45 -218c0 -120 -45 -243 -128 -341zM303 343c0 10 0 20 -1 30l-99 -225c9 -16 18 -31 29 -46c47 72 71 158 71 241z
+M226 589c-47 -72 -71 -158 -71 -241c0 -11 0 -20 1 -30l98 225c-8 16 -17 31 -28 46z" />
+    <glyph glyph-name="oe" unicode="&#x153;" horiz-adv-x="662" 
+d="M494 214l127 3l-1 -217h-487c-68 109 -113 227 -113 348c0 126 49 242 149 333l451 17l-1 -196l-128 -3v79h-102c14 -52 25 -107 29 -164l151 6v-124l-151 3c-5 -67 -18 -131 -43 -190l117 4zM228 114c40 66 57 151 57 231c0 82 -18 153 -40 231
+c-56 -62 -85 -136 -85 -217c0 -80 28 -164 68 -245z" />
+    <glyph glyph-name="germandbls" unicode="&#xdf;" horiz-adv-x="753" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6zM404 225l123 4l9 -119c43 30 78 63 78 101
+c0 86 -221 97 -221 271c0 100 74 165 176 208l141 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6z" />
+    <glyph glyph-name="onesuperior" unicode="&#xb9;" horiz-adv-x="360" 
+d="M37 758v99l220 9l1 -362l87 -3v-98h-315v100l105 2v250z" />
+    <glyph glyph-name="logicalnot" unicode="&#xac;" horiz-adv-x="377" 
+d="M332 462l5 -261h-118l5 153l-203 -6v118z" />
+    <glyph glyph-name="mu" unicode="&#xb5;" horiz-adv-x="678" 
+d="M414 26l-156 -4l-48 283l-43 258l5 -563h-124l10 688l199 4l46 -286l38 -252l37 254l48 279l194 4l10 -691h-128l5 562l-43 -253z" />
+    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="562" 
+d="M435 431l-91 -2l-20 101l-18 88l2 -199h-72l6 269l116 3l19 -94l15 -91l16 91l19 91l113 3l5 -272h-74l3 199l-18 -87zM68 419l1 188l-60 -3v86h206v-86l-60 3l2 -188h-89z" />
+    <glyph glyph-name="Eth" unicode="&#xd0;" horiz-adv-x="456" 
+d="M56 -3l1 296h-37v115h37l-2 275l300 14c52 -124 75 -235 75 -334c0 -146 -49 -267 -181 -363zM242 293h-58l1 -190c75 51 109 127 109 238c0 69 -13 149 -42 238h-68v-171h58v-115z" />
+    <glyph glyph-name="onehalf" unicode="&#xbd;" horiz-adv-x="724" 
+d="M443 245l2 134l-52 -67l-242 -348l-96 65l212 268h-240v96l88 2v193l-82 2v95l199 9l1 -300l71 -2v-49l26 33l243 350l97 -65l-217 -273l140 10c73 -43 101 -84 101 -124c0 -68 -81 -128 -164 -192l70 5l2 47l104 3l-2 -137h-281l-3 106c113 95 156 124 156 155
+c0 14 -10 26 -31 42l-3 -58h-99z" />
+    <glyph glyph-name="plusminus" unicode="&#xb1;" horiz-adv-x="377" 
+d="M352 287l-102 5l5 -133h-132l4 133l-102 -5v128l102 -4l-4 132h132l-5 -132l102 4v-128zM352 11l-163 4l-164 -4v115l164 -5l163 5v-115z" />
+    <glyph glyph-name="Thorn" unicode="&#xde;" horiz-adv-x="428" 
+d="M191 0h-141l4 340l-4 350h141l-3 -95c145 -39 232 -123 232 -244c0 -119 -85 -213 -231 -260zM184 457v-246c62 22 97 74 97 130c0 53 -31 97 -97 116z" />
+    <glyph glyph-name="onequarter" unicode="&#xbc;" horiz-adv-x="724" 
+d="M670 661l-277 -349l-242 -348l-96 65l212 268h-240v96l88 2v193l-82 2v95l199 9l1 -300l71 -2v-49l26 33l243 350zM566 273h106l-2 -116l49 2v-95l-48 1l2 -65h-108l1 65l-149 -2l-5 88l90 256l104 -30l-86 -221l48 -1z" />
+    <glyph glyph-name="divide" unicode="&#xf7;" horiz-adv-x="377" 
+d="M260 118l-122 -23l-21 117l122 24zM260 478l-122 -23l-21 117l122 24zM357 274l-168 4l-169 -4v142l169 -4l168 4v-142z" />
+    <glyph glyph-name="brokenbar" unicode="&#xa6;" horiz-adv-x="228" 
+d="M180 -193h-132l4 345h125zM180 736l-3 -345h-125l-4 345h132z" />
+    <glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="298" 
+d="M274 605c0 -81 -46 -136 -127 -136c-78 0 -123 53 -123 131c0 81 47 137 127 137c78 0 123 -54 123 -132zM178 606c0 26 -7 45 -28 45c-20 0 -29 -21 -29 -52c0 -26 7 -45 27 -45c21 0 30 23 30 52z" />
+    <glyph glyph-name="thorn" unicode="&#xfe;" horiz-adv-x="428" 
+d="M191 0h-141l4 340l-4 350h141l-3 -95c145 -39 232 -123 232 -244c0 -119 -85 -213 -231 -260zM184 457v-246c62 22 97 74 97 130c0 53 -31 97 -97 116z" />
+    <glyph glyph-name="threequarters" unicode="&#xbe;" horiz-adv-x="724" 
+d="M670 661l-277 -349l-242 -348l-96 65l275 347l243 350zM284 584l-56 -59c51 -29 71 -59 71 -90c0 -55 -59 -106 -122 -137l-137 -3l-7 140l103 3l5 -58c24 10 43 23 43 40c0 20 -22 43 -86 77l83 103h-51l-3 -48l-101 1l2 131l254 11zM566 273h106l-2 -116l49 2v-95
+l-48 1l2 -65h-108l1 65l-149 -2l-5 88l90 256l104 -30l-86 -221l48 -1z" />
+    <glyph glyph-name="twosuperior" unicode="&#xb2;" horiz-adv-x="360" 
+d="M45 695l4 162l153 10c87 -49 119 -97 119 -145c0 -80 -95 -154 -189 -233l94 5l3 61l109 3l-3 -155h-315l-5 110c130 113 183 155 183 197c0 20 -15 37 -45 57l-3 -72h-105z" />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="480" 
+d="M23 586c0 137 92 244 220 244c129 0 214 -107 214 -244s-94 -243 -223 -243s-211 106 -211 243zM225 466h-76l3 123l-3 122l110 4c54 -26 77 -58 77 -92c0 -25 -11 -48 -32 -67l39 -84c21 28 33 68 33 115c0 98 -50 162 -136 162s-138 -64 -138 -163
+c0 -98 51 -163 137 -163c42 0 76 16 99 43h-75l-22 55l-16 -4v-51zM223 644v-53c21 5 35 13 35 25s-12 21 -35 28z" />
+    <glyph glyph-name="minus" unicode="&#x2212;" horiz-adv-x="377" 
+d="M360 274l-171 4l-171 -4v142l171 -4l171 4v-142z" />
+    <glyph glyph-name="eth" unicode="&#xf0;" horiz-adv-x="456" 
+d="M56 -3l1 296h-37v115h37l-2 275l300 14c52 -124 75 -235 75 -334c0 -146 -49 -267 -181 -363zM242 293h-58l1 -190c75 51 109 127 109 238c0 69 -13 149 -42 238h-68v-171h58v-115z" />
+    <glyph glyph-name="multiply" unicode="&#xd7;" horiz-adv-x="377" 
+d="M372 444l-97 -99l97 -99l-92 -92l-91 105l-92 -105l-92 92l97 99l-97 99l92 92l92 -105l91 105z" />
+    <glyph glyph-name="threesuperior" unicode="&#xb3;" horiz-adv-x="360" 
+d="M319 751l-70 -79c62 -35 86 -71 86 -109c0 -64 -71 -125 -145 -159l-144 -3l-7 158l108 3l6 -72c33 14 61 33 61 58c0 26 -27 54 -102 94l98 126h-70l-3 -61l-105 1l2 147l283 12z" />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="701" 
+d="M479 300l-1 -171l-166 -9c-93 57 -143 140 -143 227s50 164 159 202l155 4l-3 -167l-108 -1l-1 68c-53 -17 -74 -51 -74 -98c0 -54 26 -100 70 -130l3 76zM19 344c0 197 137 371 331 371c191 0 332 -169 332 -369c0 -198 -137 -371 -330 -371c-192 0 -333 168 -333 369z
+M119 341c0 -152 89 -264 231 -264c148 0 233 123 233 271c0 152 -90 265 -231 265c-149 0 -233 -124 -233 -272z" />
+    <glyph glyph-name="Aacute" unicode="&#xc1;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM240 699l-99 71l109 150l110 -80zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="Acircumflex" unicode="&#xc2;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM68 775l157 163l155 -160l-86 -68l-71 82l-71 -83zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="Adieresis" unicode="&#xc4;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM212 762l-135 -31l-28 126l135 31zM398 762l-134 -31l-29 126l135 31zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="Agrave" unicode="&#xc0;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM306 770l-98 -71l-121 141l110 80zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="Aring" unicode="&#xc5;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM356 842c0 -73 -56 -120 -132 -120s-132 48 -132 120c0 71 55 118 131 118c77 0 133 -47 133 -118zM176 270l46 3l44 -3l-43 300zM264 842c0 26 -17 41 -40 41c-24 0 -40 -17 -40 -42
+c0 -26 17 -42 40 -42s40 17 40 43z" />
+    <glyph glyph-name="Atilde" unicode="&#xc3;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM338 887l61 -80c-39 -44 -73 -74 -124 -74c-49 0 -80 27 -110 27c-23 0 -38 -15 -56 -34l-61 78c40 45 73 75 124 75c49 0 80 -27 110 -27c23 0 36 15 56 35zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="Ccedilla" unicode="&#xc7;" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-129 -9l-3 -31c79 -22 108 -69 108 -115c0 -63 -53 -113 -194 -145l-26 89c92 15 109 26 109 46c0 17 -17 35 -98 52l15 119c-107 95 -144 212 -144 357
+c0 104 19 210 55 313l310 14z" />
+    <glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM253 699l-98 71l109 150l110 -80z" />
+    <glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM81 775l158 163l155 -160l-87 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM226 762l-135 -31l-28 126l134 31zM411 762l-134 -31l-28 126l134 31z" />
+    <glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM320 770l-99 -71l-120 141l110 80z" />
+    <glyph glyph-name="Iacute" unicode="&#xcd;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM137 699l-99 71l109 150l110 -80z" />
+    <glyph glyph-name="Icircumflex" unicode="&#xce;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM-35 775l157 163l155 -160l-86 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="Idieresis" unicode="&#xcf;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM109 762l-135 -31l-27 126l134 31zM295 762l-134 -31l-29 126l135 31z" />
+    <glyph glyph-name="Igrave" unicode="&#xcc;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM203 770l-98 -71l-121 141l110 80z" />
+    <glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="514" 
+d="M170 0h-123l6 688l172 5l124 -528l-8 525h122l-6 -689l-171 -4l-125 531zM380 887l62 -80c-40 -44 -73 -74 -125 -74c-49 0 -80 27 -109 27c-23 0 -38 -15 -56 -34l-62 78c40 45 73 75 124 75c50 0 80 -27 110 -27c23 0 37 15 56 35z" />
+    <glyph glyph-name="Oacute" unicode="&#xd3;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM251 699l-99 71l109 150l110 -80z" />
+    <glyph glyph-name="Ocircumflex" unicode="&#xd4;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM79 775l157 163l155 -160l-86 -68
+l-71 82l-71 -83z" />
+    <glyph glyph-name="Odieresis" unicode="&#xd6;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM223 762l-135 -31l-27 126l134 31z
+M409 762l-134 -31l-29 126l135 31z" />
+    <glyph glyph-name="Ograve" unicode="&#xd2;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM317 770l-98 -71l-121 141l110 80z" />
+    <glyph glyph-name="Otilde" unicode="&#xd5;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM349 887l61 -80
+c-39 -44 -73 -74 -124 -74c-49 0 -80 27 -110 27c-23 0 -37 -15 -56 -34l-61 78c40 45 73 75 124 75c49 0 80 -27 110 -27c23 0 36 15 56 35z" />
+    <glyph glyph-name="Scaron" unicode="&#x160;" horiz-adv-x="380" 
+d="M354 850l-155 -160l138 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6l-11 228l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 73 164 173 207l-152 159l87 68l70 -83l72 84z" />
+    <glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM268 699l-98 71l109 150l110 -80z" />
+    <glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM97 775l157 163l155 -160l-86 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM241 762l-135 -31l-28 126l135 31zM427 762l-134 -31l-29 126
+l135 31z" />
+    <glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM335 770l-98 -71l-121 141l110 80z" />
+    <glyph glyph-name="Yacute" unicode="&#xdd;" 
+d="M151 0l2 237l-158 436l138 40l94 -324l78 301h148l-164 -464l3 -226h-141zM240 699l-99 71l109 150l110 -80z" />
+    <glyph glyph-name="Ydieresis" unicode="&#x178;" 
+d="M151 0l2 237l-158 436l138 40l94 -324l78 301h148l-164 -464l3 -226h-141zM212 762l-135 -31l-28 126l135 31zM398 762l-134 -31l-29 126l135 31z" />
+    <glyph glyph-name="Zcaron" unicode="&#x17d;" horiz-adv-x="439" 
+d="M376 850l-155 -160l172 9l6 -151l-243 -447l133 9l6 120h120l-6 -230h-381l-6 124l256 456h-113l-5 -118l-118 2l5 217l168 9l-152 158l87 68l70 -83l72 84z" />
+    <glyph glyph-name="aacute" unicode="&#xe1;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM240 699l-99 71l109 150l110 -80zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="acircumflex" unicode="&#xe2;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM68 775l157 163l155 -160l-86 -68l-71 82l-71 -83zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="adieresis" unicode="&#xe4;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM212 762l-135 -31l-28 126l135 31zM398 762l-134 -31l-29 126l135 31zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="agrave" unicode="&#xe0;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM306 770l-98 -71l-121 141l110 80zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="aring" unicode="&#xe5;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM356 842c0 -73 -56 -120 -132 -120s-132 48 -132 120c0 71 55 118 131 118c77 0 133 -47 133 -118zM176 270l46 3l44 -3l-43 300zM264 842c0 26 -17 41 -40 41c-24 0 -40 -17 -40 -42
+c0 -26 17 -42 40 -42s40 17 40 43z" />
+    <glyph glyph-name="atilde" unicode="&#xe3;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM338 887l61 -80c-39 -44 -73 -74 -124 -74c-49 0 -80 27 -110 27c-23 0 -38 -15 -56 -34l-61 78c40 45 73 75 124 75c49 0 80 -27 110 -27c23 0 36 15 56 35zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="ccedilla" unicode="&#xe7;" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-129 -9l-3 -31c79 -22 108 -69 108 -115c0 -63 -53 -113 -194 -145l-26 89c92 15 109 26 109 46c0 17 -17 35 -98 52l15 119c-107 95 -144 212 -144 357
+c0 104 19 210 55 313l310 14z" />
+    <glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM253 699l-98 71l109 150l110 -80z" />
+    <glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM81 775l158 163l155 -160l-87 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM226 762l-135 -31l-28 126l134 31zM411 762l-134 -31l-28 126l134 31z" />
+    <glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM320 770l-99 -71l-120 141l110 80z" />
+    <glyph glyph-name="iacute" unicode="&#xed;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM137 699l-99 71l109 150l110 -80z" />
+    <glyph glyph-name="icircumflex" unicode="&#xee;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM-35 775l157 163l155 -160l-86 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="idieresis" unicode="&#xef;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM109 762l-135 -31l-27 126l134 31zM295 762l-134 -31l-29 126l135 31z" />
+    <glyph glyph-name="igrave" unicode="&#xec;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM203 770l-98 -71l-121 141l110 80z" />
+    <glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="514" 
+d="M170 0h-123l6 688l172 5l124 -528l-8 525h122l-6 -689l-171 -4l-125 531zM380 887l62 -80c-40 -44 -73 -74 -125 -74c-49 0 -80 27 -109 27c-23 0 -38 -15 -56 -34l-62 78c40 45 73 75 124 75c50 0 80 -27 110 -27c23 0 37 15 56 35z" />
+    <glyph glyph-name="oacute" unicode="&#xf3;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM251 699l-99 71l109 150l110 -80z" />
+    <glyph glyph-name="ocircumflex" unicode="&#xf4;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM79 775l157 163l155 -160l-86 -68
+l-71 82l-71 -83z" />
+    <glyph glyph-name="odieresis" unicode="&#xf6;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM223 762l-135 -31l-27 126l134 31z
+M409 762l-134 -31l-29 126l135 31z" />
+    <glyph glyph-name="ograve" unicode="&#xf2;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM317 770l-98 -71l-121 141l110 80z" />
+    <glyph glyph-name="otilde" unicode="&#xf5;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM349 887l61 -80
+c-39 -44 -73 -74 -124 -74c-49 0 -80 27 -110 27c-23 0 -37 -15 -56 -34l-61 78c40 45 73 75 124 75c49 0 80 -27 110 -27c23 0 36 15 56 35z" />
+    <glyph glyph-name="scaron" unicode="&#x161;" horiz-adv-x="380" 
+d="M354 850l-155 -160l138 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6l-11 228l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 73 164 173 207l-152 159l87 68l70 -83l72 84z" />
+    <glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM268 699l-98 71l109 150l110 -80z" />
+    <glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM97 775l157 163l155 -160l-86 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM241 762l-135 -31l-28 126l135 31zM427 762l-134 -31l-29 126
+l135 31z" />
+    <glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM335 770l-98 -71l-121 141l110 80z" />
+    <glyph glyph-name="yacute" unicode="&#xfd;" 
+d="M151 0l2 237l-158 436l138 40l94 -324l78 301h148l-164 -464l3 -226h-141zM240 699l-99 71l109 150l110 -80z" />
+    <glyph glyph-name="ydieresis" unicode="&#xff;" 
+d="M151 0l2 237l-158 436l138 40l94 -324l78 301h148l-164 -464l3 -226h-141zM212 762l-135 -31l-28 126l135 31zM398 762l-134 -31l-29 126l135 31z" />
+    <glyph glyph-name="zcaron" unicode="&#x17e;" horiz-adv-x="439" 
+d="M376 850l-155 -160l172 9l6 -151l-243 -447l133 9l6 120h120l-6 -230h-381l-6 124l256 456h-113l-5 -118l-118 2l5 217l168 9l-152 158l87 68l70 -83l72 84z" />
+    <glyph glyph-name="commaaccent" unicode="&#xf6c3;" horiz-adv-x="207" 
+d="M46 -38l125 3l-16 -198l-110 -2z" />
+    <glyph glyph-name="Abreve" unicode="&#x102;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM272 882h115c-5 -111 -70 -160 -165 -160c-97 0 -156 51 -162 160h115c1 -43 16 -70 49 -70c32 0 46 25 48 70zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="Amacron" unicode="&#x100;" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM380 749h-312v114h312v-114zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="Aogonek" unicode="&#x104;" horiz-adv-x="450" 
+d="M403 -82l66 -70c-35 -42 -77 -61 -132 -61c-89 0 -140 49 -140 114c0 47 24 97 102 139l-15 111l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695c-100 -16 -137 -46 -137 -84c0 -20 10 -34 34 -34c23 0 42 13 59 36zM176 270l46 3l44 -3l-43 300z" />
+    <glyph glyph-name="Cacute" unicode="&#x106;" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-194 -14c-125 98 -168 222 -168 377c0 104 19 210 55 313l310 14zM243 699l-99 71l110 150l110 -80z" />
+    <glyph glyph-name="Ccaron" unicode="&#x10c;" horiz-adv-x="434" 
+d="M383 850l-155 -161l164 8l-2 -240l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-194 -14c-125 98 -168 222 -168 377c0 104 19 210 55 313l142 6l-153 159l86 68l71 -83l72 84z" />
+    <glyph glyph-name="Ccircumflex" unicode="&#x108;" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-194 -14c-125 98 -168 222 -168 377c0 104 19 210 55 313l310 14zM71 775l158 163l154 -160l-86 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="Cdotaccent" unicode="&#x10a;" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-194 -14c-125 98 -168 222 -168 377c0 104 19 210 55 313l310 14zM317 783l-138 -49l-41 125l137 48z" />
+    <glyph glyph-name="Dcaron" unicode="&#x10e;" horiz-adv-x="452" 
+d="M368 850l-155 -159l138 6c52 -124 75 -235 75 -334c0 -146 -49 -267 -182 -363l-192 -3l1 349l-2 337l156 7l-152 158l87 68l70 -83l72 84zM180 356l1 -253c75 51 109 127 109 238c0 69 -13 148 -42 236h-68v-221z" />
+    <glyph glyph-name="Dcroat" unicode="&#x110;" horiz-adv-x="452" 
+d="M52 -3l1 292h-36v122h36l-2 272l300 14c52 -124 75 -235 75 -334c0 -146 -49 -267 -182 -363zM239 289h-59l1 -186c75 51 109 127 109 238c0 69 -13 148 -42 236h-68v-166h59v-122z" />
+    <glyph glyph-name="Ebreve" unicode="&#x114;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM286 882h115c-5 -111 -71 -160 -166 -160c-96 0 -156 51 -161 160h114c2 -43 17 -70 49 -70c33 0 47 25 49 70z" />
+    <glyph glyph-name="Ecaron" unicode="&#x11a;" horiz-adv-x="449" 
+d="M394 850l-155 -160l167 8l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4l2 104l125 3l-1 -219h-355l3 354l-3 327l182 8l-152 159l87 68l70 -83l72 84z" />
+    <glyph glyph-name="Edotaccent" unicode="&#x116;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM327 783l-137 -49l-42 125l137 48z" />
+    <glyph glyph-name="Emacron" unicode="&#x112;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM393 749h-311v114h311v-114z" />
+    <glyph glyph-name="Eogonek" unicode="&#x118;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219c-102 -20 -137 -50 -137 -84c0 -20 9 -34 34 -34c22 0 42 13 59 36l66 -70c-35 -42 -77 -61 -132 -61c-90 0 -140 49 -140 114c0 36 12 68 54 99h-159l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4z" />
+    <glyph glyph-name="Gbreve" unicode="&#x11e;" horiz-adv-x="457" 
+d="M400 7l-177 -14c-143 89 -198 219 -198 381c0 100 21 207 56 309l318 14l-2 -204l-128 -2l-1 86h-81c-17 -62 -27 -129 -27 -195c0 -112 28 -217 119 -283v171l-59 3v109h222v-110l-39 -2zM277 882h115c-5 -111 -70 -160 -165 -160c-97 0 -156 51 -162 160h115
+c2 -43 16 -70 49 -70c32 0 46 25 48 70z" />
+    <glyph glyph-name="Gcircumflex" unicode="&#x11c;" horiz-adv-x="457" 
+d="M400 7l-177 -14c-143 89 -198 219 -198 381c0 100 21 207 56 309l318 14l-2 -204l-128 -2l-1 86h-81c-17 -62 -27 -129 -27 -195c0 -112 28 -217 119 -283v171l-59 3v109h222v-110l-39 -2zM73 775l157 163l155 -160l-86 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="Gcommaaccent" unicode="&#x122;" horiz-adv-x="457" 
+d="M400 7l-177 -14c-143 89 -198 219 -198 381c0 100 21 207 56 309l318 14l-2 -204l-128 -2l-1 86h-81c-17 -62 -27 -129 -27 -195c0 -112 28 -217 119 -283v171l-59 3v109h222v-110l-39 -2zM166 -38l125 3l-17 -198l-109 -2z" />
+    <glyph glyph-name="Gdotaccent" unicode="&#x120;" horiz-adv-x="457" 
+d="M400 7l-177 -14c-143 89 -198 219 -198 381c0 100 21 207 56 309l318 14l-2 -204l-128 -2l-1 86h-81c-17 -62 -27 -129 -27 -195c0 -112 28 -217 119 -283v171l-59 3v109h222v-110l-39 -2zM318 783l-137 -49l-41 125l137 48z" />
+    <glyph glyph-name="Hbar" unicode="&#x126;" horiz-adv-x="513" 
+d="M513 494h-60l-2 -146l5 -348h-141l2 285l-61 -4l-59 4l1 -285h-141l4 348l-2 146h-59v102h58l-1 94h141l-1 -94h119l-1 94h141l-1 -94h58v-102zM317 415l-1 79h-119v-79l59 4z" />
+    <glyph glyph-name="Hcircumflex" unicode="&#x124;" horiz-adv-x="500" 
+d="M191 690l-1 -273l60 4l60 -4l-1 273h141l-5 -342l5 -348h-141l1 285l-60 -4l-60 4l1 -285h-141l5 348l-5 342h141zM94 775l157 163l155 -160l-86 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="Imacron" unicode="&#x12a;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM277 749h-312v114h312v-114z" />
+    <glyph glyph-name="Iogonek" unicode="&#x12e;" horiz-adv-x="244" 
+d="M53 690h141l-3 -337l3 -353c-70 -20 -103 -40 -103 -78c0 -22 10 -40 35 -40c21 0 41 13 58 36l66 -70c-35 -42 -77 -61 -131 -61c-93 0 -140 55 -140 122c0 43 18 84 75 124l2 320z" />
+    <glyph glyph-name="Itilde" unicode="&#x128;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM235 887l61 -80c-39 -44 -73 -74 -124 -74c-49 0 -80 27 -110 27c-23 0 -37 -15 -56 -34l-61 78c40 45 73 75 124 75c49 0 80 -27 110 -27c23 0 36 15 56 35z" />
+    <glyph glyph-name="Kcommaaccent" unicode="&#x136;" horiz-adv-x="471" 
+d="M50 690h141l-1 -294c92 82 105 169 105 292l139 4c0 -131 -7 -238 -101 -341l139 -351h-153l-93 260c-11 -8 -23 -16 -36 -23l1 -237h-141l5 349zM182 -38l124 3l-16 -198l-109 -2z" />
+    <glyph glyph-name="Lacute" unicode="&#x139;" horiz-adv-x="413" 
+d="M285 239l126 1l-2 -240h-358l4 259l-4 431h141l-2 -576l92 6zM163 699l-99 71l110 150l110 -80z" />
+    <glyph glyph-name="Lcaron" unicode="&#x13d;" horiz-adv-x="426" 
+d="M285 239l126 1l-2 -240h-358l4 259l-4 431h141l-2 -576l92 6zM233 694l126 3l-18 -217l-111 -1z" />
+    <glyph glyph-name="Lcommaaccent" unicode="&#x13b;" horiz-adv-x="426" 
+d="M285 239l126 1l-2 -240h-358l4 259l-4 431h141l-2 -576l92 6zM163 -38l125 3l-16 -198l-110 -2z" />
+    <glyph glyph-name="Nacute" unicode="&#x143;" horiz-adv-x="514" 
+d="M170 0h-123l6 688l172 5l124 -528l-8 525h122l-6 -689l-171 -4l-125 531zM282 699l-99 71l109 150l111 -80z" />
+    <glyph glyph-name="Ncaron" unicode="&#x147;" horiz-adv-x="514" 
+d="M170 0h-123l6 688l172 5l124 -528l-8 525h122l-6 -689l-171 -4l-125 531zM422 850l-157 -163l-155 161l86 68l71 -83l71 84z" />
+    <glyph glyph-name="Ncommaaccent" unicode="&#x145;" horiz-adv-x="514" 
+d="M170 0h-123l6 688l172 5l124 -528l-8 525h122l-6 -689l-171 -4l-125 531zM181 -38l124 3l-16 -198l-110 -2z" />
+    <glyph glyph-name="Obreve" unicode="&#x14e;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM283 882h115
+c-5 -111 -70 -160 -165 -160c-97 0 -156 51 -162 160h115c2 -43 16 -70 49 -70s46 25 48 70z" />
+    <glyph glyph-name="Ohungarumlaut" unicode="&#x150;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM163 699l-97 60l122 199l107 -68z
+M351 699l-96 60l122 199l107 -68z" />
+    <glyph glyph-name="Omacron" unicode="&#x14c;" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -21 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244zM391 749h-312v114h312v-114z" />
+    <glyph glyph-name="Racute" unicode="&#x154;" horiz-adv-x="444" 
+d="M185 0h-134l3 349l-3 334l328 14c17 -54 29 -116 29 -173c0 -79 -24 -142 -86 -194l119 -330h-149l-80 265l-28 -11zM238 699l-99 71l109 150l111 -80zM183 581l-2 -199c71 27 97 71 97 126c0 26 -5 54 -11 73h-84z" />
+    <glyph glyph-name="Rcaron" unicode="&#x158;" horiz-adv-x="444" 
+d="M378 850l-154 -160l155 7c17 -54 29 -116 29 -173c0 -79 -24 -142 -86 -194l119 -330h-149l-80 265l-28 -11l1 -254h-134l3 349l-3 334l167 7l-152 158l86 68l71 -83l71 84zM183 581l-2 -199c71 27 97 71 97 126c0 26 -5 54 -11 73h-84z" />
+    <glyph glyph-name="Rcommaaccent" unicode="&#x156;" horiz-adv-x="444" 
+d="M185 0h-134l3 349l-3 334l328 14c17 -54 29 -116 29 -173c0 -79 -24 -142 -86 -194l119 -330h-149l-80 265l-28 -11zM166 -38l124 3l-16 -198l-109 -2zM183 581l-2 -199c71 27 97 71 97 126c0 26 -5 54 -11 73h-84z" />
+    <glyph glyph-name="Sacute" unicode="&#x15a;" horiz-adv-x="380" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6zM213 699l-98 71l109 150l110 -80z" />
+    <glyph glyph-name="Scedilla" unicode="&#x15e;" horiz-adv-x="380" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -89 -64 -152 -164 -218l-4 -43c79 -22 108 -69 108 -115c0 -63 -54 -113 -195 -145l-25 89
+c92 15 108 26 108 46c0 17 -16 35 -98 52l14 106l-70 -3z" />
+    <glyph glyph-name="Scircumflex" unicode="&#x15c;" horiz-adv-x="380" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6zM41 775l158 163l155 -160l-87 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="Scommaaccent" unicode="&#x218;" horiz-adv-x="380" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6zM108 -38l125 3l-17 -198l-109 -2z" />
+    <glyph glyph-name="Tcaron" unicode="&#x164;" horiz-adv-x="404" 
+d="M358 850l-155 -160h197v-133l-131 5l3 -562h-140l3 562l-131 -5v133h194l-152 158l86 68l71 -83l71 84z" />
+    <glyph glyph-name="Tcommaaccent" unicode="&#x162;" horiz-adv-x="404" 
+d="M132 0l3 562l-131 -5v133h396v-133l-131 5l3 -562h-140zM144 -38l125 3l-17 -198l-109 -2z" />
+    <glyph glyph-name="Ubreve" unicode="&#x16c;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM301 882h115c-5 -111 -70 -160 -165 -160c-97 0 -156 51 -162 160
+h114c2 -43 17 -70 50 -70c32 0 46 25 48 70z" />
+    <glyph glyph-name="Uhungarumlaut" unicode="&#x170;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM180 699l-96 60l122 199l107 -68zM369 699l-96 60l122 199l107 -68z
+" />
+    <glyph glyph-name="Umacron" unicode="&#x16a;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM409 749h-312v114h312v-114z" />
+    <glyph glyph-name="Uogonek" unicode="&#x172;" horiz-adv-x="497" 
+d="M418 -93l66 -70c-35 -42 -77 -61 -132 -61c-89 0 -140 49 -140 114c0 46 30 86 109 132l-9 113l-104 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360
+c-105 -33 -137 -79 -137 -99s10 -34 34 -34c23 0 42 13 59 36z" />
+    <glyph glyph-name="Uring" unicode="&#x16e;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM385 842c0 -73 -56 -120 -132 -120s-132 48 -132 120
+c0 71 55 118 131 118c77 0 133 -47 133 -118zM293 842c0 26 -17 41 -40 41c-24 0 -40 -17 -40 -42c0 -26 17 -42 40 -42s40 17 40 43z" />
+    <glyph glyph-name="Utilde" unicode="&#x168;" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412zM367 887l61 -80c-39 -44 -73 -74 -124 -74c-49 0 -80 27 -110 27
+c-23 0 -38 -15 -56 -34l-61 78c40 45 73 75 124 75c49 0 80 -27 110 -27c23 0 36 15 56 35z" />
+    <glyph glyph-name="Wcircumflex" unicode="&#x174;" horiz-adv-x="692" 
+d="M9 686l145 11l54 -553l71 519l148 11l65 -523c32 145 48 279 48 399c0 54 -3 95 -5 137l129 9c5 -47 7 -86 7 -134c0 -165 -45 -372 -102 -560l-159 -5l-62 480l-67 -476l-174 -4zM196 775l158 163l155 -160l-87 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="Ycircumflex" unicode="&#x176;" 
+d="M151 0l2 237l-158 436l138 40l94 -324l78 301h148l-164 -464l3 -226h-141zM68 775l157 163l155 -160l-86 -68l-71 82l-71 -83z" />
+    <glyph glyph-name="Zacute" unicode="&#x179;" horiz-adv-x="439" 
+d="M160 462l-118 2l5 217l346 18l6 -151l-243 -447l133 9l6 120h120l-6 -230h-381l-6 124l256 456h-113zM235 699l-98 71l109 150l110 -80z" />
+    <glyph glyph-name="Zdotaccent" unicode="&#x17b;" horiz-adv-x="439" 
+d="M160 462l-118 2l5 217l346 18l6 -151l-243 -447l133 9l6 120h120l-6 -230h-381l-6 124l256 456h-113zM309 783l-137 -49l-42 125l137 48z" />
+    <glyph glyph-name="Idotaccent" unicode="&#x130;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM210 783l-137 -49l-41 125l137 48z" />
+    <glyph glyph-name="lacute" unicode="&#x13a;" horiz-adv-x="230" 
+d="M190 4l-134 -9c-14 103 -9 207 -9 266v189c0 137 -3 253 -3 276l86 11l-97 70l109 150l110 -79l-120 -140l54 7c0 -26 -8 -104 -8 -222v-259c0 -64 -2 -154 12 -260z" />
+    <glyph glyph-name="Delta" unicode="&#x2206;" horiz-adv-x="418" 
+d="M1 0v114l131 576h158l128 -576v-114h-417zM127 106h155l-80 473z" />
+    <glyph glyph-name="Omega" unicode="&#x2126;" horiz-adv-x="495" 
+d="M460 112v-112h-195v107c26 39 44 109 44 266c0 140 -10 237 -59 237c-44 0 -62 -76 -62 -227c0 -154 16 -233 45 -276v-107h-198v112l70 -4c-37 60 -63 147 -63 279c0 217 73 338 209 338c142 0 203 -133 203 -336c0 -131 -25 -220 -65 -281z" />
+    <glyph glyph-name="pi" unicode="&#x3c0;" horiz-adv-x="494" 
+d="M308 565h-122l3 -565h-139l3 682l389 15l3 -697h-139z" />
+    <glyph glyph-name="afii10017" unicode="&#x410;" horiz-adv-x="448" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM176 270l47 3l43 -3l-43 300z" />
+    <glyph glyph-name="afii10018" unicode="&#x411;" horiz-adv-x="460" 
+d="M51 -2l3 359l-3 325l352 16l-2 -194l-125 -3l-1 79h-93l-1 -199l82 38l126 7c29 -75 46 -140 46 -201c0 -114 -59 -178 -202 -224zM274 315l-93 -36l1 -173c81 21 112 58 112 115c0 29 -9 65 -20 94z" />
+    <glyph glyph-name="afii10019" unicode="&#x412;" horiz-adv-x="451" 
+d="M52 -2l3 359l-3 326l325 15c26 -51 44 -110 44 -161c0 -63 -26 -112 -68 -152c49 -48 80 -110 80 -177c0 -94 -62 -162 -200 -207zM291 217c0 37 -17 70 -44 97c-21 -10 -43 -19 -67 -28l2 -181c76 23 109 60 109 112zM182 579l-2 -182c57 25 102 58 102 112
+c0 25 -7 51 -14 70h-86z" />
+    <glyph glyph-name="afii10020" unicode="&#x413;" horiz-adv-x="430" 
+d="M191 0h-140l3 351l-3 330l355 17l-1 -231l-123 -1l-1 110h-92z" />
+    <glyph glyph-name="afii10021" unicode="&#x414;" horiz-adv-x="492" 
+d="M4 0v114l58 -2v48c0 196 25 364 105 526l245 11l11 -582l62 4l5 -136l-55 -121l-106 49l38 89h-363zM192 106l38 -1l61 3l-5 468h-35c-41 -101 -60 -227 -60 -390c0 -26 0 -52 1 -80z" />
+    <glyph glyph-name="afii10022" unicode="&#x415;" horiz-adv-x="434" 
+d="M390 495l-125 -4l-1 85h-78c-13 -51 -21 -105 -24 -159l169 9v-127l-165 6c11 -82 42 -150 101 -198l3 112l125 3l-1 -215l-175 -15c-138 90 -192 220 -192 382c0 99 20 206 55 309l310 14z" />
+    <glyph glyph-name="afii10024" unicode="&#x416;" horiz-adv-x="669" 
+d="M261 690h142l-3 -327l125 327h149l-149 -322l152 -368h-152l-125 355v-2l3 -353h-142l3 359v3l-126 -362h-148l150 362l-144 310l133 43l135 -345z" />
+    <glyph glyph-name="afii10025" unicode="&#x417;" horiz-adv-x="431" 
+d="M161 491l-120 -1l-2 195l165 11c126 -21 190 -76 190 -155c0 -60 -33 -128 -120 -163c105 -19 134 -87 134 -143c0 -92 -77 -182 -215 -234l-156 -2l-1 220l121 3l3 -104c65 27 102 70 102 116c0 43 -37 71 -173 67l-2 117c132 6 168 47 168 90s-35 64 -93 74z" />
+    <glyph glyph-name="afii10026" unicode="&#x418;" horiz-adv-x="524" 
+d="M476 0h-137l8 492l-126 -492h-169l4 349l-6 341h137l-8 -492l126 492h169l-4 -349z" />
+    <glyph glyph-name="afii10027" unicode="&#x419;" horiz-adv-x="497" 
+d="M105 832l86 51c21 -39 34 -60 54 -60s46 22 91 67l65 -63c-66 -72 -122 -105 -169 -105c-52 0 -95 39 -127 110zM304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7
+c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412z" />
+    <glyph glyph-name="afii10028" unicode="&#x41a;" horiz-adv-x="463" 
+d="M50 690h142l-3 -328l126 328h148l-145 -322l148 -368h-152l-125 356v-3l3 -353h-142l5 353z" />
+    <glyph glyph-name="afii10029" unicode="&#x41b;" horiz-adv-x="455" 
+d="M411 2l-136 -5l-6 578h-43c-46 -104 -67 -253 -67 -423c0 -48 2 -99 5 -151l-131 -3c-2 46 -4 91 -4 135c0 205 27 389 113 553l253 11l5 -357z" />
+    <glyph glyph-name="afii10030" unicode="&#x41c;" horiz-adv-x="672" 
+d="M414 26l-156 -4l-48 283l-43 258l5 -563h-124l10 688l199 4l46 -286l38 -252l37 254l48 279l194 4l10 -691h-128l5 562l-43 -253z" />
+    <glyph glyph-name="afii10031" unicode="&#x41d;" horiz-adv-x="500" 
+d="M197 690l-1 -273l60 4l60 -4l-1 273h141l-5 -342l5 -348h-141l1 285l-60 -4l-60 4l1 -285h-141l5 348l-5 342h141z" />
+    <glyph glyph-name="afii10032" unicode="&#x41e;" horiz-adv-x="457" 
+d="M276 3l-157 -7c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352c0 -131 -45 -248 -151 -341zM210 115c56 63 78 138 78 217c0 81 -22 163 -51 245c-56 -63 -79 -137 -79 -218c0 -80 22 -163 52 -244z" />
+    <glyph glyph-name="afii10033" unicode="&#x41f;" horiz-adv-x="494" 
+d="M308 565h-122l3 -565h-139l3 682l389 15l3 -697h-139z" />
+    <glyph glyph-name="afii10034" unicode="&#x420;" horiz-adv-x="431" 
+d="M186 578v-263c68 29 98 85 98 162c0 31 -5 64 -14 101h-84zM192 0h-141l3 348l-3 335l331 14c21 -77 34 -146 34 -205c0 -143 -67 -242 -226 -305z" />
+    <glyph glyph-name="afii10035" unicode="&#x421;" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-194 -14c-125 98 -168 222 -168 377c0 104 19 210 55 313l310 14z" />
+    <glyph glyph-name="afii10036" unicode="&#x422;" horiz-adv-x="418" 
+d="M132 0l3 562l-131 -5v133h396v-133l-131 5l3 -562h-140z" />
+    <glyph glyph-name="afii10037" unicode="&#x423;" horiz-adv-x="435" 
+d="M257 -8l-198 -5l-18 201l116 8l-160 489l148 15l108 -404c17 74 26 158 26 255c0 43 -2 88 -7 136l139 10c3 -41 4 -81 4 -119c0 -245 -60 -424 -158 -586zM180 92c18 35 35 73 48 113l-56 -39z" />
+    <glyph glyph-name="afii10038" unicode="&#x424;" horiz-adv-x="566" 
+d="M216 701h138l-3 -83l93 3c72 -94 115 -193 115 -285c0 -109 -62 -208 -207 -277l2 -69h-138l2 85l-92 -3c-72 94 -115 193 -115 285c0 109 61 208 207 277zM144 364c0 -60 27 -126 77 -195v346c-53 -43 -77 -95 -77 -151zM426 329c0 60 -27 126 -77 195v-346
+c53 43 77 95 77 151z" />
+    <glyph glyph-name="afii10039" unicode="&#x425;" horiz-adv-x="461" 
+d="M452 690l-124 -337l129 -335l-136 -42l-95 291l-75 -267h-149l126 352l-125 321l136 42l90 -275l73 250h150z" />
+    <glyph glyph-name="afii10040" unicode="&#x426;" horiz-adv-x="511" 
+d="M189 120h112l-3 570h140l-2 -569l66 4l6 -142l-55 -121l-107 49l39 89h-125l-206 -3l-2 693h140z" />
+    <glyph glyph-name="afii10041" unicode="&#x427;" horiz-adv-x="470" 
+d="M280 687l141 5c0 -11 -5 -202 -5 -334l3 -358h-141l9 297l-104 -103l-136 -9c-12 90 -16 177 -16 248l-1 254l143 5c0 -11 -5 -155 -5 -234c0 -38 3 -89 8 -129l104 90v268z" />
+    <glyph glyph-name="afii10042" unicode="&#x428;" horiz-adv-x="727" 
+d="M189 124l107 -2l-3 568h141l-3 -566l107 -2l-3 568h140l-2 -687l-619 -6l-2 693h140z" />
+    <glyph glyph-name="afii10043" unicode="&#x429;" horiz-adv-x="747" 
+d="M189 122l107 -1l-3 569h141l-3 -570h107l-3 570h140l-2 -568l66 3l6 -142l-56 -121l-106 49l39 89h-263l-305 -3l-2 693h140z" />
+    <glyph glyph-name="afii10044" unicode="&#x42a;" horiz-adv-x="535" 
+d="M131 -2l4 560l-131 -5v137h265l-4 -271l88 49l113 7c31 -77 48 -156 48 -219c0 -122 -62 -207 -186 -255zM353 360l-88 -46l1 -215c73 22 108 75 108 146c0 34 -8 78 -21 115z" />
+    <glyph glyph-name="afii10045" unicode="&#x42b;" horiz-adv-x="675" 
+d="M52 -2l3 359l-5 333h142l-5 -271l87 49l113 7c31 -77 48 -156 48 -219c0 -122 -62 -207 -186 -255zM483 690h141l-3 -337l3 -353h-141l3 353zM274 360l-88 -45l1 -216c74 22 107 75 107 146c0 34 -7 78 -20 115z" />
+    <glyph glyph-name="afii10046" unicode="&#x42c;" horiz-adv-x="456" 
+d="M52 -2l3 359l-5 333h142l-5 -271l87 49l113 7c31 -77 48 -156 48 -219c0 -122 -62 -207 -186 -255zM274 360l-88 -45l1 -216c74 22 107 75 107 146c0 34 -7 78 -20 115z" />
+    <glyph glyph-name="afii10047" unicode="&#x42d;" horiz-adv-x="440" 
+d="M47 -2l-4 215l128 2l4 -96c58 55 89 110 101 177l-174 -10l-1 132l180 -6c-8 93 -44 144 -112 165l-1 -87l-126 -2l-2 198l177 10c146 -50 204 -172 204 -315c0 -145 -60 -279 -201 -379z" />
+    <glyph glyph-name="afii10048" unicode="&#x42e;" horiz-adv-x="654" 
+d="M191 690l-1 -273l30 2l28 -3c13 104 56 197 138 273l155 7c58 -111 93 -233 93 -352c0 -133 -43 -249 -141 -341l-156 -7c-48 92 -80 191 -90 290l-27 -3l-30 3l1 -286h-141l5 350l-5 340h141zM427 115c51 62 72 137 72 217c0 81 -21 163 -48 245
+c-52 -63 -72 -138 -72 -217c0 -81 21 -163 48 -245z" />
+    <glyph glyph-name="afii10049" unicode="&#x42f;" horiz-adv-x="444" 
+d="M394 0h-134l5 236c-15 5 -28 11 -41 18l-76 -254h-146l115 322c-56 51 -80 111 -80 185c0 51 12 108 33 176l324 14l-3 -348zM264 375l-2 205h-83c-7 -22 -11 -45 -11 -66c0 -59 28 -109 96 -139z" />
+    <glyph glyph-name="afii10023" unicode="&#x401;" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4zM226 762l-135 -31l-28 126l134 31zM411 762l-134 -31l-28 126l134 31z" />
+    <glyph glyph-name="afii10051" unicode="&#x402;" horiz-adv-x="543" 
+d="M131 0l3 555l-130 -5v140h390v-140l-130 5l1 -190l87 105l130 12c13 -98 18 -218 18 -309c0 -132 -14 -253 -58 -368l-126 33c35 101 50 202 50 313c0 49 -3 128 -8 173l-92 -98l1 -226h-136z" />
+    <glyph glyph-name="afii10052" unicode="&#x403;" horiz-adv-x="430" 
+d="M191 0h-140l3 351l-3 330l355 17l-1 -231l-123 -1l-1 110h-92zM232 704l-99 71l109 150l110 -79z" />
+    <glyph glyph-name="afii10054" unicode="&#x405;" horiz-adv-x="391" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6z" />
+    <glyph glyph-name="afii10056" unicode="&#x407;" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353zM109 762l-135 -31l-27 126l134 31zM295 762l-134 -31l-29 126l135 31z" />
+    <glyph glyph-name="afii10057" unicode="&#x408;" horiz-adv-x="349" 
+d="M159 690h141l-3 -600c-1 -127 -27 -193 -131 -284l-167 -4l-4 243l114 2l1 -111c41 38 53 74 53 158c0 110 -4 450 -4 596z" />
+    <glyph glyph-name="afii10058" unicode="&#x409;" horiz-adv-x="669" 
+d="M275 -2l-6 577h-43c-45 -107 -67 -260 -67 -435c0 -44 2 -91 5 -139l-131 -3c-2 45 -4 89 -4 133c0 206 26 390 113 555l253 11l4 -281l88 49l113 7c31 -76 48 -153 48 -216c0 -122 -62 -207 -186 -255zM487 357l-86 -45l7 -211c68 24 100 75 100 144c0 34 -8 75 -21 112
+z" />
+    <glyph glyph-name="afii10059" unicode="&#x40a;" horiz-adv-x="716" 
+d="M309 -1l1 287l-60 -4l-60 4l1 -286h-141l5 348l-5 342h141l-1 -273l60 3l60 -3l-1 273h141l-4 -271l88 49l113 7c31 -77 47 -156 47 -219c0 -122 -61 -207 -185 -255zM534 357l-89 -48l3 -210c73 22 106 75 106 146c0 34 -7 75 -20 112z" />
+    <glyph glyph-name="afii10060" unicode="&#x40b;" horiz-adv-x="542" 
+d="M131 0l3 555l-130 -5v140h390v-140l-130 5l1 -190l87 106l130 9c13 -106 15 -172 15 -241c0 -80 1 -160 1 -239h-136c0 8 3 114 3 173c0 61 -3 111 -8 150l-91 -97l1 -226h-136z" />
+    <glyph glyph-name="afii10061" unicode="&#x40c;" horiz-adv-x="459" 
+d="M50 690h142l-3 -328l126 328h148l-145 -322l148 -368h-152l-125 356v-3l3 -353h-142l5 353zM246 690l-99 70l109 150l111 -79z" />
+    <glyph glyph-name="afii10145" unicode="&#x40f;" horiz-adv-x="490" 
+d="M189 121h112l-3 569h140l-2 -690h-117l-66 -138l-106 49l39 89h-132l-2 690h140z" />
+    <glyph glyph-name="Euro" unicode="&#x20ac;" horiz-adv-x="424" 
+d="M339 456l-19 -91l-150 2v-9c0 -9 0 -18 1 -27l145 1l-18 -90l-111 1c16 -54 43 -102 77 -137l2 80l123 2l-1 -184l-198 -10c-76 64 -129 148 -151 248h-55l18 90h27c-1 6 -1 11 -1 17s0 11 1 17l-48 -1l18 93l41 -1c22 99 75 182 161 231l190 6l-1 -180l-123 -1l-1 75
+c-42 -27 -70 -77 -84 -133z" />
+    <glyph glyph-name="partialdiff" unicode="&#x2202;" horiz-adv-x="417" 
+d="M2 647l96 92c227 -222 293 -336 293 -469c0 -106 -42 -195 -143 -267l-146 -9c-49 83 -79 177 -79 260c0 88 34 162 136 241c-57 68 -127 123 -157 152zM259 252c0 42 -8 93 -43 159c-49 -49 -61 -92 -61 -138c0 -50 15 -116 40 -167c45 42 64 83 64 146z" />
+    <glyph glyph-name="product" unicode="&#x220f;" horiz-adv-x="576" 
+d="M556 586h-69v-686h-139v686h-119v-686h-139v686h-69v124h535v-124z" />
+    <glyph glyph-name="summation" unicode="&#x2211;" horiz-adv-x="420" 
+d="M406 -100h-393v116l165 286l-158 289v119h372v-114h-224l153 -289l-168 -291h253v-116z" />
+    <glyph glyph-name="radical" unicode="&#x221a;" horiz-adv-x="449" 
+d="M221 16l108 841h165v-106h-62l-148 -890h-127l-79 402l-50 -14l-27 108l160 39z" />
+    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="695" 
+d="M671 346c0 -124 -75 -200 -166 -200c-64 0 -109 38 -159 116c-50 -71 -104 -116 -166 -116c-85 0 -156 80 -156 198c0 120 72 200 166 200c64 0 111 -40 162 -117c49 71 102 117 166 117c85 0 153 -81 153 -198zM201 275c21 0 34 15 75 70c-32 49 -51 73 -76 73
+c-29 0 -45 -31 -45 -72c0 -43 18 -71 46 -71zM494 418c-27 0 -39 -25 -73 -71c37 -53 52 -72 76 -72c30 0 44 34 44 72c0 42 -18 71 -47 71z" />
+    <glyph glyph-name="integral" unicode="&#x222b;" horiz-adv-x="253" 
+d="M275 864l-12 -108c-7 3 -17 8 -30 8c-39 0 -48 -48 -48 -167c0 -156 13 -350 13 -498c0 -176 -39 -286 -158 -286c-26 0 -50 6 -62 13l13 107c6 -3 17 -7 29 -7c40 0 48 47 48 166c0 156 -14 350 -14 498c0 177 40 287 159 287c26 0 50 -6 62 -13z" />
+    <glyph glyph-name="approxequal" unicode="&#x2248;" horiz-adv-x="377" 
+d="M307 528l68 -90c-44 -49 -80 -76 -125 -76c-50 0 -86 38 -122 38c-18 0 -40 -10 -66 -38l-60 87c47 51 81 81 127 81c55 0 90 -45 120 -45c18 0 37 16 58 43zM315 328l60 -87c-46 -51 -80 -80 -126 -80c-55 0 -90 45 -121 45c-18 0 -37 -17 -58 -44l-68 90
+c45 49 80 76 125 76c50 0 87 -37 123 -37c18 0 39 8 65 37z" />
+    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="377" 
+d="M351 187l-155 4l-31 -133l-88 21l28 110l-78 -2v125l109 -3l12 46l6 27l-127 -3v124l154 -4l31 133l88 -21l-28 -110l79 2v-124l-110 2l-11 -45l-7 -28l128 4v-125z" />
+    <glyph glyph-name="lessequal" unicode="&#x2264;" horiz-adv-x="377" 
+d="M345 11l-144 4l-174 -4v115l174 -5l144 5v-115zM288 141l-253 142v126l253 142l49 -108l-193 -97l193 -98z" />
+    <glyph glyph-name="greaterequal" unicode="&#x2265;" horiz-adv-x="377" 
+d="M351 11l-145 4l-173 -4v115l173 -5l145 5v-115zM89 551l254 -142v-126l-254 -142l-48 107l193 97l-193 98z" />
+    <glyph glyph-name="lozenge" unicode="&#x25ca;" horiz-adv-x="468" 
+d="M444 345l-151 -404h-122l-147 404l151 404h121zM309 342l-75 281l-76 -275l76 -282z" />
+    <glyph glyph-name="Ecyril" horiz-adv-x="438" 
+d="M389 218l-1 -214l-183 -11c-130 91 -192 211 -192 358c0 138 56 275 197 338l177 5l-2 -196l-127 -4l-1 84c-64 -26 -95 -84 -104 -161l171 8v-127l-171 4c10 -82 44 -137 105 -184l4 97z" />
+    <glyph glyph-name="Icyril" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353z" />
+    <glyph glyph-name="Ucyrilbreve" horiz-adv-x="435" 
+d="M257 -8l-198 -5l-18 201l116 8l-160 489l148 15l108 -404c17 74 26 158 26 255c0 43 -2 88 -7 136l139 10c3 -41 4 -81 4 -119c0 -245 -60 -424 -158 -586zM70 818l87 51c20 -39 34 -60 53 -60c20 0 46 22 91 67l65 -62c-65 -73 -122 -106 -169 -106
+c-52 0 -94 40 -127 110zM180 92c18 35 35 73 48 113l-56 -39z" />
+    <glyph glyph-name="Geupturn" horiz-adv-x="428" 
+d="M190 0h-140l3 351l-3 330l226 10l3 76h126l-1 -193h-216z" />
+    <glyph glyph-name="oslash.alt" horiz-adv-x="450" 
+d="M309 2l-141 -4l-28 -77l-124 51l55 144c-32 74 -48 157 -48 232c0 119 42 244 118 341l141 3l29 78l123 -51l-54 -145c31 -75 47 -157 47 -231c0 -120 -42 -244 -118 -341zM221 580c-37 -70 -57 -153 -57 -232c0 -88 22 -168 64 -237c38 70 58 152 58 231
+c0 88 -23 169 -65 238z" />
+    <glyph glyph-name="yen.alt" horiz-adv-x="424" 
+d="M431 322v-115h-110c-33 -88 -76 -168 -128 -242l-115 73c41 61 74 115 100 169h-162v115h92l-106 358l149 23l79 -351c23 92 30 197 28 336l139 10c4 -136 -10 -261 -39 -376h73z" />
+    <glyph glyph-name="Euro.alt" horiz-adv-x="424" 
+d="M388 209l-1 -205l-194 -10c-90 74 -149 176 -163 300l-50 -1l17 122l35 -2c15 118 74 219 173 275l186 6l-2 -200l-125 -2l-1 88c-52 -32 -81 -98 -90 -168l148 2l-19 -123l-128 3c12 -73 43 -136 87 -180l2 93z" />
+    <glyph glyph-name="Oslash.alt" horiz-adv-x="450" 
+d="M309 2l-141 -4l-28 -77l-124 51l55 144c-32 74 -48 157 -48 232c0 119 42 244 118 341l141 3l29 78l123 -51l-54 -145c31 -75 47 -157 47 -231c0 -120 -42 -244 -118 -341zM221 580c-37 -70 -57 -153 -57 -232c0 -88 22 -168 64 -237c38 70 58 152 58 231
+c0 88 -23 169 -65 238z" />
+    <hkern u1="&#x22;" g2="Ecyril" k="10" />
+    <hkern u1="&#x22;" u2="&#x408;" k="106" />
+    <hkern u1="&#x22;" u2="&#x414;" k="81" />
+    <hkern u1="&#x22;" u2="&#xf7;" k="44" />
+    <hkern u1="&#x22;" u2="&#x31;" k="50" />
+    <hkern u1="&#x2019;" g2="Ecyril" k="10" />
+    <hkern u1="&#x2019;" u2="&#x408;" k="106" />
+    <hkern u1="&#x2019;" u2="&#x414;" k="81" />
+    <hkern u1="&#x2019;" u2="&#xf7;" k="44" />
+    <hkern u1="&#x2019;" u2="&#x31;" k="50" />
+    <hkern u1="&#x28;" u2="&#x41e;" k="20" />
+    <hkern u1="&#x28;" u2="&#x14c;" k="20" />
+    <hkern u1="&#x28;" u2="&#x150;" k="20" />
+    <hkern u1="&#x28;" u2="&#x14e;" k="20" />
+    <hkern u1="&#x28;" u2="&#xf5;" k="20" />
+    <hkern u1="&#x28;" u2="&#xf2;" k="20" />
+    <hkern u1="&#x28;" u2="&#xf6;" k="20" />
+    <hkern u1="&#x28;" u2="&#xf4;" k="20" />
+    <hkern u1="&#x28;" u2="&#xf3;" k="20" />
+    <hkern u1="&#x28;" u2="&#xd5;" k="20" />
+    <hkern u1="&#x28;" u2="&#xd2;" k="20" />
+    <hkern u1="&#x28;" u2="&#xd6;" k="20" />
+    <hkern u1="&#x28;" u2="&#xd4;" k="20" />
+    <hkern u1="&#x28;" u2="&#xd3;" k="20" />
+    <hkern u1="&#x28;" u2="&#x152;" k="20" />
+    <hkern u1="&#x28;" u2="q" k="20" />
+    <hkern u1="&#x28;" u2="o" k="20" />
+    <hkern u1="&#x28;" u2="Q" k="20" />
+    <hkern u1="&#x28;" u2="O" k="20" />
+    <hkern u1="&#x2a;" g2="Ecyril" k="10" />
+    <hkern u1="&#x2a;" u2="&#x408;" k="106" />
+    <hkern u1="&#x2a;" u2="&#x414;" k="81" />
+    <hkern u1="&#x2a;" u2="&#xf7;" k="44" />
+    <hkern u1="&#x2a;" u2="&#x31;" k="50" />
+    <hkern u1="&#x2b;" u2="&#x408;" k="75" />
+    <hkern u1="&#x2b;" u2="&#x42a;" k="50" />
+    <hkern u1="&#x2b;" u2="&#x414;" k="7" />
+    <hkern u1="&#x2c;" g2="Ecyril" k="83" />
+    <hkern u1="&#x2c;" u2="&#x42a;" k="108" />
+    <hkern u1="&#x2c;" u2="&#x427;" k="128" />
+    <hkern u1="&#x2c;" u2="&#x424;" k="57" />
+    <hkern u1="&#x2c;" u2="&#x174;" k="70" />
+    <hkern u1="&#x2c;" u2="&#xf7;" k="88" />
+    <hkern u1="&#x2d;" u2="&#x408;" k="75" />
+    <hkern u1="&#x2d;" u2="&#x42a;" k="50" />
+    <hkern u1="&#x2d;" u2="&#x414;" k="7" />
+    <hkern u1="&#x2e;" g2="Ecyril" k="83" />
+    <hkern u1="&#x2e;" u2="&#x42a;" k="108" />
+    <hkern u1="&#x2e;" u2="&#x427;" k="128" />
+    <hkern u1="&#x2e;" u2="&#x424;" k="57" />
+    <hkern u1="&#x2e;" u2="&#x174;" k="70" />
+    <hkern u1="&#x2e;" u2="&#xf7;" k="88" />
+    <hkern u1="&#x31;" u2="&#x40b;" k="25" />
+    <hkern u1="&#x31;" u2="&#x402;" k="25" />
+    <hkern u1="&#x31;" u2="&#x401;" k="25" />
+    <hkern u1="&#x31;" u2="&#x422;" k="25" />
+    <hkern u1="&#x31;" u2="&#x421;" k="25" />
+    <hkern u1="&#x31;" u2="&#x415;" k="25" />
+    <hkern u1="&#x31;" u2="&#x176;" k="33" />
+    <hkern u1="&#x31;" u2="&#x120;" k="25" />
+    <hkern u1="&#x31;" u2="&#x11c;" k="25" />
+    <hkern u1="&#x31;" u2="&#x11e;" k="25" />
+    <hkern u1="&#x31;" u2="&#x10a;" k="25" />
+    <hkern u1="&#x31;" u2="&#x108;" k="25" />
+    <hkern u1="&#x31;" u2="&#x10c;" k="25" />
+    <hkern u1="&#x31;" u2="&#x106;" k="25" />
+    <hkern u1="&#x31;" u2="&#xe7;" k="25" />
+    <hkern u1="&#x31;" u2="&#x178;" k="33" />
+    <hkern u1="&#x31;" u2="&#xdd;" k="33" />
+    <hkern u1="&#x31;" u2="&#xb3;" k="62" />
+    <hkern u1="&#x31;" u2="&#xae;" k="62" />
+    <hkern u1="&#x31;" u2="&#xb2;" k="62" />
+    <hkern u1="&#x31;" u2="&#x2122;" k="62" />
+    <hkern u1="&#x31;" u2="&#xb9;" k="62" />
+    <hkern u1="&#x31;" u2="&#xba;" k="62" />
+    <hkern u1="&#x31;" u2="&#xaa;" k="62" />
+    <hkern u1="&#x31;" u2="&#x201d;" k="62" />
+    <hkern u1="&#x31;" u2="&#x201c;" k="62" />
+    <hkern u1="&#x31;" u2="&#x27;" k="62" />
+    <hkern u1="&#x31;" u2="y" k="33" />
+    <hkern u1="&#x31;" u2="w" k="34" />
+    <hkern u1="&#x31;" u2="v" k="34" />
+    <hkern u1="&#x31;" u2="t" k="25" />
+    <hkern u1="&#x31;" u2="g" k="25" />
+    <hkern u1="&#x31;" u2="c" k="25" />
+    <hkern u1="&#x31;" u2="&#x2018;" k="62" />
+    <hkern u1="&#x31;" u2="Y" k="33" />
+    <hkern u1="&#x31;" u2="W" k="34" />
+    <hkern u1="&#x31;" u2="V" k="34" />
+    <hkern u1="&#x31;" u2="T" k="25" />
+    <hkern u1="&#x31;" u2="G" k="25" />
+    <hkern u1="&#x31;" u2="C" k="25" />
+    <hkern u1="&#x31;" u2="&#x2a;" k="62" />
+    <hkern u1="&#x31;" u2="&#x2019;" k="62" />
+    <hkern u1="&#x31;" u2="&#x22;" k="62" />
+    <hkern u1="&#x31;" g2="Ecyril" k="20" />
+    <hkern u1="&#x31;" u2="&#x424;" k="41" />
+    <hkern u1="&#x31;" u2="&#x174;" k="34" />
+    <hkern u1="A" g2="Ecyril" k="3" />
+    <hkern u1="A" u2="&#x42a;" k="51" />
+    <hkern u1="A" u2="&#x427;" k="22" />
+    <hkern u1="A" u2="&#x424;" k="13" />
+    <hkern u1="A" u2="&#x174;" k="33" />
+    <hkern u1="A" u2="&#xf7;" k="17" />
+    <hkern u1="C" u2="&#x424;" k="10" />
+    <hkern u1="C" u2="&#xf7;" k="61" />
+    <hkern u1="D" u2="&#x408;" k="20" />
+    <hkern u1="D" u2="&#x7d;" k="20" />
+    <hkern u1="D" u2="]" k="20" />
+    <hkern u1="D" u2="&#x31;" k="25" />
+    <hkern u1="D" u2="&#x29;" k="20" />
+    <hkern u1="F" g2="Ecyril" k="12" />
+    <hkern u1="F" u2="&#x408;" k="106" />
+    <hkern u1="F" u2="&#x31;" k="56" />
+    <hkern u1="J" u2="&#x408;" k="20" />
+    <hkern u1="J" u2="&#x7d;" k="20" />
+    <hkern u1="J" u2="]" k="20" />
+    <hkern u1="J" u2="&#x31;" k="25" />
+    <hkern u1="J" u2="&#x29;" k="20" />
+    <hkern u1="K" g2="Ecyril" k="21" />
+    <hkern u1="K" u2="&#x424;" k="37" />
+    <hkern u1="K" u2="&#xf7;" k="51" />
+    <hkern u1="L" u2="&#x42a;" k="81" />
+    <hkern u1="L" u2="&#x174;" k="48" />
+    <hkern u1="L" u2="&#xf7;" k="75" />
+    <hkern u1="O" u2="&#x408;" k="14" />
+    <hkern u1="O" u2="&#x414;" k="21" />
+    <hkern u1="O" u2="&#x7d;" k="14" />
+    <hkern u1="O" u2="]" k="14" />
+    <hkern u1="O" u2="&#x31;" k="20" />
+    <hkern u1="O" u2="&#x29;" k="14" />
+    <hkern u1="P" u2="&#x408;" k="72" />
+    <hkern u1="P" u2="&#x42f;" k="3" />
+    <hkern u1="P" u2="&#x414;" k="40" />
+    <hkern u1="P" u2="&#xf7;" k="18" />
+    <hkern u1="P" u2="&#x31;" k="54" />
+    <hkern u1="R" g2="Ecyril" k="21" />
+    <hkern u1="R" u2="&#x424;" k="37" />
+    <hkern u1="R" u2="&#xf7;" k="51" />
+    <hkern u1="S" u2="&#x31;" k="25" />
+    <hkern u1="T" g2="Ecyril" k="34" />
+    <hkern u1="T" u2="&#x408;" k="46" />
+    <hkern u1="T" u2="&#x42f;" k="20" />
+    <hkern u1="T" u2="&#x424;" k="48" />
+    <hkern u1="T" u2="&#x414;" k="31" />
+    <hkern u1="T" u2="&#xf7;" k="69" />
+    <hkern u1="T" u2="&#x31;" k="50" />
+    <hkern u1="V" u2="&#x31;" k="48" />
+    <hkern u1="W" u2="&#x31;" k="48" />
+    <hkern u1="Y" g2="Ecyril" k="28" />
+    <hkern u1="Y" u2="&#x408;" k="61" />
+    <hkern u1="Y" u2="&#x424;" k="36" />
+    <hkern u1="Y" u2="&#x414;" k="63" />
+    <hkern u1="Y" u2="&#xf7;" k="45" />
+    <hkern u1="Y" u2="&#x31;" k="41" />
+    <hkern u1="Z" g2="Ecyril" k="14" />
+    <hkern u1="Z" u2="&#xf7;" k="38" />
+    <hkern u1="[" u2="&#x41e;" k="20" />
+    <hkern u1="[" u2="&#x14c;" k="20" />
+    <hkern u1="[" u2="&#x150;" k="20" />
+    <hkern u1="[" u2="&#x14e;" k="20" />
+    <hkern u1="[" u2="&#xf5;" k="20" />
+    <hkern u1="[" u2="&#xf2;" k="20" />
+    <hkern u1="[" u2="&#xf6;" k="20" />
+    <hkern u1="[" u2="&#xf4;" k="20" />
+    <hkern u1="[" u2="&#xf3;" k="20" />
+    <hkern u1="[" u2="&#xd5;" k="20" />
+    <hkern u1="[" u2="&#xd2;" k="20" />
+    <hkern u1="[" u2="&#xd6;" k="20" />
+    <hkern u1="[" u2="&#xd4;" k="20" />
+    <hkern u1="[" u2="&#xd3;" k="20" />
+    <hkern u1="[" u2="&#x152;" k="20" />
+    <hkern u1="[" u2="q" k="20" />
+    <hkern u1="[" u2="o" k="20" />
+    <hkern u1="[" u2="Q" k="20" />
+    <hkern u1="[" u2="O" k="20" />
+    <hkern u1="_" g2="Ecyril" k="83" />
+    <hkern u1="_" u2="&#x42a;" k="108" />
+    <hkern u1="_" u2="&#x427;" k="128" />
+    <hkern u1="_" u2="&#x424;" k="57" />
+    <hkern u1="_" u2="&#x174;" k="70" />
+    <hkern u1="_" u2="&#xf7;" k="88" />
+    <hkern u1="&#x2018;" g2="Ecyril" k="10" />
+    <hkern u1="&#x2018;" u2="&#x408;" k="106" />
+    <hkern u1="&#x2018;" u2="&#x414;" k="81" />
+    <hkern u1="&#x2018;" u2="&#xf7;" k="44" />
+    <hkern u1="&#x2018;" u2="&#x31;" k="50" />
+    <hkern u1="a" g2="Ecyril" k="3" />
+    <hkern u1="a" u2="&#x42a;" k="51" />
+    <hkern u1="a" u2="&#x427;" k="22" />
+    <hkern u1="a" u2="&#x424;" k="13" />
+    <hkern u1="a" u2="&#x174;" k="33" />
+    <hkern u1="a" u2="&#xf7;" k="17" />
+    <hkern u1="c" u2="&#x424;" k="10" />
+    <hkern u1="c" u2="&#xf7;" k="61" />
+    <hkern u1="d" u2="&#x408;" k="20" />
+    <hkern u1="d" u2="&#x7d;" k="20" />
+    <hkern u1="d" u2="]" k="20" />
+    <hkern u1="d" u2="&#x31;" k="25" />
+    <hkern u1="d" u2="&#x29;" k="20" />
+    <hkern u1="f" g2="Ecyril" k="12" />
+    <hkern u1="f" u2="&#x408;" k="106" />
+    <hkern u1="f" u2="&#x31;" k="56" />
+    <hkern u1="j" u2="&#x408;" k="20" />
+    <hkern u1="j" u2="&#x7d;" k="20" />
+    <hkern u1="j" u2="]" k="20" />
+    <hkern u1="j" u2="&#x31;" k="25" />
+    <hkern u1="j" u2="&#x29;" k="20" />
+    <hkern u1="k" g2="Ecyril" k="21" />
+    <hkern u1="k" u2="&#x424;" k="37" />
+    <hkern u1="k" u2="&#xf7;" k="51" />
+    <hkern u1="l" u2="&#x42a;" k="81" />
+    <hkern u1="l" u2="&#x174;" k="48" />
+    <hkern u1="l" u2="&#xf7;" k="75" />
+    <hkern u1="o" u2="&#x408;" k="14" />
+    <hkern u1="o" u2="&#x414;" k="21" />
+    <hkern u1="o" u2="&#x7d;" k="14" />
+    <hkern u1="o" u2="]" k="14" />
+    <hkern u1="o" u2="&#x31;" k="20" />
+    <hkern u1="o" u2="&#x29;" k="14" />
+    <hkern u1="p" u2="&#x408;" k="72" />
+    <hkern u1="p" u2="&#x42f;" k="3" />
+    <hkern u1="p" u2="&#x414;" k="40" />
+    <hkern u1="p" u2="&#xf7;" k="18" />
+    <hkern u1="p" u2="&#x31;" k="54" />
+    <hkern u1="r" g2="Ecyril" k="21" />
+    <hkern u1="r" u2="&#x424;" k="37" />
+    <hkern u1="r" u2="&#xf7;" k="51" />
+    <hkern u1="s" u2="&#x31;" k="25" />
+    <hkern u1="t" g2="Ecyril" k="34" />
+    <hkern u1="t" u2="&#x408;" k="46" />
+    <hkern u1="t" u2="&#x42f;" k="20" />
+    <hkern u1="t" u2="&#x424;" k="48" />
+    <hkern u1="t" u2="&#x414;" k="31" />
+    <hkern u1="t" u2="&#xf7;" k="69" />
+    <hkern u1="t" u2="&#x31;" k="50" />
+    <hkern u1="v" u2="&#x31;" k="48" />
+    <hkern u1="w" u2="&#x31;" k="48" />
+    <hkern u1="y" g2="Ecyril" k="28" />
+    <hkern u1="y" u2="&#x408;" k="61" />
+    <hkern u1="y" u2="&#x424;" k="36" />
+    <hkern u1="y" u2="&#x414;" k="63" />
+    <hkern u1="y" u2="&#xf7;" k="45" />
+    <hkern u1="y" u2="&#x31;" k="41" />
+    <hkern u1="z" g2="Ecyril" k="14" />
+    <hkern u1="z" u2="&#xf7;" k="38" />
+    <hkern u1="&#x7b;" u2="&#x41e;" k="20" />
+    <hkern u1="&#x7b;" u2="&#x14c;" k="20" />
+    <hkern u1="&#x7b;" u2="&#x150;" k="20" />
+    <hkern u1="&#x7b;" u2="&#x14e;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xf5;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xf2;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xf6;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xf4;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xf3;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xd5;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xd2;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xd6;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xd4;" k="20" />
+    <hkern u1="&#x7b;" u2="&#xd3;" k="20" />
+    <hkern u1="&#x7b;" u2="&#x152;" k="20" />
+    <hkern u1="&#x7b;" u2="q" k="20" />
+    <hkern u1="&#x7b;" u2="o" k="20" />
+    <hkern u1="&#x7b;" u2="Q" k="20" />
+    <hkern u1="&#x7b;" u2="O" k="20" />
+    <hkern u1="&#x27;" g2="Ecyril" k="10" />
+    <hkern u1="&#x27;" u2="&#x408;" k="106" />
+    <hkern u1="&#x27;" u2="&#x414;" k="81" />
+    <hkern u1="&#x27;" u2="&#xf7;" k="44" />
+    <hkern u1="&#x27;" u2="&#x31;" k="50" />
+    <hkern u1="&#x201c;" g2="Ecyril" k="10" />
+    <hkern u1="&#x201c;" u2="&#x408;" k="106" />
+    <hkern u1="&#x201c;" u2="&#x414;" k="81" />
+    <hkern u1="&#x201c;" u2="&#xf7;" k="44" />
+    <hkern u1="&#x201c;" u2="&#x31;" k="50" />
+    <hkern u1="&#x2013;" u2="&#x408;" k="75" />
+    <hkern u1="&#x2013;" u2="&#x42a;" k="50" />
+    <hkern u1="&#x2013;" u2="&#x414;" k="7" />
+    <hkern u1="&#x2022;" u2="&#x408;" k="75" />
+    <hkern u1="&#x2022;" u2="&#x42a;" k="50" />
+    <hkern u1="&#x2022;" u2="&#x414;" k="7" />
+    <hkern u1="&#x201a;" g2="Ecyril" k="83" />
+    <hkern u1="&#x201a;" u2="&#x42a;" k="108" />
+    <hkern u1="&#x201a;" u2="&#x427;" k="128" />
+    <hkern u1="&#x201a;" u2="&#x424;" k="57" />
+    <hkern u1="&#x201a;" u2="&#x174;" k="70" />
+    <hkern u1="&#x201a;" u2="&#xf7;" k="88" />
+    <hkern u1="&#x201e;" g2="Ecyril" k="83" />
+    <hkern u1="&#x201e;" u2="&#x42a;" k="108" />
+    <hkern u1="&#x201e;" u2="&#x427;" k="128" />
+    <hkern u1="&#x201e;" u2="&#x424;" k="57" />
+    <hkern u1="&#x201e;" u2="&#x174;" k="70" />
+    <hkern u1="&#x201e;" u2="&#xf7;" k="88" />
+    <hkern u1="&#x201d;" g2="Ecyril" k="10" />
+    <hkern u1="&#x201d;" u2="&#x408;" k="106" />
+    <hkern u1="&#x201d;" u2="&#x414;" k="81" />
+    <hkern u1="&#x201d;" u2="&#xf7;" k="44" />
+    <hkern u1="&#x201d;" u2="&#x31;" k="50" />
+    <hkern u1="&#x2026;" g2="Ecyril" k="83" />
+    <hkern u1="&#x2026;" u2="&#x42a;" k="108" />
+    <hkern u1="&#x2026;" u2="&#x427;" k="128" />
+    <hkern u1="&#x2026;" u2="&#x424;" k="57" />
+    <hkern u1="&#x2026;" u2="&#x174;" k="70" />
+    <hkern u1="&#x2026;" u2="&#xf7;" k="88" />
+    <hkern u1="&#x2014;" u2="&#x408;" k="75" />
+    <hkern u1="&#x2014;" u2="&#x42a;" k="50" />
+    <hkern u1="&#x2014;" u2="&#x414;" k="7" />
+    <hkern u1="&#xc6;" g2="Ecyril" k="3" />
+    <hkern u1="&#xc6;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xc6;" u2="&#x427;" k="22" />
+    <hkern u1="&#xc6;" u2="&#x424;" k="13" />
+    <hkern u1="&#xc6;" u2="&#x174;" k="33" />
+    <hkern u1="&#xc6;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xaa;" g2="Ecyril" k="10" />
+    <hkern u1="&#xaa;" u2="&#x408;" k="106" />
+    <hkern u1="&#xaa;" u2="&#x414;" k="81" />
+    <hkern u1="&#xaa;" u2="&#xf7;" k="44" />
+    <hkern u1="&#xaa;" u2="&#x31;" k="50" />
+    <hkern u1="&#xba;" g2="Ecyril" k="10" />
+    <hkern u1="&#xba;" u2="&#x408;" k="106" />
+    <hkern u1="&#xba;" u2="&#x414;" k="81" />
+    <hkern u1="&#xba;" u2="&#xf7;" k="44" />
+    <hkern u1="&#xba;" u2="&#x31;" k="50" />
+    <hkern u1="&#xb9;" g2="Ecyril" k="10" />
+    <hkern u1="&#xb9;" u2="&#x408;" k="106" />
+    <hkern u1="&#xb9;" u2="&#x414;" k="81" />
+    <hkern u1="&#xb9;" u2="&#xf7;" k="44" />
+    <hkern u1="&#xb9;" u2="&#x31;" k="50" />
+    <hkern u1="&#xac;" u2="&#x408;" k="75" />
+    <hkern u1="&#xac;" u2="&#x42a;" k="50" />
+    <hkern u1="&#xac;" u2="&#x414;" k="7" />
+    <hkern u1="&#x2122;" g2="Ecyril" k="10" />
+    <hkern u1="&#x2122;" u2="&#x408;" k="106" />
+    <hkern u1="&#x2122;" u2="&#x414;" k="81" />
+    <hkern u1="&#x2122;" u2="&#xf7;" k="44" />
+    <hkern u1="&#x2122;" u2="&#x31;" k="50" />
+    <hkern u1="&#xd0;" u2="&#x408;" k="20" />
+    <hkern u1="&#xd0;" u2="&#x7d;" k="20" />
+    <hkern u1="&#xd0;" u2="]" k="20" />
+    <hkern u1="&#xd0;" u2="&#x31;" k="25" />
+    <hkern u1="&#xd0;" u2="&#x29;" k="20" />
+    <hkern u1="&#xf7;" g2="Ucyrilbreve" k="23" />
+    <hkern u1="&#xf7;" u2="&#x40b;" k="74" />
+    <hkern u1="&#xf7;" u2="&#x402;" k="74" />
+    <hkern u1="&#xf7;" u2="&#x423;" k="23" />
+    <hkern u1="&#xf7;" u2="&#x422;" k="74" />
+    <hkern u1="&#xf7;" u2="&#x410;" k="24" />
+    <hkern u1="&#xf7;" u2="&#x17b;" k="70" />
+    <hkern u1="&#xf7;" u2="&#x179;" k="70" />
+    <hkern u1="&#xf7;" u2="&#x176;" k="41" />
+    <hkern u1="&#xf7;" u2="&#x104;" k="24" />
+    <hkern u1="&#xf7;" u2="&#x100;" k="24" />
+    <hkern u1="&#xf7;" u2="&#x102;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xe3;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xe5;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xe0;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xe4;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xe2;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xe1;" k="24" />
+    <hkern u1="&#xf7;" u2="&#x17d;" k="70" />
+    <hkern u1="&#xf7;" u2="&#x178;" k="41" />
+    <hkern u1="&#xf7;" u2="&#xdd;" k="41" />
+    <hkern u1="&#xf7;" u2="&#xc3;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xc5;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xc0;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xc4;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xc2;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xc1;" k="24" />
+    <hkern u1="&#xf7;" u2="&#xb3;" k="50" />
+    <hkern u1="&#xf7;" u2="&#xae;" k="50" />
+    <hkern u1="&#xf7;" u2="&#xb2;" k="50" />
+    <hkern u1="&#xf7;" u2="&#x2122;" k="50" />
+    <hkern u1="&#xf7;" u2="&#xb9;" k="50" />
+    <hkern u1="&#xf7;" u2="&#xba;" k="50" />
+    <hkern u1="&#xf7;" u2="&#xaa;" k="50" />
+    <hkern u1="&#xf7;" u2="&#xc6;" k="24" />
+    <hkern u1="&#xf7;" u2="&#x2026;" k="69" />
+    <hkern u1="&#xf7;" u2="&#x201d;" k="50" />
+    <hkern u1="&#xf7;" u2="&#x201e;" k="69" />
+    <hkern u1="&#xf7;" u2="&#x201a;" k="69" />
+    <hkern u1="&#xf7;" u2="&#x201c;" k="50" />
+    <hkern u1="&#xf7;" u2="&#x27;" k="50" />
+    <hkern u1="&#xf7;" u2="z" k="70" />
+    <hkern u1="&#xf7;" u2="y" k="41" />
+    <hkern u1="&#xf7;" u2="t" k="74" />
+    <hkern u1="&#xf7;" u2="a" k="24" />
+    <hkern u1="&#xf7;" u2="&#x2018;" k="50" />
+    <hkern u1="&#xf7;" u2="_" k="69" />
+    <hkern u1="&#xf7;" u2="Z" k="70" />
+    <hkern u1="&#xf7;" u2="Y" k="41" />
+    <hkern u1="&#xf7;" u2="T" k="74" />
+    <hkern u1="&#xf7;" u2="A" k="24" />
+    <hkern u1="&#xf7;" u2="&#x2e;" k="69" />
+    <hkern u1="&#xf7;" u2="&#x2c;" k="69" />
+    <hkern u1="&#xf7;" u2="&#x2a;" k="50" />
+    <hkern u1="&#xf7;" u2="&#x2019;" k="50" />
+    <hkern u1="&#xf7;" u2="&#x22;" k="50" />
+    <hkern u1="&#xf7;" u2="&#x408;" k="75" />
+    <hkern u1="&#xf7;" u2="&#x42a;" k="50" />
+    <hkern u1="&#xf7;" u2="&#x414;" k="7" />
+    <hkern u1="&#xb2;" g2="Ecyril" k="10" />
+    <hkern u1="&#xb2;" u2="&#x408;" k="106" />
+    <hkern u1="&#xb2;" u2="&#x414;" k="81" />
+    <hkern u1="&#xb2;" u2="&#xf7;" k="44" />
+    <hkern u1="&#xb2;" u2="&#x31;" k="50" />
+    <hkern u1="&#xae;" g2="Ecyril" k="10" />
+    <hkern u1="&#xae;" u2="&#x408;" k="106" />
+    <hkern u1="&#xae;" u2="&#x414;" k="81" />
+    <hkern u1="&#xae;" u2="&#xf7;" k="44" />
+    <hkern u1="&#xae;" u2="&#x31;" k="50" />
+    <hkern u1="&#x2212;" u2="&#x408;" k="75" />
+    <hkern u1="&#x2212;" u2="&#x42a;" k="50" />
+    <hkern u1="&#x2212;" u2="&#x414;" k="7" />
+    <hkern u1="&#xb3;" g2="Ecyril" k="10" />
+    <hkern u1="&#xb3;" u2="&#x408;" k="106" />
+    <hkern u1="&#xb3;" u2="&#x414;" k="81" />
+    <hkern u1="&#xb3;" u2="&#xf7;" k="44" />
+    <hkern u1="&#xb3;" u2="&#x31;" k="50" />
+    <hkern u1="&#xc1;" g2="Ecyril" k="3" />
+    <hkern u1="&#xc1;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xc1;" u2="&#x427;" k="22" />
+    <hkern u1="&#xc1;" u2="&#x424;" k="13" />
+    <hkern u1="&#xc1;" u2="&#x174;" k="33" />
+    <hkern u1="&#xc1;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xc2;" g2="Ecyril" k="3" />
+    <hkern u1="&#xc2;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xc2;" u2="&#x427;" k="22" />
+    <hkern u1="&#xc2;" u2="&#x424;" k="13" />
+    <hkern u1="&#xc2;" u2="&#x174;" k="33" />
+    <hkern u1="&#xc2;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xc4;" g2="Ecyril" k="3" />
+    <hkern u1="&#xc4;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xc4;" u2="&#x427;" k="22" />
+    <hkern u1="&#xc4;" u2="&#x424;" k="13" />
+    <hkern u1="&#xc4;" u2="&#x174;" k="33" />
+    <hkern u1="&#xc4;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xc0;" g2="Ecyril" k="3" />
+    <hkern u1="&#xc0;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xc0;" u2="&#x427;" k="22" />
+    <hkern u1="&#xc0;" u2="&#x424;" k="13" />
+    <hkern u1="&#xc0;" u2="&#x174;" k="33" />
+    <hkern u1="&#xc0;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xc5;" g2="Ecyril" k="3" />
+    <hkern u1="&#xc5;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xc5;" u2="&#x427;" k="22" />
+    <hkern u1="&#xc5;" u2="&#x424;" k="13" />
+    <hkern u1="&#xc5;" u2="&#x174;" k="33" />
+    <hkern u1="&#xc5;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xc3;" g2="Ecyril" k="3" />
+    <hkern u1="&#xc3;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xc3;" u2="&#x427;" k="22" />
+    <hkern u1="&#xc3;" u2="&#x424;" k="13" />
+    <hkern u1="&#xc3;" u2="&#x174;" k="33" />
+    <hkern u1="&#xc3;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xd3;" u2="&#x408;" k="14" />
+    <hkern u1="&#xd3;" u2="&#x414;" k="21" />
+    <hkern u1="&#xd3;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xd3;" u2="]" k="14" />
+    <hkern u1="&#xd3;" u2="&#x31;" k="20" />
+    <hkern u1="&#xd3;" u2="&#x29;" k="14" />
+    <hkern u1="&#xd4;" u2="&#x408;" k="14" />
+    <hkern u1="&#xd4;" u2="&#x414;" k="21" />
+    <hkern u1="&#xd4;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xd4;" u2="]" k="14" />
+    <hkern u1="&#xd4;" u2="&#x31;" k="20" />
+    <hkern u1="&#xd4;" u2="&#x29;" k="14" />
+    <hkern u1="&#xd6;" u2="&#x408;" k="14" />
+    <hkern u1="&#xd6;" u2="&#x414;" k="21" />
+    <hkern u1="&#xd6;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xd6;" u2="]" k="14" />
+    <hkern u1="&#xd6;" u2="&#x31;" k="20" />
+    <hkern u1="&#xd6;" u2="&#x29;" k="14" />
+    <hkern u1="&#xd2;" u2="&#x408;" k="14" />
+    <hkern u1="&#xd2;" u2="&#x414;" k="21" />
+    <hkern u1="&#xd2;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xd2;" u2="]" k="14" />
+    <hkern u1="&#xd2;" u2="&#x31;" k="20" />
+    <hkern u1="&#xd2;" u2="&#x29;" k="14" />
+    <hkern u1="&#xd5;" u2="&#x408;" k="14" />
+    <hkern u1="&#xd5;" u2="&#x414;" k="21" />
+    <hkern u1="&#xd5;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xd5;" u2="]" k="14" />
+    <hkern u1="&#xd5;" u2="&#x31;" k="20" />
+    <hkern u1="&#xd5;" u2="&#x29;" k="14" />
+    <hkern u1="&#x160;" u2="&#x31;" k="25" />
+    <hkern u1="&#xdd;" u2="&#x410;" k="25" />
+    <hkern u1="&#xdd;" u2="&#x104;" k="25" />
+    <hkern u1="&#xdd;" u2="&#x100;" k="25" />
+    <hkern u1="&#xdd;" u2="&#x102;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xe3;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xe5;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xe0;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xe4;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xe2;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xe1;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xc3;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xc5;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xc0;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xc4;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xc2;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xc1;" k="25" />
+    <hkern u1="&#xdd;" u2="&#xc6;" k="25" />
+    <hkern u1="&#xdd;" u2="&#x2026;" k="97" />
+    <hkern u1="&#xdd;" u2="&#x201e;" k="97" />
+    <hkern u1="&#xdd;" u2="&#x201a;" k="97" />
+    <hkern u1="&#xdd;" u2="a" k="25" />
+    <hkern u1="&#xdd;" u2="_" k="97" />
+    <hkern u1="&#xdd;" u2="A" k="25" />
+    <hkern u1="&#xdd;" u2="&#x2e;" k="97" />
+    <hkern u1="&#xdd;" u2="&#x2c;" k="97" />
+    <hkern u1="&#xdd;" g2="Ecyril" k="28" />
+    <hkern u1="&#xdd;" u2="&#x408;" k="53" />
+    <hkern u1="&#xdd;" u2="&#x424;" k="36" />
+    <hkern u1="&#xdd;" u2="&#x414;" k="63" />
+    <hkern u1="&#xdd;" u2="&#xf7;" k="45" />
+    <hkern u1="&#xdd;" u2="&#x31;" k="25" />
+    <hkern u1="&#x178;" u2="&#x410;" k="25" />
+    <hkern u1="&#x178;" u2="&#x104;" k="25" />
+    <hkern u1="&#x178;" u2="&#x100;" k="25" />
+    <hkern u1="&#x178;" u2="&#x102;" k="25" />
+    <hkern u1="&#x178;" u2="&#xe3;" k="25" />
+    <hkern u1="&#x178;" u2="&#xe5;" k="25" />
+    <hkern u1="&#x178;" u2="&#xe0;" k="25" />
+    <hkern u1="&#x178;" u2="&#xe4;" k="25" />
+    <hkern u1="&#x178;" u2="&#xe2;" k="25" />
+    <hkern u1="&#x178;" u2="&#xe1;" k="25" />
+    <hkern u1="&#x178;" u2="&#xc3;" k="25" />
+    <hkern u1="&#x178;" u2="&#xc5;" k="25" />
+    <hkern u1="&#x178;" u2="&#xc0;" k="25" />
+    <hkern u1="&#x178;" u2="&#xc4;" k="25" />
+    <hkern u1="&#x178;" u2="&#xc2;" k="25" />
+    <hkern u1="&#x178;" u2="&#xc1;" k="25" />
+    <hkern u1="&#x178;" u2="&#xc6;" k="25" />
+    <hkern u1="&#x178;" u2="&#x2026;" k="97" />
+    <hkern u1="&#x178;" u2="&#x201e;" k="97" />
+    <hkern u1="&#x178;" u2="&#x201a;" k="97" />
+    <hkern u1="&#x178;" u2="a" k="25" />
+    <hkern u1="&#x178;" u2="_" k="97" />
+    <hkern u1="&#x178;" u2="A" k="25" />
+    <hkern u1="&#x178;" u2="&#x2e;" k="97" />
+    <hkern u1="&#x178;" u2="&#x2c;" k="97" />
+    <hkern u1="&#x178;" g2="Ecyril" k="28" />
+    <hkern u1="&#x178;" u2="&#x408;" k="53" />
+    <hkern u1="&#x178;" u2="&#x424;" k="36" />
+    <hkern u1="&#x178;" u2="&#x414;" k="63" />
+    <hkern u1="&#x178;" u2="&#xf7;" k="45" />
+    <hkern u1="&#x178;" u2="&#x31;" k="25" />
+    <hkern u1="&#x17d;" g2="Ecyril" k="14" />
+    <hkern u1="&#x17d;" u2="&#xf7;" k="38" />
+    <hkern u1="&#xe1;" g2="Ecyril" k="3" />
+    <hkern u1="&#xe1;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xe1;" u2="&#x427;" k="22" />
+    <hkern u1="&#xe1;" u2="&#x424;" k="13" />
+    <hkern u1="&#xe1;" u2="&#x174;" k="33" />
+    <hkern u1="&#xe1;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xe2;" g2="Ecyril" k="3" />
+    <hkern u1="&#xe2;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xe2;" u2="&#x427;" k="22" />
+    <hkern u1="&#xe2;" u2="&#x424;" k="13" />
+    <hkern u1="&#xe2;" u2="&#x174;" k="33" />
+    <hkern u1="&#xe2;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xe4;" g2="Ecyril" k="3" />
+    <hkern u1="&#xe4;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xe4;" u2="&#x427;" k="22" />
+    <hkern u1="&#xe4;" u2="&#x424;" k="13" />
+    <hkern u1="&#xe4;" u2="&#x174;" k="33" />
+    <hkern u1="&#xe4;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xe0;" g2="Ecyril" k="3" />
+    <hkern u1="&#xe0;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xe0;" u2="&#x427;" k="22" />
+    <hkern u1="&#xe0;" u2="&#x424;" k="13" />
+    <hkern u1="&#xe0;" u2="&#x174;" k="33" />
+    <hkern u1="&#xe0;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xe5;" g2="Ecyril" k="3" />
+    <hkern u1="&#xe5;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xe5;" u2="&#x427;" k="22" />
+    <hkern u1="&#xe5;" u2="&#x424;" k="13" />
+    <hkern u1="&#xe5;" u2="&#x174;" k="33" />
+    <hkern u1="&#xe5;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xe3;" g2="Ecyril" k="3" />
+    <hkern u1="&#xe3;" u2="&#x42a;" k="51" />
+    <hkern u1="&#xe3;" u2="&#x427;" k="22" />
+    <hkern u1="&#xe3;" u2="&#x424;" k="13" />
+    <hkern u1="&#xe3;" u2="&#x174;" k="33" />
+    <hkern u1="&#xe3;" u2="&#xf7;" k="17" />
+    <hkern u1="&#xe7;" u2="&#x424;" k="10" />
+    <hkern u1="&#xe7;" u2="&#xf7;" k="61" />
+    <hkern u1="&#xf3;" u2="&#x408;" k="14" />
+    <hkern u1="&#xf3;" u2="&#x414;" k="21" />
+    <hkern u1="&#xf3;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xf3;" u2="]" k="14" />
+    <hkern u1="&#xf3;" u2="&#x31;" k="20" />
+    <hkern u1="&#xf3;" u2="&#x29;" k="14" />
+    <hkern u1="&#xf4;" u2="&#x408;" k="14" />
+    <hkern u1="&#xf4;" u2="&#x414;" k="21" />
+    <hkern u1="&#xf4;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xf4;" u2="]" k="14" />
+    <hkern u1="&#xf4;" u2="&#x31;" k="20" />
+    <hkern u1="&#xf4;" u2="&#x29;" k="14" />
+    <hkern u1="&#xf6;" u2="&#x408;" k="14" />
+    <hkern u1="&#xf6;" u2="&#x414;" k="21" />
+    <hkern u1="&#xf6;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xf6;" u2="]" k="14" />
+    <hkern u1="&#xf6;" u2="&#x31;" k="20" />
+    <hkern u1="&#xf6;" u2="&#x29;" k="14" />
+    <hkern u1="&#xf2;" u2="&#x408;" k="14" />
+    <hkern u1="&#xf2;" u2="&#x414;" k="21" />
+    <hkern u1="&#xf2;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xf2;" u2="]" k="14" />
+    <hkern u1="&#xf2;" u2="&#x31;" k="20" />
+    <hkern u1="&#xf2;" u2="&#x29;" k="14" />
+    <hkern u1="&#xf5;" u2="&#x408;" k="14" />
+    <hkern u1="&#xf5;" u2="&#x414;" k="21" />
+    <hkern u1="&#xf5;" u2="&#x7d;" k="14" />
+    <hkern u1="&#xf5;" u2="]" k="14" />
+    <hkern u1="&#xf5;" u2="&#x31;" k="20" />
+    <hkern u1="&#xf5;" u2="&#x29;" k="14" />
+    <hkern u1="&#x102;" g2="Ecyril" k="3" />
+    <hkern u1="&#x102;" u2="&#x42a;" k="51" />
+    <hkern u1="&#x102;" u2="&#x427;" k="22" />
+    <hkern u1="&#x102;" u2="&#x424;" k="13" />
+    <hkern u1="&#x102;" u2="&#x174;" k="33" />
+    <hkern u1="&#x102;" u2="&#xf7;" k="17" />
+    <hkern u1="&#x100;" g2="Ecyril" k="3" />
+    <hkern u1="&#x100;" u2="&#x42a;" k="51" />
+    <hkern u1="&#x100;" u2="&#x427;" k="22" />
+    <hkern u1="&#x100;" u2="&#x424;" k="13" />
+    <hkern u1="&#x100;" u2="&#x174;" k="33" />
+    <hkern u1="&#x100;" u2="&#xf7;" k="17" />
+    <hkern u1="&#x104;" g2="Ecyril" k="3" />
+    <hkern u1="&#x104;" u2="&#x42a;" k="51" />
+    <hkern u1="&#x104;" u2="&#x427;" k="22" />
+    <hkern u1="&#x104;" u2="&#x424;" k="13" />
+    <hkern u1="&#x104;" u2="&#x174;" k="33" />
+    <hkern u1="&#x104;" u2="&#xf7;" k="17" />
+    <hkern u1="&#x106;" u2="&#x424;" k="10" />
+    <hkern u1="&#x106;" u2="&#xf7;" k="61" />
+    <hkern u1="&#x10c;" u2="&#x424;" k="10" />
+    <hkern u1="&#x10c;" u2="&#xf7;" k="61" />
+    <hkern u1="&#x108;" u2="&#x424;" k="10" />
+    <hkern u1="&#x108;" u2="&#xf7;" k="61" />
+    <hkern u1="&#x10a;" u2="&#x424;" k="10" />
+    <hkern u1="&#x10a;" u2="&#xf7;" k="61" />
+    <hkern u1="&#x10e;" u2="&#x408;" k="20" />
+    <hkern u1="&#x10e;" u2="&#x7d;" k="20" />
+    <hkern u1="&#x10e;" u2="]" k="20" />
+    <hkern u1="&#x10e;" u2="&#x31;" k="25" />
+    <hkern u1="&#x10e;" u2="&#x29;" k="20" />
+    <hkern u1="&#x110;" u2="&#x408;" k="20" />
+    <hkern u1="&#x110;" u2="&#x7d;" k="20" />
+    <hkern u1="&#x110;" u2="]" k="20" />
+    <hkern u1="&#x110;" u2="&#x31;" k="25" />
+    <hkern u1="&#x110;" u2="&#x29;" k="20" />
+    <hkern u1="&#x14e;" u2="&#x408;" k="14" />
+    <hkern u1="&#x14e;" u2="&#x414;" k="21" />
+    <hkern u1="&#x14e;" u2="&#x7d;" k="14" />
+    <hkern u1="&#x14e;" u2="]" k="14" />
+    <hkern u1="&#x14e;" u2="&#x31;" k="20" />
+    <hkern u1="&#x14e;" u2="&#x29;" k="14" />
+    <hkern u1="&#x150;" u2="&#x408;" k="14" />
+    <hkern u1="&#x150;" u2="&#x414;" k="21" />
+    <hkern u1="&#x150;" u2="&#x7d;" k="14" />
+    <hkern u1="&#x150;" u2="]" k="14" />
+    <hkern u1="&#x150;" u2="&#x31;" k="20" />
+    <hkern u1="&#x150;" u2="&#x29;" k="14" />
+    <hkern u1="&#x14c;" u2="&#x408;" k="14" />
+    <hkern u1="&#x14c;" u2="&#x414;" k="21" />
+    <hkern u1="&#x14c;" u2="&#x7d;" k="14" />
+    <hkern u1="&#x14c;" u2="]" k="14" />
+    <hkern u1="&#x14c;" u2="&#x31;" k="20" />
+    <hkern u1="&#x14c;" u2="&#x29;" k="14" />
+    <hkern u1="&#x154;" g2="Ecyril" k="21" />
+    <hkern u1="&#x154;" u2="&#x424;" k="37" />
+    <hkern u1="&#x154;" u2="&#xf7;" k="51" />
+    <hkern u1="&#x158;" g2="Ecyril" k="21" />
+    <hkern u1="&#x158;" u2="&#x424;" k="37" />
+    <hkern u1="&#x158;" u2="&#xf7;" k="51" />
+    <hkern u1="&#x15a;" u2="&#x31;" k="25" />
+    <hkern u1="&#x15c;" u2="&#x31;" k="25" />
+    <hkern u1="&#x164;" g2="Ecyril" k="34" />
+    <hkern u1="&#x164;" u2="&#x408;" k="46" />
+    <hkern u1="&#x164;" u2="&#x42f;" k="20" />
+    <hkern u1="&#x164;" u2="&#x424;" k="48" />
+    <hkern u1="&#x164;" u2="&#x414;" k="31" />
+    <hkern u1="&#x164;" u2="&#xf7;" k="69" />
+    <hkern u1="&#x164;" u2="&#x31;" k="50" />
+    <hkern u1="&#x174;" u2="&#x410;" k="16" />
+    <hkern u1="&#x174;" u2="&#x104;" k="16" />
+    <hkern u1="&#x174;" u2="&#x100;" k="16" />
+    <hkern u1="&#x174;" u2="&#x102;" k="16" />
+    <hkern u1="&#x174;" u2="&#xe3;" k="16" />
+    <hkern u1="&#x174;" u2="&#xe5;" k="16" />
+    <hkern u1="&#x174;" u2="&#xe0;" k="16" />
+    <hkern u1="&#x174;" u2="&#xe4;" k="16" />
+    <hkern u1="&#x174;" u2="&#xe2;" k="16" />
+    <hkern u1="&#x174;" u2="&#xe1;" k="16" />
+    <hkern u1="&#x174;" u2="&#xc3;" k="16" />
+    <hkern u1="&#x174;" u2="&#xc5;" k="16" />
+    <hkern u1="&#x174;" u2="&#xc0;" k="16" />
+    <hkern u1="&#x174;" u2="&#xc4;" k="16" />
+    <hkern u1="&#x174;" u2="&#xc2;" k="16" />
+    <hkern u1="&#x174;" u2="&#xc1;" k="16" />
+    <hkern u1="&#x174;" u2="&#xc6;" k="16" />
+    <hkern u1="&#x174;" u2="&#x2026;" k="81" />
+    <hkern u1="&#x174;" u2="&#x201e;" k="81" />
+    <hkern u1="&#x174;" u2="&#x201a;" k="81" />
+    <hkern u1="&#x174;" u2="a" k="16" />
+    <hkern u1="&#x174;" u2="_" k="81" />
+    <hkern u1="&#x174;" u2="A" k="16" />
+    <hkern u1="&#x174;" u2="&#x2e;" k="81" />
+    <hkern u1="&#x174;" u2="&#x2c;" k="81" />
+    <hkern u1="&#x174;" u2="&#x408;" k="19" />
+    <hkern u1="&#x174;" u2="&#x31;" k="25" />
+    <hkern u1="&#x176;" u2="&#x410;" k="25" />
+    <hkern u1="&#x176;" u2="&#x104;" k="25" />
+    <hkern u1="&#x176;" u2="&#x100;" k="25" />
+    <hkern u1="&#x176;" u2="&#x102;" k="25" />
+    <hkern u1="&#x176;" u2="&#xe3;" k="25" />
+    <hkern u1="&#x176;" u2="&#xe5;" k="25" />
+    <hkern u1="&#x176;" u2="&#xe0;" k="25" />
+    <hkern u1="&#x176;" u2="&#xe4;" k="25" />
+    <hkern u1="&#x176;" u2="&#xe2;" k="25" />
+    <hkern u1="&#x176;" u2="&#xe1;" k="25" />
+    <hkern u1="&#x176;" u2="&#xc3;" k="25" />
+    <hkern u1="&#x176;" u2="&#xc5;" k="25" />
+    <hkern u1="&#x176;" u2="&#xc0;" k="25" />
+    <hkern u1="&#x176;" u2="&#xc4;" k="25" />
+    <hkern u1="&#x176;" u2="&#xc2;" k="25" />
+    <hkern u1="&#x176;" u2="&#xc1;" k="25" />
+    <hkern u1="&#x176;" u2="&#xc6;" k="25" />
+    <hkern u1="&#x176;" u2="&#x2026;" k="97" />
+    <hkern u1="&#x176;" u2="&#x201e;" k="97" />
+    <hkern u1="&#x176;" u2="&#x201a;" k="97" />
+    <hkern u1="&#x176;" u2="a" k="25" />
+    <hkern u1="&#x176;" u2="_" k="97" />
+    <hkern u1="&#x176;" u2="A" k="25" />
+    <hkern u1="&#x176;" u2="&#x2e;" k="97" />
+    <hkern u1="&#x176;" u2="&#x2c;" k="97" />
+    <hkern u1="&#x176;" g2="Ecyril" k="28" />
+    <hkern u1="&#x176;" u2="&#x408;" k="53" />
+    <hkern u1="&#x176;" u2="&#x424;" k="36" />
+    <hkern u1="&#x176;" u2="&#x414;" k="63" />
+    <hkern u1="&#x176;" u2="&#xf7;" k="45" />
+    <hkern u1="&#x176;" u2="&#x31;" k="25" />
+    <hkern u1="&#x179;" g2="Ecyril" k="14" />
+    <hkern u1="&#x179;" u2="&#xf7;" k="38" />
+    <hkern u1="&#x17b;" g2="Ecyril" k="14" />
+    <hkern u1="&#x17b;" u2="&#xf7;" k="38" />
+    <hkern u1="&#x410;" g2="Ecyril" k="3" />
+    <hkern u1="&#x410;" u2="&#x42a;" k="51" />
+    <hkern u1="&#x410;" u2="&#x427;" k="22" />
+    <hkern u1="&#x410;" u2="&#x424;" k="13" />
+    <hkern u1="&#x410;" u2="&#x174;" k="33" />
+    <hkern u1="&#x410;" u2="&#xf7;" k="17" />
+    <hkern u1="&#x411;" u2="&#x40b;" k="10" />
+    <hkern u1="&#x411;" u2="&#x402;" k="10" />
+    <hkern u1="&#x411;" u2="&#x422;" k="10" />
+    <hkern u1="&#x411;" u2="&#x410;" k="14" />
+    <hkern u1="&#x411;" u2="&#x104;" k="14" />
+    <hkern u1="&#x411;" u2="&#x100;" k="14" />
+    <hkern u1="&#x411;" u2="&#x102;" k="14" />
+    <hkern u1="&#x411;" u2="&#xe3;" k="14" />
+    <hkern u1="&#x411;" u2="&#xe5;" k="14" />
+    <hkern u1="&#x411;" u2="&#xe0;" k="14" />
+    <hkern u1="&#x411;" u2="&#xe4;" k="14" />
+    <hkern u1="&#x411;" u2="&#xe2;" k="14" />
+    <hkern u1="&#x411;" u2="&#xe1;" k="14" />
+    <hkern u1="&#x411;" u2="&#xc3;" k="14" />
+    <hkern u1="&#x411;" u2="&#xc5;" k="14" />
+    <hkern u1="&#x411;" u2="&#xc0;" k="14" />
+    <hkern u1="&#x411;" u2="&#xc4;" k="14" />
+    <hkern u1="&#x411;" u2="&#xc2;" k="14" />
+    <hkern u1="&#x411;" u2="&#xc1;" k="14" />
+    <hkern u1="&#x411;" u2="&#xb3;" k="10" />
+    <hkern u1="&#x411;" u2="&#xae;" k="10" />
+    <hkern u1="&#x411;" u2="&#xb2;" k="10" />
+    <hkern u1="&#x411;" u2="&#x2122;" k="10" />
+    <hkern u1="&#x411;" u2="&#xb9;" k="10" />
+    <hkern u1="&#x411;" u2="&#xba;" k="10" />
+    <hkern u1="&#x411;" u2="&#xaa;" k="10" />
+    <hkern u1="&#x411;" u2="&#xc6;" k="14" />
+    <hkern u1="&#x411;" u2="&#x2026;" k="33" />
+    <hkern u1="&#x411;" u2="&#x201d;" k="10" />
+    <hkern u1="&#x411;" u2="&#x201e;" k="33" />
+    <hkern u1="&#x411;" u2="&#x201a;" k="33" />
+    <hkern u1="&#x411;" u2="&#x201c;" k="10" />
+    <hkern u1="&#x411;" u2="&#x27;" k="10" />
+    <hkern u1="&#x411;" u2="t" k="10" />
+    <hkern u1="&#x411;" u2="a" k="14" />
+    <hkern u1="&#x411;" u2="&#x2018;" k="10" />
+    <hkern u1="&#x411;" u2="_" k="33" />
+    <hkern u1="&#x411;" u2="T" k="10" />
+    <hkern u1="&#x411;" u2="A" k="14" />
+    <hkern u1="&#x411;" u2="&#x2e;" k="33" />
+    <hkern u1="&#x411;" u2="&#x2c;" k="33" />
+    <hkern u1="&#x411;" u2="&#x2a;" k="10" />
+    <hkern u1="&#x411;" u2="&#x2019;" k="10" />
+    <hkern u1="&#x411;" u2="&#x22;" k="10" />
+    <hkern u1="&#x411;" u2="&#x42f;" k="13" />
+    <hkern u1="&#x411;" u2="&#x31;" k="22" />
+    <hkern u1="&#x413;" g2="Ecyril" k="20" />
+    <hkern u1="&#x413;" u2="&#x424;" k="17" />
+    <hkern u1="&#x413;" u2="&#x414;" k="77" />
+    <hkern u1="&#x413;" u2="&#xf7;" k="115" />
+    <hkern u1="&#x414;" u2="&#x40b;" k="7" />
+    <hkern u1="&#x414;" u2="&#x402;" k="7" />
+    <hkern u1="&#x414;" u2="&#x401;" k="10" />
+    <hkern u1="&#x414;" u2="&#x422;" k="7" />
+    <hkern u1="&#x414;" u2="&#x421;" k="10" />
+    <hkern u1="&#x414;" u2="&#x415;" k="10" />
+    <hkern u1="&#x414;" u2="&#x120;" k="10" />
+    <hkern u1="&#x414;" u2="&#x11c;" k="10" />
+    <hkern u1="&#x414;" u2="&#x11e;" k="10" />
+    <hkern u1="&#x414;" u2="&#x10a;" k="10" />
+    <hkern u1="&#x414;" u2="&#x108;" k="10" />
+    <hkern u1="&#x414;" u2="&#x10c;" k="10" />
+    <hkern u1="&#x414;" u2="&#x106;" k="10" />
+    <hkern u1="&#x414;" u2="&#xe7;" k="10" />
+    <hkern u1="&#x414;" u2="t" k="7" />
+    <hkern u1="&#x414;" u2="g" k="10" />
+    <hkern u1="&#x414;" u2="c" k="10" />
+    <hkern u1="&#x414;" u2="T" k="7" />
+    <hkern u1="&#x414;" u2="G" k="10" />
+    <hkern u1="&#x414;" u2="C" k="10" />
+    <hkern u1="&#x414;" u2="&#x427;" k="10" />
+    <hkern u1="&#x417;" u2="&#x40b;" k="26" />
+    <hkern u1="&#x417;" u2="&#x402;" k="26" />
+    <hkern u1="&#x417;" u2="&#x401;" k="7" />
+    <hkern u1="&#x417;" u2="&#x422;" k="26" />
+    <hkern u1="&#x417;" u2="&#x421;" k="7" />
+    <hkern u1="&#x417;" u2="&#x415;" k="7" />
+    <hkern u1="&#x417;" u2="&#x410;" k="31" />
+    <hkern u1="&#x417;" u2="&#x120;" k="7" />
+    <hkern u1="&#x417;" u2="&#x11c;" k="7" />
+    <hkern u1="&#x417;" u2="&#x11e;" k="7" />
+    <hkern u1="&#x417;" u2="&#x10a;" k="7" />
+    <hkern u1="&#x417;" u2="&#x108;" k="7" />
+    <hkern u1="&#x417;" u2="&#x10c;" k="7" />
+    <hkern u1="&#x417;" u2="&#x106;" k="7" />
+    <hkern u1="&#x417;" u2="&#x104;" k="31" />
+    <hkern u1="&#x417;" u2="&#x100;" k="31" />
+    <hkern u1="&#x417;" u2="&#x102;" k="31" />
+    <hkern u1="&#x417;" u2="&#xe7;" k="7" />
+    <hkern u1="&#x417;" u2="&#xe3;" k="31" />
+    <hkern u1="&#x417;" u2="&#xe5;" k="31" />
+    <hkern u1="&#x417;" u2="&#xe0;" k="31" />
+    <hkern u1="&#x417;" u2="&#xe4;" k="31" />
+    <hkern u1="&#x417;" u2="&#xe2;" k="31" />
+    <hkern u1="&#x417;" u2="&#xe1;" k="31" />
+    <hkern u1="&#x417;" u2="&#xc3;" k="31" />
+    <hkern u1="&#x417;" u2="&#xc5;" k="31" />
+    <hkern u1="&#x417;" u2="&#xc0;" k="31" />
+    <hkern u1="&#x417;" u2="&#xc4;" k="31" />
+    <hkern u1="&#x417;" u2="&#xc2;" k="31" />
+    <hkern u1="&#x417;" u2="&#xc1;" k="31" />
+    <hkern u1="&#x417;" u2="&#xc6;" k="31" />
+    <hkern u1="&#x417;" u2="&#x2026;" k="81" />
+    <hkern u1="&#x417;" u2="&#x201e;" k="81" />
+    <hkern u1="&#x417;" u2="&#x201a;" k="81" />
+    <hkern u1="&#x417;" u2="t" k="26" />
+    <hkern u1="&#x417;" u2="g" k="7" />
+    <hkern u1="&#x417;" u2="c" k="7" />
+    <hkern u1="&#x417;" u2="a" k="31" />
+    <hkern u1="&#x417;" u2="_" k="81" />
+    <hkern u1="&#x417;" u2="T" k="26" />
+    <hkern u1="&#x417;" u2="G" k="7" />
+    <hkern u1="&#x417;" u2="C" k="7" />
+    <hkern u1="&#x417;" u2="A" k="31" />
+    <hkern u1="&#x417;" u2="&#x2e;" k="81" />
+    <hkern u1="&#x417;" u2="&#x2c;" k="81" />
+    <hkern u1="&#x417;" u2="&#x414;" k="33" />
+    <hkern u1="&#x417;" u2="&#x31;" k="20" />
+    <hkern u1="&#x41b;" u2="&#xb3;" k="14" />
+    <hkern u1="&#x41b;" u2="&#xae;" k="14" />
+    <hkern u1="&#x41b;" u2="&#xb2;" k="14" />
+    <hkern u1="&#x41b;" u2="&#x2122;" k="14" />
+    <hkern u1="&#x41b;" u2="&#xb9;" k="14" />
+    <hkern u1="&#x41b;" u2="&#xba;" k="14" />
+    <hkern u1="&#x41b;" u2="&#xaa;" k="14" />
+    <hkern u1="&#x41b;" u2="&#x201d;" k="14" />
+    <hkern u1="&#x41b;" u2="&#x201c;" k="14" />
+    <hkern u1="&#x41b;" u2="&#x27;" k="14" />
+    <hkern u1="&#x41b;" u2="&#x2018;" k="14" />
+    <hkern u1="&#x41b;" u2="&#x2a;" k="14" />
+    <hkern u1="&#x41b;" u2="&#x2019;" k="14" />
+    <hkern u1="&#x41b;" u2="&#x22;" k="14" />
+    <hkern u1="&#x41e;" u2="&#x408;" k="14" />
+    <hkern u1="&#x41e;" u2="&#x414;" k="21" />
+    <hkern u1="&#x41e;" u2="&#x7d;" k="14" />
+    <hkern u1="&#x41e;" u2="]" k="14" />
+    <hkern u1="&#x41e;" u2="&#x31;" k="20" />
+    <hkern u1="&#x41e;" u2="&#x29;" k="14" />
+    <hkern u1="&#x420;" u2="&#x408;" k="72" />
+    <hkern u1="&#x420;" u2="&#x42f;" k="3" />
+    <hkern u1="&#x420;" u2="&#x414;" k="40" />
+    <hkern u1="&#x420;" u2="&#xf7;" k="18" />
+    <hkern u1="&#x420;" u2="&#x31;" k="54" />
+    <hkern u1="&#x421;" u2="&#x424;" k="10" />
+    <hkern u1="&#x421;" u2="&#xf7;" k="61" />
+    <hkern u1="&#x422;" g2="Ecyril" k="34" />
+    <hkern u1="&#x422;" u2="&#x408;" k="46" />
+    <hkern u1="&#x422;" u2="&#x42f;" k="20" />
+    <hkern u1="&#x422;" u2="&#x424;" k="48" />
+    <hkern u1="&#x422;" u2="&#x414;" k="31" />
+    <hkern u1="&#x422;" u2="&#xf7;" k="69" />
+    <hkern u1="&#x422;" u2="&#x31;" k="50" />
+    <hkern u1="&#x423;" u2="&#x414;" k="23" />
+    <hkern u1="&#x424;" u2="&#x40b;" k="46" />
+    <hkern u1="&#x424;" u2="&#x402;" k="46" />
+    <hkern u1="&#x424;" u2="&#x422;" k="46" />
+    <hkern u1="&#x424;" u2="&#x410;" k="7" />
+    <hkern u1="&#x424;" u2="&#x104;" k="7" />
+    <hkern u1="&#x424;" u2="&#x100;" k="7" />
+    <hkern u1="&#x424;" u2="&#x102;" k="7" />
+    <hkern u1="&#x424;" u2="&#xe3;" k="7" />
+    <hkern u1="&#x424;" u2="&#xe5;" k="7" />
+    <hkern u1="&#x424;" u2="&#xe0;" k="7" />
+    <hkern u1="&#x424;" u2="&#xe4;" k="7" />
+    <hkern u1="&#x424;" u2="&#xe2;" k="7" />
+    <hkern u1="&#x424;" u2="&#xe1;" k="7" />
+    <hkern u1="&#x424;" u2="&#xc3;" k="7" />
+    <hkern u1="&#x424;" u2="&#xc5;" k="7" />
+    <hkern u1="&#x424;" u2="&#xc0;" k="7" />
+    <hkern u1="&#x424;" u2="&#xc4;" k="7" />
+    <hkern u1="&#x424;" u2="&#xc2;" k="7" />
+    <hkern u1="&#x424;" u2="&#xc1;" k="7" />
+    <hkern u1="&#x424;" u2="&#xb3;" k="27" />
+    <hkern u1="&#x424;" u2="&#xae;" k="27" />
+    <hkern u1="&#x424;" u2="&#xb2;" k="27" />
+    <hkern u1="&#x424;" u2="&#x2122;" k="27" />
+    <hkern u1="&#x424;" u2="&#xb9;" k="27" />
+    <hkern u1="&#x424;" u2="&#xba;" k="27" />
+    <hkern u1="&#x424;" u2="&#xaa;" k="27" />
+    <hkern u1="&#x424;" u2="&#xc6;" k="7" />
+    <hkern u1="&#x424;" u2="&#x2026;" k="82" />
+    <hkern u1="&#x424;" u2="&#x201d;" k="27" />
+    <hkern u1="&#x424;" u2="&#x201e;" k="82" />
+    <hkern u1="&#x424;" u2="&#x201a;" k="82" />
+    <hkern u1="&#x424;" u2="&#x201c;" k="27" />
+    <hkern u1="&#x424;" u2="&#x27;" k="27" />
+    <hkern u1="&#x424;" u2="t" k="46" />
+    <hkern u1="&#x424;" u2="a" k="7" />
+    <hkern u1="&#x424;" u2="&#x2018;" k="27" />
+    <hkern u1="&#x424;" u2="_" k="82" />
+    <hkern u1="&#x424;" u2="T" k="46" />
+    <hkern u1="&#x424;" u2="A" k="7" />
+    <hkern u1="&#x424;" u2="&#x2e;" k="82" />
+    <hkern u1="&#x424;" u2="&#x2c;" k="82" />
+    <hkern u1="&#x424;" u2="&#x2a;" k="27" />
+    <hkern u1="&#x424;" u2="&#x2019;" k="27" />
+    <hkern u1="&#x424;" u2="&#x22;" k="27" />
+    <hkern u1="&#x424;" u2="&#x42a;" k="36" />
+    <hkern u1="&#x424;" u2="&#x414;" k="17" />
+    <hkern u1="&#x42a;" u2="&#x42f;" k="27" />
+    <hkern u1="&#x42a;" u2="&#x414;" k="7" />
+    <hkern u1="&#x42a;" u2="&#x174;" k="37" />
+    <hkern u1="&#x42c;" u2="&#x42f;" k="27" />
+    <hkern u1="&#x42c;" u2="&#x414;" k="7" />
+    <hkern u1="&#x42c;" u2="&#x174;" k="37" />
+    <hkern u1="&#x42d;" u2="&#x40b;" k="37" />
+    <hkern u1="&#x42d;" u2="&#x402;" k="37" />
+    <hkern u1="&#x42d;" u2="&#x425;" k="23" />
+    <hkern u1="&#x42d;" u2="&#x422;" k="37" />
+    <hkern u1="&#x42d;" u2="&#x416;" k="23" />
+    <hkern u1="&#x42d;" u2="&#x410;" k="20" />
+    <hkern u1="&#x42d;" u2="&#x176;" k="30" />
+    <hkern u1="&#x42d;" u2="&#x104;" k="20" />
+    <hkern u1="&#x42d;" u2="&#x100;" k="20" />
+    <hkern u1="&#x42d;" u2="&#x102;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xe3;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xe5;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xe0;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xe4;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xe2;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xe1;" k="20" />
+    <hkern u1="&#x42d;" u2="&#x178;" k="30" />
+    <hkern u1="&#x42d;" u2="&#xdd;" k="30" />
+    <hkern u1="&#x42d;" u2="&#xc3;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xc5;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xc0;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xc4;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xc2;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xc1;" k="20" />
+    <hkern u1="&#x42d;" u2="&#xc6;" k="20" />
+    <hkern u1="&#x42d;" u2="&#x2026;" k="108" />
+    <hkern u1="&#x42d;" u2="&#x201e;" k="108" />
+    <hkern u1="&#x42d;" u2="&#x201a;" k="108" />
+    <hkern u1="&#x42d;" u2="y" k="30" />
+    <hkern u1="&#x42d;" u2="x" k="23" />
+    <hkern u1="&#x42d;" u2="t" k="37" />
+    <hkern u1="&#x42d;" u2="a" k="20" />
+    <hkern u1="&#x42d;" u2="_" k="108" />
+    <hkern u1="&#x42d;" u2="Y" k="30" />
+    <hkern u1="&#x42d;" u2="X" k="23" />
+    <hkern u1="&#x42d;" u2="T" k="37" />
+    <hkern u1="&#x42d;" u2="A" k="20" />
+    <hkern u1="&#x42d;" u2="&#x2e;" k="108" />
+    <hkern u1="&#x42d;" u2="&#x2c;" k="108" />
+    <hkern u1="&#x42d;" u2="&#x42f;" k="11" />
+    <hkern u1="&#x42d;" u2="&#x7d;" k="34" />
+    <hkern u1="&#x42d;" u2="]" k="34" />
+    <hkern u1="&#x42d;" u2="&#x29;" k="34" />
+    <hkern u1="&#x42e;" u2="&#x408;" k="14" />
+    <hkern u1="&#x42e;" u2="&#x414;" k="21" />
+    <hkern u1="&#x42e;" u2="&#x7d;" k="14" />
+    <hkern u1="&#x42e;" u2="]" k="14" />
+    <hkern u1="&#x42e;" u2="&#x31;" k="20" />
+    <hkern u1="&#x42e;" u2="&#x29;" k="14" />
+    <hkern u1="&#x403;" g2="Ecyril" k="20" />
+    <hkern u1="&#x403;" u2="&#x424;" k="17" />
+    <hkern u1="&#x403;" u2="&#x414;" k="77" />
+    <hkern u1="&#x403;" u2="&#xf7;" k="115" />
+    <hkern u1="&#x405;" u2="&#x31;" k="25" />
+    <hkern u1="&#x409;" u2="&#x42f;" k="27" />
+    <hkern u1="&#x409;" u2="&#x414;" k="7" />
+    <hkern u1="&#x409;" u2="&#x174;" k="37" />
+    <hkern u1="&#x40a;" u2="&#x42f;" k="27" />
+    <hkern u1="&#x40a;" u2="&#x414;" k="7" />
+    <hkern u1="&#x40a;" u2="&#x174;" k="37" />
+    <hkern g1="Ucyrilbreve" u2="&#x414;" k="23" />
+    <hkern g1="Geupturn" g2="Ecyril" k="34" />
+    <hkern g1="Geupturn" u2="&#x408;" k="46" />
+    <hkern g1="Geupturn" u2="&#x42f;" k="20" />
+    <hkern g1="Geupturn" u2="&#x424;" k="48" />
+    <hkern g1="Geupturn" u2="&#x414;" k="31" />
+    <hkern g1="Geupturn" u2="&#xf7;" k="69" />
+    <hkern g1="Geupturn" u2="&#x31;" k="50" />
+    <hkern g1="C,c,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,afii10035"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="61" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="14" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="T,t,afii10036,afii10051,afii10060"
+	k="13" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	k="17" />
+    <hkern g1="G,g"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	k="10" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="51" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,afii10022,afii10035,afii10023"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032,afii10048"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="8" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032,afii10048"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="67" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032,afii10048"
+	g2="T,t,afii10036,afii10051,afii10060"
+	k="19" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032,afii10048"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032,afii10048"
+	g2="X,x,afii10024,afii10039"
+	k="20" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032,afii10048"
+	g2="afii10037,Ucyrilbreve"
+	k="13" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032,afii10048"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="19" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,afii10054"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="10" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,afii10054"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="47" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,afii10054"
+	g2="T,t,afii10036,afii10051,afii10060"
+	k="6" />
+    <hkern g1="X,x,afii10024,afii10028,afii10039,afii10061"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,afii10022,afii10035,afii10023"
+	k="10" />
+    <hkern g1="X,x,afii10024,afii10028,afii10039,afii10061"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032"
+	k="9" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="38" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,afii10022,afii10035,afii10023"
+	k="12" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="17" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	g2="T,t,afii10036,afii10051,afii10060"
+	k="38" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	k="65" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,afii10022,afii10035,afii10023"
+	k="10" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	g2="afii10037,Ucyrilbreve"
+	k="16" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="46" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032"
+	k="5" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	g2="V,v"
+	k="33" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	g2="W,w"
+	k="33" />
+    <hkern g1="afii10020,afii10052"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="57" />
+    <hkern g1="afii10020,afii10052"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="163" />
+    <hkern g1="afii10020,afii10052"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="115" />
+    <hkern g1="afii10020,afii10052"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032"
+	k="25" />
+    <hkern g1="afii10020,afii10052"
+	g2="afii10029,afii10058"
+	k="50" />
+    <hkern g1="P,p,afii10034"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="44" />
+    <hkern g1="P,p,afii10034"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="150" />
+    <hkern g1="P,p,afii10034"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="18" />
+    <hkern g1="P,p,afii10034"
+	g2="afii10037,Ucyrilbreve"
+	k="-4" />
+    <hkern g1="P,p,afii10034"
+	g2="afii10029,afii10058"
+	k="17" />
+    <hkern g1="P,p,afii10034"
+	g2="Oslash,Oslash.alt"
+	k="4" />
+    <hkern g1="T,t,Tcaron,afii10036,Geupturn"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="38" />
+    <hkern g1="T,t,Tcaron,afii10036,Geupturn"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="89" />
+    <hkern g1="T,t,Tcaron,afii10036,Geupturn"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="69" />
+    <hkern g1="T,t,Tcaron,afii10036,Geupturn"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,afii10022,afii10035,afii10023"
+	k="18" />
+    <hkern g1="T,t,Tcaron,afii10036,Geupturn"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032"
+	k="38" />
+    <hkern g1="T,t,Tcaron,afii10036,Geupturn"
+	g2="afii10029,afii10058"
+	k="37" />
+    <hkern g1="T,t,Tcaron,afii10036,Geupturn"
+	g2="Oslash,Oslash.alt"
+	k="30" />
+    <hkern g1="T,t,Tcaron,afii10036,Geupturn"
+	g2="S,s,Scaron,Sacute,Scircumflex,afii10054"
+	k="27" />
+    <hkern g1="T,t,Tcaron,afii10036,Geupturn"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="10" />
+    <hkern g1="afii10037,Ucyrilbreve"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="20" />
+    <hkern g1="afii10037,Ucyrilbreve"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="111" />
+    <hkern g1="afii10040,afii10043"
+	g2="T,t,afii10036,afii10051,afii10060"
+	k="10" />
+    <hkern g1="afii10040,afii10043"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,afii10022,afii10035,afii10023"
+	k="17" />
+    <hkern g1="afii10044,afii10046,afii10058,afii10059"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="7" />
+    <hkern g1="afii10044,afii10046,afii10058,afii10059"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="44" />
+    <hkern g1="afii10044,afii10046,afii10058,afii10059"
+	g2="T,t,afii10036,afii10051,afii10060"
+	k="50" />
+    <hkern g1="afii10044,afii10046,afii10058,afii10059"
+	g2="V,v"
+	k="37" />
+    <hkern g1="afii10044,afii10046,afii10058,afii10059"
+	g2="W,w"
+	k="37" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="46" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="99" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="45" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032"
+	k="31" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="afii10029,afii10058"
+	k="42" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="88" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="T,t,afii10036,afii10051,afii10060"
+	k="89" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	k="91" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,afii10022,afii10035,afii10023"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="99" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032"
+	k="28" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="V,v"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="W,w"
+	k="70" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="65" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="91" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="44" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032"
+	k="17" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	g2="afii10029,afii10058"
+	k="51" />
+    <hkern g1="Oslash,Oslash.alt"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="58" />
+    <hkern g1="F,f"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="53" />
+    <hkern g1="F,f"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="156" />
+    <hkern g1="F,f"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,afii10032"
+	k="27" />
+    <hkern g1="F,f"
+	g2="Oslash,Oslash.alt"
+	k="34" />
+    <hkern g1="L,l"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="75" />
+    <hkern g1="L,l"
+	g2="T,t,afii10036,afii10051,afii10060"
+	k="74" />
+    <hkern g1="L,l"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	k="123" />
+    <hkern g1="L,l"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,afii10022,afii10035,afii10023"
+	k="31" />
+    <hkern g1="L,l"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="75" />
+    <hkern g1="L,l"
+	g2="V,v"
+	k="48" />
+    <hkern g1="L,l"
+	g2="W,w"
+	k="48" />
+    <hkern g1="V,v"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="28" />
+    <hkern g1="V,v"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="W,w"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="28" />
+    <hkern g1="W,w"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,afii10017"
+	k="24" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="69" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="T,t,afii10036,afii10051,afii10060"
+	k="74" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,onesuperior,trademark,twosuperior,registered,threesuperior"
+	k="50" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="afii10037,Ucyrilbreve"
+	k="23" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="41" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="70" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/ZCXB.svg b/Tests/W3CTestSuite/resources/ZCXB.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cb68058b40b1d0e185989f05e886dfafa51d8bdf
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/ZCXB.svg
@@ -0,0 +1,603 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg  xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100212 at Mon Apr 12 12:42:06 2010
+ By Chris Lilley,,,
+Copyright (c) Tim Ahrens, 2003. All rights reserved.
+Converted to SVG and subsetted with permission.
+</metadata>
+<defs>
+<font id="ZCXB" horiz-adv-x="487" >
+  <font-face 
+    font-family="ZC"
+    font-weight="800"
+    font-variant="small-caps"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="0 0 9 0 0 0 0 0 0 0"
+    ascent="699"
+    descent="-301"
+    x-height="690"
+    cap-height="690"
+    bbox="-73 -209 748 818"
+    underline-thickness="150"
+    underline-position="-150"
+    stemh="590"
+    stemv="657"
+    unicode-range="U+0-7F"
+  />
+    <missing-glyph horiz-adv-x="500" 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="166" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="297" 
+d="M50 700l221 13l-8 -231l2 -227l-208 -14l1 228zM290 16l-204 -36l-36 210l204 36z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="442" 
+d="M198 410h-155l-6 280h167zM400 410h-155l-6 280h167z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M7 306h47l6 77h-41v159h52l10 148h175l-10 -148h20l10 148h175l-10 -148h38v-159h-49l-6 -77h43v-158h-54l-11 -148h-175l10 148h-19l-10 -148h-175l10 148h-36v158zM235 383l-6 -77h20l5 77h-19z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M365 765l-2 -121l72 2l3 -216l-175 -1c75 -28 212 -64 212 -187c0 -65 -42 -112 -112 -158l2 -139h-228l2 87l-91 -3l-12 224l174 5c-77 27 -189 64 -189 180c0 72 45 122 119 165l-3 162h228zM280 215c0 16 -23 26 -56 38l9 -62c27 9 47 16 47 24zM215 462
+c0 -12 16 -21 41 -31l-3 57c-19 -4 -38 -20 -38 -26z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="751" 
+d="M239 299l-166 -5c-43 56 -71 125 -71 197c0 75 31 143 101 197l165 5c43 -57 72 -126 72 -197c0 -76 -31 -144 -101 -197zM168 400c19 28 29 57 29 87c0 28 -9 60 -23 100c-20 -28 -30 -57 -30 -87c0 -28 9 -60 24 -100zM648 2l-166 -4c-43 56 -71 125 -71 196
+c0 75 30 143 100 197l166 5c43 -56 71 -126 71 -197c0 -75 -31 -143 -100 -197zM576 103c20 28 30 57 30 87c0 29 -10 60 -24 100c-19 -28 -29 -57 -29 -87c0 -28 9 -59 23 -100zM703 646l-281 -335l-238 -356l-135 89l280 335l238 356z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="687" 
+d="M480 476l152 -119l-105 -127l151 -18l-35 -206l-207 -16l-56 61l-38 -46l-258 -13c-56 67 -77 125 -77 175c0 76 48 136 105 186c-43 58 -62 103 -62 151c0 58 26 112 82 180l255 13c68 -56 94 -107 94 -154c0 -74 -67 -138 -132 -198l18 -24zM247 530
+c0 -14 3 -29 11 -48c12 15 19 29 19 44c0 14 -6 27 -20 42c-7 -12 -10 -25 -10 -38zM223 180c0 -13 3 -27 12 -41l28 39l-33 36c-5 -11 -7 -23 -7 -34zM483 177c9 -11 18 -22 28 -33l5 72z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="312" 
+d="M333 -26l-185 -93c-89 166 -132 319 -132 468c0 155 47 305 138 460l179 -93c-64 -117 -96 -244 -96 -371s32 -254 96 -371z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="312" 
+d="M-21 716l186 93c88 -166 131 -319 131 -468c0 -155 -47 -305 -138 -460l-179 93c64 117 97 244 97 371s-33 253 -97 371z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="392" 
+d="M363 433l-124 -75l-43 108l-42 -108l-125 75l81 99l-110 24l58 140l84 -57l-21 129h150l-21 -129l84 57l58 -140l-109 -24z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="376" 
+d="M363 236l-82 7l7 -135h-200l7 135l-82 -7v218l82 -7l-7 135h200l-7 -135l82 7v-218z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="257" 
+d="M40 172l184 5l-23 -296l-164 -2z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="242" 
+d="M121 256l-112 -6v190l112 -6l113 6v-190z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="280" 
+d="M258 24l-201 -44l-35 206l201 44z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="296" 
+d="M303 778l-67 -444l-39 -442l-204 20l62 437l45 449z" />
+    <glyph glyph-name="zero" unicode="0" 
+d="M320 4l-208 -8c-67 103 -111 225 -111 347c0 132 50 251 165 344l208 9c67 -104 111 -226 111 -348c0 -133 -50 -251 -165 -344zM232 152c36 40 59 85 68 132l-103 -33c9 -32 21 -65 35 -99zM254 539c-37 -42 -59 -85 -69 -132l103 34c-9 31 -21 64 -34 98z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="395" 
+d="M89 687l216 8l-2 -384v-120l92 -4v-187h-395v187l92 4v120z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M39 422l5 259l263 18c112 -78 155 -150 155 -219c0 -87 -69 -163 -157 -240l171 5l-4 -245h-457l-6 202c182 162 241 205 241 255c0 19 -10 36 -30 62l-4 -97h-177zM206 156l81 8l3 62z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M448 490l-76 -91c74 -52 101 -104 101 -157c0 -95 -86 -184 -183 -239l-244 -7l-11 252l185 6l7 -97c25 17 41 34 41 57c0 33 -32 71 -129 133l125 174h-57l-4 -80l-179 2l3 235l417 22z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M321 660l-66 -188h170l-4 -189l66 2v-179l-63 3l3 -109h-192l3 108l-233 -3l-8 166l140 446zM238 424l-50 -144l53 -1z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M432 469l-184 -2l-4 48h-36l-1 -52c197 -44 269 -125 269 -217c0 -89 -67 -173 -187 -243l-245 -7l-11 246l183 5l8 -90c29 18 46 42 46 64c0 43 -56 64 -234 100l6 360l389 18z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M310 668c-44 -79 -76 -165 -89 -254l62 58l155 14c27 -70 41 -155 41 -216c0 -121 -53 -205 -150 -267l-227 -7c-58 93 -84 207 -84 321c0 153 46 298 101 399zM280 305l-60 -56c5 -35 14 -66 28 -96c28 31 37 61 37 103c0 16 -2 34 -5 49z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M208 411l-184 2l5 265l440 22l4 -212l-196 -521l-210 61l202 478h-56z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M11 203c0 53 20 113 68 164c-37 33 -63 71 -63 121c0 69 50 134 139 196l211 13c60 -51 90 -106 90 -172c0 -46 -14 -99 -59 -161c48 -31 87 -74 87 -141c0 -84 -61 -160 -144 -217l-238 -14c-52 55 -91 135 -91 211zM270 193c0 25 -16 46 -41 66
+c-13 -21 -17 -43 -17 -59c0 -23 10 -47 27 -65c21 18 31 38 31 58zM206 501c0 -24 18 -42 45 -59c8 19 12 40 12 54c0 22 -9 46 -22 62c-23 -16 -35 -38 -35 -57z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M166 15c48 81 82 171 97 264l-57 -54l-158 -14c-25 64 -40 148 -40 209c0 120 58 207 152 268l230 4c53 -92 77 -199 77 -309c0 -156 -49 -303 -107 -409zM202 430c0 -17 2 -26 5 -40l58 56c-4 32 -12 63 -24 90c-28 -30 -39 -63 -39 -106z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="273" 
+d="M250 142l-192 -43l-34 198l192 42zM250 393l-192 -42l-34 198l192 42z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="280" 
+d="M256 304l-192 -42l-34 197l192 43zM58 172l184 5l-24 -296l-163 -2z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="376" 
+d="M248 96l-228 155v188l228 155l115 -158l-175 -91l175 -92z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="376" 
+d="M356 361l-168 6l-167 -6v188l167 -6l168 6v-188zM356 142l-168 5l-167 -5v188l167 -6l168 6v-188z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="376" 
+d="M129 594l227 -155v-188l-227 -155l-116 158l175 91l-175 92z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="390" 
+d="M52 521l25 219c230 -13 316 -106 316 -220c0 -133 -119 -157 -119 -217c0 -17 9 -49 19 -70l-197 -61c-23 51 -35 105 -35 146c0 128 111 150 111 176c0 13 -25 20 -120 27zM323 14l-198 -33l-29 176l197 33z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="666" 
+d="M606 194l49 -124c-77 -38 -184 -67 -280 -67c-182 0 -364 107 -364 351c0 227 158 333 332 333c197 0 316 -135 316 -281c0 -137 -104 -242 -244 -242c-129 0 -213 89 -213 188c0 79 54 148 153 148c62 0 107 -27 133 -97l-103 -62c-6 13 -12 19 -20 19
+c-9 0 -14 -8 -14 -19c0 -19 18 -35 55 -35c47 0 92 26 92 87c0 73 -65 137 -155 137c-100 0 -171 -77 -171 -176c0 -112 89 -212 231 -212c65 0 141 21 203 52z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="516" 
+d="M307 0l-9 92l-44 -3l-48 4l-11 -93h-202l120 686l304 9l106 -695h-216zM228 275l26 3l27 -3l-24 243z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="515" 
+d="M31 -2l5 358l-5 325l412 19c30 -54 51 -119 51 -176c0 -56 -21 -101 -57 -140c43 -48 69 -105 69 -168c0 -92 -55 -158 -188 -214zM287 231c0 16 -5 29 -15 43c-14 -7 -28 -14 -43 -20l2 -100c38 19 56 46 56 77zM231 523l-2 -110c37 19 51 39 51 68c0 14 -3 33 -6 42
+h-43z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="493" 
+d="M460 417l-194 -6l-4 104h-27c-8 -51 -12 -92 -12 -139c0 -78 9 -154 39 -199l8 126l195 5l-6 -297l-309 -19c-101 106 -136 226 -136 367c0 105 20 213 57 322l392 18z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="507" 
+d="M32 -2l2 347l-3 336l385 18c52 -116 75 -223 75 -328c0 -141 -42 -264 -154 -369zM229 356l3 -202c34 40 52 100 52 181c0 55 -9 117 -27 183h-28v-162z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="501" 
+d="M277 239l193 6v-245h-440l5 356l-5 323l441 21l-2 -219l-195 -5l-1 44h-41v-76l174 10v-185l-174 4v-106l43 3z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="494" 
+d="M249 0h-219l7 339l-6 340l449 21l-2 -255l-194 -6l-1 75h-35v-112l174 9v-207l-174 4z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="516" 
+d="M474 9l-276 -18c-132 90 -187 223 -187 375c0 97 22 207 60 315l402 18l-2 -238l-198 -2l-1 59h-40c-8 -43 -13 -94 -13 -138c0 -86 19 -177 70 -229v108l-43 2v165h268v-166l-38 -1z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="546" 
+d="M248 690l-1 -236l26 4l26 -4l-1 236h219l-7 -342l7 -348h-219l1 246l-26 -5l-26 5l1 -246h-219l7 348l-7 342h219z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="277" 
+d="M29 690h219l-5 -334l5 -356h-219l5 356z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="503" 
+d="M34 287l194 4l4 -114c28 49 38 101 38 179c0 48 -4 113 -7 159h-32l-4 -96l-194 -2l-3 261l435 21c9 -107 16 -230 16 -304c0 -173 -24 -295 -182 -392l-260 -6z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="529" 
+d="M29 690h219l-1 -252c41 62 52 144 52 250l216 5c0 -133 -4 -241 -83 -345l115 -348h-236l-45 202l-19 -12l1 -190h-219l7 350z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="490" 
+d="M290 273l196 1l-3 -274h-452l5 284l-6 406h219l-3 -516l40 6z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="757" 
+d="M492 29l-234 -4l-28 254l-26 223l7 -502h-186l14 687l302 6l21 -236l20 -231l19 231l22 229l295 6l14 -692h-193l7 502l-25 -220z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="560" 
+d="M207 0h-182l8 688l257 5l71 -452l-13 449h182l-8 -688l-257 -5l-71 457z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="507" 
+d="M386 3l-266 -4c-70 92 -110 238 -110 353s41 245 111 337l265 3c70 -92 111 -238 111 -352c0 -116 -42 -245 -111 -337zM246 519c-13 -58 -19 -116 -19 -168c0 -66 10 -119 33 -179c14 57 20 115 20 169c0 66 -10 120 -34 178z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="497" 
+d="M239 520l-1 -179c37 23 52 58 52 105c0 22 -4 45 -10 74h-41zM249 0h-218l4 347l-4 334l420 18c26 -91 40 -168 40 -233c0 -146 -68 -246 -245 -322z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="507" 
+d="M494 350c0 -97 -22 -186 -72 -264l104 -126l-153 -124l-123 164l-140 -5c-62 100 -100 221 -100 346c0 132 42 252 140 345l244 9c62 -99 100 -220 100 -345zM250 180c21 46 29 97 29 151c0 58 -9 113 -24 180c-22 -46 -30 -98 -30 -152c0 -57 9 -114 25 -179z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="499" 
+d="M238 0h-208l5 350l-5 331l419 18c19 -59 32 -130 32 -193c0 -73 -18 -130 -66 -181l102 -325h-228l-43 218c-3 -1 -6 -3 -10 -4zM233 524l-2 -114c38 19 52 43 52 71c0 14 -4 33 -6 43h-44z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="427" 
+d="M16 243l185 5l8 -88c20 16 34 31 34 48c0 67 -242 65 -242 258c0 105 72 170 180 225l216 5l3 -236l-178 -1l-4 77c-12 -8 -26 -30 -26 -45c0 -65 242 -70 242 -256c0 -97 -66 -159 -176 -231l-231 -8z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="448" 
+d="M115 0l4 486l-119 -7v211h448v-211l-119 7l4 -486h-218z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="541" 
+d="M291 686l218 10c0 -14 -4 -198 -4 -297c0 -89 1 -159 23 -391l-213 -17l-9 92l-52 -76l-205 -15c-11 147 -14 251 -15 343l-3 351l220 10c0 -13 -3 -188 -3 -279c0 -52 0 -119 3 -176l41 50z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="499" 
+d="M216 690l35 -494l48 494h201l-111 -686l-292 -9l-97 695h216z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="739" 
+d="M544 690h188l-49 -690h-288l-17 246l-12 217l-11 -219l-18 -244h-281l-49 690h195l19 -512l11 212l18 254l245 4l19 -259l11 -211z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="525" 
+d="M537 690l-113 -345l115 -319l-215 -59l-63 253l-39 -220h-230l112 350l-114 314l214 60l62 -249l39 215h232z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="510" 
+d="M142 0l2 232l-164 432l216 60l62 -262l43 228h229l-172 -479l3 -211h-219z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="486" 
+d="M19 0l-6 197l184 231l-165 2l3 248l417 22l4 -241l-157 -203l177 2l-4 -258h-453zM219 154l69 9l5 86zM216 523l-4 -76l61 76h-57z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="302" 
+d="M215 345l2 -267l85 -2v-176h-273l4 445l-4 444h273v-175l-85 -2z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="296" 
+d="M61 334l-68 444l204 20l45 -449l61 -437l-203 -20z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="302" 
+d="M87 345l-2 267l-85 2v176h272l-3 -445l3 -444h-272v175l85 2z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="376" 
+d="M-6 441l102 302h182l105 -302l-159 -43l-38 163l-35 -163z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="330" 
+d="M330 -209h-330v183h330v-183z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="516" 
+d="M307 0l-9 92l-44 -3l-48 4l-11 -93h-202l120 686l304 9l106 -695h-216zM228 275l26 3l27 -3l-24 243z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="515" 
+d="M31 -2l5 358l-5 325l412 19c30 -54 51 -119 51 -176c0 -56 -21 -101 -57 -140c43 -48 69 -105 69 -168c0 -92 -55 -158 -188 -214zM287 231c0 16 -5 29 -15 43c-14 -7 -28 -14 -43 -20l2 -100c38 19 56 46 56 77zM231 523l-2 -110c37 19 51 39 51 68c0 14 -3 33 -6 42
+h-43z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="493" 
+d="M460 417l-194 -6l-4 104h-27c-8 -51 -12 -92 -12 -139c0 -78 9 -154 39 -199l8 126l195 5l-6 -297l-309 -19c-101 106 -136 226 -136 367c0 105 20 213 57 322l392 18z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="507" 
+d="M32 -2l2 347l-3 336l385 18c52 -116 75 -223 75 -328c0 -141 -42 -264 -154 -369zM229 356l3 -202c34 40 52 100 52 181c0 55 -9 117 -27 183h-28v-162z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="501" 
+d="M277 239l193 6v-245h-440l5 356l-5 323l441 21l-2 -219l-195 -5l-1 44h-41v-76l174 10v-185l-174 4v-106l43 3z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="494" 
+d="M249 0h-219l7 339l-6 340l449 21l-2 -255l-194 -6l-1 75h-35v-112l174 9v-207l-174 4z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="516" 
+d="M474 9l-276 -18c-132 90 -187 223 -187 375c0 97 22 207 60 315l402 18l-2 -238l-198 -2l-1 59h-40c-8 -43 -13 -94 -13 -138c0 -86 19 -177 70 -229v108l-43 2v165h268v-166l-38 -1z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="546" 
+d="M248 690l-1 -236l26 4l26 -4l-1 236h219l-7 -342l7 -348h-219l1 246l-26 -5l-26 5l1 -246h-219l7 348l-7 342h219z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="277" 
+d="M29 690h219l-5 -334l5 -356h-219l5 356z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="503" 
+d="M34 287l194 4l4 -114c28 49 38 101 38 179c0 48 -4 113 -7 159h-32l-4 -96l-194 -2l-3 261l435 21c9 -107 16 -230 16 -304c0 -173 -24 -295 -182 -392l-260 -6z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="529" 
+d="M29 690h219l-1 -252c41 62 52 144 52 250l216 5c0 -133 -4 -241 -83 -345l115 -348h-236l-45 202l-19 -12l1 -190h-219l7 350z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="490" 
+d="M290 273l196 1l-3 -274h-452l5 284l-6 406h219l-3 -516l40 6z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="757" 
+d="M492 29l-234 -4l-28 254l-26 223l7 -502h-186l14 687l302 6l21 -236l20 -231l19 231l22 229l295 6l14 -692h-193l7 502l-25 -220z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="560" 
+d="M207 0h-182l8 688l257 5l71 -452l-13 449h182l-8 -688l-257 -5l-71 457z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="507" 
+d="M386 3l-266 -4c-70 92 -110 238 -110 353s41 245 111 337l265 3c70 -92 111 -238 111 -352c0 -116 -42 -245 -111 -337zM246 519c-13 -58 -19 -116 -19 -168c0 -66 10 -119 33 -179c14 57 20 115 20 169c0 66 -10 120 -34 178z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="497" 
+d="M239 520l-1 -179c37 23 52 58 52 105c0 22 -4 45 -10 74h-41zM249 0h-218l4 347l-4 334l420 18c26 -91 40 -168 40 -233c0 -146 -68 -246 -245 -322z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="507" 
+d="M494 350c0 -97 -22 -186 -72 -264l104 -126l-153 -124l-123 164l-140 -5c-62 100 -100 221 -100 346c0 132 42 252 140 345l244 9c62 -99 100 -220 100 -345zM250 180c21 46 29 97 29 151c0 58 -9 113 -24 180c-22 -46 -30 -98 -30 -152c0 -57 9 -114 25 -179z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="499" 
+d="M238 0h-208l5 350l-5 331l419 18c19 -59 32 -130 32 -193c0 -73 -18 -130 -66 -181l102 -325h-228l-43 218c-3 -1 -6 -3 -10 -4zM233 524l-2 -114c38 19 52 43 52 71c0 14 -4 33 -6 43h-44z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="427" 
+d="M16 243l185 5l8 -88c20 16 34 31 34 48c0 67 -242 65 -242 258c0 105 72 170 180 225l216 5l3 -236l-178 -1l-4 77c-12 -8 -26 -30 -26 -45c0 -65 242 -70 242 -256c0 -97 -66 -159 -176 -231l-231 -8z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="448" 
+d="M115 0l4 486l-119 -7v211h448v-211l-119 7l4 -486h-218z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="541" 
+d="M291 686l218 10c0 -14 -4 -198 -4 -297c0 -89 1 -159 23 -391l-213 -17l-9 92l-52 -76l-205 -15c-11 147 -14 251 -15 343l-3 351l220 10c0 -13 -3 -188 -3 -279c0 -52 0 -119 3 -176l41 50z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="499" 
+d="M216 690l35 -494l48 494h201l-111 -686l-292 -9l-97 695h216z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="739" 
+d="M544 690h188l-49 -690h-288l-17 246l-12 217l-11 -219l-18 -244h-281l-49 690h195l19 -512l11 212l18 254l245 4l19 -259l11 -211z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="525" 
+d="M537 690l-113 -345l115 -319l-215 -59l-63 253l-39 -220h-230l112 350l-114 314l214 60l62 -249l39 215h232z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="510" 
+d="M142 0l2 232l-164 432l216 60l62 -262l43 228h229l-172 -479l3 -211h-219z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="486" 
+d="M19 0l-6 197l184 231l-165 2l3 248l417 22l4 -241l-157 -203l177 2l-4 -258h-453zM219 154l69 9l5 86zM216 523l-4 -76l61 76h-57z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="288" 
+d="M223 818l87 -140c-55 -35 -69 -72 -69 -109s13 -74 13 -110c0 -39 -15 -77 -75 -114c60 -37 75 -75 75 -114c0 -36 -13 -73 -13 -110s14 -74 69 -109l-87 -140c-149 64 -175 137 -175 205c0 36 7 69 7 99c0 36 -10 66 -51 88v162c41 22 51 52 51 88c0 30 -7 63 -7 99
+c0 68 26 141 175 205z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="254" 
+d="M29 740h196l-5 -447l5 -477h-196l5 477z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="288" 
+d="M65 -128l-88 140c56 35 70 72 70 109s-13 74 -13 110c0 39 14 77 75 114c-61 37 -75 75 -75 114c0 36 13 73 13 110s-14 74 -70 109l88 140c149 -64 175 -137 175 -205c0 -36 -7 -69 -7 -99c0 -36 9 -66 51 -88v-162c-42 -22 -51 -52 -51 -88c0 -30 7 -63 7 -99
+c0 -68 -26 -141 -175 -205z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="376" 
+d="M287 469l114 -138c-67 -67 -113 -107 -165 -107c-49 0 -80 37 -99 37c-11 0 -21 -13 -48 -41l-113 138c67 68 112 108 164 108c49 0 80 -37 99 -37c11 0 21 12 48 40z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="240" 
+d="M198 410h-155l-6 280h167z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="200" 
+d="M214 619l-147 -103l-140 164l163 115z" />
+    <hkern u1="&#x22;" u2="&#x31;" k="50" />
+    <hkern u1="&#x28;" u2="q" k="20" />
+    <hkern u1="&#x28;" u2="o" k="20" />
+    <hkern u1="&#x28;" u2="Q" k="20" />
+    <hkern u1="&#x28;" u2="O" k="20" />
+    <hkern u1="&#x2a;" u2="&#x31;" k="50" />
+    <hkern u1="&#x31;" u2="&#x27;" k="62" />
+    <hkern u1="&#x31;" u2="y" k="37" />
+    <hkern u1="&#x31;" u2="w" k="34" />
+    <hkern u1="&#x31;" u2="v" k="34" />
+    <hkern u1="&#x31;" u2="t" k="25" />
+    <hkern u1="&#x31;" u2="g" k="25" />
+    <hkern u1="&#x31;" u2="c" k="25" />
+    <hkern u1="&#x31;" u2="Y" k="37" />
+    <hkern u1="&#x31;" u2="W" k="34" />
+    <hkern u1="&#x31;" u2="V" k="34" />
+    <hkern u1="&#x31;" u2="T" k="25" />
+    <hkern u1="&#x31;" u2="G" k="25" />
+    <hkern u1="&#x31;" u2="C" k="25" />
+    <hkern u1="&#x31;" u2="&#x2a;" k="62" />
+    <hkern u1="&#x31;" u2="&#x22;" k="62" />
+    <hkern u1="D" u2="&#x7d;" k="20" />
+    <hkern u1="D" u2="]" k="20" />
+    <hkern u1="D" u2="&#x31;" k="25" />
+    <hkern u1="D" u2="&#x29;" k="20" />
+    <hkern u1="F" u2="&#x31;" k="56" />
+    <hkern u1="J" u2="&#x7d;" k="20" />
+    <hkern u1="J" u2="]" k="20" />
+    <hkern u1="J" u2="&#x31;" k="25" />
+    <hkern u1="J" u2="&#x29;" k="20" />
+    <hkern u1="O" u2="&#x7d;" k="14" />
+    <hkern u1="O" u2="]" k="14" />
+    <hkern u1="O" u2="&#x31;" k="20" />
+    <hkern u1="O" u2="&#x29;" k="14" />
+    <hkern u1="P" u2="&#x31;" k="54" />
+    <hkern u1="S" u2="&#x31;" k="25" />
+    <hkern u1="T" u2="&#x31;" k="50" />
+    <hkern u1="V" u2="&#x31;" k="48" />
+    <hkern u1="W" u2="&#x31;" k="48" />
+    <hkern u1="Y" u2="&#x31;" k="41" />
+    <hkern u1="[" u2="q" k="20" />
+    <hkern u1="[" u2="o" k="20" />
+    <hkern u1="[" u2="Q" k="20" />
+    <hkern u1="[" u2="O" k="20" />
+    <hkern u1="d" u2="&#x7d;" k="20" />
+    <hkern u1="d" u2="]" k="20" />
+    <hkern u1="d" u2="&#x31;" k="25" />
+    <hkern u1="d" u2="&#x29;" k="20" />
+    <hkern u1="f" u2="&#x31;" k="56" />
+    <hkern u1="j" u2="&#x7d;" k="20" />
+    <hkern u1="j" u2="]" k="20" />
+    <hkern u1="j" u2="&#x31;" k="25" />
+    <hkern u1="j" u2="&#x29;" k="20" />
+    <hkern u1="o" u2="&#x7d;" k="14" />
+    <hkern u1="o" u2="]" k="14" />
+    <hkern u1="o" u2="&#x31;" k="20" />
+    <hkern u1="o" u2="&#x29;" k="14" />
+    <hkern u1="p" u2="&#x31;" k="54" />
+    <hkern u1="s" u2="&#x31;" k="25" />
+    <hkern u1="t" u2="&#x31;" k="50" />
+    <hkern u1="v" u2="&#x31;" k="48" />
+    <hkern u1="w" u2="&#x31;" k="48" />
+    <hkern u1="y" u2="&#x31;" k="41" />
+    <hkern u1="&#x7b;" u2="q" k="20" />
+    <hkern u1="&#x7b;" u2="o" k="20" />
+    <hkern u1="&#x7b;" u2="Q" k="20" />
+    <hkern u1="&#x7b;" u2="O" k="20" />
+    <hkern u1="&#x27;" u2="&#x31;" k="50" />
+    <hkern g1="C,c,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,uni0421"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="61" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="14" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="13" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="20" />
+    <hkern g1="G,g"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="10" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="51" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="8" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="67" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="19" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="X,x,uni0416,uni0425"
+	k="20" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="uni0423,Ucyrilbreve"
+	k="13" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="21" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="10" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="47" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="6" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="10" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="38" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="13" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="17" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="38" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="65" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="uni0423,Ucyrilbreve"
+	k="16" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="46" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="5" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="V,v"
+	k="33" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="W,w"
+	k="33" />
+    <hkern g1="uni0413,uni0403"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="57" />
+    <hkern g1="uni0413,uni0403"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="163" />
+    <hkern g1="uni0413,uni0403"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="115" />
+    <hkern g1="uni0413,uni0403"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="25" />
+    <hkern g1="uni0413,uni0403"
+	g2="uni041B,uni0409"
+	k="50" />
+    <hkern g1="P,p,uni0420"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="44" />
+    <hkern g1="P,p,uni0420"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="150" />
+    <hkern g1="P,p,uni0420"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="18" />
+    <hkern g1="P,p,uni0420"
+	g2="uni0423,Ucyrilbreve"
+	k="-4" />
+    <hkern g1="P,p,uni0420"
+	g2="uni041B,uni0409"
+	k="17" />
+    <hkern g1="P,p,uni0420"
+	g2="Oslash,Oslash.alt"
+	k="4" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="89" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="69" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="18" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="uni041B,uni0409"
+	k="37" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Oslash,Oslash.alt"
+	k="30" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	k="27" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="10" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="20" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="111" />
+    <hkern g1="uni0426,uni0429"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="10" />
+    <hkern g1="uni0426,uni0429"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="17" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="7" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="44" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="50" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="V,v"
+	k="37" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="W,w"
+	k="37" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="46" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="99" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="48" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="34" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="uni041B,uni0409"
+	k="42" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="88" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="89" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="91" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="99" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="28" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="V,v"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="W,w"
+	k="70" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="65" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="91" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="44" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="17" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="uni041B,uni0409"
+	k="51" />
+    <hkern g1="Oslash,Oslash.alt"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="58" />
+    <hkern g1="F,f"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="53" />
+    <hkern g1="F,f"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="156" />
+    <hkern g1="F,f"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="27" />
+    <hkern g1="F,f"
+	g2="Oslash,Oslash.alt"
+	k="34" />
+    <hkern g1="L,l"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="75" />
+    <hkern g1="L,l"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="L,l"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="123" />
+    <hkern g1="L,l"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="27" />
+    <hkern g1="L,l"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="75" />
+    <hkern g1="L,l"
+	g2="V,v"
+	k="48" />
+    <hkern g1="L,l"
+	g2="W,w"
+	k="48" />
+    <hkern g1="V,v"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="V,v"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="W,w"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="W,w"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="24" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="69" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="50" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="uni0423,Ucyrilbreve"
+	k="23" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="41" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="70" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/ZSSB.svg b/Tests/W3CTestSuite/resources/ZSSB.svg
new file mode 100644
index 0000000000000000000000000000000000000000..03a51d7891e7ce91412bcfadf7e80108471bccf5
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/ZSSB.svg
@@ -0,0 +1,603 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+Created by FontForge 20100212 at Mon Apr 12 12:51:22 2010
+ By Chris Lilley,,,
+Copyright (c) Tim Ahrens, 2003. All rights reserved.
+Converted to SVG and subsetted with permission.
+</metadata>
+<defs>
+<font id="ZCSB" horiz-adv-x="424" >
+  <font-face 
+    font-family="ZC"
+    font-weight="600"
+    font-variant="small-caps"
+    font-stretch="normal"
+    units-per-em="1000"
+    panose-1="0 0 7 0 0 0 0 0 0 0"
+    ascent="697"
+    descent="-303"
+    x-height="690"
+    cap-height="690"
+    bbox="-33 -193 709 806"
+    underline-thickness="150"
+    underline-position="-150"
+    stemh="338"
+    stemv="424"
+    unicode-range="U+0-7F"
+  />
+    <missing-glyph horiz-adv-x="500" 
+d="M50 0v533h400v-533h-400zM100 50h300v433h-300v-433z" />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="178" 
+ />
+    <glyph glyph-name="exclam" unicode="!" horiz-adv-x="258" 
+d="M66 704l147 9l-6 -243l1 -242l-137 -10v243zM230 13l-142 -28l-26 146l142 28z" />
+    <glyph glyph-name="quotedbl" unicode="&#x22;" horiz-adv-x="380" 
+d="M162 444h-110l-5 246h119zM328 444h-110l-4 246h119z" />
+    <glyph glyph-name="numbersign" unicode="#" 
+d="M9 276h54l11 137h-50v108h58l12 169h117l-13 -169h52l13 169h116l-13 -169h49v-108h-57l-10 -137h51v-107h-59l-13 -169h-116l13 169h-52l-12 -169h-117l12 169h-46v107zM190 413l-10 -137h52l10 137h-52z" />
+    <glyph glyph-name="dollar" unicode="$" 
+d="M294 765l-1 -119l72 2l1 -190l-120 -1l-2 84c-45 -12 -79 -40 -79 -67c0 -75 233 -84 233 -236c0 -60 -40 -106 -105 -151l1 -142h-148l1 91l-88 -2l-12 203l123 5l10 -99c48 23 88 50 88 78c0 71 -232 78 -232 236c0 67 44 116 112 154l-2 154h148z" />
+    <glyph glyph-name="percent" unicode="%" horiz-adv-x="724" 
+d="M203 298l-121 -4c-41 60 -68 129 -68 199c0 75 31 143 101 196l121 4c42 -60 68 -130 68 -199c0 -75 -31 -143 -101 -196zM151 377c33 32 49 69 49 110c0 38 -14 79 -33 123c-33 -33 -48 -69 -48 -110c0 -38 13 -78 32 -123zM608 2l-121 -4c-41 59 -67 129 -67 198
+c0 75 30 143 100 196l122 5c41 -61 67 -130 67 -200c0 -75 -31 -142 -101 -195zM557 80c32 33 48 70 48 110c0 38 -14 79 -33 123c-33 -32 -48 -69 -48 -110c0 -37 13 -78 33 -123zM670 661l-277 -349l-242 -348l-96 65l275 347l243 350z" />
+    <glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="604" 
+d="M442 466l100 -77l-145 -207l61 -84l17 117l106 -18l-35 -193l-141 -11l-76 93l-59 -84l-173 -10c-58 73 -80 133 -80 184c0 77 50 134 106 184c-36 59 -54 107 -54 152c0 58 29 110 91 175l170 11c55 -57 76 -106 76 -150c0 -78 -65 -138 -129 -196l46 -68zM159 184
+c0 -27 11 -58 38 -94l57 88l-65 85c-18 -25 -30 -51 -30 -79zM201 525c0 -22 6 -46 21 -78c29 29 49 58 49 90c0 22 -8 46 -28 72c-29 -29 -42 -53 -42 -84z" />
+    <glyph glyph-name="parenleft" unicode="(" horiz-adv-x="269" 
+d="M274 -51l-121 -62c-82 154 -123 308 -123 459c0 156 43 309 127 457l117 -61c-66 -123 -99 -260 -99 -397c0 -136 33 -273 99 -396z" />
+    <glyph glyph-name="parenright" unicode=")" horiz-adv-x="269" 
+d="M-4 741l120 62c82 -154 123 -307 123 -459c0 -156 -43 -309 -128 -457l-116 61c66 123 100 260 100 397s-34 273 -99 396z" />
+    <glyph glyph-name="asterisk" unicode="*" horiz-adv-x="366" 
+d="M319 431l-86 -51l-50 117l-50 -118l-86 52l76 112l-108 34l40 96l91 -54l-14 143h102l-14 -143l91 54l40 -96l-108 -34z" />
+    <glyph glyph-name="plus" unicode="+" horiz-adv-x="377" 
+d="M360 274l-109 4l4 -163h-132l4 163l-109 -4v142l109 -4l-4 163h132l-4 -163l109 4v-142z" />
+    <glyph glyph-name="comma" unicode="," horiz-adv-x="217" 
+d="M50 130l124 3l-17 -242l-110 -2z" />
+    <glyph glyph-name="hyphen" unicode="-" horiz-adv-x="238" 
+d="M119 285l-104 -4v128l104 -4l104 4v-128z" />
+    <glyph glyph-name="period" unicode="." horiz-adv-x="229" 
+d="M197 18l-139 -33l-26 143l140 33z" />
+    <glyph glyph-name="slash" unicode="/" horiz-adv-x="271" 
+d="M264 767l-71 -430l-52 -429l-134 14l67 427l56 433z" />
+    <glyph glyph-name="zero" unicode="0" horiz-adv-x="417" 
+d="M247 2l-136 -6c-64 112 -104 233 -104 353c0 132 50 248 162 341l137 6c63 -113 103 -234 103 -353c0 -132 -49 -249 -162 -341zM190 99c67 66 100 144 100 235c0 84 -28 173 -64 259c-67 -66 -100 -144 -100 -235c0 -84 29 -173 64 -259zM285 315l-112 -46l-40 105
+l112 46z" />
+    <glyph glyph-name="one" unicode="1" horiz-adv-x="346" 
+d="M103 688l140 6l-2 -411v-161l104 -3v-119h-344v119l104 3v161z" />
+    <glyph glyph-name="two" unicode="2" 
+d="M55 460l4 223l170 14c107 -69 148 -140 148 -214c0 -125 -117 -252 -233 -382l131 9l5 110l120 2l-4 -222h-375l-6 126c156 178 226 264 226 341c0 43 -22 77 -66 112l-4 -119h-116z" />
+    <glyph glyph-name="three" unicode="3" 
+d="M378 562l-93 -152c79 -52 111 -109 111 -168c0 -100 -90 -193 -183 -240l-159 -4l-9 224l120 4l7 -122c49 24 90 68 90 120c0 46 -35 94 -129 149l124 207h-99l-4 -103l-117 2l2 202l336 17z" />
+    <glyph glyph-name="four" unicode="4" 
+d="M222 503h126l-3 -251l82 2v-118l-80 2l2 -138h-128l2 138l-213 -2l-5 109l127 463l122 -37l-121 -420l92 -1z" />
+    <glyph glyph-name="five" unicode="5" 
+d="M362 497l-122 -1l-3 81h-73l-3 -118c173 -49 240 -131 240 -219c0 -89 -69 -175 -187 -238l-160 -5l-8 221l119 4l7 -118c60 32 95 75 95 120c0 61 -65 104 -219 144l6 315l307 14z" />
+    <glyph glyph-name="six" unicode="6" 
+d="M253 675c-55 -106 -89 -209 -96 -314l104 94l105 9c26 -67 40 -147 40 -204c0 -116 -55 -200 -153 -258l-148 -5c-54 103 -77 210 -77 315c0 140 41 266 99 397zM264 344l-105 -91c6 -52 20 -103 42 -153c57 41 79 89 79 151c0 28 -6 62 -16 93z" />
+    <glyph glyph-name="seven" unicode="7" 
+d="M150 454l-119 1l4 226l364 18l6 -135l-195 -587l-135 39l198 556h-117z" />
+    <glyph glyph-name="eight" unicode="8" 
+d="M21 195c0 55 23 118 79 174c-41 34 -73 75 -73 133c0 68 46 130 127 186l140 10c58 -50 90 -108 90 -173c0 -50 -18 -107 -70 -164c52 -34 96 -78 96 -152c0 -84 -59 -155 -138 -207l-155 -10c-56 54 -96 130 -96 203zM273 190c0 45 -34 78 -77 109
+c-34 -36 -45 -74 -45 -102c0 -39 19 -79 53 -112c46 30 69 65 69 105zM151 511c0 -41 32 -69 73 -95c24 28 35 63 35 91c0 34 -16 71 -46 100c-43 -28 -62 -61 -62 -96z" />
+    <glyph glyph-name="nine" unicode="9" 
+d="M160 12c59 108 97 215 105 325l-103 -91l-106 -9c-24 60 -38 137 -38 194c0 118 59 201 157 257l149 4c49 -101 71 -202 71 -302c0 -144 -45 -275 -108 -409zM145 436c0 -32 6 -55 14 -81l105 90c-6 49 -18 97 -37 145c-61 -41 -82 -89 -82 -154z" />
+    <glyph glyph-name="colon" unicode=":" horiz-adv-x="212" 
+d="M187 161l-135 -32l-24 138l134 32zM187 423l-135 -32l-24 138l134 32z" />
+    <glyph glyph-name="semicolon" unicode=";" horiz-adv-x="229" 
+d="M197 324l-134 -32l-25 138l135 32zM60 130l125 3l-18 -242l-109 -2z" />
+    <glyph glyph-name="less" unicode="&#x3c;" horiz-adv-x="377" 
+d="M272 121l-241 161v126l241 161l74 -106l-202 -117l202 -118z" />
+    <glyph glyph-name="equal" unicode="=" horiz-adv-x="377" 
+d="M351 379l-162 4l-163 -4v124l163 -4l162 4v-124zM351 187l-162 4l-163 -4v125l163 -4l162 4v-125z" />
+    <glyph glyph-name="greater" unicode="&#x3e;" horiz-adv-x="377" 
+d="M105 569l242 -161v-126l-242 -161l-73 106l201 117l-201 118z" />
+    <glyph glyph-name="question" unicode="?" horiz-adv-x="343" 
+d="M54 594l18 143c194 -22 267 -106 267 -204c0 -128 -130 -157 -130 -241c0 -23 10 -64 19 -85l-131 -40c-18 41 -28 97 -28 135c0 133 124 156 124 216c0 35 -36 61 -139 76zM258 12l-139 -26l-22 125l138 27z" />
+    <glyph glyph-name="at" unicode="@" horiz-adv-x="626" 
+d="M574 176l36 -91c-72 -38 -166 -66 -255 -66c-169 0 -337 101 -337 330c0 217 150 321 311 321c177 0 282 -126 282 -265c0 -134 -97 -237 -229 -237c-120 0 -194 84 -194 180c0 82 52 152 148 152c59 0 105 -26 133 -91l-75 -47c-14 23 -32 36 -52 36
+c-27 0 -45 -25 -45 -56c0 -38 28 -69 79 -69c59 0 116 38 116 122c0 89 -65 161 -165 161c-111 0 -191 -90 -191 -207c0 -123 89 -228 238 -228c66 0 138 21 200 55z" />
+    <glyph glyph-name="A" unicode="A" horiz-adv-x="448" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM176 270l47 3l43 -3l-43 300z" />
+    <glyph glyph-name="B" unicode="B" horiz-adv-x="457" 
+d="M52 -2l3 359l-3 326l325 15c26 -51 44 -110 44 -161c0 -63 -26 -112 -68 -152c49 -48 80 -110 80 -177c0 -94 -62 -162 -200 -207zM291 217c0 37 -17 70 -44 97c-21 -10 -43 -19 -67 -28l2 -181c76 23 109 60 109 112zM182 579l-2 -182c57 25 102 58 102 112
+c0 25 -7 51 -14 70h-86z" />
+    <glyph glyph-name="C" unicode="C" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-194 -14c-125 98 -168 222 -168 377c0 104 19 210 55 313l310 14z" />
+    <glyph glyph-name="D" unicode="D" horiz-adv-x="452" 
+d="M52 -3l1 349l-2 337l300 14c52 -124 75 -235 75 -334c0 -146 -49 -267 -182 -363zM180 356l1 -253c75 51 109 127 109 238c0 69 -13 148 -42 236h-68v-221z" />
+    <glyph glyph-name="E" unicode="E" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4z" />
+    <glyph glyph-name="F" unicode="F" horiz-adv-x="441" 
+d="M192 0h-141l4 337l-3 344l362 17l-2 -215l-125 -4l-1 96h-95v-193l167 7v-136l-167 4z" />
+    <glyph glyph-name="G" unicode="G" horiz-adv-x="457" 
+d="M400 7l-177 -14c-143 89 -198 219 -198 381c0 100 21 207 56 309l318 14l-2 -204l-128 -2l-1 86h-81c-17 -62 -27 -129 -27 -195c0 -112 28 -217 119 -283v171l-59 3v109h222v-110l-39 -2z" />
+    <glyph glyph-name="H" unicode="H" horiz-adv-x="500" 
+d="M191 690l-1 -273l60 4l60 -4l-1 273h141l-5 -342l5 -348h-141l1 285l-60 -4l-60 4l1 -285h-141l5 348l-5 342h141z" />
+    <glyph glyph-name="I" unicode="I" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353z" />
+    <glyph glyph-name="J" unicode="J" horiz-adv-x="433" 
+d="M40 243l125 3l6 -130c69 58 90 122 90 238c0 66 -6 156 -12 221h-77l-2 -119l-126 -1l-2 226l337 16c11 -112 19 -233 19 -317c0 -166 -24 -283 -184 -378l-168 -4z" />
+    <glyph glyph-name="K" unicode="K" horiz-adv-x="471" 
+d="M50 690h141l-1 -294c92 82 105 169 105 292l139 4c0 -131 -7 -238 -101 -341l139 -351h-153l-93 260c-11 -8 -23 -16 -36 -23l1 -237h-141l5 349z" />
+    <glyph glyph-name="L" unicode="L" horiz-adv-x="426" 
+d="M285 239l126 1l-2 -240h-358l4 259l-4 431h141l-2 -576l92 6z" />
+    <glyph glyph-name="M" unicode="M" horiz-adv-x="678" 
+d="M414 26l-156 -4l-48 283l-43 258l5 -563h-124l10 688l199 4l46 -286l38 -252l37 254l48 279l194 4l10 -691h-128l5 562l-43 -253z" />
+    <glyph glyph-name="N" unicode="N" horiz-adv-x="514" 
+d="M170 0h-123l6 688l172 5l124 -528l-8 525h122l-6 -689l-171 -4l-125 531z" />
+    <glyph glyph-name="O" unicode="O" horiz-adv-x="445" 
+d="M305 2l-167 -4c-78 94 -118 232 -118 350c0 119 42 244 120 341l166 4c78 -95 119 -233 119 -350c0 -120 -42 -244 -120 -341zM219 580c-40 -70 -60 -153 -60 -232c0 -88 23 -168 67 -238c39 69 59 152 59 233c0 88 -23 169 -66 237z" />
+    <glyph glyph-name="P" unicode="P" horiz-adv-x="435" 
+d="M186 578v-263c68 29 98 85 98 162c0 31 -5 64 -14 101h-84zM192 0h-141l3 348l-3 335l331 14c21 -77 34 -146 34 -205c0 -143 -67 -242 -226 -305z" />
+    <glyph glyph-name="Q" unicode="Q" horiz-adv-x="445" 
+d="M427 344c0 -91 -22 -175 -70 -249l104 -155l-124 -79l-89 141l-129 -6c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352zM210 115c57 63 79 138 79 217c0 81 -22 163 -52 245c-56 -63 -78 -137 -78 -218c0 -80 21 -163 51 -244z" />
+    <glyph glyph-name="R" unicode="R" horiz-adv-x="444" 
+d="M185 0h-134l3 349l-3 334l328 14c17 -54 29 -116 29 -173c0 -79 -24 -142 -86 -194l119 -330h-149l-80 265l-28 -11zM183 581l-2 -199c71 27 97 71 97 126c0 26 -5 54 -11 73h-84z" />
+    <glyph glyph-name="S" unicode="S" horiz-adv-x="380" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6z" />
+    <glyph glyph-name="T" unicode="T" horiz-adv-x="404" 
+d="M132 0l3 562l-131 -5v133h396v-133l-131 5l3 -562h-140z" />
+    <glyph glyph-name="U" unicode="U" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412z" />
+    <glyph glyph-name="V" unicode="V" horiz-adv-x="448" 
+d="M149 690l75 -558l84 558h130l-125 -688l-187 -7l-116 695h139z" />
+    <glyph glyph-name="W" unicode="W" horiz-adv-x="654" 
+d="M514 690h125l-67 -690l-188 -1l-33 281l-27 252l-26 -253l-34 -279l-184 -1l-65 691h129l43 -566l26 244l35 289l162 3l34 -295l25 -241z" />
+    <glyph glyph-name="X" unicode="X" horiz-adv-x="456" 
+d="M452 690l-124 -337l129 -335l-136 -42l-95 291l-75 -267h-149l126 352l-125 321l136 42l90 -275l73 250h150z" />
+    <glyph glyph-name="Y" unicode="Y" horiz-adv-x="447" 
+d="M151 0l2 237l-158 436l138 40l94 -324l78 301h148l-164 -464l3 -226h-141z" />
+    <glyph glyph-name="Z" unicode="Z" horiz-adv-x="439" 
+d="M160 462l-118 2l5 217l346 18l6 -151l-243 -447l133 9l6 120h120l-6 -230h-381l-6 124l256 456h-113z" />
+    <glyph glyph-name="bracketleft" unicode="[" horiz-adv-x="265" 
+d="M173 351l2 -329l86 -2v-118h-212l3 450l-3 436h212v-118l-86 -2z" />
+    <glyph glyph-name="backslash" unicode="\" horiz-adv-x="271" 
+d="M78 337l-71 430l134 15l55 -433l68 -427l-134 -14z" />
+    <glyph glyph-name="bracketright" unicode="]" horiz-adv-x="265" 
+d="M92 339l-2 329l-86 2v118h212l-3 -450l3 -436h-212v118l86 2z" />
+    <glyph glyph-name="asciicircum" unicode="^" horiz-adv-x="377" 
+d="M20 428l107 315h123l108 -315l-108 -30l-63 222l-61 -222z" />
+    <glyph glyph-name="underscore" unicode="_" horiz-adv-x="305" 
+d="M302 -165h-298v124h298v-124z" />
+    <glyph glyph-name="a" unicode="a" horiz-adv-x="448" 
+d="M305 0l-21 151l-62 -3l-65 3l-24 -151h-132l128 687l197 8l121 -695h-142zM176 270l47 3l43 -3l-43 300z" />
+    <glyph glyph-name="b" unicode="b" horiz-adv-x="457" 
+d="M52 -2l3 359l-3 326l325 15c26 -51 44 -110 44 -161c0 -63 -26 -112 -68 -152c49 -48 80 -110 80 -177c0 -94 -62 -162 -200 -207zM291 217c0 37 -17 70 -44 97c-21 -10 -43 -19 -67 -28l2 -181c76 23 109 60 109 112zM182 579l-2 -182c57 25 102 58 102 112
+c0 25 -7 51 -14 70h-86z" />
+    <glyph glyph-name="c" unicode="c" horiz-adv-x="434" 
+d="M390 457l-126 -3l-2 121h-73c-17 -65 -26 -127 -26 -194c0 -107 22 -205 100 -267l5 146l126 3l-5 -256l-194 -14c-125 98 -168 222 -168 377c0 104 19 210 55 313l310 14z" />
+    <glyph glyph-name="d" unicode="d" horiz-adv-x="452" 
+d="M52 -3l1 349l-2 337l300 14c52 -124 75 -235 75 -334c0 -146 -49 -267 -182 -363zM180 356l1 -253c75 51 109 127 109 238c0 69 -13 148 -42 236h-68v-221z" />
+    <glyph glyph-name="e" unicode="e" horiz-adv-x="449" 
+d="M282 216l125 3l-1 -219h-355l3 354l-3 327l355 17l-1 -198l-126 -3v82h-97v-166l165 7v-124l-165 4v-192l98 4z" />
+    <glyph glyph-name="f" unicode="f" horiz-adv-x="441" 
+d="M192 0h-141l4 337l-3 344l362 17l-2 -215l-125 -4l-1 96h-95v-193l167 7v-136l-167 4z" />
+    <glyph glyph-name="g" unicode="g" horiz-adv-x="457" 
+d="M400 7l-177 -14c-143 89 -198 219 -198 381c0 100 21 207 56 309l318 14l-2 -204l-128 -2l-1 86h-81c-17 -62 -27 -129 -27 -195c0 -112 28 -217 119 -283v171l-59 3v109h222v-110l-39 -2z" />
+    <glyph glyph-name="h" unicode="h" horiz-adv-x="500" 
+d="M191 690l-1 -273l60 4l60 -4l-1 273h141l-5 -342l5 -348h-141l1 285l-60 -4l-60 4l1 -285h-141l5 348l-5 342h141z" />
+    <glyph glyph-name="i" unicode="i" horiz-adv-x="241" 
+d="M50 690h141l-3 -337l3 -353h-141l3 353z" />
+    <glyph glyph-name="j" unicode="j" horiz-adv-x="433" 
+d="M40 243l125 3l6 -130c69 58 90 122 90 238c0 66 -6 156 -12 221h-77l-2 -119l-126 -1l-2 226l337 16c11 -112 19 -233 19 -317c0 -166 -24 -283 -184 -378l-168 -4z" />
+    <glyph glyph-name="k" unicode="k" horiz-adv-x="471" 
+d="M50 690h141l-1 -294c92 82 105 169 105 292l139 4c0 -131 -7 -238 -101 -341l139 -351h-153l-93 260c-11 -8 -23 -16 -36 -23l1 -237h-141l5 349z" />
+    <glyph glyph-name="l" unicode="l" horiz-adv-x="426" 
+d="M285 239l126 1l-2 -240h-358l4 259l-4 431h141l-2 -576l92 6z" />
+    <glyph glyph-name="m" unicode="m" horiz-adv-x="678" 
+d="M414 26l-156 -4l-48 283l-43 258l5 -563h-124l10 688l199 4l46 -286l38 -252l37 254l48 279l194 4l10 -691h-128l5 562l-43 -253z" />
+    <glyph glyph-name="n" unicode="n" horiz-adv-x="514" 
+d="M170 0h-123l6 688l172 5l124 -528l-8 525h122l-6 -689l-171 -4l-125 531z" />
+    <glyph glyph-name="o" unicode="o" horiz-adv-x="445" 
+d="M305 2l-167 -4c-78 94 -118 232 -118 350c0 119 42 244 120 341l166 4c78 -95 119 -233 119 -350c0 -120 -42 -244 -120 -341zM219 580c-40 -70 -60 -153 -60 -232c0 -88 23 -168 67 -238c39 69 59 152 59 233c0 88 -23 169 -66 237z" />
+    <glyph glyph-name="p" unicode="p" horiz-adv-x="435" 
+d="M186 578v-263c68 29 98 85 98 162c0 31 -5 64 -14 101h-84zM192 0h-141l3 348l-3 335l331 14c21 -77 34 -146 34 -205c0 -143 -67 -242 -226 -305z" />
+    <glyph glyph-name="q" unicode="q" horiz-adv-x="445" 
+d="M427 344c0 -91 -22 -175 -70 -249l104 -155l-124 -79l-89 141l-129 -6c-62 110 -99 232 -99 351c0 132 45 249 151 342l157 7c62 -112 99 -232 99 -352zM210 115c57 63 79 138 79 217c0 81 -22 163 -52 245c-56 -63 -78 -137 -78 -218c0 -80 21 -163 51 -244z" />
+    <glyph glyph-name="r" unicode="r" horiz-adv-x="444" 
+d="M185 0h-134l3 349l-3 334l328 14c17 -54 29 -116 29 -173c0 -79 -24 -142 -86 -194l119 -330h-149l-80 265l-28 -11zM183 581l-2 -199c71 27 97 71 97 126c0 26 -5 54 -11 73h-84z" />
+    <glyph glyph-name="s" unicode="s" horiz-adv-x="380" 
+d="M31 225l123 4l9 -119c43 30 78 63 78 101c0 86 -221 97 -221 271c0 100 74 165 175 208l142 4l1 -209l-119 -2l-2 102c-41 -17 -69 -49 -69 -86c0 -92 220 -104 220 -271c0 -93 -69 -157 -175 -225l-151 -6z" />
+    <glyph glyph-name="t" unicode="t" horiz-adv-x="404" 
+d="M132 0l3 562l-131 -5v133h396v-133l-131 5l3 -562h-140z" />
+    <glyph glyph-name="u" unicode="u" horiz-adv-x="497" 
+d="M304 687l141 7c0 -11 -4 -228 -4 -330c0 -83 2 -154 21 -360l-139 -10l-10 141l-105 -131l-136 -10c-16 157 -18 260 -19 356l-2 337l142 7c0 -12 -2 -192 -2 -286c0 -106 3 -170 10 -252l103 119v412z" />
+    <glyph glyph-name="v" unicode="v" horiz-adv-x="448" 
+d="M149 690l75 -558l84 558h130l-125 -688l-187 -7l-116 695h139z" />
+    <glyph glyph-name="w" unicode="w" horiz-adv-x="654" 
+d="M514 690h125l-67 -690l-188 -1l-33 281l-27 252l-26 -253l-34 -279l-184 -1l-65 691h129l43 -566l26 244l35 289l162 3l34 -295l25 -241z" />
+    <glyph glyph-name="x" unicode="x" horiz-adv-x="456" 
+d="M452 690l-124 -337l129 -335l-136 -42l-95 291l-75 -267h-149l126 352l-125 321l136 42l90 -275l73 250h150z" />
+    <glyph glyph-name="y" unicode="y" horiz-adv-x="447" 
+d="M151 0l2 237l-158 436l138 40l94 -324l78 301h148l-164 -464l3 -226h-141z" />
+    <glyph glyph-name="z" unicode="z" horiz-adv-x="439" 
+d="M160 462l-118 2l5 217l346 18l6 -151l-243 -447l133 9l6 120h120l-6 -230h-381l-6 124l256 456h-113z" />
+    <glyph glyph-name="braceleft" unicode="{" horiz-adv-x="254" 
+d="M210 806l58 -96c-67 -39 -82 -83 -82 -129c0 -39 11 -78 11 -118s-12 -80 -61 -118c49 -38 61 -78 61 -119c0 -39 -11 -78 -11 -117c0 -46 15 -90 82 -129l-58 -96c-129 60 -152 129 -152 196c0 38 7 75 7 110c0 37 -8 71 -45 100v110c37 29 45 63 45 100
+c0 35 -7 72 -7 110c0 67 23 137 152 196z" />
+    <glyph glyph-name="bar" unicode="|" horiz-adv-x="228" 
+d="M48 736h132l-3 -453l3 -476h-132l4 476z" />
+    <glyph glyph-name="braceright" unicode="}" horiz-adv-x="254" 
+d="M44 -116l-57 96c65 39 80 83 80 129c0 38 -10 77 -10 115c0 42 12 82 61 121c-49 39 -61 79 -61 121c0 38 10 77 10 115c0 46 -15 90 -80 129l57 96c129 -60 152 -129 152 -196c0 -37 -7 -75 -7 -109c0 -38 8 -72 44 -101v-110c-36 -29 -44 -63 -44 -101
+c0 -34 7 -71 7 -109c0 -67 -23 -137 -152 -196z" />
+    <glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="377" 
+d="M304 434l78 -89c-47 -55 -86 -90 -134 -90c-53 0 -90 46 -120 46c-20 0 -34 -19 -55 -45l-77 89c47 55 86 90 133 90c53 0 90 -46 121 -46c19 0 33 18 54 45z" />
+    <glyph glyph-name="quotesingle" unicode="'" horiz-adv-x="214" 
+d="M162 444h-110l-5 246h119z" />
+    <glyph glyph-name="grave" unicode="`" horiz-adv-x="207" 
+d="M187 604l-99 -71l-121 142l110 79z" />
+    <hkern u1="&#x22;" u2="&#x31;" k="50" />
+    <hkern u1="&#x28;" u2="q" k="20" />
+    <hkern u1="&#x28;" u2="o" k="20" />
+    <hkern u1="&#x28;" u2="Q" k="20" />
+    <hkern u1="&#x28;" u2="O" k="20" />
+    <hkern u1="&#x2a;" u2="&#x31;" k="50" />
+    <hkern u1="&#x31;" u2="&#x27;" k="62" />
+    <hkern u1="&#x31;" u2="y" k="33" />
+    <hkern u1="&#x31;" u2="w" k="34" />
+    <hkern u1="&#x31;" u2="v" k="34" />
+    <hkern u1="&#x31;" u2="t" k="25" />
+    <hkern u1="&#x31;" u2="g" k="25" />
+    <hkern u1="&#x31;" u2="c" k="25" />
+    <hkern u1="&#x31;" u2="Y" k="33" />
+    <hkern u1="&#x31;" u2="W" k="34" />
+    <hkern u1="&#x31;" u2="V" k="34" />
+    <hkern u1="&#x31;" u2="T" k="25" />
+    <hkern u1="&#x31;" u2="G" k="25" />
+    <hkern u1="&#x31;" u2="C" k="25" />
+    <hkern u1="&#x31;" u2="&#x2a;" k="62" />
+    <hkern u1="&#x31;" u2="&#x22;" k="62" />
+    <hkern u1="D" u2="&#x7d;" k="20" />
+    <hkern u1="D" u2="]" k="20" />
+    <hkern u1="D" u2="&#x31;" k="25" />
+    <hkern u1="D" u2="&#x29;" k="20" />
+    <hkern u1="F" u2="&#x31;" k="56" />
+    <hkern u1="J" u2="&#x7d;" k="20" />
+    <hkern u1="J" u2="]" k="20" />
+    <hkern u1="J" u2="&#x31;" k="25" />
+    <hkern u1="J" u2="&#x29;" k="20" />
+    <hkern u1="O" u2="&#x7d;" k="14" />
+    <hkern u1="O" u2="]" k="14" />
+    <hkern u1="O" u2="&#x31;" k="20" />
+    <hkern u1="O" u2="&#x29;" k="14" />
+    <hkern u1="P" u2="&#x31;" k="54" />
+    <hkern u1="S" u2="&#x31;" k="25" />
+    <hkern u1="T" u2="&#x31;" k="50" />
+    <hkern u1="V" u2="&#x31;" k="48" />
+    <hkern u1="W" u2="&#x31;" k="48" />
+    <hkern u1="Y" u2="&#x31;" k="41" />
+    <hkern u1="[" u2="q" k="20" />
+    <hkern u1="[" u2="o" k="20" />
+    <hkern u1="[" u2="Q" k="20" />
+    <hkern u1="[" u2="O" k="20" />
+    <hkern u1="d" u2="&#x7d;" k="20" />
+    <hkern u1="d" u2="]" k="20" />
+    <hkern u1="d" u2="&#x31;" k="25" />
+    <hkern u1="d" u2="&#x29;" k="20" />
+    <hkern u1="f" u2="&#x31;" k="56" />
+    <hkern u1="j" u2="&#x7d;" k="20" />
+    <hkern u1="j" u2="]" k="20" />
+    <hkern u1="j" u2="&#x31;" k="25" />
+    <hkern u1="j" u2="&#x29;" k="20" />
+    <hkern u1="o" u2="&#x7d;" k="14" />
+    <hkern u1="o" u2="]" k="14" />
+    <hkern u1="o" u2="&#x31;" k="20" />
+    <hkern u1="o" u2="&#x29;" k="14" />
+    <hkern u1="p" u2="&#x31;" k="54" />
+    <hkern u1="s" u2="&#x31;" k="25" />
+    <hkern u1="t" u2="&#x31;" k="50" />
+    <hkern u1="v" u2="&#x31;" k="48" />
+    <hkern u1="w" u2="&#x31;" k="48" />
+    <hkern u1="y" u2="&#x31;" k="41" />
+    <hkern u1="&#x7b;" u2="q" k="20" />
+    <hkern u1="&#x7b;" u2="o" k="20" />
+    <hkern u1="&#x7b;" u2="Q" k="20" />
+    <hkern u1="&#x7b;" u2="O" k="20" />
+    <hkern u1="&#x27;" u2="&#x31;" k="50" />
+    <hkern g1="C,c,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,uni0421"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="61" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="14" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="13" />
+    <hkern g1="D,J,d,j,Eth,Dcaron,Dcroat"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="17" />
+    <hkern g1="G,g"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="10" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="51" />
+    <hkern g1="K,R,k,r,Racute,Rcaron"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="8" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="67" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="19" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="21" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="X,x,uni0416,uni0425"
+	k="20" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="uni0423,Ucyrilbreve"
+	k="13" />
+    <hkern g1="O,o,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E,uni042E"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="19" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="10" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="47" />
+    <hkern g1="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="6" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="X,x,uni0416,uni041A,uni0425,uni040C"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="9" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="38" />
+    <hkern g1="Z,z,Zcaron,Zacute,Zdotaccent"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="12" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="17" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="38" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="65" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="10" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="uni0423,Ucyrilbreve"
+	k="16" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="46" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="5" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="V,v"
+	k="33" />
+    <hkern g1="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	g2="W,w"
+	k="33" />
+    <hkern g1="uni0413,uni0403"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="57" />
+    <hkern g1="uni0413,uni0403"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="163" />
+    <hkern g1="uni0413,uni0403"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="115" />
+    <hkern g1="uni0413,uni0403"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="25" />
+    <hkern g1="uni0413,uni0403"
+	g2="uni041B,uni0409"
+	k="50" />
+    <hkern g1="P,p,uni0420"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="44" />
+    <hkern g1="P,p,uni0420"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="150" />
+    <hkern g1="P,p,uni0420"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="18" />
+    <hkern g1="P,p,uni0420"
+	g2="uni0423,Ucyrilbreve"
+	k="-4" />
+    <hkern g1="P,p,uni0420"
+	g2="uni041B,uni0409"
+	k="17" />
+    <hkern g1="P,p,uni0420"
+	g2="Oslash,Oslash.alt"
+	k="4" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="89" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="69" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="18" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="38" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="uni041B,uni0409"
+	k="37" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Oslash,Oslash.alt"
+	k="30" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="S,s,Scaron,Sacute,Scircumflex,uni0405"
+	k="27" />
+    <hkern g1="T,t,Tcaron,uni0422,Geupturn"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="10" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="20" />
+    <hkern g1="uni0423,Ucyrilbreve"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="111" />
+    <hkern g1="uni0426,uni0429"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="10" />
+    <hkern g1="uni0426,uni0429"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="17" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="7" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="44" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="50" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="V,v"
+	k="37" />
+    <hkern g1="uni042A,uni042C,uni0409,uni040A"
+	g2="W,w"
+	k="37" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="46" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="99" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="45" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="31" />
+    <hkern g1="Y,y,Yacute,Ydieresis,Ycircumflex"
+	g2="uni041B,uni0409"
+	k="42" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="88" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="89" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="91" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="99" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="28" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="V,v"
+	k="70" />
+    <hkern g1="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	g2="W,w"
+	k="70" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="65" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="91" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="44" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="17" />
+    <hkern g1="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	g2="uni041B,uni0409"
+	k="51" />
+    <hkern g1="Oslash,Oslash.alt"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="58" />
+    <hkern g1="F,f"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="53" />
+    <hkern g1="F,f"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="156" />
+    <hkern g1="F,f"
+	g2="O,Q,o,q,OE,Oacute,Ocircumflex,Odieresis,Ograve,Otilde,oacute,ocircumflex,odieresis,ograve,otilde,Obreve,Ohungarumlaut,Omacron,uni041E"
+	k="27" />
+    <hkern g1="F,f"
+	g2="Oslash,Oslash.alt"
+	k="34" />
+    <hkern g1="L,l"
+	g2="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	k="75" />
+    <hkern g1="L,l"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="L,l"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="123" />
+    <hkern g1="L,l"
+	g2="C,G,c,g,ccedilla,Cacute,Ccaron,Ccircumflex,Cdotaccent,Gbreve,Gcircumflex,Gdotaccent,uni0415,uni0421,uni0401"
+	k="31" />
+    <hkern g1="L,l"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="75" />
+    <hkern g1="L,l"
+	g2="V,v"
+	k="48" />
+    <hkern g1="L,l"
+	g2="W,w"
+	k="48" />
+    <hkern g1="V,v"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="V,v"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="W,w"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="28" />
+    <hkern g1="W,w"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="94" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="A,a,AE,Aacute,Acircumflex,Adieresis,Agrave,Aring,Atilde,aacute,acircumflex,adieresis,agrave,aring,atilde,Abreve,Amacron,Aogonek,uni0410"
+	k="24" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="comma,period,underscore,quotesinglbase,quotedblbase,ellipsis"
+	k="69" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="T,t,uni0422,uni0402,uni040B"
+	k="74" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="quotedbl,quoteright,asterisk,quoteleft,quotesingle,quotedblleft,quotedblright,ordfeminine,ordmasculine,uni00B9,trademark,uni00B2,registered,uni00B3"
+	k="50" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="uni0423,Ucyrilbreve"
+	k="23" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Y,y,Yacute,Ydieresis,Ycircumflex"
+	k="41" />
+    <hkern g1="plus,hyphen,endash,bullet,emdash,logicalnot,minus"
+	g2="Z,z,Zcaron,Zacute,Zdotaccent"
+	k="70" />
+  </font>
+</defs></svg>
diff --git a/Tests/W3CTestSuite/resources/anglepoi.woff b/Tests/W3CTestSuite/resources/anglepoi.woff
new file mode 100644
index 0000000000000000000000000000000000000000..07dd6d03ecc2cec1afc10caf20288a94411ad930
Binary files /dev/null and b/Tests/W3CTestSuite/resources/anglepoi.woff differ
diff --git a/Tests/W3CTestSuite/resources/gnufreefonts.xml b/Tests/W3CTestSuite/resources/gnufreefonts.xml
new file mode 100644
index 0000000000000000000000000000000000000000..04211f363c886615534c172851949c9ad9134579
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/gnufreefonts.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata version="1.0">
+    <vendor name="GNU" url="http://www.gnu.org/software/freefont/index.html" />
+   <license url="http://www.gnu.org/software/freefont/license.html">
+       <text lang="en">
+Free UCS scalable fonts is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
+
+The fonts are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. 
+	    </text>
+   </license>
+   <description url="http://www.gnu.org/software/freefont/design-notes.html"/>
+   <credits>
+       <credit name="Steve White" role="maintainer"/>
+   </credits>
+</metadata>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/resources/sch.xml b/Tests/W3CTestSuite/resources/sch.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dc2a83c5e20f01d9879d61a96d9c6efe382cd7bd
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/sch.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata version="1.0">
+    <vendor name="SIL International" url="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=ArabicFonts" />
+    <copyright>
+       <text lang="en">Copyright (c) 2004-2007, SIL International ( http://www.sil.org/).</text>
+   </copyright>
+   <license url="http://scripts.sil.org/OFL" id="SIL-OFL-v1.1">
+       <text lang="en">
+	      This Font Software is licensed under the SIL Open Font License, Version 1.1, 
+	      with Reserved Font Names "Scheherazade" and "SIL".
+	      This license is copied below, and is also available with a FAQ at: 
+	      http://scripts.sil.org/OFL
+	    </text>
+   </license>
+   <credits>
+       <credit name="Bob Hallissy" role="design"/>
+       <credit name="Jonathan Kew" role="design"/>
+   </credits>
+</metadata>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/resources/testharness.js b/Tests/W3CTestSuite/resources/testharness.js
new file mode 100644
index 0000000000000000000000000000000000000000..92eda7bb79e9d64aa8644218fc9191f030f7848d
--- /dev/null
+++ b/Tests/W3CTestSuite/resources/testharness.js
@@ -0,0 +1,963 @@
+/*
+Distributed under both the W3C Test Suite License [1] and the W3C
+3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
+policies and contribution forms [3].
+
+[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
+[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
+[3] http://www.w3.org/2004/10/27-testcases
+*/
+
+/*
+ * == Introducion ==
+ * This file provides a framework for writing testcases. It is intended
+ * to provide a convenient API for making common assertions, and to work
+ * both for testing synchronous and asynchronous DOM features in a way that
+ * promotes clear, robust, tests.
+ *
+ * == Basic Usage ==
+ *
+ * To use this file, import the script into the test document:
+ * <script src="http://test.w3.org/resources/jsharness.js"></script>
+ *
+ * Within each file one may define one or more tests. Each test is atomic
+ * in the sense that a single test has a single result (pass/fail/timeout).
+ * Within each test one may have a number of asserts. The test fails at the
+ * first failing assert, and the remainder of the test is (typically) not run
+ *
+ * If the file containing the tests is a HTML file with an element of id "log"
+ * this will be populated with a table containing the test results after all
+ * the tests have run.
+ *
+ * == Synchronous Tests ==
+ *
+ * To create a sunchronous test use the test() function:
+ *
+ * test(test_function, name)
+ *
+ * test_function is a function that contains the code to test. For example a
+ * trivial passing test would be:
+ *
+ * test(function() {assert_true(true)}, "assert_true with true)"
+ *
+ * The function passed in is run in the test() call.
+ *
+ * == Asynchronous Tests ==
+ *
+ * Testing asynchronous features is somewhat more complex since the result of
+ * a test may depend on one or more events or other callbacks. The API provided
+ * for testing these features is indended to be rather low-level but hopefully
+ * applicable to many situations.
+ *
+ * To create a test, one starts by getting a Test object using async_test:
+ *
+ * var t = async_test("Simple async test")
+ *
+ * Assertions can be added to the test by calling the step method of the test
+ * object with a function containing the test assertions:
+ *
+ * t.step(function() {assert_true(true)});
+ *
+ * When all the steps are complete, the done() method must be called:
+ *
+ * t.done();
+ *
+ * == Making assertions ==
+ *
+ * Functions for making assertions start assert_
+ * The best way to get a list is to look in this file for functions names
+ * matching that pattern. The general signature is
+ *
+ * assert_something(actual, expected, description)
+ *
+ * although not all assertions precisely match this pattern e.g. assert_true only
+ * takes actual and description as arguments.
+ *
+ * The description parameter is used to present more useful error messages when a
+ * test fails
+ */
+
+(function ()
+{
+    var debug = false;
+    // default timeout is 5 seconds, test can override if needed
+    var default_timeout = 5000;
+
+    // tests either pass, fail or timeout
+    var status =
+    {
+        PASS: 0,
+        FAIL: 1,
+        TIMEOUT: 2
+    };
+    expose(status, 'status');
+
+    /*
+    * API functions
+    */
+
+    var name_counter = 0;
+    function next_default_name()
+    {
+        //Don't use document.title to work around an Opera bug in XHTML documents
+        var prefix = document.getElementsByTagName("title").length > 0 ?
+                         document.getElementsByTagName("title")[0].firstChild.data :
+                         "Untitled";
+        var suffix = name_counter > 0 ? " " + name_counter : "";
+        name_counter++;
+        return prefix + suffix;
+    }
+
+  function test(func, name, properties)
+    {
+        var test_name = name ? name : next_default_name();
+        properties = properties ? properties : {};
+        var test_obj = new Test(test_name, properties);
+        test_obj.step(func);
+        if (test_obj.status === null) {
+            test_obj.done();
+        }
+    }
+
+    function async_test(name, properties)
+    {
+        var test_name = name ? name : next_default_name();
+        properties = properties ? properties : {};
+        var test_obj = new Test(test_name, properties);
+        return test_obj;
+    }
+
+    function on_event(object, event, callback)
+    {
+      object.addEventListener(event, callback, false);
+    }
+
+    expose(test, 'test');
+    expose(async_test, 'async_test');
+    expose(on_event, 'on_event');
+
+    /*
+    * Assertions
+    */
+
+    function assert_true(actual, description)
+    {
+        var message = make_message("assert_true", description,
+                                   "expected true got ${actual}", {actual:actual});
+        assert(actual === true, message);
+    };
+    expose(assert_true, "assert_true");
+
+    function assert_false(actual, description)
+    {
+        var message = make_message("assert_false", description,
+                                   "expected false got ${actual}", {actual:actual});
+        assert(actual === false, message);
+    };
+    expose(assert_false, "assert_false");
+
+    function assert_equals(actual, expected, description)
+    {
+         /*
+          * Test if two primitives are equal or two objects
+          * are the same object
+          */
+         var message = make_message("assert_equals", description,
+                                    [["{text}", "expected "],
+                                     ["span", {"class":"expected"}, String(expected)],
+                                     ["{text}", "got "],
+                                     ["span", {"class":"actual"}, String(actual)]]);
+         if (expected !== expected)
+         {
+             //NaN case
+             assert(actual !== actual, message);
+         }
+         else
+         {
+             //typical case
+             assert(actual === expected, message);
+         }
+    };
+    expose(assert_equals, "assert_equals");
+
+    function assert_object_equals(actual, expected, description)
+    {
+         //This needs to be improved a great deal
+         function check_equal(expected, actual, stack)
+         {
+             stack.push(actual);
+
+             for (p in actual)
+             {
+                 var message = make_message(
+                     "assert_object_equals", description,
+                     "unexpected property ${p}", {p:p});
+
+                 assert(expected.hasOwnProperty(p), message);
+
+                 if (typeof actual[p] === "object" && actual[p] !== null)
+                 {
+                     if (stack.indexOf(actual[p]) === -1)
+                     {
+                         check_equal(actual[p], expected[p], stack);
+                     }
+                 }
+                 else
+                 {
+                     message = make_message(
+                         "assert_object_equals", description,
+                         "property ${p} expected ${expected} got ${actual}",
+                         {p:p, expected:expected, actual:actual});
+
+                     assert(actual[p] === expected[p], message);
+                 }
+             }
+             for (p in expected)
+             {
+                 var message = make_message(
+                     "assert_object_equals", description,
+                     "expected property ${p} missing", {p:p});
+
+                 assert(actual.hasOwnProperty(p), message);
+             }
+             stack.pop();
+         }
+         check_equal(actual, expected, []);
+    };
+    expose(assert_object_equals, "assert_object_equals");
+
+    function assert_array_equals(actual, expected, description)
+    {
+        var message = make_message(
+            "assert_array_equals", description,
+            "lengths differ, expected ${expected} got ${actual}",
+            {expected:expected.length, actual:actual.length});
+
+        assert(actual.length === expected.length, message);
+
+        for (var i=0; i < actual.length; i++)
+        {
+            message = make_message(
+                "assert_array_equals", description,
+                "property ${i}, property expected to be $expected but was $actual",
+                {i:i, expected:expected.hasOwnProperty(i) ? "present" : "missing",
+                 actual:actual.hasOwnProperty(i) ? "present" : "missing"});
+            assert(actual.hasOwnProperty(i) === expected.hasOwnProperty(i), message);
+            message = make_message(
+                          "assert_array_equals", description,
+                          "property ${i}, expected ${expected} but got ${actual}",
+                          {i:i, expected:expected[i], actual:actual[i]});
+            assert(expected[i] === actual[i], message);
+        }
+    }
+    expose(assert_array_equals, "assert_array_equals");
+
+    function assert_exists(object, property_name, description)
+    {
+         var message = make_message(
+             "assert_exists", description,
+             "expected property ${p} missing", {p:property_name});
+
+         assert(object.hasOwnProperty(property_name), message);
+    };
+    expose(assert_exists, "assert_exists");
+
+    function assert_not_exists(object, property_name, description)
+    {
+         var message = make_message(
+             "assert_not_exists", description,
+             "unexpected property ${p} found", {p:property_name});
+
+         assert(!object.hasOwnProperty(property_name), message);
+    };
+    expose(assert_not_exists, "assert_not_exists");
+
+    function assert_readonly(object, property_name, description)
+    {
+         var initial_value = object[property_name];
+         try {
+             var message = make_message(
+                 "assert_readonly", description,
+                 "deleting property ${p} succeeded", {p:property_name});
+             assert(delete object[property_name] === false, message);
+             assert(object[property_name] === initial_value, message);
+             //Note that this can have side effects in the case where
+             //the property has PutForwards
+             object[property_name] = initial_value + "a"; //XXX use some other value here?
+             message = make_message("assert_readonly", description,
+                                    "changing property ${p} succeeded",
+                                    {p:property_name});
+             assert(object[property_name] === initial_value, message);
+         }
+         finally
+         {
+             object[property_name] = initial_value;
+         }
+    };
+    expose(assert_readonly, "assert_readonly");
+
+    function assert_throws(code_or_object, func, description)
+    {
+        try
+        {
+            func.call(this);
+            assert(false, make_message("assert_throws", description,
+                                      "${func} did not throw", {func:String(func)}));
+        }
+        catch(e)
+        {
+            if (e instanceof AssertionError) {
+                throw(e);
+            }
+            if (typeof code_or_object === "string")
+            {
+                assert(e[code_or_object] !== undefined &&
+                       e.code === e[code_or_object] &&
+                       e.name === code_or_object,
+                       make_message("assert_throws", description,
+                           [["{text}", "${func} threw with"] ,
+                            function()
+                            {
+                                var actual_name;
+                                for (var p in DOMException)
+                                {
+                                    if (e.code === DOMException[p])
+                                    {
+                                        actual_name = p;
+                                        break;
+                                    }
+                                }
+                                if (actual_name)
+                                {
+                                    return ["{text}", " code " + actual_name + " (${actual_number})"];
+                                }
+                                else
+                                {
+                                    return ["{text}", " error number ${actual_number}"];
+                                }
+                            },
+                            ["{text}"," expected ${expected}"],
+                            function()
+                            {
+                                return e[code_or_object] ?
+                                    ["{text}", " (${expected_number})"] : null;
+                            }
+                           ],
+                                    {func:String(func), actual_number:e.code,
+                                     expected:String(code_or_object),
+                                     expected_number:e[code_or_object]}));
+                assert(e instanceof DOMException,
+                      make_message("assert_throws", description,
+                                   "thrown exception ${exception} was not a DOMException",
+                                  {exception:String(e)}));
+            }
+            else
+            {
+                assert(e instanceof Object && "name" in e && e.name == code_or_object.name,
+                       make_message("assert_throws", description,
+                           "${func} threw ${actual} (${actual_name}) expected ${expected} (${expected_name})",
+                                    {func:String(func), actual:String(e), actual_name:e.name,
+                                     expected:String(code_or_object),
+                                     expected_name:code_or_object.name}));
+            }
+        }
+    }
+    expose(assert_throws, "assert_throws");
+
+    function assert_unreached(description) {
+         var message = make_message("assert_unreached", description,
+                                    "Reached unreachable code");
+
+         assert(false, message);
+    }
+    expose(assert_unreached, "assert_unreached");
+
+    function Test(name, properties)
+    {
+       this.name = name;
+       this.status = null;
+       var timeout = default_timeout;
+       this.is_done = false;
+
+       if (properties.timeout)
+       {
+           timeout = properties.timeout;
+       }
+
+       this.message = null;
+
+       var this_obj = this;
+       this.steps = [];
+       this.timeout_id = setTimeout(function() { this_obj.timeout(); }, timeout);
+
+       tests.push(this);
+   }
+
+    Test.prototype.step = function(func, this_obj)
+    {
+        //In case the test has already failed
+        if (this.status !== null)
+        {
+          return;
+        }
+
+        this.steps.push(func);
+
+        try
+        {
+            func.apply(this_obj);
+        }
+        catch(e)
+        {
+            //This can happen if something called synchronously invoked another
+            //step
+            if (this.status !== null)
+            {
+                return;
+            }
+            this.status = status.FAIL;
+            this.message = e.message;
+            this.done();
+            if (debug) {
+                throw e;
+            }
+        }
+    };
+
+    Test.prototype.timeout = function()
+    {
+        this.status = status.TIMEOUT;
+        this.timeout_id = null;
+        this.message = "Test timed out";
+        this.done();
+    };
+
+    Test.prototype.done = function()
+    {
+        if (this.is_done) {
+            //Using alert here is bad
+            return;
+        }
+        clearTimeout(this.timeout_id);
+        if (this.status == null)
+        {
+            this.status = status.PASS;
+        }
+        this.is_done = true;
+        tests.done(this);
+    };
+
+
+   /*
+    * Harness
+    */
+    var tests = new Tests();
+
+    function Tests()
+    {
+        this.tests = [];
+        this.num_pending = 0;
+        this.started = false;
+
+        this.start_callbacks = [];
+        this.test_done_callbacks = [];
+        this.all_done_callbacks = [];
+
+        var this_obj = this;
+
+        //All tests can't be done until the load event fires
+        this.all_loaded = false;
+
+        on_event(window, "load",
+                 function()
+                 {
+                     this_obj.all_loaded = true;
+                     if (document.getElementById("log"))
+                     {
+                         add_completion_callback(output_results);
+                     }
+                     if (this_obj.all_done())
+                     {
+                         this_obj.notify_results();
+                     }
+                 });
+   }
+
+    Tests.prototype.push = function(test)
+    {
+        if (!this.started) {
+            this.start();
+        }
+        this.num_pending++;
+        this.tests.push(test);
+    };
+
+    Tests.prototype.all_done = function() {
+        return this.all_loaded && this.num_pending == 0;
+    };
+
+    Tests.prototype.done = function(test)
+    {
+        this.num_pending--;
+        var this_obj = this;
+        forEach(this.test_done_callbacks,
+                function(callback)
+                {
+                    callback(test, this_obj);
+                });
+
+        if(top !== window && top.result_callback)
+        {
+            top.result_callback.call(test, this_obj);
+        }
+
+        if (this.all_done())
+        {
+            this.notify_results();
+        }
+
+    };
+
+    Tests.prototype.start = function() {
+        this.started = true;
+        var this_obj = this;
+        forEach (this.start_callbacks,
+                 function(callback)
+                 {
+                     callback(this_obj);
+                 });
+        if(top !== window && top.start_callback)
+        {
+            top.start_callback.call(this_obj);
+        }
+    };
+
+    Tests.prototype.notify_results = function()
+    {
+        var this_obj = this;
+
+        forEach (this.all_done_callbacks,
+                 function(callback)
+                 {
+                     callback(this_obj.tests);
+                 });
+        if(top !== window && top.completion_callback)
+        {
+            top.completion_callback.call(this_obj, this_obj.tests);
+        }
+    };
+
+    function add_start_callback(callback) {
+        tests.start_callbacks.push(callback);
+    }
+
+    function add_result_callback(callback)
+    {
+        tests.test_done_callbacks.push(callback);
+    }
+
+    function add_completion_callback(callback)
+    {
+       tests.all_done_callbacks.push(callback);
+    }
+
+    expose(add_start_callback, 'add_start_callback');
+    expose(add_result_callback, 'add_result_callback');
+    expose(add_completion_callback, 'add_completion_callback');
+
+    /*
+     * Output listener
+    */
+
+    (function show_status() {
+        var done_count = 0;
+         function on_done(test, tests) {
+             var log = document.getElementById("log");
+             done_count++;
+             if (log)
+             {
+                 if (log.lastChild) {
+                     log.removeChild(log.lastChild);
+                 }
+                 var nodes = render([["{text}", "Running, ${done} complete"],
+                                 function() {
+                                     if (tests.all_done) {
+                                         return ["{text}", " ${pending} remain"];
+                                     } else {
+                                         return null;
+                                     }
+                                 }
+                                    ], {done:done_count,
+                                        pending:tests.num_pending});
+                 forEach(nodes, function(node) {
+                             log.appendChild(node);
+                         });
+                 log.normalize();
+             }
+         }
+         if (document.getElementById("log"))
+         {
+             add_result_callback(on_done);
+         }
+     })();
+
+    function output_results(tests)
+    {
+        var log = document.getElementById("log");
+        while (log.lastChild) {
+            log.removeChild(log.lastChild);
+        }
+        var prefix = null;
+        var scripts = document.getElementsByTagName("script");
+        for (var i=0; i<scripts.length; i++)
+        {
+            var src = scripts[i].src;
+            if (src.slice(src.length - "testharness.js".length) === "testharness.js")
+            {
+                prefix = src.slice(0, src.length - "testharness.js".length);
+                break;
+            }
+        }
+        if (prefix != null) {
+            var stylesheet = document.createElement("link");
+            stylesheet.setAttribute("rel", "stylesheet");
+            stylesheet.setAttribute("href", prefix + "testharness.css");
+            var heads = document.getElementsByTagName("head");
+            if (heads) {
+                heads[0].appendChild(stylesheet);
+            }
+        }
+
+        var status_text = {};
+        status_text[status.PASS] = "Pass";
+        status_text[status.FAIL] = "Fail";
+        status_text[status.TIMEOUT] = "Timeout";
+
+        var template = ["table", {"id":"results"},
+                        ["tr", {},
+                         ["th", {}, "Result"],
+                         ["th", {}, "Test Name"],
+                         ["th", {}, "Message"]
+                        ],
+                        function(vars) {
+                            var rv = map(vars.tests, function(test) {
+                                             var status = status_text[test.status];
+                                             return  ["tr", {},
+                                                      ["td", {"class":status.toLowerCase()}, status],
+                                                      ["td", {}, test.name],
+                                                      ["td", {}, test.message ? test.message : " "]
+                                                     ];
+                                         });
+                            return rv;
+                        }
+                       ];
+
+        log.appendChild(render(template, {tests:tests}));
+
+    }
+
+
+    /*
+     * Template code
+     *
+     * A template is just a javascript structure. An element is represented as:
+     *
+     * [tag_name, {attr_name:attr_value}, child1, child2]
+     *
+     * the children can either be strings (which act like text nodes), other templates or
+     * functions (see below)
+     *
+     * A text node is represented as
+     *
+     * ["{text}", value]
+     *
+     * String values have a simple substitution syntax; ${foo} represents a variable foo.
+     *
+     * It is possible to embed logic in templates by using a function in a place where a
+     * node would usually go. The function must either return part of a template or null.
+     *
+     * In cases where a set of nodes are required as output rather than a single node
+     * with children it is possible to just use a list
+     * [node1, node2, node3]
+     *
+     * Usage:
+     *
+     * render(template, substitutions) - take a template and an object mapping
+     * variable names to parameters and return either a DOM node or a list of DOM nodes
+     *
+     * substitute(template, substitutions) - take a template and variable mapping object,
+     * make the variable substitutions and return the substituted template
+     *
+     */
+
+    function is_single_node(template)
+    {
+        return typeof template[0] === "string";
+    }
+
+    function substitute(template, substitutions)
+    {
+        if (typeof template === "function") {
+            var replacement = template(substitutions);
+            if (replacement)
+            {
+                var rv = substitute(replacement, substitutions);
+                return rv;
+            }
+            else
+            {
+                return null;
+            }
+        }
+        else if (is_single_node(template))
+        {
+            return substitute_single(template, substitutions);
+        }
+        else
+        {
+            return filter(map(template, function(x) {
+                                  return substitute(x, substitutions);
+                              }), function(x) {return x !== null;});
+        }
+    }
+    expose(substitute, "template.substitute");
+
+    function substitute_single(template, substitutions)
+    {
+        var substitution_re = /\${([^ }]*)}/g;
+
+        function do_substitution(input) {
+            var components = input.split(substitution_re);
+            var rv = [];
+            for (var i=0; i<components.length; i+=2)
+            {
+                rv.push(components[i]);
+                if (components[i+1])
+                {
+                    rv.push(substitutions[components[i+1]]);
+                }
+            }
+            return rv;
+        }
+
+        var rv = [];
+        rv.push(do_substitution(String(template[0])).join(""));
+
+        if (template[0] === "{text}") {
+            substitute_children(template.slice(1), rv);
+        } else {
+            substitute_attrs(template[1], rv);
+            substitute_children(template.slice(2), rv);
+        }
+
+        function substitute_attrs(attrs, rv)
+        {
+            rv[1] = {};
+            for (name in template[1])
+            {
+                if (attrs.hasOwnProperty(name))
+                {
+                    var new_name = do_substitution(name).join("");
+                    var new_value = do_substitution(attrs[name]).join("");
+                    rv[1][new_name] = new_value;
+                };
+            }
+        }
+
+        function substitute_children(children, rv)
+        {
+            for (var i=0; i<children.length; i++)
+            {
+                if (children[i] instanceof Object) {
+                    var replacement = substitute(children[i], substitutions);
+                    if (replacement !== null)
+                    {
+                        if (is_single_node(replacement))
+                        {
+                            rv.push(replacement);
+                        }
+                        else
+                        {
+                            extend(rv, replacement);
+                        }
+                    }
+                }
+                else
+                {
+                    extend(rv, do_substitution(String(children[i])));
+                }
+            }
+            return rv;
+        }
+
+        return rv;
+    }
+
+    function make_dom_single(template)
+    {
+        if (template[0] === "{text}")
+        {
+            var element = document.createTextNode("");
+            for (var i=1; i<template.length; i++)
+            {
+                element.data += template[i];
+            }
+        }
+        else
+        {
+            var element = document.createElement(template[0]);
+            for (name in template[1]) {
+                if (template[1].hasOwnProperty(name))
+                {
+                    element.setAttribute(name, template[1][name]);
+                }
+            }
+            for (var i=2; i<template.length; i++)
+            {
+                if (template[i] instanceof Object)
+                {
+                    var sub_element = make_dom(template[i]);
+                    element.appendChild(sub_element);
+                }
+                else
+                {
+                    var text_node = document.createTextNode(template[i]);
+                    element.appendChild(text_node);
+                }
+            }
+        }
+
+        return element;
+    }
+
+
+
+    function make_dom(template, substitutions)
+    {
+        if (is_single_node(template))
+        {
+            return make_dom_single(template);
+        }
+        else
+        {
+            return map(template, function(x) {
+                           return make_dom_single(x);
+                       });
+        }
+    }
+
+    function render(template, substitutions)
+    {
+        return make_dom(substitute(template, substitutions));
+    }
+    expose(render, "template.render");
+
+    /*
+     * Utility funcions
+     */
+    function assert(expected_true, message)
+    {
+        if (expected_true !== true)
+        {
+            throw new AssertionError(message);
+        }
+    }
+
+    function AssertionError(message)
+    {
+        this.message = message;
+    }
+
+    function make_message(function_name, description, error, substitutions)
+    {
+        var message = substitute([["span", {"class":"assert"}, "${function_name}:"],
+                                  function()
+                                  {
+                                      if (description) {
+                                          return ["span", {"class":"description"}, description];
+                                      } else {
+                                          return null;
+                                      }
+                                  },
+                                  ["div", {"class":"error"}, error]
+                                 ], merge({function_name:function_name},
+                                         substitutions));
+
+        return message;
+    }
+
+    function filter(array, callable, thisObj) {
+        var rv = [];
+        for (var i=0; i<array.length; i++)
+        {
+            if (array.hasOwnProperty(i))
+            {
+                var pass = callable.call(thisObj, array[i], i, array);
+                if (pass) {
+                    rv.push(array[i]);
+                }
+            }
+        }
+        return rv;
+    }
+
+    function map(array, callable, thisObj)
+    {
+        var rv = [];
+        rv.length = array.length;
+        for (var i=0; i<array.length; i++)
+        {
+            if (array.hasOwnProperty(i))
+            {
+                rv[i] = callable.call(thisObj, array[i], i, array);
+            }
+        }
+        return rv;
+    }
+
+    function extend(array, items)
+    {
+        Array.prototype.push.apply(array, items);
+    }
+
+    function forEach (array, callback, thisObj)
+    {
+        for (var i=0; i<array.length; i++)
+        {
+            if (array.hasOwnProperty(i))
+            {
+                callback.call(thisObj, array[i], i, array);
+            }
+        }
+    }
+
+    function merge(a,b)
+    {
+        var rv = {};
+        var p;
+        for (p in a)
+        {
+            rv[p] = a[p];
+        }
+        for (p in b) {
+            rv[p] = b[p];
+        }
+        return rv;
+    }
+
+    function expose(object, name)
+    {
+        var components = name.split(".");
+        var target = window;
+        for (var i=0; i<components.length - 1; i++)
+        {
+            if (!(components[i] in target))
+            {
+                target[components[i]] = {};
+            }
+            target = target[components[i]];
+        }
+        target[components[components.length - 1]] = object;
+    }
+
+})();
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/__AJ_Digital_Camera.svg b/Tests/W3CTestSuite/svg/__AJ_Digital_Camera.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c8fcefb25f80736ec8aab07a111c23896b0412b3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/__AJ_Digital_Camera.svg
@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" height="206.25000" id="svg2" version="1.0" width="406.25000" x="0.00000000" y="0.00000000" sodipodi:version="0.32" inkscape:version="0.46" sodipodi:docname="AJ_Digital_Camera_ok.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" inkscape:export-filename="C:\joanna\Gfx\drawings_vector\admin\thumbs\AJ_Digital_Camera_ok.png" inkscape:export-xdpi="55.827694" inkscape:export-ydpi="55.827694">
+  <sodipodi:namedview inkscape:window-height="744" inkscape:window-width="1280" inkscape:pageshadow="2" inkscape:pageopacity="0.0" guidetolerance="10.0" gridtolerance="10.0" objecttolerance="10.0" borderopacity="1.0" bordercolor="#666666" pagecolor="#ffffff" id="base" showgrid="false" inkscape:zoom="2.3261538" inkscape:cx="69.088376" inkscape:cy="137.51653" inkscape:window-x="-4" inkscape:window-y="-4" inkscape:current-layer="svg2"/>
+  <metadata id="metadata3">
+    <rdf:RDF>
+      <cc:Work rdf:about="">
+        <dc:title>digital-camera</dc:title>
+        <dc:description/>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>digital</rdf:li>
+            <rdf:li/>
+            <rdf:li>11</rdf:li>
+            <rdf:li>hardware</rdf:li>
+            <rdf:li>photo</rdf:li>
+            <rdf:li>digicam</rdf:li>
+            <rdf:li>computer</rdf:li>
+            <rdf:li>camera</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+        <dc:publisher>
+          <cc:Agent rdf:about="http://www.openclipart.org">
+            <dc:title>AJ Ashton</dc:title>
+          </cc:Agent>
+        </dc:publisher>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>AJ Ashton</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:rights>
+          <cc:Agent>
+            <dc:title>AJ Ashton</dc:title>
+          </cc:Agent>
+        </dc:rights>
+        <dc:date/>
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+        <dc:language>en</dc:language>
+      </cc:Work>
+      <cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+        <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+        <cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+        <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <defs id="defs3">
+    <inkscape:perspective sodipodi:type="inkscape:persp3d" inkscape:vp_x="0 : 103.125 : 1" inkscape:vp_y="0 : 1000 : 0" inkscape:vp_z="406.25 : 103.125 : 1" inkscape:persp3d-origin="203.125 : 68.75 : 1" id="perspective222"/>
+    <linearGradient id="linearGradient2303">
+      <stop id="stop2305" offset="0.00000000" style="stop-color: rgb(83, 25, 113); stop-opacity: 1;"/>
+      <stop id="stop2323" offset="0.60601109" style="stop-color: rgb(44, 18, 84); stop-opacity: 1;"/>
+      <stop id="stop2321" offset="0.80524760" style="stop-color: rgb(0, 0, 0); stop-opacity: 1;"/>
+      <stop id="stop2307" offset="1.0000000" style="stop-color: rgb(0, 0, 0); stop-opacity: 0;"/>
+    </linearGradient>
+    <linearGradient id="linearGradient2195">
+      <stop id="stop2197" offset="0.00000000" style="stop-color: rgb(50, 50, 50); stop-opacity: 1;"/>
+      <stop id="stop2199" offset="1.0000000" style="stop-color: rgb(150, 150, 150); stop-opacity: 1;"/>
+    </linearGradient>
+    <linearGradient id="linearGradient2189">
+      <stop id="stop2191" offset="0.00000000" style="stop-color: rgb(190, 190, 190); stop-opacity: 1;"/>
+      <stop id="stop2193" offset="1.0000000" style="stop-color: rgb(210, 210, 210); stop-opacity: 1;"/>
+    </linearGradient>
+    <linearGradient id="linearGradient2160">
+      <stop id="stop2162" offset="0.00000000" style="stop-color: rgb(0, 0, 0); stop-opacity: 1;"/>
+      <stop id="stop2164" offset="1.0000000" style="stop-color: rgb(0, 0, 0); stop-opacity: 0;"/>
+    </linearGradient>
+    <linearGradient id="linearGradient2127">
+      <stop id="stop2129" offset="0.00000000" style="stop-color: rgb(100, 100, 100); stop-opacity: 1;"/>
+      <stop id="stop2131" offset="1.0000000" style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"/>
+    </linearGradient>
+    <linearGradient id="linearGradient2118">
+      <stop id="stop2120" offset="0.00000000" style="stop-color: rgb(125, 125, 125); stop-opacity: 1;"/>
+      <stop id="stop2122" offset="1.0000000" style="stop-color: rgb(220, 220, 220); stop-opacity: 1;"/>
+    </linearGradient>
+    <linearGradient id="linearGradient2099">
+      <stop id="stop2101" offset="0.00000000" style="stop-color: rgb(0, 0, 0); stop-opacity: 1;"/>
+      <stop id="stop2103" offset="1.0000000" style="stop-color: rgb(0, 0, 0); stop-opacity: 0.588235;"/>
+    </linearGradient>
+    <linearGradient id="linearGradient2143">
+      <stop id="stop2145" offset="0.00000000" style="stop-color: rgb(0, 0, 0); stop-opacity: 1;"/>
+      <stop id="stop2147" offset="1.0000000" style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"/>
+    </linearGradient>
+    <linearGradient id="linearGradient2061">
+      <stop id="stop2063" offset="0.00000000" style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"/>
+      <stop id="stop2187" offset="0.29381442" style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"/>
+      <stop id="stop2065" offset="1.0000000" style="stop-color: rgb(255, 255, 255); stop-opacity: 0;"/>
+    </linearGradient>
+    <linearGradient gradientTransform="matrix(3.93701, 0, 0, 0.127, 0, 176.181)" gradientUnits="userSpaceOnUse" id="linearGradient2101" x1="82.550041" x2="82.550041" xlink:href="#linearGradient2061" y1="1462.0551" y2="1391.1869"/>
+    <linearGradient gradientTransform="scale(0.745356, 1.34164)" gradientUnits="userSpaceOnUse" id="linearGradient2149" x1="298.88779" x2="298.88779" xlink:href="#linearGradient2143" y1="403.20471" y2="270.08881"/>
+    <linearGradient gradientTransform="scale(0.745356, 1.34164)" gradientUnits="userSpaceOnUse" id="linearGradient2200" x1="352.06747" x2="347.65460" xlink:href="#linearGradient2143" y1="386.44376" y2="233.72731"/>
+    <linearGradient gradientTransform="scale(2.29518, 0.435695)" gradientUnits="userSpaceOnUse" id="linearGradient2224" x1="94.440163" x2="100.54987" xlink:href="#linearGradient2061" y1="823.22485" y2="875.80542"/>
+    <linearGradient gradientTransform="matrix(1.56589, 0, 0, 0.732797, 98.7092, -125.467)" gradientUnits="userSpaceOnUse" id="linearGradient2329" x1="-327.88300" x2="-327.78314" xlink:href="#linearGradient2143" y1="220.74342" y2="233.92133"/>
+    <linearGradient gradientTransform="matrix(1.4613, 0, 0, 0.684323, 222.645, -79.8309)" gradientUnits="userSpaceOnUse" id="linearGradient2343" x1="-338.12735" x2="-337.99255" xlink:href="#linearGradient2143" y1="192.44231" y2="214.70348"/>
+    <linearGradient gradientTransform="matrix(2.3702, 0, 0, 0.421906, 198.87, -89.375)" gradientUnits="userSpaceOnUse" id="linearGradient2362" x1="-227.78334" x2="-185.92982" xlink:href="#linearGradient2143" y1="576.82489" y2="565.61029"/>
+    <radialGradient cx="195.33907" cy="367.99432" fx="195.33907" fy="367.99432" gradientTransform="matrix(0.793492, 0, 0, 1.26025, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="radialGradient2464" r="10.189606" spreadMethod="reflect" xlink:href="#linearGradient2195"/>
+    <linearGradient gradientTransform="matrix(1.36931, 0, 0, 0.730297, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2466" x1="234.54350" x2="234.54350" xlink:href="#linearGradient2195" y1="745.65509" y2="484.63116"/>
+    <linearGradient gradientTransform="matrix(0.793492, 0, 0, 1.26025, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2468" x1="219.60535" x2="169.10524" xlink:href="#linearGradient2143" y1="385.28711" y2="327.64883"/>
+    <radialGradient cx="164.88359" cy="367.24536" fx="164.88359" fy="367.24536" gradientTransform="matrix(1.33333, 0, 0, 1.33334, -139.375, -316.325)" gradientUnits="userSpaceOnUse" id="radialGradient2470" r="14.648915" xlink:href="#linearGradient2061"/>
+    <radialGradient cx="164.88269" cy="367.24536" fx="164.88269" fy="367.24536" gradientTransform="matrix(0, -1.33333, 1.33334, 0, -409.193, 553.492)" gradientUnits="userSpaceOnUse" id="radialGradient2472" r="14.883290" xlink:href="#linearGradient2061"/>
+    <radialGradient cx="164.88269" cy="367.24536" fx="164.88269" fy="367.24536" gradientTransform="matrix(0, -1.33333, -1.33334, 0, 905.443, 553.492)" gradientUnits="userSpaceOnUse" id="radialGradient2474" r="14.883290" xlink:href="#linearGradient2061"/>
+    <radialGradient cx="164.88269" cy="367.24536" fx="164.88269" fy="367.24536" gradientTransform="matrix(0, 1.33333, -1.33334, 0, 905.443, -46.5077)" gradientUnits="userSpaceOnUse" id="radialGradient2476" r="14.883290" xlink:href="#linearGradient2061"/>
+    <linearGradient gradientTransform="matrix(4.09268, 0, 0, 0.244339, 89.375, 198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2478" x1="-82.464378" x2="-82.464378" xlink:href="#linearGradient2061" y1="-2178.7864" y2="-2258.8235"/>
+    <linearGradient gradientTransform="matrix(2.82843, 0, 0, 0.353553, 198.87, -89.375)" gradientUnits="userSpaceOnUse" id="linearGradient2480" x1="-159.93404" x2="-159.93404" xlink:href="#linearGradient2061" y1="480.33670" y2="424.26443"/>
+    <linearGradient gradientTransform="matrix(2.82843, 0, 0, 0.353553, 198.87, 89.375)" gradientUnits="userSpaceOnUse" id="linearGradient2482" x1="-159.93404" x2="-159.93404" xlink:href="#linearGradient2061" y1="-1428.3561" y2="-1484.4293"/>
+    <linearGradient gradientTransform="matrix(4.09268, 0, 0, 0.244339, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2484" x1="82.159187" x2="82.159187" xlink:href="#linearGradient2061" y1="1523.0514" y2="1441.1952"/>
+    <linearGradient gradientTransform="matrix(1.38538, 0, 0, 0.721822, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2486" x1="224.19640" x2="224.19640" xlink:href="#linearGradient2189" y1="503.96042" y2="749.76471"/>
+    <linearGradient gradientTransform="matrix(0.5547, 0, 0, 1.80278, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2488" spreadMethod="reflect" x1="272.21921" x2="308.27469" xlink:href="#linearGradient2143" y1="285.29071" y2="262.75601"/>
+    <linearGradient gradientTransform="matrix(0.720082, 0, 0, 1.38873, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2490" x1="656.78778" x2="656.78760" xlink:href="#linearGradient2127" y1="373.10587" y2="278.93256"/>
+    <linearGradient gradientTransform="matrix(0.723143, 0, 0, 1.38285, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2492" x1="653.25012" x2="653.25012" xlink:href="#linearGradient2143" y1="373.10922" y2="279.66632"/>
+    <linearGradient gradientTransform="matrix(0.720082, 0, 0, 1.38873, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2494" spreadMethod="reflect" x1="641.06244" x2="639.63287" xlink:href="#linearGradient2143" y1="319.18408" y2="327.53815"/>
+    <linearGradient gradientTransform="matrix(0.720082, 0, 0, 1.38873, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2496" spreadMethod="reflect" x1="665.36487" x2="665.36487" xlink:href="#linearGradient2143" y1="310.82980" y2="313.87778"/>
+    <linearGradient gradientTransform="matrix(0.720082, 0, 0, 1.38873, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2498" spreadMethod="reflect" x1="665.36505" x2="665.36505" xlink:href="#linearGradient2143" y1="310.82990" y2="311.97168"/>
+    <linearGradient gradientTransform="matrix(0.919171, 0, 0, 1.10218, -92.1837, -201.406)" gradientUnits="userSpaceOnUse" id="linearGradient2500" x1="390.37320" x2="390.37320" xlink:href="#linearGradient2143" y1="334.77237" y2="489.11697"/>
+    <linearGradient gradientTransform="matrix(0.910781, 0, 0, 1.09796, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2502" x1="410.82294" x2="410.82294" xlink:href="#linearGradient2143" y1="486.58331" y2="328.51572"/>
+    <linearGradient gradientTransform="matrix(1.68783, 0, 0, 0.592476, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2504" x1="224.52806" x2="224.51540" xlink:href="#linearGradient2127" y1="781.65656" y2="660.40173"/>
+    <linearGradient gradientTransform="matrix(0.910781, 0, 0, 1.09796, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2506" x1="409.31522" x2="389.55954" xlink:href="#linearGradient2143" y1="405.39236" y2="350.85809"/>
+    <linearGradient gradientTransform="matrix(1.5288, 0, 0, 0.654109, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2508" x1="238.77391" x2="238.77391" xlink:href="#linearGradient2143" y1="787.97565" y2="661.18909"/>
+    <linearGradient gradientTransform="matrix(1.55423, 0, 0, 0.643406, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2510" x1="241.94136" x2="241.94136" xlink:href="#linearGradient2195" y1="802.59015" y2="653.53149"/>
+    <radialGradient cx="272.21921" cy="277.40359" fx="270.41644" fy="276.27689" gradientTransform="matrix(0.5547, 0, 0, 1.80278, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="radialGradient2512" r="36.908104" spreadMethod="reflect" xlink:href="#linearGradient2143"/>
+    <linearGradient gradientTransform="matrix(0.5547, 0, 0, 1.80278, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2514" spreadMethod="pad" x1="263.20532" x2="286.64139" xlink:href="#linearGradient2160" y1="258.24908" y2="258.24905"/>
+    <linearGradient gradientTransform="matrix(1.00653, 0, 0, 1.23234, -129.279, -198.37)" gradientUnits="userSpaceOnUse" id="linearGradient2516" x1="265.96707" x2="265.96704" xlink:href="#linearGradient2099" y1="439.40738" y2="293.78394"/>
+    <linearGradient gradientTransform="matrix(0.825706, 0, 0, 1.21108, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2518" x1="286.23761" x2="286.23761" xlink:href="#linearGradient2127" y1="529.02618" y2="291.34518"/>
+    <linearGradient gradientTransform="matrix(1.13228, 0, 0, 1.09599, -127.715, -201.617)" gradientUnits="userSpaceOnUse" id="linearGradient2520" x1="260.92453" x2="241.63106" xlink:href="#linearGradient2127" y1="415.67227" y2="393.49112"/>
+    <radialGradient cx="81.898430" cy="1244.3292" fx="81.898430" fy="1244.3292" gradientTransform="matrix(2.904, 0, 0, 0.42713, -129.279, -198.87)" gradientUnits="userSpaceOnUse" id="radialGradient2522" r="87.748901" xlink:href="#linearGradient2118"/>
+    <linearGradient gradientTransform="matrix(2.904, 0, 0, 0.42713, -129.279, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2524" x1="91.790848" x2="91.790848" xlink:href="#linearGradient2160" y1="1207.4102" y2="1233.5283"/>
+    <linearGradient gradientTransform="matrix(0.834046, 0, 0, 1.19897, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2526" spreadMethod="reflect" x1="302.40866" x2="302.40866" xlink:href="#linearGradient2143" y1="349.93118" y2="351.37485"/>
+    <linearGradient gradientTransform="matrix(0.834046, 0, 0, 1.19897, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2528" spreadMethod="reflect" x1="271.04855" x2="271.04855" xlink:href="#linearGradient2143" y1="350.81409" y2="354.59967"/>
+    <linearGradient gradientTransform="matrix(0.834046, 0, 0, 1.19897, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2530" spreadMethod="reflect" x1="234.90314" x2="243.74902" xlink:href="#linearGradient2143" y1="340.21918" y2="372.00415"/>
+    <linearGradient gradientTransform="matrix(0.834046, 0, 0, 1.19897, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2532" spreadMethod="reflect" x1="337.99429" x2="336.71158" xlink:href="#linearGradient2143" y1="361.38681" y2="369.07602"/>
+    <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient2534" x1="406.76318" x2="406.76318" xlink:href="#linearGradient2160" y1="402.41534" y2="519.04663"/>
+    <radialGradient cx="387.54489" cy="514.14392" fx="387.54489" fy="514.14392" gradientUnits="userSpaceOnUse" id="radialGradient2536" r="108.39503" xlink:href="#linearGradient2189"/>
+    <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient2538" x1="404.61307" x2="404.61307" xlink:href="#linearGradient2143" y1="510.83701" y2="406.23483"/>
+    <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient2540" x1="393.83939" x2="393.83939" xlink:href="#linearGradient2143" y1="404.70325" y2="515.28473"/>
+    <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient2542" spreadMethod="reflect" x1="406.76318" x2="405.88797" xlink:href="#linearGradient2143" y1="387.34207" y2="465.23468"/>
+    <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient2544" x1="378.74927" x2="378.74927" xlink:href="#linearGradient2143" y1="513.11932" y2="403.91809"/>
+    <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient2546" spreadMethod="reflect" x1="401.51196" x2="372.63031" xlink:href="#linearGradient2061" y1="455.60751" y2="426.72598"/>
+    <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient2548" x1="378.74927" x2="378.74927" xlink:href="#linearGradient2143" y1="513.11932" y2="403.91809"/>
+    <linearGradient gradientUnits="userSpaceOnUse" id="linearGradient2550" x1="398.83572" x2="398.83572" xlink:href="#linearGradient2143" y1="404.49619" y2="514.75488"/>
+    <radialGradient cx="406.76318" cy="459.98349" fx="406.76318" fy="459.98349" gradientUnits="userSpaceOnUse" id="radialGradient2552" r="55.331104" xlink:href="#linearGradient2303"/>
+    <radialGradient cx="389.47220" cy="447.87982" fx="389.47220" fy="447.87982" gradientUnits="userSpaceOnUse" id="radialGradient2554" r="8.6886206" xlink:href="#linearGradient2061"/>
+    <radialGradient cx="365.26486" cy="421.07880" fx="365.26486" fy="421.07880" gradientUnits="userSpaceOnUse" id="radialGradient2556" r="65.002319" xlink:href="#linearGradient2061"/>
+    <linearGradient gradientTransform="matrix(0.720082, 0, 0, 1.38873, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2558" spreadMethod="reflect" x1="638.20325" x2="639.63287" xlink:href="#linearGradient2143" y1="300.19751" y2="315.38678"/>
+    <linearGradient gradientTransform="matrix(2.3702, 0, 0, 0.421906, 198.87, -89.375)" gradientUnits="userSpaceOnUse" id="linearGradient2560" x1="-227.78334" x2="-185.92982" xlink:href="#linearGradient2143" y1="576.82489" y2="565.61029"/>
+    <linearGradient gradientTransform="matrix(2.23385, 0, 0, 0.536851, -88.875, -274.561)" gradientUnits="userSpaceOnUse" id="linearGradient2562" spreadMethod="reflect" x1="204.79185" x2="221.93906" xlink:href="#linearGradient2127" y1="839.64862" y2="839.64862"/>
+    <linearGradient gradientTransform="matrix(2.23385, 0, 0, 0.536851, -88.875, -274.561)" gradientUnits="userSpaceOnUse" id="linearGradient2564" x1="203.41141" x2="217.53874" xlink:href="#linearGradient2143" y1="826.88013" y2="841.10950"/>
+    <linearGradient gradientTransform="matrix(2.32989, 0, 0, 0.514722, -88.875, -274.561)" gradientUnits="userSpaceOnUse" id="linearGradient2566" spreadMethod="reflect" x1="202.38510" x2="202.48843" xlink:href="#linearGradient2061" y1="850.50427" y2="853.85681"/>
+    <linearGradient gradientTransform="matrix(2.74099, 0, 0, 0.371923, -84.1373, -211.322)" gradientUnits="userSpaceOnUse" id="linearGradient2568" spreadMethod="pad" x1="169.78445" x2="169.78447" xlink:href="#linearGradient2061" y1="1014.1465" y2="1046.7983"/>
+    <linearGradient gradientTransform="matrix(1.18118, 0, 0, 0.846611, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2570" x1="288.18646" x2="293.39722" xlink:href="#linearGradient2143" y1="437.91830" y2="443.31836"/>
+    <radialGradient cx="331.80984" cy="391.51016" fx="331.80984" fy="391.51016" gradientTransform="scale(1.03749, 0.963863)" gradientUnits="userSpaceOnUse" id="radialGradient2572" r="10.186243" xlink:href="#linearGradient2061"/>
+    <linearGradient gradientTransform="scale(1.03872, 0.96272)" gradientUnits="userSpaceOnUse" id="linearGradient2574" x1="333.62552" x2="327.73431" xlink:href="#linearGradient2061" y1="404.92667" y2="386.88702"/>
+    <linearGradient gradientTransform="scale(1.03872, 0.96272)" gradientUnits="userSpaceOnUse" id="linearGradient2576" x1="338.45172" x2="332.51279" xlink:href="#linearGradient2061" y1="369.61816" y2="391.97516"/>
+    <radialGradient cx="336.93637" cy="375.66098" fx="336.93637" fy="375.66098" gradientUnits="userSpaceOnUse" id="radialGradient2578" r="1.4142135" xlink:href="#linearGradient2061"/>
+    <radialGradient cx="336.93637" cy="375.66098" fx="336.93637" fy="375.66098" gradientUnits="userSpaceOnUse" id="radialGradient2580" r="1.4142135" xlink:href="#linearGradient2061"/>
+    <radialGradient cx="331.89600" cy="204.99352" fx="331.78088" fy="205.33112" gradientTransform="matrix(0.431331, 0, 0, 2.3184, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="radialGradient2582" r="17.614996" xlink:href="#linearGradient2061"/>
+    <linearGradient gradientTransform="matrix(1.09129, 0, 0, 0.916344, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2584" x1="340.56873" x2="363.77615" xlink:href="#linearGradient2143" y1="396.86478" y2="421.51526"/>
+    <radialGradient cx="331.80984" cy="391.51016" fx="331.80984" fy="391.51016" gradientTransform="scale(1.03749, 0.963863)" gradientUnits="userSpaceOnUse" id="radialGradient2586" r="10.186243" xlink:href="#linearGradient2061"/>
+    <linearGradient gradientTransform="scale(1.03872, 0.96272)" gradientUnits="userSpaceOnUse" id="linearGradient2588" x1="333.62552" x2="327.73431" xlink:href="#linearGradient2061" y1="404.92667" y2="386.88702"/>
+    <linearGradient gradientTransform="scale(1.03872, 0.96272)" gradientUnits="userSpaceOnUse" id="linearGradient2590" x1="338.45172" x2="332.51279" xlink:href="#linearGradient2061" y1="369.61816" y2="391.97516"/>
+    <radialGradient cx="336.93637" cy="375.66098" fx="336.93637" fy="375.66098" gradientUnits="userSpaceOnUse" id="radialGradient2592" r="1.4142135" xlink:href="#linearGradient2061"/>
+    <radialGradient cx="336.93637" cy="375.66098" fx="336.93637" fy="375.66098" gradientUnits="userSpaceOnUse" id="radialGradient2594" r="1.4142135" xlink:href="#linearGradient2061"/>
+    <linearGradient gradientTransform="scale(1.03872, 0.96272)" gradientUnits="userSpaceOnUse" id="linearGradient2596" x1="338.45172" x2="332.51279" xlink:href="#linearGradient2061" y1="369.61816" y2="391.97516"/>
+    <linearGradient gradientTransform="scale(1.03872, 0.96272)" gradientUnits="userSpaceOnUse" id="linearGradient2598" x1="338.45172" x2="332.51279" xlink:href="#linearGradient2061" y1="369.61816" y2="391.97516"/>
+    <linearGradient gradientTransform="matrix(0.35887, 0, 0, 2.78652, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2600" spreadMethod="pad" x1="525.77820" x2="525.77820" xlink:href="#linearGradient2143" y1="185.73842" y2="138.61699"/>
+    <linearGradient gradientTransform="matrix(0.35887, 0, 0, 2.78652, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2602" x1="517.73596" x2="517.73596" xlink:href="#linearGradient2160" y1="185.10786" y2="137.73700"/>
+    <linearGradient gradientTransform="matrix(0.35887, 0, 0, 2.78652, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2604" spreadMethod="reflect" x1="500.98907" x2="520.82123" xlink:href="#linearGradient2127" y1="162.27498" y2="162.19385"/>
+    <linearGradient gradientTransform="matrix(0.339683, 0, 0, 2.94392, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2606" x1="547.19476" x2="556.77557" xlink:href="#linearGradient2143" y1="132.62198" y2="170.48996"/>
+    <linearGradient gradientTransform="matrix(0.254427, 0, 0, 1.21601, -42.3154, 42.2932)" gradientUnits="userSpaceOnUse" id="linearGradient2608" x1="547.19476" x2="556.77557" xlink:href="#linearGradient2061" y1="132.62198" y2="170.48996"/>
+    <linearGradient gradientTransform="matrix(0.339683, 0, 0, 2.94392, -89.375, -198.87)" gradientUnits="userSpaceOnUse" id="linearGradient2610" spreadMethod="reflect" x1="550.12598" x2="559.42310" xlink:href="#linearGradient2061" y1="159.70277" y2="159.70277"/>
+    <radialGradient cx="387.72849" cy="177.34306" fx="387.72849" fy="177.34306" gradientTransform="scale(0.408248, 2.44949)" gradientUnits="userSpaceOnUse" id="radialGradient2612" r="15.509140" xlink:href="#linearGradient2160"/>
+    <radialGradient cx="387.72849" cy="177.34306" fx="387.72849" fy="177.34306" gradientTransform="scale(0.408248, 2.44949)" gradientUnits="userSpaceOnUse" id="radialGradient2614" r="15.509140" xlink:href="#linearGradient2061"/>
+    <linearGradient gradientTransform="matrix(1.56589, 0, 0, 0.732797, 98.7092, -125.467)" gradientUnits="userSpaceOnUse" id="linearGradient2616" x1="-327.88300" x2="-327.78314" xlink:href="#linearGradient2143" y1="220.74342" y2="233.92133"/>
+    <linearGradient gradientTransform="matrix(1.4613, 0, 0, 0.684323, 222.645, -79.8309)" gradientUnits="userSpaceOnUse" id="linearGradient2618" x1="-338.12735" x2="-337.99255" xlink:href="#linearGradient2143" y1="192.44231" y2="214.70348"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2790" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.3702, 0, 0, 0.421906, 198.87, -89.375)" x1="-227.78334" y1="576.82489" x2="-185.92982" y2="565.61029"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2846" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.56589, 0, 0, 0.732797, 98.7092, -125.467)" x1="-327.88300" y1="220.74342" x2="-327.78314" y2="233.92133"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2848" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.4613, 0, 0, 0.684323, 222.645, -79.8309)" x1="-338.12735" y1="192.44231" x2="-337.99255" y2="214.70348"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2853" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.4613, 0, 0, 0.684322, 390.988, -110.87)" x1="-338.12735" y1="192.44231" x2="-337.99255" y2="214.70348"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2857" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.56589, 0, 0, 0.732797, 331.41, -147.922)" x1="-327.88300" y1="220.74342" x2="-327.78314" y2="233.92133"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2860" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.564795, 0.114444, 0.109653, 2.8513, -205.536, -428.778)" cx="387.72849" cy="177.34306" fx="387.72849" fy="177.34306" r="15.509140"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2160" id="radialGradient2863" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.278815, 0.0645387, -0.231885, 2.79362, -31.5504, -441.922)" cx="387.72849" cy="177.34306" fx="387.72849" fy="177.34306" r="15.509140"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2866" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.339683, 0, 0, 2.94392, -124.125, -349.237)" spreadMethod="reflect" x1="550.12598" y1="159.70277" x2="559.42310" y2="159.70277"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2869" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.254427, 0, 0, 1.21601, -77.0654, -108.074)" x1="547.19476" y1="132.62198" x2="556.77557" y2="170.48996"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2872" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.339683, 0, 0, 2.94392, -124.125, -349.237)" x1="547.19476" y1="132.62198" x2="556.77557" y2="170.48996"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2127" id="linearGradient2875" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.35887, 0, 0, 2.78652, -124.125, -349.237)" spreadMethod="reflect" x1="500.98907" y1="162.27498" x2="520.82123" y2="162.19385"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2878" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.35887, 0, 0, 2.78652, -124.125, -349.237)" spreadMethod="pad" x1="525.77820" y1="185.73842" x2="525.77820" y2="138.61699"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2160" id="linearGradient2880" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.35887, 0, 0, 2.78652, -124.125, -349.237)" x1="517.73596" y1="185.10786" x2="517.73596" y2="137.73700"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2883" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.209165, -0.798624, 0.597918, 0.0996396, -89.9483, 253.269)" x1="338.45172" y1="369.61816" x2="332.51279" y2="391.97516"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2886" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.208533, -0.821256, 0.597997, 0.10214, -47.0517, 257.218)" x1="338.45172" y1="369.61816" x2="332.51279" y2="391.97516"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2889" gradientUnits="userSpaceOnUse" cx="336.93637" cy="375.66098" fx="336.93637" fy="375.66098" r="1.4142135" gradientTransform="matrix(2.975, 0, 0, 2.975, -738.785, -1087.2)"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2892" gradientUnits="userSpaceOnUse" cx="336.93637" cy="375.66098" fx="336.93637" fy="375.66098" r="1.4142135" gradientTransform="matrix(1.4, 0, 0, 1.4, -211.07, -503.235)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2895" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.02282, 0, 0, 0.610828, -77.5944, -210.324)" x1="338.45172" y1="369.61816" x2="332.51279" y2="391.97516"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2898" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.27362, 0, 0, 1.21992, -160.714, -452.607)" x1="333.62552" y1="404.92667" x2="327.73431" y2="386.88702"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2901" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.982239, 0, 0, 0.982282, -64.5328, -359.003)" cx="331.80984" cy="391.51016" fx="331.80984" fy="391.51016" r="10.186243"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2904" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.09129, 0, 0, 0.916344, -124.125, -349.237)" x1="340.56873" y1="396.86478" x2="363.77615" y2="421.51526"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2907" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.431331, 0, 0, 2.3184, -124.125, -349.237)" cx="331.89600" cy="204.99352" fx="331.78088" fy="205.33112" r="17.614996"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2918" gradientUnits="userSpaceOnUse" cx="336.93637" cy="375.66098" fx="336.93637" fy="375.66098" r="1.4142135" gradientTransform="matrix(2.975, 0, 0, 2.975, -780.16, -1085.75)"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2921" gradientUnits="userSpaceOnUse" cx="336.93637" cy="375.66098" fx="336.93637" fy="375.66098" r="1.4142135" gradientTransform="matrix(1.46332, 0, 0, 1.4, -276.376, -500.44)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2924" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.02282, 0, 0, 0.610828, -120.76, -208.424)" x1="338.45172" y1="369.61816" x2="332.51279" y2="391.97516"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2927" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.27362, 0, 0, 1.21992, -203.88, -450.708)" x1="333.62552" y1="404.92667" x2="327.73431" y2="386.88702"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2930" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.982239, 0, 0, 0.982282, -107.699, -357.104)" cx="331.80984" cy="391.51016" fx="331.80984" fy="391.51016" r="10.186243"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2933" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.18118, 0, 0, 0.846611, -124.125, -349.237)" x1="288.18646" y1="437.91830" x2="293.39722" y2="443.31836"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2936" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.74099, 0, 0, 0.371923, -118.887, -361.689)" spreadMethod="pad" x1="169.78445" y1="1014.1465" x2="169.78447" y2="1046.7983"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2939" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.32989, 0, 0, 0.514722, -123.625, -424.928)" spreadMethod="reflect" x1="202.38510" y1="850.50427" x2="202.48843" y2="853.85681"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2127" id="linearGradient2942" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.23385, 0, 0, 0.536851, -123.625, -424.928)" spreadMethod="reflect" x1="204.79185" y1="839.64862" x2="221.93906" y2="839.64862"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2944" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.23385, 0, 0, 0.536851, -123.625, -424.928)" x1="203.41141" y1="826.88013" x2="217.53874" y2="841.10950"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2951" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.3702, 0, 0, 0.421906, 349.237, -124.125)" x1="-227.78334" y1="576.82489" x2="-185.92982" y2="565.61029"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2958" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.720082, 0, 0, 1.38873, -124.125, -349.237)" spreadMethod="reflect" x1="638.20325" y1="300.19751" x2="639.63287" y2="315.38678"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2962" gradientUnits="userSpaceOnUse" cx="365.26486" cy="421.07880" fx="365.26486" fy="421.07880" r="65.002319" gradientTransform="matrix(0.414966, 0, 0, 0.415122, 89.645, -75.3635)"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient2965" gradientUnits="userSpaceOnUse" cx="389.47220" cy="447.87982" fx="389.47220" fy="447.87982" r="8.6886206" gradientTransform="matrix(0.414966, 0, 0, 0.415122, 89.645, -75.3635)"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2303" id="radialGradient2968" gradientUnits="userSpaceOnUse" cx="406.76318" cy="459.98349" fx="406.76318" fy="459.98349" r="55.331104" gradientTransform="matrix(0.414966, 0, 0, 0.415122, 89.645, -75.3635)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2973" gradientUnits="userSpaceOnUse" x1="398.83572" y1="404.49619" x2="398.83572" y2="514.75488" gradientTransform="matrix(0.708729, 0, 0, 0.708996, -29.847, -210.541)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient2976" gradientUnits="userSpaceOnUse" spreadMethod="reflect" x1="401.51196" y1="455.60751" x2="372.63031" y2="426.72598" gradientTransform="matrix(0.916689, 0, 0, 0.917034, -114.437, -306.235)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2978" gradientUnits="userSpaceOnUse" x1="378.74927" y1="513.11932" x2="378.74927" y2="403.91809" gradientTransform="matrix(0.916689, 0, 0, 0.917034, -114.437, -306.235)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2981" gradientUnits="userSpaceOnUse" spreadMethod="reflect" x1="406.76318" y1="387.34207" x2="405.88797" y2="465.23468" gradientTransform="matrix(0.916689, 0, 0, 0.917034, -114.437, -306.235)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2983" gradientUnits="userSpaceOnUse" x1="378.74927" y1="513.11932" x2="378.74927" y2="403.91809" gradientTransform="matrix(0.916689, 0, 0, 0.917034, -114.437, -306.235)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2986" gradientUnits="userSpaceOnUse" x1="393.83939" y1="404.70325" x2="393.83939" y2="515.28473" gradientTransform="matrix(0.93005, 0, 0, 0.9304, -119.872, -312.383)"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2189" id="radialGradient2989" gradientUnits="userSpaceOnUse" cx="387.54489" cy="514.14392" fx="387.54489" fy="514.14392" r="108.39503" gradientTransform="matrix(1.08387, 0, 0, 1.08428, -182.443, -383.166)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2991" gradientUnits="userSpaceOnUse" x1="404.61307" y1="510.83701" x2="404.61307" y2="406.23483" gradientTransform="matrix(1.08387, 0, 0, 1.08428, -182.443, -383.166)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2160" id="linearGradient2994" gradientUnits="userSpaceOnUse" x1="406.76318" y1="402.41534" x2="406.76318" y2="519.04663" gradientTransform="matrix(1.11713, 0, 0, 1.11755, -195.969, -398.469)"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient2998" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.834046, 0, 0, 1.19897, -124.125, -349.237)" spreadMethod="reflect" x1="337.99429" y1="361.38681" x2="336.71158" y2="369.07602"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3001" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.834046, 0, 0, 1.19897, -124.125, -349.237)" spreadMethod="reflect" x1="234.90314" y1="340.21918" x2="243.74902" y2="372.00415"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3004" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.834046, 0, 0, 1.19897, -124.125, -349.237)" spreadMethod="reflect" x1="271.04855" y1="350.81409" x2="271.04855" y2="354.59967"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3007" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.834046, 0, 0, 1.19897, -124.125, -349.237)" spreadMethod="reflect" x1="302.40866" y1="349.93118" x2="302.40866" y2="351.37485"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2160" id="linearGradient3010" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.904, 0, 0, 0.42713, -164.029, -349.237)" x1="91.790848" y1="1207.4102" x2="91.790848" y2="1233.5283"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2118" id="radialGradient3013" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.904, 0, 0, 0.42713, -164.029, -349.237)" cx="81.898430" cy="1244.3292" fx="81.898430" fy="1244.3292" r="87.748901"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2127" id="linearGradient3016" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.13228, 0, 0, 1.09599, -162.465, -351.984)" x1="260.92453" y1="415.67227" x2="241.63106" y2="393.49112"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2127" id="linearGradient3020" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.825706, 0, 0, 1.21108, -124.125, -349.237)" x1="286.23761" y1="529.02618" x2="286.23761" y2="291.34518"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2099" id="linearGradient3024" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.00653, 0, 0, 1.23234, -164.029, -348.737)" x1="265.96707" y1="439.40738" x2="265.96704" y2="293.78394"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2160" id="linearGradient3027" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.5547, 0, 0, 1.80278, -124.125, -349.237)" spreadMethod="pad" x1="263.20532" y1="258.24908" x2="286.64139" y2="258.24905"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="radialGradient3030" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.5547, 0, 0, 1.80278, -124.125, -349.237)" spreadMethod="reflect" cx="272.21921" cy="277.40359" fx="270.41644" fy="276.27689" r="36.908104"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2195" id="linearGradient3033" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.55423, 0, 0, 0.643406, -124.125, -349.237)" x1="241.94136" y1="802.59015" x2="241.94136" y2="653.53149"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3036" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.5288, 0, 0, 0.654109, -124.125, -349.237)" x1="238.77391" y1="787.97565" x2="238.77391" y2="661.18909"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2127" id="linearGradient3039" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.68783, 0, 0, 0.592476, -124.125, -349.237)" x1="224.52806" y1="781.65656" x2="224.51540" y2="660.40173"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3041" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.910781, 0, 0, 1.09796, -124.125, -349.237)" x1="409.31522" y1="405.39236" x2="389.55954" y2="350.85809"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3044" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.910781, 0, 0, 1.09796, -124.125, -349.237)" x1="410.82294" y1="486.58331" x2="410.82294" y2="328.51572"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3047" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.919171, 0, 0, 1.10218, -126.934, -351.773)" x1="390.37320" y1="334.77237" x2="390.37320" y2="489.11697"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3050" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.720082, 0, 0, 1.38873, -124.125, -349.237)" spreadMethod="reflect" x1="665.36505" y1="310.82990" x2="665.36505" y2="311.97168"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3053" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.720082, 0, 0, 1.38873, -124.125, -349.237)" spreadMethod="reflect" x1="665.36487" y1="310.82980" x2="665.36487" y2="313.87778"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3056" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.720082, 0, 0, 1.38873, -124.125, -349.237)" spreadMethod="reflect" x1="641.06244" y1="319.18408" x2="639.63287" y2="327.53815"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2127" id="linearGradient3059" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.720082, 0, 0, 1.38873, -124.125, -349.237)" x1="656.78778" y1="373.10587" x2="656.78760" y2="278.93256"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3061" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.723143, 0, 0, 1.38285, -124.125, -349.237)" x1="653.25012" y1="373.10922" x2="653.25012" y2="279.66632"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3064" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.5547, 0, 0, 1.80278, -124.125, -349.237)" spreadMethod="reflect" x1="272.21921" y1="285.29071" x2="308.27469" y2="262.75601"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2189" id="linearGradient3067" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.38538, 0, 0, 0.721822, -124.125, -349.237)" x1="224.19640" y1="503.96042" x2="224.19640" y2="749.76471"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient3070" gradientUnits="userSpaceOnUse" gradientTransform="matrix(4.09268, 0, 0, 0.244339, -124.125, -349.237)" x1="82.159187" y1="1523.0514" x2="82.159187" y2="1441.1952"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient3073" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.82843, 0, 0, 0.353553, 349.237, 124.125)" x1="-159.93404" y1="-1428.3561" x2="-159.93404" y2="-1484.4293"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient3076" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.82843, 0, 0, 0.353553, 349.237, -124.125)" x1="-159.93404" y1="480.33670" x2="-159.93404" y2="424.26443"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="linearGradient3079" gradientUnits="userSpaceOnUse" gradientTransform="matrix(4.09268, 0, 0, 0.244339, 124.125, 349.237)" x1="-82.464378" y1="-2178.7864" x2="-82.464378" y2="-2258.8235"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient3082" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0, 1.33333, -1.33334, 0, 870.693, -196.875)" cx="164.88269" cy="367.24536" fx="164.88269" fy="367.24536" r="14.883290"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient3085" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0, -1.33333, -1.33334, 0, 870.693, 403.125)" cx="164.88269" cy="367.24536" fx="164.88269" fy="367.24536" r="14.883290"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient3088" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0, -1.33333, 1.33334, 0, -443.943, 403.125)" cx="164.88269" cy="367.24536" fx="164.88269" fy="367.24536" r="14.883290"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2061" id="radialGradient3091" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.33333, 0, 0, 1.33334, -174.125, -466.692)" cx="164.88359" cy="367.24536" fx="164.88359" fy="367.24536" r="14.648915"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2143" id="linearGradient3094" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.793492, 0, 0, 1.26025, -124.125, -349.237)" x1="219.60535" y1="385.28711" x2="169.10524" y2="327.64883"/>
+    <linearGradient inkscape:collect="always" xlink:href="#linearGradient2195" id="linearGradient3097" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.36931, 0, 0, 0.730297, -124.125, -349.237)" x1="234.54350" y1="745.65509" x2="234.54350" y2="484.63116"/>
+    <radialGradient inkscape:collect="always" xlink:href="#linearGradient2195" id="radialGradient3100" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.793492, 0, 0, 1.26025, -124.125, -349.237)" spreadMethod="reflect" cx="195.33907" cy="367.99432" fx="195.33907" fy="367.99432" r="10.189606"/>
+  </defs>
+  <path d="M 30.875,63.13818 C 17.07501,63.13818 5.87501,81.05816 5.875,103.13818 C 5.875,125.21818 17.07501,143.13817 30.875,143.13818 C 44.67499,143.13818 55.875,125.21817 55.875,103.13818 C 55.875,81.05818 44.67499,63.13819 30.875,63.13818 z M 20.875,93.13818 C 26.39495,93.13818 30.875,97.61819 30.875,103.13818 C 30.875,108.65818 26.39494,113.13818 20.875,113.13818 C 15.35506,113.13818 10.875,108.65817 10.875,103.13818 C 10.87501,97.6182 15.35506,93.13818 20.875,93.13818 z" id="path2384" style="fill: url(#radialGradient3100) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <rect height="200" id="rect2052" rx="20" ry="20" style="fill: url(#linearGradient3097) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" width="375" x="25.875" y="3.1253552"/>
+  <path d="M 26.46875,65.85693 C 10.97866,73.07925 6.98398,92.66893 8.18432,108.2536 C 9.31104,121.04905 14.60474,137.21345 28.44484,140.72776 C 42.10525,142.53231 50.00942,127.50227 52.38715,116.08226 C 55.89979,99.49037 53.34672,79.26696 39.5,67.98193 C 35.5773,65.44914 31.00487,64.5967 26.46875,65.85693 z M 21.28125,91.16943 C 32.40125,91.054 37.14905,107.44937 27.41108,112.98513 C 18.21517,120.06859 4.68188,108.34728 10,98.10693 C 12.18219,93.83917 16.46195,91.13653 21.28125,91.16943 z" id="path2424" style="opacity: 0.563452; fill: none; fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient3094) rgb(0, 0, 0); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 45.875,23.12537 L 25.87495,23.12537 C 25.87495,12.08534 34.83495,3.12531 45.87495,3.12531 L 45.875,23.12537 z" id="path2058" style="fill: url(#radialGradient3091) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.59894; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 45.875,183.12531 L 45.875,203.12536 C 34.83497,203.12536 25.87493,194.16537 25.87493,183.12536 L 45.875,183.12531 z" id="path2077" style="fill: url(#radialGradient3088) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.59894; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 380.87493,183.12531 L 380.87493,203.12536 C 391.91496,203.12536 400.875,194.16537 400.875,183.12536 L 380.87493,183.12531 z" id="path2081" style="fill: url(#radialGradient3085) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.59894; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 380.87493,23.12541 L 380.87493,3.12536 C 391.91496,3.12536 400.875,12.08535 400.875,23.12536 L 380.87493,23.12541 z" id="path2085" style="fill: url(#radialGradient3082) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.59894; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <rect height="20" id="rect2103" style="fill: url(#linearGradient3079) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;" transform="scale(-1, -1)" width="335" x="-380.875" y="-203.12537"/>
+  <rect height="20" id="rect2107" style="fill: url(#linearGradient3076) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;" transform="matrix(0, -1, 1, 0, 0, 0)" width="160" x="-183.12537" y="25.875"/>
+  <rect height="20" id="rect2111" style="fill: url(#linearGradient3073) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;" transform="matrix(0, -1, -1, 0, 0, 0)" width="160" x="-183.12537" y="-400.875"/>
+  <rect height="20" id="rect2089" style="fill: url(#linearGradient3070) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;" width="335" x="45.875" y="3.1253552"/>
+  <rect height="180.16859" id="rect2054" rx="10" ry="10" style="fill: url(#linearGradient3067) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;" width="345.79498" x="40.875" y="13.125356"/>
+  <rect height="130" id="rect2603" rx="2.5" ry="65" style="fill: url(#linearGradient3064) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" width="40" x="20.875" y="38.125355"/>
+  <rect height="135" id="rect2348" style="opacity: 0.8; fill: url(#linearGradient3059) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient3061) rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" width="70" x="315.875" y="38.125355"/>
+  <rect height="135" id="rect2371" style="opacity: 0.03; fill: url(#linearGradient3056) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.11873; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;" width="70" x="315.875" y="38.125355"/>
+  <rect height="135" id="rect2367" style="opacity: 0.03; fill: url(#linearGradient3053) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.11873; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;" width="70" x="315.875" y="38.125355"/>
+  <rect height="135" id="rect2363" style="opacity: 0.03; fill: url(#linearGradient3050) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.11873; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;" width="70" x="315.875" y="38.125355"/>
+  <path d="M 186.10383,12.92399 L 310.51723,12.92399 C 313.80458,12.92399 316.58619,17.85462 316.58619,18.84073 C 331.75854,52.36891 331.75854,150.98121 316.58619,184.50938 C 316.58619,185.49552 314.5632,190.67265 310.51723,190.42612 L 186.10383,190.42612 C 182.74164,190.42612 180.0349,187.78727 180.0349,184.50938 L 180.0349,18.84073 C 180.0349,15.56286 182.74164,12.92399 186.10383,12.92399 z" id="path2206" style="fill: none; fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient3047) rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 187.37987,14.12536 L 309.45474,14.12536 C 312.6803,14.12536 315.40962,18.98927 315.40962,19.96203 C 330.29679,53.03652 330.29679,150.31443 315.40962,183.38891 C 315.40962,184.36171 313.42466,189.46879 309.45474,189.22559 L 187.37987,189.22559 C 184.08087,189.22559 181.425,186.62244 181.425,183.38891 L 181.425,19.96203 C 181.425,16.72852 184.08087,14.12536 187.37987,14.12536 z" id="rect2201" style="fill: rgb(159, 159, 159); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient3044) rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 181.4375,38.13818 L 181.4375,88.13818 L 326.1875,88.13818 C 325.59411,69.7418 323.91809,52.10331 320.90625,38.13818 L 181.4375,38.13818 z" id="path2333" style="fill: url(#linearGradient3039) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient3041) rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 181.4375,107.12536 L 181.4375,169.13818 L 320.3125,169.13818 C 324.11259,152.51335 326.03565,130.04065 326.375,107.12536 L 181.4375,107.12536 z" id="path2569" style="fill: url(#linearGradient3036) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 181.4375,108.13818 L 181.4375,168.13818 L 320.3125,168.13818 C 324.11259,152.05296 326.03565,130.30968 326.375,108.13818 L 181.4375,108.13818 z" id="path2585" style="fill: url(#linearGradient3033) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <rect height="130" id="rect2613" rx="2.5" ry="65" style="opacity: 0.558376; fill: url(#radialGradient3030) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" width="40" x="20.875" y="38.125355"/>
+  <rect height="130" id="rect2619" rx="2.5" ry="65" style="opacity: 0.614213; fill: url(#linearGradient3027) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" width="40" x="20.875" y="38.125355"/>
+  <path d="M 53.03853,13.62536 C 94.38469,13.62536 129.52894,13.62536 170.8751,13.62536 C 195.6828,13.62536 195.6828,193.62536 170.8751,193.62536 C 129.52894,193.62536 94.38469,193.62536 53.03853,193.62536 C 40.63468,193.62537 40.63468,13.62536 53.03853,13.62536 z" id="rect2141" style="opacity: 0.5; fill: none; fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient3024) rgb(0, 0, 0); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 53.03853,13.12126 C 50.48382,13.12126 48.49401,20.73017 46.99165,32.44782 L 182.96885,32.44782 C 179.96412,20.73037 175.98448,13.12126 170.8751,13.12126 C 129.52894,13.12126 94.38469,13.12126 53.03853,13.12126 z" id="path2157" style="fill: rgb(250, 250, 250); fill-opacity: 1; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.392157;"/>
+  <path d="M 47.72993,33.13818 C 43.4849,67.76814 43.48318,138.52301 47.72993,173.13818 L 182.2643,173.13818 C 190.75776,138.52283 190.75442,67.76795 182.2643,33.13818 L 47.72993,33.13818 z" id="path2152" style="fill: url(#linearGradient3020) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <rect height="130" id="rect2373" rx="7.5" ry="65" style="opacity: 0.5; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;" width="15" x="57.141327" y="40.125355"/>
+  <path d="M 48.27533,33.86189 C 44.06391,68.13388 44.06221,138.15735 48.27533,172.4147 L 181.74474,172.4147 C 190.17094,138.15717 190.16765,68.1337 181.74474,33.86189 L 48.27533,33.86189 z" id="path2226" style="fill: none; fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient3016) rgb(0, 0, 0); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 46.99159,172.63818 C 48.49369,184.75197 50.48522,192.63818 53.03846,192.63818 C 94.38461,192.63818 129.52885,192.63818 170.875,192.63818 C 175.9815,192.63818 179.96453,184.75207 182.96875,172.63818 L 46.99159,172.63818 z" id="path2168" style="fill: url(#radialGradient3013) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.392157;"/>
+  <path d="M 46.99159,172.63818 C 48.49369,184.75197 50.48522,192.63818 53.03846,192.63818 C 94.38461,192.63818 129.52885,192.63818 170.875,192.63818 C 175.9815,192.63818 179.96453,184.75207 182.96875,172.63818 L 46.99159,172.63818 z" id="path2156" style="opacity: 0.5; fill: url(#linearGradient3010) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 48.59015,35.38818 C 44.39815,68.90503 44.39645,137.38564 48.59015,170.88818 L 181.44386,170.88818 C 189.83122,137.38547 189.82792,68.90485 181.44386,35.38818 L 48.59015,35.38818 z" id="path2169" style="opacity: 0.03; fill: url(#linearGradient3007) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 48.59015,35.38818 C 44.39815,68.90503 44.39645,137.38564 48.59015,170.88818 L 181.44386,170.88818 C 189.83122,137.38547 189.82792,68.90485 181.44386,35.38818 L 48.59015,35.38818 z" id="path2175" style="opacity: 0.03; fill: url(#linearGradient3004) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 48.59015,35.38818 C 44.39815,68.90503 44.39645,137.38564 48.59015,170.88818 L 181.44386,170.88818 C 189.83122,137.38547 189.82792,68.90485 181.44386,35.38818 L 48.59015,35.38818 z" id="path2183" style="opacity: 0.05; fill: url(#linearGradient3001) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 48.59015,35.38818 C 44.39815,68.90503 44.39645,137.38564 48.59015,170.88818 L 181.44386,170.88818 C 189.83122,137.38547 189.82792,68.90485 181.44386,35.38818 L 48.59015,35.38818 z" id="path2224" style="opacity: 0.03; fill: url(#linearGradient2998) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 320.25039,115.58555 C 320.25039,149.73623 292.5762,177.42083 258.43835,177.42082 C 224.30051,177.42082 196.62632,149.73623 196.62632,115.58555 C 196.62632,81.434864 224.30051,53.750267 258.43836,53.750267 C 292.5762,53.750267 320.25039,81.434864 320.25039,115.58555 L 320.25039,115.58555 z" id="path2230" style="opacity: 0.6; fill: none; fill-opacity: 1; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 320.25039,115.58555 C 320.25039,149.73623 292.5762,177.42083 258.43835,177.42082 C 224.30051,177.42082 196.62632,149.73623 196.62632,115.58555 C 196.62632,81.434864 224.30051,53.750267 258.43836,53.750267 C 292.5762,53.750267 320.25039,81.434864 320.25039,115.58555 L 320.25039,115.58555 z" id="path2232" style="opacity: 0.8; fill: none; fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2994) rgb(0, 0, 0); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 318.40714,115.5849 C 318.40714,148.7189 291.55688,175.57931 258.43541,175.5793 C 225.31394,175.5793 198.46369,148.7189 198.46369,115.5849 C 198.46369,82.450896 225.31394,55.590483 258.43542,55.590483 C 291.55688,55.590483 318.40714,82.450896 318.40714,115.5849 L 318.40714,115.5849 z" id="path2242" style="fill: url(#radialGradient2989) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2991) rgb(0, 0, 0); stroke-width: 1.24999; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 309.89859,115.58564 C 309.89859,144.0173 286.85886,167.0657 258.4379,167.06569 C 230.01694,167.06569 206.97721,144.0173 206.97721,115.58564 C 206.97721,87.153983 230.01694,64.105574 258.4379,64.105574 C 286.85886,64.105574 309.89859,87.153983 309.89859,115.58564 L 309.89859,115.58564 z" id="path2254" style="fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2986) rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 309.15935,115.5855 C 309.15935,143.60871 286.4506,166.32601 258.43793,166.326 C 230.42527,166.326 207.71652,143.60871 207.71652,115.5855 C 207.71652,87.562289 230.42527,64.844991 258.43794,64.844991 C 286.4506,64.844991 309.15935,87.562289 309.15935,115.5855 L 309.15935,115.5855 z" id="path2260" style="fill: url(#linearGradient2981) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2983) rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 309.15935,115.5855 C 309.15935,143.60871 286.4506,166.32601 258.43793,166.326 C 230.42527,166.326 207.71652,143.60871 207.71652,115.5855 C 207.71652,87.562289 230.42527,64.844991 258.43794,64.844991 C 286.4506,64.844991 309.15935,87.562289 309.15935,115.5855 L 309.15935,115.5855 z" id="path2243" style="opacity: 0.85; fill: url(#linearGradient2976) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2978) rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 297.65261,115.58575 C 297.65261,137.25163 280.09557,154.81529 258.43785,154.81528 C 236.78014,154.81528 219.2231,137.25163 219.2231,115.58575 C 219.2231,93.919879 236.78014,76.356219 258.43786,76.356219 C 280.09557,76.356219 297.65261,93.919879 297.65261,115.58575 L 297.65261,115.58575 z" id="path2274" style="fill: rgb(80, 80, 80); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2973) rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 235.1875,88.34529 C 227.37734,94.97681 222.31249,104.73973 222.3125,115.78279 C 222.3125,126.89379 227.45032,136.71341 235.34375,143.34529 L 281.53125,143.34529 C 289.42468,136.71341 294.5625,126.89379 294.5625,115.78279 C 294.5625,104.73973 289.49766,94.97681 281.6875,88.34529 L 235.1875,88.34529 z" id="path2286" style="fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.88141; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 237.1444,89.97164 C 229.9916,96.21097 225.35305,105.39651 225.35306,115.78649 C 225.35306,126.24038 230.05844,135.47927 237.2875,141.71894 L 279.5875,141.71894 C 286.81656,135.47927 291.52194,126.24038 291.52194,115.78649 C 291.52194,105.39651 286.8834,96.21097 279.7306,89.97164 L 237.1444,89.97164 z" id="path2319" style="fill: rgb(25, 25, 25); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.88141; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 281.39842,115.58577 C 281.39842,128.27128 271.11864,138.55493 258.43789,138.55492 C 245.75714,138.55492 235.47736,128.27128 235.47736,115.58577 C 235.47736,102.90025 245.75714,92.616605 258.43789,92.616605 C 271.11864,92.616605 281.39842,102.90025 281.39842,115.58577 L 281.39842,115.58577 z" id="path2299" style="fill: url(#radialGradient2968) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2.6962; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 281.39842,115.58577 C 281.39842,128.27128 271.11864,138.55493 258.43789,138.55492 C 245.75714,138.55492 235.47736,128.27128 235.47736,115.58577 C 235.47736,102.90025 245.75714,92.616605 258.43789,92.616605 C 271.11864,92.616605 281.39842,102.90025 281.39842,115.58577 L 281.39842,115.58577 z" id="path2325" style="opacity: 0.445026; fill: url(#radialGradient2965) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2.6962; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 281.39842,115.58577 C 281.39842,128.27128 271.11864,138.55493 258.43789,138.55492 C 245.75714,138.55492 235.47736,128.27128 235.47736,115.58577 C 235.47736,102.90025 245.75714,92.616605 258.43789,92.616605 C 271.11864,92.616605 281.39842,102.90025 281.39842,115.58577 L 281.39842,115.58577 z" id="path2329" style="opacity: 0.198953; fill: url(#radialGradient2962) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2.6962; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 385.16789,46.98193 C 382.2674,55.61978 380.16789,78.51092 380.16789,105.63818 C 380.16789,132.76544 382.2674,155.62533 385.16789,164.26318 L 385.16789,46.98193 z" id="path2358" style="opacity: 0.7; fill: rgb(0, 0, 0); fill-opacity: 0.784314; fill-rule: evenodd; stroke: none; stroke-width: 1.11873; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <rect height="135" id="rect2375" style="opacity: 0.03; fill: url(#linearGradient2958) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.11873; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;" width="70" x="315.875" y="38.125355"/>
+  <path transform="matrix(0, -1, 1, 0, 0, 0)" style="font-style: normal; font-variant: normal; font-weight: bold; font-stretch: normal; text-anchor: start; fill: none; fill-opacity: 1; stroke: rgb(255, 255, 255); stroke-width: 0.625; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 0.196078; font-family: Bitstream Vera Serif;" d="M -142.77359,123.0159 C -143.00407,123.91825 -143.41813,124.58817 -144.01578,125.02567 C -144.61344,125.46317 -145.41617,125.68192 -146.42398,125.68192 C -147.90055,125.68192 -149.06754,125.27469 -149.92496,124.46024 C -150.78238,123.64578 -151.21109,122.54129 -151.21109,121.14676 C -151.21109,119.74833 -150.78238,118.64188 -149.92496,117.82742 C -149.06754,117.01298 -147.90055,116.60575 -146.42398,116.60574 C -145.90446,116.60575 -145.36344,116.66825 -144.80093,116.79324 C -144.23844,116.91825 -143.64274,117.1077 -143.01382,117.3616 L -143.01382,119.51199 L -143.75797,119.51199 C -143.91032,118.77763 -144.18766,118.22782 -144.59,117.86258 C -144.99235,117.49735 -145.5236,117.31474 -146.18375,117.31473 C -147.03531,117.31474 -147.66813,117.62821 -148.08218,118.25516 C -148.49625,118.88212 -148.70328,119.84598 -148.70328,121.14676 C -148.70328,122.44754 -148.49625,123.41043 -148.08218,124.03543 C -147.66813,124.66043 -147.03141,124.97293 -146.17203,124.97293 C -145.59,124.97293 -145.11442,124.81082 -144.74527,124.4866 C -144.37614,124.16239 -144.10758,123.67215 -143.93961,123.0159 L -142.77359,123.0159 z M -135.54312,121.68582 L -135.54312,124.80301 L -134.6525,124.80301 L -134.6525,125.51199 L -137.61734,125.51199 L -137.61734,124.72098 C -137.89078,125.0491 -138.19547,125.29129 -138.5314,125.44754 C -138.86734,125.60379 -139.25016,125.68192 -139.67984,125.68192 C -140.31656,125.68192 -140.80582,125.51102 -141.14761,125.16922 C -141.48941,124.82742 -141.66031,124.33817 -141.66031,123.70145 C -141.66031,123.00223 -141.41519,122.47879 -140.92496,122.13113 C -140.43472,121.78348 -139.69547,121.60965 -138.70718,121.60965 L -137.61734,121.60965 L -137.61734,121.24051 C -137.61734,120.73661 -137.73649,120.36454 -137.97476,120.1243 C -138.21305,119.88407 -138.58219,119.76395 -139.08218,119.76395 C -139.49625,119.76395 -139.81558,119.84891 -140.04019,120.01883 C -140.2648,120.18876 -140.42398,120.46708 -140.51773,120.85379 L -141.17984,120.85379 L -141.17984,119.51199 C -140.80875,119.37919 -140.42398,119.27958 -140.02554,119.21317 C -139.62711,119.14677 -139.20719,119.11356 -138.76578,119.11356 C -137.6525,119.11356 -136.83707,119.32059 -136.31949,119.73465 C -135.80192,120.14872 -135.54313,120.79911 -135.54312,121.68582 L -135.54312,121.68582 z M -137.61734,123.55496 L -137.61734,122.30692 L -138.39664,122.30692 C -138.78336,122.30692 -139.08023,122.41239 -139.28726,122.62332 C -139.4943,122.83426 -139.59781,123.137 -139.59781,123.53152 C -139.59781,123.92606 -139.52262,124.22098 -139.37222,124.41629 C -139.22184,124.6116 -138.99234,124.70926 -138.68375,124.70926 C -138.36344,124.70926 -138.10563,124.60379 -137.91031,124.39285 C -137.715,124.18192 -137.61734,123.90262 -137.61734,123.55496 L -137.61734,123.55496 z M -127.08804,120.30301 C -126.79899,119.88895 -126.48649,119.58719 -126.15054,119.39774 C -125.81461,119.20829 -125.42204,119.11356 -124.97281,119.11356 C -124.25798,119.11356 -123.7238,119.31571 -123.37027,119.72 C -123.01677,120.1243 -122.84001,120.73465 -122.84,121.55106 L -122.84,124.80301 L -121.94937,124.80301 L -121.94937,125.51199 L -125.65836,125.51199 L -125.65836,124.80301 L -124.91422,124.80301 L -124.91422,121.8616 C -124.91422,121.08426 -124.97379,120.59403 -125.09293,120.3909 C -125.21208,120.18778 -125.43376,120.08622 -125.75797,120.08621 C -126.12516,120.08622 -126.41032,120.22782 -126.61343,120.51102 C -126.81657,120.79422 -126.91813,121.19754 -126.91812,121.72098 L -126.91812,124.80301 L -126.17398,124.80301 L -126.17398,125.51199 L -129.73648,125.51199 L -129.73648,124.80301 L -128.99234,124.80301 L -128.99234,121.8616 C -128.99235,121.08426 -129.05289,120.59403 -129.17398,120.3909 C -129.29508,120.18778 -129.51578,120.08622 -129.83609,120.08621 C -130.20719,120.08622 -130.4943,120.22782 -130.69742,120.51102 C -130.90055,120.79422 -131.00211,121.19754 -131.00211,121.72098 L -131.00211,124.80301 L -130.25797,124.80301 L -130.25797,125.51199 L -133.96109,125.51199 L -133.96109,124.80301 L -133.07632,124.80301 L -133.07632,119.99246 L -133.96109,119.99246 L -133.96109,119.28348 L -131.00211,119.28348 L -131.00211,120.16238 C -130.75992,119.79911 -130.48258,119.53348 -130.17007,119.36551 C -129.85758,119.19755 -129.48649,119.11356 -129.05679,119.11356 C -128.54899,119.11356 -128.13688,119.21024 -127.82047,119.40359 C -127.50407,119.59696 -127.25993,119.89676 -127.08804,120.30301 L -127.08804,120.30301 z M -116.85757,121.99637 C -116.85758,121.17606 -116.93375,120.60087 -117.08609,120.27078 C -117.23844,119.94071 -117.4982,119.77567 -117.86539,119.77567 C -118.22086,119.77567 -118.47574,119.93778 -118.63004,120.26199 C -118.78434,120.58622 -118.86148,121.12919 -118.86148,121.8909 L -118.86148,121.99637 L -116.85757,121.99637 z M -114.57828,122.69363 L -118.86148,122.69363 L -118.86148,122.74051 C -118.86148,123.5452 -118.74039,124.12625 -118.4982,124.48367 C -118.25602,124.8411 -117.86539,125.01981 -117.32632,125.01981 C -116.87711,125.01981 -116.51383,124.90067 -116.23648,124.66238 C -115.95914,124.4241 -115.78141,124.0784 -115.70328,123.62527 L -114.73062,123.62527 C -114.8986,124.33231 -115.23258,124.85184 -115.73257,125.18387 C -116.23258,125.5159 -116.9318,125.68192 -117.83023,125.68192 C -118.90836,125.68192 -119.73551,125.39774 -120.31168,124.82938 C -120.88785,124.26102 -121.17593,123.4495 -121.17593,122.39481 C -121.17593,121.36356 -120.88101,120.55887 -120.29117,119.98074 C -119.70133,119.40262 -118.88101,119.11356 -117.83023,119.11356 C -116.79899,119.11356 -116.00797,119.41727 -115.45718,120.02469 C -114.90641,120.63212 -114.61344,121.52176 -114.57828,122.69363 L -114.57828,122.69363 z M -107.58218,119.21317 L -107.58218,121.07059 L -108.24429,121.07059 C -108.26774,120.73856 -108.35758,120.49149 -108.51382,120.32938 C -108.67008,120.16727 -108.89664,120.08622 -109.19351,120.08621 C -109.64664,120.08622 -110.00406,120.28544 -110.26578,120.68387 C -110.5275,121.08231 -110.65836,121.63504 -110.65836,122.34207 L -110.65836,124.80301 L -109.5275,124.80301 L -109.5275,125.51199 L -113.61734,125.51199 L -113.61734,124.80301 L -112.73257,124.80301 L -112.73257,119.99246 L -113.68179,119.99246 L -113.68179,119.28348 L -110.65836,119.28348 L -110.65836,120.3909 C -110.45523,119.95731 -110.18668,119.63602 -109.85269,119.42703 C -109.51871,119.21805 -109.10953,119.11356 -108.62515,119.11356 C -108.50406,119.11356 -108.3566,119.12235 -108.18277,119.13992 C -108.00895,119.15751 -107.80875,119.18192 -107.58218,119.21317 L -107.58218,119.21317 z M -101.09,121.68582 L -101.09,124.80301 L -100.19937,124.80301 L -100.19937,125.51199 L -103.16422,125.51199 L -103.16422,124.72098 C -103.43766,125.0491 -103.74234,125.29129 -104.07828,125.44754 C -104.41422,125.60379 -104.79703,125.68192 -105.22672,125.68192 C -105.86344,125.68192 -106.35269,125.51102 -106.69449,125.16922 C -107.03629,124.82742 -107.20718,124.33817 -107.20718,123.70145 C -107.20718,123.00223 -106.96207,122.47879 -106.47183,122.13113 C -105.9816,121.78348 -105.24234,121.60965 -104.25406,121.60965 L -103.16422,121.60965 L -103.16422,121.24051 C -103.16422,120.73661 -103.28336,120.36454 -103.52164,120.1243 C -103.75992,119.88407 -104.12906,119.76395 -104.62906,119.76395 C -105.04312,119.76395 -105.36246,119.84891 -105.58707,120.01883 C -105.81168,120.18876 -105.97086,120.46708 -106.06461,120.85379 L -106.72672,120.85379 L -106.72672,119.51199 C -106.35562,119.37919 -105.97086,119.27958 -105.57242,119.21317 C -105.17398,119.14677 -104.75406,119.11356 -104.31265,119.11356 C -103.19938,119.11356 -102.38395,119.32059 -101.86636,119.73465 C -101.34879,120.14872 -101.09,120.79911 -101.09,121.68582 L -101.09,121.68582 z M -103.16422,123.55496 L -103.16422,122.30692 L -103.94351,122.30692 C -104.33023,122.30692 -104.62711,122.41239 -104.83414,122.62332 C -105.04117,122.83426 -105.14469,123.137 -105.14468,123.53152 C -105.14469,123.92606 -105.06949,124.22098 -104.9191,124.41629 C -104.76871,124.6116 -104.53922,124.70926 -104.23062,124.70926 C -103.91031,124.70926 -103.6525,124.60379 -103.45718,124.39285 C -103.26188,124.18192 -103.16422,123.90262 -103.16422,123.55496 L -103.16422,123.55496 z" id="text2445"/>
+  <path transform="matrix(0, -1, 1, 0, 0, 0)" style="font-style: normal; font-variant: normal; font-weight: bold; font-stretch: normal; text-anchor: start; fill: none; fill-opacity: 1; stroke: rgb(0, 0, 0); stroke-width: 0.625; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 0.196078; font-family: Bitstream Vera Serif;" d="M -141.35959,121.60191 C -141.59007,122.50426 -142.00413,123.17418 -142.60178,123.61168 C -143.19944,124.04918 -144.00217,124.26793 -145.00998,124.26793 C -146.48655,124.26793 -147.65354,123.8607 -148.51096,123.04625 C -149.36838,122.2318 -149.79709,121.12731 -149.79709,119.73277 C -149.79709,118.33434 -149.36838,117.2279 -148.51096,116.41344 C -147.65354,115.59899 -146.48655,115.19177 -145.00998,115.19176 C -144.49045,115.19177 -143.94944,115.25427 -143.38693,115.37926 C -142.82444,115.50427 -142.22874,115.69372 -141.59982,115.94762 L -141.59982,118.09801 L -142.34396,118.09801 C -142.49632,117.36364 -142.77366,116.81383 -143.17599,116.44859 C -143.57835,116.08337 -144.10959,115.90075 -144.76974,115.90074 C -145.62131,115.90075 -146.25412,116.21423 -146.66818,116.84117 C -147.08225,117.46813 -147.28928,118.432 -147.28928,119.73277 C -147.28928,121.03356 -147.08225,121.99645 -146.66818,122.62144 C -146.25412,123.24645 -145.61741,123.55895 -144.75803,123.55894 C -144.176,123.55895 -143.70042,123.39684 -143.33127,123.07262 C -142.96214,122.7484 -142.69358,122.25817 -142.5256,121.60191 L -141.35959,121.60191 z M -134.12912,120.27184 L -134.12912,123.38902 L -133.23849,123.38902 L -133.23849,124.09801 L -136.20334,124.09801 L -136.20334,123.30699 C -136.47678,123.63512 -136.78147,123.8773 -137.1174,124.03355 C -137.45334,124.1898 -137.83615,124.26793 -138.26584,124.26793 C -138.90256,124.26793 -139.39182,124.09703 -139.73361,123.75523 C -140.07541,123.41344 -140.24631,122.92418 -140.24631,122.28746 C -140.24631,121.58824 -140.00119,121.06481 -139.51096,120.71715 C -139.02072,120.3695 -138.28147,120.19567 -137.29318,120.19566 L -136.20334,120.19566 L -136.20334,119.82652 C -136.20334,119.32262 -136.32248,118.95055 -136.56076,118.71031 C -136.79905,118.47008 -137.16819,118.34997 -137.66818,118.34996 C -138.08225,118.34997 -138.40158,118.43493 -138.62619,118.60484 C -138.8508,118.77477 -139.00998,119.05309 -139.10373,119.4398 L -139.76584,119.4398 L -139.76584,118.09801 C -139.39475,117.9652 -139.00998,117.86559 -138.61154,117.79918 C -138.21311,117.73278 -137.79319,117.69958 -137.35178,117.69957 C -136.2385,117.69958 -135.42307,117.90661 -134.90549,118.32066 C -134.38792,118.73473 -134.12913,119.38512 -134.12912,120.27184 L -134.12912,120.27184 z M -136.20334,122.14098 L -136.20334,120.89293 L -136.98264,120.89293 C -137.36936,120.89293 -137.66623,120.9984 -137.87326,121.20934 C -138.08029,121.42028 -138.18381,121.72301 -138.18381,122.11754 C -138.18381,122.51207 -138.10861,122.80699 -137.95822,123.0023 C -137.80783,123.19762 -137.57834,123.29527 -137.26974,123.29527 C -136.94944,123.29527 -136.69162,123.1898 -136.49631,122.97887 C -136.301,122.76793 -136.20334,122.48863 -136.20334,122.14098 L -136.20334,122.14098 z M -125.67404,118.88902 C -125.38499,118.47497 -125.07249,118.17321 -124.73654,117.98375 C -124.40061,117.7943 -124.00804,117.69958 -123.55881,117.69957 C -122.84397,117.69958 -122.30979,117.90172 -121.95627,118.30602 C -121.60276,118.71032 -121.42601,119.32067 -121.42599,120.13707 L -121.42599,123.38902 L -120.53537,123.38902 L -120.53537,124.09801 L -124.24435,124.09801 L -124.24435,123.38902 L -123.50021,123.38902 L -123.50021,120.44762 C -123.50022,119.67028 -123.55979,119.18004 -123.67892,118.97691 C -123.79807,118.77379 -124.01975,118.67223 -124.34396,118.67223 C -124.71116,118.67223 -124.99632,118.81383 -125.19943,119.09703 C -125.40256,119.38024 -125.50413,119.78356 -125.50412,120.30699 L -125.50412,123.38902 L -124.75998,123.38902 L -124.75998,124.09801 L -128.32248,124.09801 L -128.32248,123.38902 L -127.57834,123.38902 L -127.57834,120.44762 C -127.57834,119.67028 -127.63889,119.18004 -127.75998,118.97691 C -127.88108,118.77379 -128.10178,118.67223 -128.42209,118.67223 C -128.79319,118.67223 -129.0803,118.81383 -129.28342,119.09703 C -129.48655,119.38024 -129.58811,119.78356 -129.5881,120.30699 L -129.5881,123.38902 L -128.84396,123.38902 L -128.84396,124.09801 L -132.54709,124.09801 L -132.54709,123.38902 L -131.66232,123.38902 L -131.66232,118.57848 L -132.54709,118.57848 L -132.54709,117.86949 L -129.5881,117.86949 L -129.5881,118.7484 C -129.34592,118.38512 -129.06858,118.1195 -128.75607,117.95152 C -128.44358,117.78356 -128.07248,117.69958 -127.64279,117.69957 C -127.13499,117.69958 -126.72288,117.79626 -126.40646,117.98961 C -126.09006,118.18297 -125.84592,118.48278 -125.67404,118.88902 L -125.67404,118.88902 z M -115.44357,120.58238 C -115.44358,119.76207 -115.51975,119.18688 -115.67209,118.8568 C -115.82444,118.52672 -116.0842,118.36168 -116.45139,118.36168 C -116.80686,118.36168 -117.06174,118.52379 -117.21603,118.84801 C -117.37033,119.17223 -117.44748,119.7152 -117.44748,120.47691 L -117.44748,120.58238 L -115.44357,120.58238 z M -113.16428,121.27965 L -117.44748,121.27965 L -117.44748,121.32652 C -117.44748,122.13121 -117.32639,122.71227 -117.0842,123.06969 C -116.84201,123.42711 -116.45139,123.60582 -115.91232,123.60582 C -115.46311,123.60582 -115.09983,123.48668 -114.82248,123.2484 C -114.54514,123.01012 -114.36741,122.66441 -114.28928,122.21129 L -113.31662,122.21129 C -113.4846,122.91832 -113.81858,123.43785 -114.31857,123.76988 C -114.81858,124.10191 -115.5178,124.26793 -116.41623,124.26793 C -117.49436,124.26793 -118.3215,123.98375 -118.89767,123.41539 C -119.47385,122.84703 -119.76193,122.03551 -119.76193,120.98082 C -119.76193,119.94957 -119.46701,119.14489 -118.87717,118.56676 C -118.28732,117.98864 -117.46701,117.69958 -116.41623,117.69957 C -115.38498,117.69958 -114.59397,118.00329 -114.04318,118.6107 C -113.49241,119.21813 -113.19944,120.10778 -113.16428,121.27965 L -113.16428,121.27965 z M -106.16818,117.79918 L -106.16818,119.6566 L -106.83029,119.6566 C -106.85374,119.32457 -106.94358,119.0775 -107.09982,118.91539 C -107.25608,118.75329 -107.48264,118.67223 -107.77951,118.67223 C -108.23264,118.67223 -108.59006,118.87145 -108.85178,119.26988 C -109.1135,119.66832 -109.24436,120.22106 -109.24435,120.92809 L -109.24435,123.38902 L -108.11349,123.38902 L -108.11349,124.09801 L -112.20334,124.09801 L -112.20334,123.38902 L -111.31857,123.38902 L -111.31857,118.57848 L -112.26779,118.57848 L -112.26779,117.86949 L -109.24435,117.86949 L -109.24435,118.97691 C -109.04123,118.54333 -108.77268,118.22204 -108.43869,118.01305 C -108.10471,117.80407 -107.69553,117.69958 -107.21115,117.69957 C -107.09006,117.69958 -106.9426,117.70837 -106.76877,117.72594 C -106.59495,117.74352 -106.39475,117.76794 -106.16818,117.79918 L -106.16818,117.79918 z M -99.675995,120.27184 L -99.675995,123.38902 L -98.78537,123.38902 L -98.78537,124.09801 L -101.75021,124.09801 L -101.75021,123.30699 C -102.02366,123.63512 -102.32834,123.8773 -102.66428,124.03355 C -103.00022,124.1898 -103.38303,124.26793 -103.81271,124.26793 C -104.44943,124.26793 -104.93869,124.09703 -105.28049,123.75523 C -105.62228,123.41344 -105.79318,122.92418 -105.79318,122.28746 C -105.79318,121.58824 -105.54807,121.06481 -105.05783,120.71715 C -104.5676,120.3695 -103.82834,120.19567 -102.84006,120.19566 L -101.75021,120.19566 L -101.75021,119.82652 C -101.75022,119.32262 -101.86936,118.95055 -102.10764,118.71031 C -102.34592,118.47008 -102.71506,118.34997 -103.21506,118.34996 C -103.62912,118.34997 -103.94846,118.43493 -104.17307,118.60484 C -104.39768,118.77477 -104.55686,119.05309 -104.6506,119.4398 L -105.31271,119.4398 L -105.31271,118.09801 C -104.94162,117.9652 -104.55686,117.86559 -104.15842,117.79918 C -103.75998,117.73278 -103.34006,117.69958 -102.89865,117.69957 C -101.78537,117.69958 -100.96995,117.90661 -100.45236,118.32066 C -99.93479,118.73473 -99.676001,119.38512 -99.675995,120.27184 L -99.675995,120.27184 z M -101.75021,122.14098 L -101.75021,120.89293 L -102.52951,120.89293 C -102.91623,120.89293 -103.21311,120.9984 -103.42014,121.20934 C -103.62717,121.42028 -103.73068,121.72301 -103.73068,122.11754 C -103.73068,122.51207 -103.65549,122.80699 -103.5051,123.0023 C -103.35471,123.19762 -103.12522,123.29527 -102.81662,123.29527 C -102.49631,123.29527 -102.2385,123.1898 -102.04318,122.97887 C -101.84787,122.76793 -101.75022,122.48863 -101.75021,122.14098 L -101.75021,122.14098 z" id="text2391"/>
+  <path style="font-style: normal; font-variant: normal; font-weight: bold; font-stretch: normal; text-anchor: start; fill: url(#linearGradient2951) rgb(0, 0, 0); fill-opacity: 1; stroke: rgb(0, 0, 0); stroke-width: 0.625; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-opacity: 0.784314; font-family: Bitstream Vera Serif;" d="M -141.85959,122.10191 C -142.09007,123.00426 -142.50413,123.67418 -143.10178,124.11168 C -143.69944,124.54918 -144.50217,124.76793 -145.50998,124.76793 C -146.98655,124.76793 -148.15354,124.3607 -149.01096,123.54625 C -149.86838,122.7318 -150.29709,121.62731 -150.29709,120.23277 C -150.29709,118.83434 -149.86838,117.7279 -149.01096,116.91344 C -148.15354,116.09899 -146.98655,115.69177 -145.50998,115.69176 C -144.99045,115.69177 -144.44944,115.75427 -143.88693,115.87926 C -143.32444,116.00427 -142.72874,116.19372 -142.09982,116.44762 L -142.09982,118.59801 L -142.84396,118.59801 C -142.99632,117.86364 -143.27366,117.31383 -143.67599,116.94859 C -144.07835,116.58337 -144.60959,116.40075 -145.26974,116.40074 C -146.12131,116.40075 -146.75412,116.71423 -147.16818,117.34117 C -147.58225,117.96813 -147.78928,118.932 -147.78928,120.23277 C -147.78928,121.53356 -147.58225,122.49645 -147.16818,123.12144 C -146.75412,123.74645 -146.11741,124.05895 -145.25803,124.05894 C -144.676,124.05895 -144.20042,123.89684 -143.83127,123.57262 C -143.46214,123.2484 -143.19358,122.75817 -143.0256,122.10191 L -141.85959,122.10191 z M -134.62912,120.77184 L -134.62912,123.88902 L -133.73849,123.88902 L -133.73849,124.59801 L -136.70334,124.59801 L -136.70334,123.80699 C -136.97678,124.13512 -137.28147,124.3773 -137.6174,124.53355 C -137.95334,124.6898 -138.33615,124.76793 -138.76584,124.76793 C -139.40256,124.76793 -139.89182,124.59703 -140.23361,124.25523 C -140.57541,123.91344 -140.74631,123.42418 -140.74631,122.78746 C -140.74631,122.08824 -140.50119,121.56481 -140.01096,121.21715 C -139.52072,120.8695 -138.78147,120.69567 -137.79318,120.69566 L -136.70334,120.69566 L -136.70334,120.32652 C -136.70334,119.82262 -136.82248,119.45055 -137.06076,119.21031 C -137.29905,118.97008 -137.66819,118.84997 -138.16818,118.84996 C -138.58225,118.84997 -138.90158,118.93493 -139.12619,119.10484 C -139.3508,119.27477 -139.50998,119.55309 -139.60373,119.9398 L -140.26584,119.9398 L -140.26584,118.59801 C -139.89475,118.4652 -139.50998,118.36559 -139.11154,118.29918 C -138.71311,118.23278 -138.29319,118.19958 -137.85178,118.19957 C -136.7385,118.19958 -135.92307,118.40661 -135.40549,118.82066 C -134.88792,119.23473 -134.62913,119.88512 -134.62912,120.77184 L -134.62912,120.77184 z M -136.70334,122.64098 L -136.70334,121.39293 L -137.48264,121.39293 C -137.86936,121.39293 -138.16623,121.4984 -138.37326,121.70934 C -138.58029,121.92028 -138.68381,122.22301 -138.68381,122.61754 C -138.68381,123.01207 -138.60861,123.30699 -138.45822,123.5023 C -138.30783,123.69762 -138.07834,123.79527 -137.76974,123.79527 C -137.44944,123.79527 -137.19162,123.6898 -136.99631,123.47887 C -136.801,123.26793 -136.70334,122.98863 -136.70334,122.64098 L -136.70334,122.64098 z M -126.17404,119.38902 C -125.88499,118.97497 -125.57249,118.67321 -125.23654,118.48375 C -124.90061,118.2943 -124.50804,118.19958 -124.05881,118.19957 C -123.34397,118.19958 -122.80979,118.40172 -122.45627,118.80602 C -122.10276,119.21032 -121.92601,119.82067 -121.92599,120.63707 L -121.92599,123.88902 L -121.03537,123.88902 L -121.03537,124.59801 L -124.74435,124.59801 L -124.74435,123.88902 L -124.00021,123.88902 L -124.00021,120.94762 C -124.00022,120.17028 -124.05979,119.68004 -124.17892,119.47691 C -124.29807,119.27379 -124.51975,119.17223 -124.84396,119.17223 C -125.21116,119.17223 -125.49632,119.31383 -125.69943,119.59703 C -125.90256,119.88024 -126.00413,120.28356 -126.00412,120.80699 L -126.00412,123.88902 L -125.25998,123.88902 L -125.25998,124.59801 L -128.82248,124.59801 L -128.82248,123.88902 L -128.07834,123.88902 L -128.07834,120.94762 C -128.07834,120.17028 -128.13889,119.68004 -128.25998,119.47691 C -128.38108,119.27379 -128.60178,119.17223 -128.92209,119.17223 C -129.29319,119.17223 -129.5803,119.31383 -129.78342,119.59703 C -129.98655,119.88024 -130.08811,120.28356 -130.0881,120.80699 L -130.0881,123.88902 L -129.34396,123.88902 L -129.34396,124.59801 L -133.04709,124.59801 L -133.04709,123.88902 L -132.16232,123.88902 L -132.16232,119.07848 L -133.04709,119.07848 L -133.04709,118.36949 L -130.0881,118.36949 L -130.0881,119.2484 C -129.84592,118.88512 -129.56858,118.6195 -129.25607,118.45152 C -128.94358,118.28356 -128.57248,118.19958 -128.14279,118.19957 C -127.63499,118.19958 -127.22288,118.29626 -126.90646,118.48961 C -126.59006,118.68297 -126.34592,118.98278 -126.17404,119.38902 L -126.17404,119.38902 z M -115.94357,121.08238 C -115.94358,120.26207 -116.01975,119.68688 -116.17209,119.3568 C -116.32444,119.02672 -116.5842,118.86168 -116.95139,118.86168 C -117.30686,118.86168 -117.56174,119.02379 -117.71603,119.34801 C -117.87033,119.67223 -117.94748,120.2152 -117.94748,120.97691 L -117.94748,121.08238 L -115.94357,121.08238 z M -113.66428,121.77965 L -117.94748,121.77965 L -117.94748,121.82652 C -117.94748,122.63121 -117.82639,123.21227 -117.5842,123.56969 C -117.34201,123.92711 -116.95139,124.10582 -116.41232,124.10582 C -115.96311,124.10582 -115.59983,123.98668 -115.32248,123.7484 C -115.04514,123.51012 -114.86741,123.16441 -114.78928,122.71129 L -113.81662,122.71129 C -113.9846,123.41832 -114.31858,123.93785 -114.81857,124.26988 C -115.31858,124.60191 -116.0178,124.76793 -116.91623,124.76793 C -117.99436,124.76793 -118.8215,124.48375 -119.39767,123.91539 C -119.97385,123.34703 -120.26193,122.53551 -120.26193,121.48082 C -120.26193,120.44957 -119.96701,119.64489 -119.37717,119.06676 C -118.78732,118.48864 -117.96701,118.19958 -116.91623,118.19957 C -115.88498,118.19958 -115.09397,118.50329 -114.54318,119.1107 C -113.99241,119.71813 -113.69944,120.60778 -113.66428,121.77965 L -113.66428,121.77965 z M -106.66818,118.29918 L -106.66818,120.1566 L -107.33029,120.1566 C -107.35374,119.82457 -107.44358,119.5775 -107.59982,119.41539 C -107.75608,119.25329 -107.98264,119.17223 -108.27951,119.17223 C -108.73264,119.17223 -109.09006,119.37145 -109.35178,119.76988 C -109.6135,120.16832 -109.74436,120.72106 -109.74435,121.42809 L -109.74435,123.88902 L -108.61349,123.88902 L -108.61349,124.59801 L -112.70334,124.59801 L -112.70334,123.88902 L -111.81857,123.88902 L -111.81857,119.07848 L -112.76779,119.07848 L -112.76779,118.36949 L -109.74435,118.36949 L -109.74435,119.47691 C -109.54123,119.04333 -109.27268,118.72204 -108.93869,118.51305 C -108.60471,118.30407 -108.19553,118.19958 -107.71115,118.19957 C -107.59006,118.19958 -107.4426,118.20837 -107.26877,118.22594 C -107.09495,118.24352 -106.89475,118.26794 -106.66818,118.29918 L -106.66818,118.29918 z M -100.17599,120.77184 L -100.17599,123.88902 L -99.28537,123.88902 L -99.28537,124.59801 L -102.25021,124.59801 L -102.25021,123.80699 C -102.52366,124.13512 -102.82834,124.3773 -103.16428,124.53355 C -103.50022,124.6898 -103.88303,124.76793 -104.31271,124.76793 C -104.94943,124.76793 -105.43869,124.59703 -105.78049,124.25523 C -106.12228,123.91344 -106.29318,123.42418 -106.29318,122.78746 C -106.29318,122.08824 -106.04807,121.56481 -105.55783,121.21715 C -105.0676,120.8695 -104.32834,120.69567 -103.34006,120.69566 L -102.25021,120.69566 L -102.25021,120.32652 C -102.25022,119.82262 -102.36936,119.45055 -102.60764,119.21031 C -102.84592,118.97008 -103.21506,118.84997 -103.71506,118.84996 C -104.12912,118.84997 -104.44846,118.93493 -104.67307,119.10484 C -104.89768,119.27477 -105.05686,119.55309 -105.1506,119.9398 L -105.81271,119.9398 L -105.81271,118.59801 C -105.44162,118.4652 -105.05686,118.36559 -104.65842,118.29918 C -104.25998,118.23278 -103.84006,118.19958 -103.39865,118.19957 C -102.28537,118.19958 -101.46995,118.40661 -100.95236,118.82066 C -100.43479,119.23473 -100.176,119.88512 -100.17599,120.77184 L -100.17599,120.77184 z M -102.25021,122.64098 L -102.25021,121.39293 L -103.02951,121.39293 C -103.41623,121.39293 -103.71311,121.4984 -103.92014,121.70934 C -104.12717,121.92028 -104.23068,122.22301 -104.23068,122.61754 C -104.23068,123.01207 -104.15549,123.30699 -104.0051,123.5023 C -103.85471,123.69762 -103.62522,123.79527 -103.31662,123.79527 C -102.99631,123.79527 -102.7385,123.6898 -102.54318,123.47887 C -102.34787,123.26793 -102.25022,122.98863 -102.25021,122.64098 L -102.25021,122.64098 z" id="text2379" transform="matrix(0, -1, 1, 0, 0, 0)"/>
+  <path style="font-style: italic; font-variant: normal; font-weight: bold; font-stretch: condensed; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Arial Narrow;" d="M -128.66444,347.21399 L -128.66444,338.62415 L -125.70545,338.62415 C -125.03749,338.62415 -124.52772,338.66517 -124.17616,338.74719 C -123.68397,338.86048 -123.26405,339.06556 -122.91639,339.36243 C -122.46327,339.74525 -122.1244,340.2345 -121.89979,340.8302 C -121.67519,341.42591 -121.56288,342.10657 -121.56287,342.87219 C -121.56288,343.52454 -121.63905,344.10266 -121.79139,344.60657 C -121.94374,345.11048 -122.13905,345.52747 -122.37733,345.85754 C -122.61562,346.18762 -122.87636,346.44739 -123.15955,346.63684 C -123.44276,346.82629 -123.78456,346.96985 -124.18494,347.0675 C -124.58534,347.16516 -125.0453,347.21399 -125.56483,347.21399 L -128.66444,347.21399 z M -127.52772,346.20032 L -125.69373,346.20032 C -125.12733,346.20032 -124.683,346.14758 -124.36073,346.04211 C -124.03847,345.93665 -123.78163,345.78821 -123.59022,345.5968 C -123.32069,345.32727 -123.11073,344.96497 -122.96033,344.50989 C -122.80995,344.05481 -122.73476,343.50306 -122.73475,342.85461 C -122.73476,341.95618 -122.88222,341.26575 -123.17713,340.78333 C -123.47206,340.30091 -123.83046,339.97767 -124.25233,339.8136 C -124.55702,339.69642 -125.04725,339.63782 -125.72303,339.63782 L -127.52772,339.63782 L -127.52772,346.20032 z M -120.12147,339.83704 L -120.12147,338.62415 L -119.06678,338.62415 L -119.06678,339.83704 L -120.12147,339.83704 z M -120.12147,347.21399 L -120.12147,340.99133 L -119.06678,340.99133 L -119.06678,347.21399 L -120.12147,347.21399 z M -117.64881,347.72961 L -116.62342,347.88196 C -116.58045,348.19836 -116.46131,348.42883 -116.266,348.57336 C -116.00428,348.76868 -115.64686,348.86633 -115.19373,348.86633 C -114.70546,348.86633 -114.3285,348.76868 -114.06287,348.57336 C -113.79725,348.37805 -113.61757,348.10461 -113.52381,347.75305 C -113.46913,347.53821 -113.44374,347.08704 -113.44764,346.39954 C -113.90858,346.94251 -114.4828,347.21399 -115.1703,347.21399 C -116.02577,347.21399 -116.68788,346.9054 -117.15662,346.28821 C -117.62537,345.67102 -117.85975,344.93079 -117.85975,344.0675 C -117.85975,343.47376 -117.75233,342.92591 -117.53748,342.42395 C -117.32264,341.922 -117.01112,341.53431 -116.60291,341.26086 C -116.19471,340.98743 -115.71522,340.85071 -115.16444,340.85071 C -114.43007,340.85071 -113.8246,341.14759 -113.34803,341.74133 L -113.34803,340.99133 L -112.37537,340.99133 L -112.37537,346.37024 C -112.37538,347.33899 -112.47401,348.02551 -112.67127,348.42981 C -112.86854,348.8341 -113.18104,349.15344 -113.60877,349.38782 C -114.03651,349.62219 -114.56288,349.73938 -115.18787,349.73938 C -115.93006,349.73938 -116.52967,349.57239 -116.9867,349.2384 C -117.44373,348.90442 -117.66444,348.40149 -117.64881,347.72961 L -117.64881,347.72961 z M -116.77576,343.99133 C -116.77577,344.80774 -116.61366,345.40344 -116.28944,345.77844 C -115.96522,346.15344 -115.55897,346.34094 -115.07069,346.34094 C -114.58632,346.34094 -114.18007,346.15442 -113.85194,345.78137 C -113.52382,345.40833 -113.35975,344.82337 -113.35975,344.02649 C -113.35975,343.26477 -113.5287,342.69056 -113.86658,342.30383 C -114.20448,341.91712 -114.61171,341.72376 -115.08826,341.72375 C -115.55702,341.72376 -115.95545,341.91419 -116.28358,342.29504 C -116.6117,342.67591 -116.77577,343.24134 -116.77576,343.99133 L -116.77576,343.99133 z M -110.76991,339.83704 L -110.76991,338.62415 L -109.71522,338.62415 L -109.71522,339.83704 L -110.76991,339.83704 z M -110.76991,347.21399 L -110.76991,340.99133 L -109.71522,340.99133 L -109.71522,347.21399 L -110.76991,347.21399 z M -108.35584,344.45422 L -107.28358,344.36047 C -107.2328,344.79016 -107.11463,345.1427 -106.92908,345.41809 C -106.74354,345.69348 -106.45545,345.91614 -106.06483,346.08606 C -105.67421,346.25598 -105.23475,346.34094 -104.74647,346.34094 C -104.31288,346.34094 -103.93007,346.27649 -103.59803,346.14758 C -103.266,346.01868 -103.01893,345.84192 -102.85682,345.61731 C -102.69472,345.3927 -102.61366,345.14759 -102.61366,344.88196 C -102.61366,344.61243 -102.69179,344.37708 -102.84803,344.1759 C -103.00429,343.97473 -103.2621,343.80579 -103.62147,343.66907 C -103.85194,343.57923 -104.36171,343.43958 -105.15076,343.25012 C -105.93983,343.06067 -106.49256,342.88196 -106.80897,342.71399 C -107.21913,342.49915 -107.52479,342.23255 -107.72596,341.91418 C -107.92713,341.59583 -108.02772,341.23939 -108.02772,340.84485 C -108.02772,340.41126 -107.90467,340.00599 -107.65858,339.62903 C -107.41248,339.25208 -107.05311,338.96595 -106.58045,338.77063 C -106.1078,338.57533 -105.58241,338.47767 -105.00428,338.47766 C -104.36757,338.47767 -103.80604,338.58021 -103.31971,338.78528 C -102.83339,338.99036 -102.45936,339.29212 -102.19764,339.69055 C -101.93593,340.089 -101.7953,340.54017 -101.77576,341.04407 L -102.86561,341.1261 C -102.92421,340.58314 -103.12245,340.17298 -103.46033,339.89563 C -103.79823,339.61829 -104.29725,339.47962 -104.95741,339.47961 C -105.64491,339.47962 -106.14588,339.6056 -106.46033,339.85754 C -106.77479,340.1095 -106.93202,340.41321 -106.93201,340.76868 C -106.93202,341.07728 -106.82069,341.33118 -106.59803,341.5304 C -106.37928,341.72962 -105.80799,341.93372 -104.88416,342.1427 C -103.96034,342.35169 -103.32655,342.53431 -102.9828,342.69055 C -102.4828,342.92102 -102.11366,343.21302 -101.87537,343.56653 C -101.6371,343.92005 -101.51796,344.32727 -101.51795,344.78821 C -101.51796,345.24524 -101.64882,345.6759 -101.91053,346.0802 C -102.17226,346.4845 -102.54823,346.79895 -103.03846,347.02356 C -103.5287,347.24817 -104.08046,347.36047 -104.69373,347.36047 C -105.47108,347.36047 -106.12245,347.24719 -106.64783,347.02063 C -107.17323,346.79407 -107.58534,346.45325 -107.88416,345.99817 C -108.18299,345.54309 -108.34022,345.02844 -108.35584,344.45422 L -108.35584,344.45422 z M -100.08826,347.21399 L -100.08826,338.62415 L -99.033577,338.62415 L -99.033577,341.70618 C -98.541392,341.13587 -97.920299,340.85071 -97.170296,340.85071 C -96.709362,340.85071 -96.308972,340.94153 -95.969124,341.12317 C -95.629285,341.30482 -95.386122,341.55579 -95.239632,341.8761 C -95.093153,342.19642 -95.019911,342.66126 -95.019905,343.27063 L -95.019905,347.21399 L -96.074593,347.21399 L -96.074593,343.27063 C -96.074597,342.74329 -96.188855,342.3595 -96.417366,342.11926 C -96.645886,341.87903 -96.969128,341.75892 -97.387093,341.75891 C -97.699596,341.75892 -97.993541,341.83997 -98.268929,342.00208 C -98.544321,342.16419 -98.74061,342.38392 -98.857796,342.66125 C -98.974985,342.9386 -99.033579,343.32142 -99.033577,343.80969 L -99.033577,347.21399 L -100.08826,347.21399 z M -93.801155,344.10266 C -93.801155,342.95032 -93.480843,342.09681 -92.840218,341.54211 C -92.305063,341.08118 -91.65272,340.85071 -90.883186,340.85071 C -90.027722,340.85071 -89.328504,341.13099 -88.78553,341.69153 C -88.242567,342.25208 -87.971083,343.02649 -87.971077,344.01477 C -87.971083,344.81555 -88.0912,345.44544 -88.331429,345.90442 C -88.571669,346.3634 -88.921278,346.71985 -89.380257,346.97375 C -89.839245,347.22766 -90.340221,347.35461 -90.883186,347.35461 C -91.754283,347.35461 -92.458383,347.07532 -92.995491,346.51672 C -93.532601,345.95813 -93.801155,345.15344 -93.801155,344.10266 L -93.801155,344.10266 z M -92.717171,344.10266 C -92.717172,344.89954 -92.543344,345.49622 -92.195686,345.8927 C -91.848032,346.28919 -91.410533,346.48743 -90.883186,346.48743 C -90.359753,346.48743 -89.924206,346.28821 -89.576546,345.88977 C -89.228894,345.49133 -89.055066,344.88391 -89.055061,344.0675 C -89.055066,343.29798 -89.229871,342.71497 -89.579475,342.31848 C -89.929089,341.922 -90.363659,341.72376 -90.883186,341.72375 C -91.410533,341.72376 -91.848032,341.92103 -92.195686,342.31555 C -92.543344,342.71009 -92.717172,343.30579 -92.717171,344.10266 L -92.717171,344.10266 z M -84.426155,346.27063 L -84.273811,347.20227 C -84.570689,347.26477 -84.836314,347.29602 -85.070686,347.29602 C -85.453501,347.29602 -85.750376,347.23547 -85.961311,347.11438 C -86.17225,346.99329 -86.320688,346.83411 -86.406624,346.63684 C -86.492562,346.43958 -86.535531,346.02454 -86.53553,345.39172 L -86.53553,341.81165 L -87.308968,341.81165 L -87.308968,340.99133 L -86.53553,340.99133 L -86.53553,339.45032 L -85.486702,338.8175 L -85.486702,340.99133 L -84.426155,340.99133 L -84.426155,341.81165 L -85.486702,341.81165 L -85.486702,345.45032 C -85.486704,345.7511 -85.468149,345.94446 -85.431038,346.0304 C -85.393931,346.11633 -85.333384,346.18469 -85.249397,346.23547 C -85.165415,346.28626 -85.045298,346.31165 -84.889046,346.31165 C -84.771861,346.31165 -84.617564,346.29797 -84.426155,346.27063 L -84.426155,346.27063 z M -110.85194,356.20227 L -109.71522,356.48938 C -109.95351,357.42298 -110.38222,358.13489 -111.00135,358.62512 C -111.6205,359.11536 -112.37733,359.36047 -113.27186,359.36047 C -114.19764,359.36047 -114.95057,359.172 -115.53065,358.79504 C -116.11073,358.41809 -116.55213,357.87219 -116.85487,357.15735 C -117.1576,356.44251 -117.30897,355.67493 -117.30897,354.85461 C -117.30897,353.96009 -117.13807,353.17982 -116.79627,352.51379 C -116.45448,351.84779 -115.96815,351.34193 -115.33729,350.99622 C -114.70643,350.65052 -114.0121,350.47767 -113.25428,350.47766 C -112.39491,350.47767 -111.67226,350.69642 -111.08631,351.13391 C -110.50038,351.57142 -110.09218,352.18665 -109.8617,352.97961 L -110.98084,353.24329 C -111.18007,352.61829 -111.46913,352.16322 -111.84803,351.87805 C -112.22694,351.5929 -112.7035,351.45033 -113.27772,351.45032 C -113.93788,351.45033 -114.48964,351.60853 -114.93299,351.92493 C -115.37635,352.24134 -115.68788,352.66614 -115.86756,353.19934 C -116.04725,353.73255 -116.13709,354.28235 -116.13709,354.84875 C -116.13709,355.57923 -116.03065,356.21692 -115.81776,356.76184 C -115.60487,357.30676 -115.27381,357.71399 -114.82459,357.98352 C -114.37538,358.25305 -113.88905,358.38782 -113.36561,358.38782 C -112.72889,358.38782 -112.18983,358.20422 -111.74842,357.83704 C -111.30702,357.46985 -111.00819,356.92493 -110.85194,356.20227 L -110.85194,356.20227 z M -103.26405,352.72766 L -104.31287,352.80969 C -104.40663,352.39564 -104.53944,352.09486 -104.71131,351.90735 C -104.99647,351.60657 -105.34803,351.45618 -105.766,351.45618 C -106.10194,351.45618 -106.39686,351.54993 -106.65076,351.73743 C -106.9828,351.97962 -107.24452,352.33314 -107.43592,352.79797 C -107.62733,353.26282 -107.72694,353.92493 -107.73475,354.7843 C -107.48084,354.39759 -107.1703,354.11048 -106.80311,353.92297 C -106.43592,353.73548 -106.05116,353.64173 -105.64881,353.64172 C -104.94569,353.64173 -104.34706,353.90052 -103.85291,354.41809 C -103.35878,354.93567 -103.11171,355.60462 -103.1117,356.42493 C -103.11171,356.96399 -103.22792,357.46497 -103.46033,357.92786 C -103.69276,358.39075 -104.0121,358.74524 -104.41834,358.99133 C -104.8246,359.23743 -105.28553,359.36047 -105.80116,359.36047 C -106.68006,359.36047 -107.39686,359.03723 -107.95155,358.39075 C -108.50623,357.74426 -108.78358,356.67884 -108.78358,355.19446 C -108.78358,353.53431 -108.47694,352.32728 -107.86366,351.57336 C -107.3285,350.91712 -106.6078,350.589 -105.70155,350.58899 C -105.02577,350.589 -104.47206,350.77845 -104.04041,351.15735 C -103.60878,351.53626 -103.34999,352.0597 -103.26405,352.72766 L -103.26405,352.72766 z M -107.57069,356.43079 C -107.57069,356.79407 -107.49354,357.14173 -107.33924,357.47375 C -107.18495,357.80579 -106.96913,358.05872 -106.69178,358.23254 C -106.41444,358.40637 -106.12342,358.49329 -105.81873,358.49329 C -105.37342,358.49329 -104.99061,358.3136 -104.6703,357.95422 C -104.34999,357.59485 -104.18983,357.10657 -104.18983,356.48938 C -104.18983,355.89563 -104.34803,355.42786 -104.66444,355.08606 C -104.98085,354.74427 -105.37928,354.57337 -105.85975,354.57336 C -106.33631,354.57337 -106.74061,354.74427 -107.07264,355.08606 C -107.40467,355.42786 -107.57069,355.8761 -107.57069,356.43079 L -107.57069,356.43079 z M -102.05701,354.97766 C -102.05701,353.96204 -101.95252,353.14466 -101.74354,352.52551 C -101.53455,351.90638 -101.22401,351.42884 -100.8119,351.0929 C -100.39979,350.75697 -99.881236,350.589 -99.256233,350.58899 C -98.795299,350.589 -98.391003,350.68177 -98.043343,350.86731 C -97.695691,351.05286 -97.408582,351.32044 -97.182014,351.67004 C -96.955458,352.01966 -96.777723,352.44544 -96.648811,352.94739 C -96.519911,353.44935 -96.455458,354.1261 -96.455452,354.97766 C -96.455458,355.98548 -96.558974,356.79895 -96.765999,357.41809 C -96.973036,358.03723 -97.282606,358.51575 -97.69471,358.85364 C -98.106824,359.19153 -98.627331,359.36047 -99.256233,359.36047 C -100.08436,359.36047 -100.73475,359.0636 -101.20741,358.46985 C -101.77381,357.75501 -102.05701,356.59095 -102.05701,354.97766 L -102.05701,354.97766 z M -100.97303,354.97766 C -100.97303,356.38782 -100.80799,357.3263 -100.47791,357.79309 C -100.14784,358.25989 -99.740611,358.49329 -99.256233,358.49329 C -98.771862,358.49329 -98.364636,358.25891 -98.034554,357.79016 C -97.70448,357.32141 -97.539441,356.38391 -97.539436,354.97766 C -97.539441,353.5636 -97.70448,352.62415 -98.034554,352.1593 C -98.364636,351.69447 -98.775768,351.46204 -99.267952,351.46204 C -99.75233,351.46204 -100.13905,351.66712 -100.42811,352.07727 C -100.79139,352.60071 -100.97303,353.56751 -100.97303,354.97766 L -100.97303,354.97766 z" id="text2397" transform="matrix(0, -1, 1, 0, 0, 0)"/>
+  <rect height="16.52914" id="rect2403" rx="2.1213202" ry="2.1213195" style="fill: url(#linearGradient2942) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2944) rgb(0, 0, 0); stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" width="73.765671" x="311.98959" y="16.371693"/>
+  <rect height="14.380119" id="rect2435" style="opacity: 0.4; fill: url(#linearGradient2939) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" width="69.811966" x="313.96686" y="17.446339"/>
+  <rect height="8.7436724" id="rect2441" style="opacity: 0.6; fill: url(#linearGradient2936) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" width="69.111969" x="314.31686" y="18.165882"/>
+  <rect height="24.682844" id="rect2469" rx="2" ry="2" style="opacity: 0.9; fill: rgb(25, 25, 25); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2933) rgb(0, 0, 0); stroke-width: 0.625; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;" width="34.684162" x="200.87665" y="15.127797"/>
+  <path d="M 227.92286,27.469571 C 227.92286,32.816546 223.57816,37.151116 218.21871,37.151116 C 212.85926,37.151116 208.51456,32.816546 208.51456,27.469571 C 208.51456,22.122597 212.85926,17.788026 218.21871,17.788026 C 223.57816,17.788026 227.92286,22.122597 227.92286,27.469571 z" id="path2473" style="opacity: 0.28934; fill: url(#radialGradient2930) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.636287; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 230.78663,27.47026 C 230.78663,34.118681 225.15978,39.50828 218.21869,39.50828 C 211.27761,39.50828 205.65076,34.118681 205.65076,27.47026 C 205.65076,20.821839 211.27761,15.43224 218.21869,15.43224 C 225.15978,15.43224 230.78663,20.821839 230.78663,27.47026 z" id="path2483" style="opacity: 0.233503; fill: url(#linearGradient2927) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.636287; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 228.31205,31.004633 C 228.31205,34.333571 223.79323,37.032203 218.21899,37.032203 C 212.64474,37.032203 208.12593,34.333571 208.12593,31.004633 C 208.12593,27.675696 212.64474,24.977064 218.21899,24.977064 C 223.79323,24.977064 228.31205,27.675696 228.31205,31.004633 z" id="path2489" style="fill: url(#linearGradient2924) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.636287; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 218.73917,25.485372 C 218.74082,26.193772 218.34675,26.849028 217.70577,27.20369 C 217.06481,27.558338 216.27465,27.558338 215.63368,27.20369 C 214.99271,26.849028 214.59863,26.193772 214.60029,25.485372 C 214.59863,24.776972 214.99271,24.121716 215.63368,23.767054 C 216.27465,23.412406 217.06481,23.412406 217.70577,23.767054 C 218.34675,24.121716 218.74082,24.776972 218.73917,25.485372 z" id="path2515" style="fill: url(#radialGradient2921) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.625; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 226.43298,31.838416 C 226.43634,33.343766 225.63517,34.736185 224.33203,35.489841 C 223.02892,36.243468 221.42248,36.243468 220.11937,35.489841 C 218.81623,34.736185 218.01506,33.343766 218.01843,31.838416 C 218.01506,30.333066 218.81623,28.940647 220.11937,28.18699 C 221.42248,27.433363 223.02892,27.433363 224.33203,28.18699 C 225.63517,28.940647 226.43634,30.333066 226.43298,31.838416 z" id="path2525" style="opacity: 0.751269; fill: url(#radialGradient2918) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.625; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 246.22987,155.19327 C 224.21407,148.40766 211.83229,125.17402 218.5744,103.2995 C 225.31649,81.424974 248.62936,69.19299 270.64517,75.978603 C 292.66097,82.764217 305.04275,105.99785 298.30065,127.87238 C 291.55856,149.7469 268.24567,161.97888 246.22987,155.19327 L 246.22987,155.19327 z" id="path2545" style="fill: rgb(255, 255, 255); fill-opacity: 0; fill-rule: evenodd; stroke: none; stroke-width: 1.70665; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 281.39724,81.020893 C 300.60997,93.783541 305.90516,119.60477 293.22437,138.69422 C 280.54359,157.78367 254.6888,162.91256 235.47608,150.14992 C 216.26335,137.38727 210.96816,111.56604 223.64894,92.476585 C 236.32972,73.387135 262.18451,68.258245 281.39724,81.020893 L 281.39724,81.020893 z" id="path2564" style="fill: rgb(255, 255, 255); fill-opacity: 0; fill-rule: evenodd; stroke: none; stroke-width: 1.70665; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.784314;"/>
+  <path d="M 21.15625,86.07568 C 21.08503,92.12757 20.875,96.46414 20.875,103.13818 C 20.875,128.22327 21.42224,149.23071 22.21875,160.07568 C 23.55502,162.90442 24.92787,164.85709 26.1875,164.73193 C 30.36098,164.31722 31.91654,145.7894 29.6875,123.35693 C 27.98175,106.19073 24.54916,91.7491 21.15625,86.07568 z" id="path1466" style="fill: url(#radialGradient2907) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 254.28125,14.57568 C 250.42622,17.054 247.84375,21.37417 247.84375,26.29443 C 247.84375,31.21468 250.42622,35.50361 254.28125,37.98193 L 269.28125,37.98193 C 273.13783,35.5039 275.71875,31.21586 275.71875,26.29443 C 275.71875,21.37299 273.13783,17.05371 269.28125,14.57568 L 254.28125,14.57568 z" id="path2247" style="opacity: 0.85; fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2904) rgb(0, 0, 0); stroke-width: 0.85; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 271.08866,25.570571 C 271.08866,30.917546 266.74396,35.252116 261.38451,35.252116 C 256.02506,35.252116 251.68036,30.917546 251.68036,25.570571 C 251.68036,20.223597 256.02506,15.889026 261.38451,15.889026 C 266.74396,15.889026 271.08866,20.223597 271.08866,25.570571 z" id="path2261" style="opacity: 0.28934; fill: url(#radialGradient2901) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.636287; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 273.95263,25.57126 C 273.95263,32.219681 268.32578,37.60928 261.3847,37.60928 C 254.44361,37.60928 248.81676,32.219681 248.81676,25.57126 C 248.81676,18.922839 254.44361,13.53324 261.3847,13.53324 C 268.32578,13.53324 273.95263,18.922839 273.95263,25.57126 z" id="path2263" style="opacity: 0.233503; fill: url(#linearGradient2898) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.636287; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 271.47785,29.105133 C 271.47785,32.434071 266.95903,35.132703 261.38479,35.132703 C 255.81054,35.132703 251.29173,32.434071 251.29173,29.105133 C 251.29173,25.776196 255.81054,23.077564 261.38479,23.077564 C 266.95903,23.077564 271.47785,25.776196 271.47785,29.105133 z" id="path2265" style="fill: url(#linearGradient2895) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.636287; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 262.62081,22.690372 C 262.62239,23.398772 262.24537,24.054028 261.63213,24.40869 C 261.0189,24.763338 260.26293,24.763338 259.6497,24.40869 C 259.03646,24.054028 258.65944,23.398772 258.66102,22.690372 C 258.65944,21.981972 259.03646,21.326716 259.6497,20.972054 C 260.26293,20.617406 261.0189,20.617406 261.63213,20.972054 C 262.24537,21.326716 262.62239,21.981972 262.62081,22.690372 z" id="path2267" style="fill: url(#radialGradient2892) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.625; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 267.80798,30.386416 C 267.81134,31.891766 267.01017,33.284185 265.70703,34.037841 C 264.40392,34.791468 262.79748,34.791468 261.49437,34.037841 C 260.19123,33.284185 259.39006,31.891766 259.39343,30.386416 C 259.39006,28.881066 260.19123,27.488647 261.49437,26.73499 C 262.79748,25.981363 264.40392,25.981363 265.70703,26.73499 C 267.01017,27.488647 267.81134,28.881066 267.80798,30.386416 z" id="path2269" style="opacity: 0.751269; fill: url(#radialGradient2889) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.625; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+  <path d="M 258.51775,16.971651 C 261.77676,17.528301 263.49741,21.607873 262.36092,26.083634 C 261.22443,30.559396 257.66118,33.736462 254.40217,33.179812 C 251.14315,32.623163 249.42251,28.543591 250.55899,24.067829 C 251.69548,19.592068 255.25873,16.415002 258.51775,16.971651 z" id="path2281" style="fill: url(#linearGradient2886) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.636287; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <path d="M 215.80574,19.766488 C 219.06432,20.309512 220.78183,24.278051 219.6419,28.630472 C 218.50197,32.982893 214.93628,36.071019 211.6777,35.527995 C 208.41911,34.984971 206.70161,31.016431 207.84153,26.66401 C 208.98146,22.311589 212.54716,19.223464 215.80574,19.766488 z" id="path2287" style="fill: url(#linearGradient2883) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.636287; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;"/>
+  <rect height="130" id="rect2291" rx="7.5" ry="65" style="fill: url(#linearGradient2878) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient2880) rgb(0, 0, 0); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;" width="15" x="55.875" y="38.125355"/>
+  <rect height="130" id="rect2310" rx="7.5" ry="65" style="opacity: 0.65; fill: url(#linearGradient2875) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;" width="15" x="55.875" y="38.125355"/>
+  <rect height="100" id="rect2318" rx="3.9183178" ry="65" style="opacity: 0.538071; fill: url(#linearGradient2872) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.392157;" width="11.538462" x="57.605759" y="53.125355"/>
+  <rect height="41.305851" id="rect2336" rx="4.8584952" ry="65" style="fill: url(#linearGradient2869) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.196078;" width="8.6424856" x="59.053741" y="58.125355"/>
+  <rect height="87.583504" id="rect2355" rx="3.918318" ry="65" style="opacity: 0.243655; fill: url(#linearGradient2866) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.392157;" width="10.105789" x="58.322098" y="59.333607"/>
+  <path d="M 39.755008,79.53133 C 37.768803,103.45996 34.222669,122.40982 31.834488,121.85701 C 29.446307,121.30421 29.120448,101.45808 31.106653,77.529449 C 33.092858,53.600817 36.638992,34.650962 39.027173,35.203767 C 41.415354,35.756572 41.741214,55.602698 39.755008,79.53133 z" id="path2359" style="opacity: 0.624366; fill: url(#radialGradient2863) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.392157;"/>
+  <path d="M 41.656886,123.02906 C 42.596116,147.45179 39.435763,166.45567 34.598024,165.47541 C 29.760286,164.49514 25.077141,143.90194 24.137911,119.47921 C 23.198682,95.056473 26.359035,76.052594 31.196773,77.032859 C 36.034511,78.013125 40.717657,98.606324 41.656886,123.02906 z" id="path2369" style="opacity: 0.492386; fill: url(#radialGradient2860) rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dashoffset: 0pt; stroke-opacity: 0.392157;"/>
+  <path style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: bold; font-stretch: normal; text-anchor: start; opacity: 0.517766; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: url(#linearGradient2857) rgb(0, 0, 0); stroke-width: 0.999997px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Bitstream Vera Sans;" d="M -190.25237,21.937844 C -189.66253,22.090192 -189.21429,22.35484 -188.90764,22.731789 C -188.60101,23.108745 -188.44769,23.588237 -188.44768,24.170265 C -188.44769,25.037453 -188.77972,25.696632 -189.44377,26.147803 C -190.10784,26.598974 -191.07659,26.82456 -192.35002,26.82456 C -192.79924,26.82456 -193.24944,26.788427 -193.70061,26.716162 C -194.15178,26.643896 -194.59807,26.535498 -195.03947,26.390967 L -195.03947,24.650733 C -194.6176,24.861672 -194.19866,25.020852 -193.78264,25.128272 C -193.36663,25.235695 -192.95745,25.289406 -192.5551,25.289405 C -191.95745,25.289406 -191.49944,25.185891 -191.18108,24.978858 C -190.86272,24.771829 -190.70354,24.474954 -190.70354,24.088233 C -190.70354,23.689799 -190.86663,23.388042 -191.1928,23.182961 C -191.51897,22.977886 -192.00042,22.875347 -192.63713,22.875344 L -193.53948,22.875344 L -193.53948,21.422219 L -192.59026,21.422219 C -192.02386,21.422225 -191.60198,21.333358 -191.32463,21.155618 C -191.04729,20.977889 -190.90862,20.707382 -190.90862,20.344095 C -190.90862,20.008164 -191.04339,19.748399 -191.31291,19.564798 C -191.58245,19.381212 -191.96331,19.289415 -192.45549,19.289408 C -192.81878,19.289415 -193.18596,19.330431 -193.55705,19.412455 C -193.92815,19.494493 -194.29729,19.615587 -194.66448,19.775736 L -194.66448,18.123393 C -194.21916,17.998402 -193.77776,17.904652 -193.34026,17.842143 C -192.90276,17.779652 -192.47307,17.748402 -192.0512,17.748393 C -190.91448,17.748402 -190.0639,17.934925 -189.49944,18.307963 C -188.93499,18.681018 -188.65277,19.24254 -188.65276,19.992533 C -188.65277,20.504257 -188.78753,20.923202 -189.05706,21.249368 C -189.32659,21.575545 -189.72503,21.805036 -190.25237,21.937844 L -190.25237,21.937844 z M -186.27385,24.387061 L -184.16448,24.387061 L -184.16448,26.654638 L -186.27385,26.654638 L -186.27385,24.387061 z M -179.47112,24.996436 L -175.62152,24.996436 L -175.62152,26.654638 L -181.97894,26.654638 L -181.97894,24.996436 L -178.78558,22.178078 C -178.50043,21.920271 -178.28949,21.668318 -178.15277,21.422219 C -178.01605,21.176131 -177.94769,20.920272 -177.94769,20.654642 C -177.94769,20.244492 -178.08539,19.914414 -178.36077,19.664408 C -178.63617,19.414415 -179.00238,19.289415 -179.45941,19.289408 C -179.81097,19.289415 -180.19574,19.364611 -180.6137,19.514994 C -181.03167,19.665391 -181.47894,19.889024 -181.9555,20.185892 L -181.9555,18.264018 C -181.44769,18.096058 -180.94574,17.968128 -180.44964,17.880229 C -179.95355,17.792347 -179.46722,17.748402 -178.99066,17.748393 C -177.94379,17.748402 -177.13031,17.978871 -176.55023,18.439799 C -175.97016,18.900744 -175.68012,19.543321 -175.68011,20.367532 C -175.68012,20.8441 -175.80317,21.288436 -176.04925,21.700539 C -176.29535,22.112653 -176.81293,22.66441 -177.60199,23.355812 L -179.47112,24.996436 z" id="text2319" transform="matrix(0, -0.646182, 1.54755, 0, 0, 0)"/>
+  <path style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: bold; font-stretch: normal; text-anchor: middle; opacity: 0.685279; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: url(#linearGradient2853) rgb(0, 0, 0); stroke-width: 0.999998px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Bitstream Vera Sans;" d="M -121.8179,19.050561 L -118.94681,19.050561 L -116.95463,23.732194 L -114.95073,19.050561 L -112.0855,19.050561 L -112.0855,27.798594 L -114.2183,27.798594 L -114.2183,21.400167 L -116.23393,26.116956 L -117.66361,26.116956 L -119.67923,21.400167 L -119.67923,27.798594 L -121.8179,27.798594 L -121.8179,19.050561 z M -109.8648,19.050561 L -103.77692,19.050561 L -103.77692,20.755637 L -107.60894,20.755637 L -107.60894,22.38454 L -104.00543,22.38454 L -104.00543,24.089615 L -107.60894,24.089615 L -107.60894,26.093518 L -103.64801,26.093518 L -103.64801,27.798594 L -109.8648,27.798594 L -109.8648,19.050561 z M -93.798417,27.148204 C -94.360925,27.421641 -94.944908,27.626719 -95.550368,27.763437 C -96.155842,27.900156 -96.78084,27.968515 -97.425364,27.968515 C -98.882397,27.968515 -100.03669,27.561289 -100.88825,26.746837 C -101.73981,25.932388 -102.16559,24.827898 -102.16559,23.433366 C -102.16559,22.023218 -101.732,20.913846 -100.86481,20.105247 C -99.997629,19.296663 -98.810132,18.892367 -97.302318,18.892358 C -96.720294,18.892367 -96.162678,18.947055 -95.629469,19.056421 C -95.096274,19.165804 -94.593346,19.327913 -94.120682,19.542748 L -94.120682,21.353292 C -94.608971,21.075955 -95.094321,20.868925 -95.576735,20.732199 C -96.059163,20.595488 -96.54256,20.527129 -97.026928,20.527121 C -97.925368,20.527129 -98.617749,20.778104 -99.104073,21.28005 C -99.590403,21.782008 -99.833567,22.49978 -99.833564,23.433366 C -99.833567,24.35915 -99.599192,25.073991 -99.13044,25.577894 C -98.661695,26.081801 -97.995681,26.333754 -97.132396,26.333752 C -96.898027,26.333754 -96.680255,26.319105 -96.479077,26.289807 C -96.277912,26.260512 -96.097248,26.214613 -95.937086,26.152112 L -95.937086,24.452896 L -97.314037,24.452896 L -97.314037,22.94118 L -93.798417,22.94118 L -93.798417,27.148204 z M -86.509366,26.204846 L -90.036704,26.204846 L -90.593343,27.798594 L -92.860918,27.798594 L -89.620689,19.050561 L -86.93124,19.050561 L -83.691011,27.798594 L -85.958586,27.798594 L -86.509366,26.204846 z M -89.474205,24.581802 L -87.077724,24.581802 L -88.273035,21.101339 L -89.474205,24.581802 z M -125.68508,27.19305 L -121.94095,27.19305 C -120.82767,27.193058 -119.97318,27.440128 -119.37748,27.934259 C -118.78178,28.428407 -118.48393,29.132506 -118.48392,30.046561 C -118.48393,30.964533 -118.78178,31.670586 -119.37748,32.164721 C -119.97318,32.658864 -120.82767,32.905934 -121.94095,32.905931 L -123.42923,32.905931 L -123.42923,35.941082 L -125.68508,35.941082 L -125.68508,27.19305 z M -123.42923,28.827813 L -123.42923,31.271168 L -122.18118,31.271168 C -121.74369,31.271173 -121.4058,31.164728 -121.16751,30.951833 C -120.92924,30.738947 -120.8101,30.43719 -120.81009,30.046561 C -120.8101,29.655943 -120.92924,29.355162 -121.16751,29.144218 C -121.4058,28.933288 -121.74369,28.82782 -122.18118,28.827813 L -123.42923,28.827813 z M -116.89603,27.19305 L -114.64018,27.19305 L -114.64018,35.941082 L -116.89603,35.941082 L -116.89603,27.19305 z M -107.54449,31.476246 L -104.50934,35.941082 L -106.85894,35.941082 L -108.90386,32.952806 L -110.9312,35.941082 L -113.29252,35.941082 L -110.25737,31.476246 L -113.17534,27.19305 L -110.81987,27.19305 L -108.90386,30.011404 L -106.99371,27.19305 L -104.62652,27.19305 L -107.54449,31.476246 z M -103.16168,27.19305 L -97.073802,27.19305 L -97.073802,28.898125 L -100.90583,28.898125 L -100.90583,30.527029 L -97.302318,30.527029 L -97.302318,32.232104 L -100.90583,32.232104 L -100.90583,34.236007 L -96.944896,34.236007 L -96.944896,35.941082 L -103.16168,35.941082 L -103.16168,27.19305 z M -94.958569,27.19305 L -92.702714,27.19305 L -92.702714,34.236007 L -88.741783,34.236007 L -88.741783,35.941082 L -94.958569,35.941082 L -94.958569,27.19305 z M -81.230079,27.46844 L -81.230079,29.319999 C -81.710554,29.105163 -82.179303,28.943054 -82.636327,28.833672 C -83.093363,28.724304 -83.525002,28.669617 -83.931246,28.66961 C -84.470312,28.669617 -84.868748,28.743836 -85.126557,28.892266 C -85.384372,29.04071 -85.513278,29.271178 -85.513275,29.583671 C -85.513278,29.818051 -85.426364,30.000668 -85.252533,30.131521 C -85.078709,30.262386 -84.76328,30.374691 -84.306246,30.468435 L -83.34531,30.661794 C -82.372661,30.857111 -81.681257,31.153985 -81.271095,31.552417 C -80.860947,31.950858 -80.655869,32.517263 -80.655861,33.251633 C -80.655869,34.216477 -80.942001,34.934249 -81.514258,35.40495 C -82.086529,35.875652 -82.96055,36.111003 -84.136324,36.111004 C -84.691015,36.111003 -85.247654,36.058269 -85.806243,35.952801 C -86.364838,35.847332 -86.92343,35.691083 -87.482022,35.484052 L -87.482022,33.579758 C -86.92343,33.876634 -86.383393,34.100267 -85.861907,34.250655 C -85.340427,34.401047 -84.837499,34.476242 -84.353121,34.476241 C -83.860939,34.476242 -83.483987,34.394211 -83.222263,34.230147 C -82.96055,34.066087 -82.829691,33.831713 -82.829686,33.527024 C -82.829691,33.253589 -82.918558,33.042652 -83.096287,32.894212 C -83.274026,32.745778 -83.628517,32.612966 -84.159762,32.495775 L -85.032807,32.302416 C -85.907808,32.11492 -86.547455,31.816093 -86.951749,31.405933 C -87.356047,30.995783 -87.558194,30.44305 -87.558194,29.747733 C -87.558194,28.876648 -87.276945,28.206728 -86.714445,27.737971 C -86.151948,27.26923 -85.343357,27.034856 -84.288668,27.034847 C -83.808204,27.034856 -83.314065,27.070988 -82.806248,27.143245 C -82.298443,27.215519 -81.773054,27.323917 -81.230079,27.46844 L -81.230079,27.46844 z" id="text2331" transform="matrix(0, -0.893215, 1.11955, 0, 0, 0)"/>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/__issue-34-02.svg b/Tests/W3CTestSuite/svg/__issue-34-02.svg
new file mode 100644
index 0000000000000000000000000000000000000000..feb8117e282a5ab3547dfa552ee7868d84739613
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/__issue-34-02.svg
@@ -0,0 +1,25 @@
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" width="846" height="68"><defs><style type="text/css">
+    @namespace "http://www.w3.org/2000/svg";
+    .line                 {fill: none; stroke: #332900;}
+    .bold-line            {stroke: #141000; shape-rendering: crispEdges; stroke-width: 2; }
+    .thin-line            {stroke: #1F1800; shape-rendering: crispEdges}
+    .filled               {fill: #332900; stroke: none;}
+    text.terminal         {font-family: Verdana, Sans-serif;
+                            font-size: 12px;
+                            fill: #141000;
+                            font-weight: bold;
+                          }
+    text.nonterminal      {font-family: Verdana, Sans-serif;
+                            font-size: 12px;
+                            fill: #1A1400;
+                          }
+    text.regexp           {font-family: Verdana, Sans-serif;
+                            font-size: 12px;
+                            fill: #1F1800;
+                          }
+    rect, circle, polygon {fill: #332900; stroke: #332900;}
+    rect.terminal         {fill: #FFDB4D; stroke: #332900;}
+    rect.nonterminal      {fill: #FFEC9E; stroke: #332900;}
+    rect.text             {fill: none; stroke: none;}    
+    polygon.regexp        {fill: #FFF4C7; stroke: #332900;}
+  </style></defs><polygon points="9 33 1 29 1 37"/><polygon points="17 33 9 29 9 37"/><line x1="17" y1="33" x2="19" y2="33" class="line"/><a xlink:href="#Spacing" xlink:title="Spacing"><rect x="31" y="19" width="68" height="32"/><rect x="29" y="17" width="68" height="32" class="nonterminal"/><text class="nonterminal" x="39" y="37">Spacing</text></a><line x1="19" y1="33" x2="29" y2="33" class="line"/><line x1="97" y1="33" x2="107" y2="33" class="line"/><a xlink:href="#PackageDeclaration" xlink:title="PackageDeclaration"><rect x="139" y="19" width="144" height="32"/><rect x="137" y="17" width="144" height="32" class="nonterminal"/><text class="nonterminal" x="147" y="37">PackageDeclaration</text></a><line x1="127" y1="33" x2="137" y2="33" class="line"/><line x1="281" y1="33" x2="291" y2="33" class="line"/><line x1="107" y1="33" x2="127" y2="33" class="line"/><line x1="291" y1="33" x2="311" y2="33" class="line"/><path d="M107 33 Q117 33 117 43" class="line"/><path d="M301 43 Q301 33 311 33" class="line"/><line x1="117" y1="43" x2="117" y2="57" class="line"/><line x1="301" y1="57" x2="301" y2="43" class="line"/><path d="M117 57 Q117 67 127 67" class="line"/><path d="M291 67 Q301 67 301 57" class="line"/><line x1="127" y1="67" x2="137" y2="67" class="line"/><line x1="137" y1="67" x2="291" y2="67" class="line"/><a xlink:href="#ImportDeclaration" xlink:title="ImportDeclaration"><rect x="363" y="19" width="132" height="32"/><rect x="361" y="17" width="132" height="32" class="nonterminal"/><text class="nonterminal" x="371" y="37">ImportDeclaration</text></a><line x1="351" y1="33" x2="361" y2="33" class="line"/><line x1="493" y1="33" x2="503" y2="33" class="line"/><path d="M331 33 L351 33 M350 33 Q341 33 341 23 L341 11 Q341 1 351 1" class="line"/><path d="M503 33 L523 33 M503 33 Q513 33 513 23 L513 11 Q513 1 503 1" class="line"/><line x1="351" y1="1" x2="361" y2="1" class="line"/><line x1="361" y1="1" x2="503" y2="1" class="line"/><line x1="311" y1="33" x2="331" y2="33" class="line"/><line x1="523" y1="33" x2="543" y2="33" class="line"/><path d="M311 33 Q321 33 321 43" class="line"/><path d="M533 43 Q533 33 543 33" class="line"/><line x1="321" y1="43" x2="321" y2="57" class="line"/><line x1="533" y1="57" x2="533" y2="43" class="line"/><path d="M321 57 Q321 67 331 67" class="line"/><path d="M523 67 Q533 67 533 57" class="line"/><line x1="331" y1="67" x2="341" y2="67" class="line"/><line x1="341" y1="67" x2="523" y2="67" class="line"/><a xlink:href="#TypeDeclaration" xlink:title="TypeDeclaration"><rect x="595" y="19" width="120" height="32"/><rect x="593" y="17" width="120" height="32" class="nonterminal"/><text class="nonterminal" x="603" y="37">TypeDeclaration</text></a><line x1="583" y1="33" x2="593" y2="33" class="line"/><line x1="713" y1="33" x2="723" y2="33" class="line"/><path d="M563 33 L583 33 M582 33 Q573 33 573 23 L573 11 Q573 1 583 1" class="line"/><path d="M723 33 L743 33 M723 33 Q733 33 733 23 L733 11 Q733 1 723 1" class="line"/><line x1="583" y1="1" x2="593" y2="1" class="line"/><line x1="593" y1="1" x2="723" y2="1" class="line"/><line x1="543" y1="33" x2="563" y2="33" class="line"/><line x1="743" y1="33" x2="763" y2="33" class="line"/><path d="M543 33 Q553 33 553 43" class="line"/><path d="M753 43 Q753 33 763 33" class="line"/><line x1="553" y1="43" x2="553" y2="57" class="line"/><line x1="753" y1="57" x2="753" y2="43" class="line"/><path d="M553 57 Q553 67 563 67" class="line"/><path d="M743 67 Q753 67 753 57" class="line"/><line x1="563" y1="67" x2="573" y2="67" class="line"/><line x1="573" y1="67" x2="743" y2="67" class="line"/><a xlink:href="#EOT" xlink:title="EOT"><rect x="775" y="19" width="44" height="32"/><rect x="773" y="17" width="44" height="32" class="nonterminal"/><text class="nonterminal" x="783" y="37">EOT</text></a><line x1="763" y1="33" x2="773" y2="33" class="line"/><line x1="817" y1="33" x2="827" y2="33" class="line"/><line x1="830" y1="33" x2="827" y2="33" class="line"/><polygon points="837 33 845 29 845 37"/><polygon points="837 33 829 29 829 37"/></svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/__issue-83-01.svg b/Tests/W3CTestSuite/svg/__issue-83-01.svg
new file mode 100644
index 0000000000000000000000000000000000000000..680010d5deafa1edd57fc23d9165634d9f3199be
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/__issue-83-01.svg
@@ -0,0 +1,38 @@
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="108.9575" height="130.9456" id="svg6686">
+  <defs id="defs6688">
+    <linearGradient id="linearGradient3931-9">
+      <stop id="stop3933-7" style="stop-color:#f9b823;stop-opacity:1" offset="0"></stop>
+      <stop id="stop3935-4" style="stop-color:#e5a206;stop-opacity:1" offset="0.8141979"></stop>
+      <stop id="stop3937-7" style="stop-color:#a27204;stop-opacity:1" offset="1"></stop>
+    </linearGradient>
+    <filter x="-0.25" y="-0.5" width="1.5" height="2" color-interpolation-filters="sRGB" id="filter8278">
+      <feGaussianBlur result="blur" stdDeviation="4.5" in="SourceAlpha" id="feGaussianBlur8280"></feGaussianBlur>
+      <feColorMatrix values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.407 0 " type="matrix" result="bluralpha" id="feColorMatrix8282"></feColorMatrix>
+      <feOffset result="offsetBlur" dy="7.3" dx="-1.08247e-15" in="bluralpha" id="feOffset8284"></feOffset>
+      <feMerge id="feMerge8286">
+        <feMergeNode in="offsetBlur" id="feMergeNode8288"></feMergeNode>
+        <feMergeNode in="SourceGraphic" id="feMergeNode8290"></feMergeNode>
+      </feMerge>
+    </filter>
+    <linearGradient id="linearGradient3844-5">
+      <stop id="stop3846-86" style="stop-color:#fde7b4;stop-opacity:1" offset="0"></stop>
+      <stop id="stop3848-5" style="stop-color:#fbc852;stop-opacity:1" offset="1"></stop>
+    </linearGradient>
+    <radialGradient cx="561.72913" cy="353.45276" r="36.09478" fx="561.72913" fy="353.45276" id="radialGradient3025" xlink:href="#linearGradient3931-9" gradientUnits="userSpaceOnUse" gradientTransform="matrix(3.4742857,-0.02120108,0.00102013,2.2630392,-1161.9244,-666.51024)"></radialGradient>
+    <linearGradient x1="561.29523" y1="368.96768" x2="561.65356" y2="379.23465" id="linearGradient3027" xlink:href="#linearGradient3844-5" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.70413143,0,0,4.3059403,-364.77034,-1580.0702)"></linearGradient>
+  </defs>
+  <metadata id="metadata6691">
+    <rdf:rdf>
+      <cc:work rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"></dc:type>
+        <dc:title></dc:title>
+      </cc:work>
+    </rdf:rdf>
+  </metadata>
+  <g transform="matrix(1.584003,0,0,1.584003,5.2361766,12.004313)" id="g3019">
+    <path d="M 742.63599,130.26456 841.62895,130.52777 C 844.80724,130.53777 846.362,131.72232 846.48569,140.71023 846.62652,150.94479 847.286,138.62022 847.51646,164.4169 847.7854,194.52038 830.45913,196.75394 823.87521,196.80622 787.32958,196.507 792.54845,196.74322 757.97162,196.65121 749.08488,196.32273 733.76832,194.26907 733.34916,163.91812 733.04428,141.84204 734.19398,151.49129 734.21227,143.63676 734.22497,138.11597 736.97437,130.26464 736.97437,130.26464 z" transform="matrix(0.44522264,0,0,0.62452711,-320.8204,-68.376991)" id="path6631" style="color:#000000;fill:url(#radialGradient3025);fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter8278);enable-background:accumulate"></path>
+    <rect width="50.830936" height="44.208916" ry="12.185498" x="5.7306938" y="5.9199057" id="rect6633" style="color:#000000;fill:url(#linearGradient3027);fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"></rect>
+    <text x="31.004427" y="32.845478" id="text6635" xml:space="preserve" style="font-size:12.31412888px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Optima;-inkscape-font-specification:Optima Bold"><tspan x="31.004427" y="32.845478" id="tspan6637">OPEN</tspan></text>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/__tiger.svg b/Tests/W3CTestSuite/svg/__tiger.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bf1b4cc7fb7d2bcf5828b9f53e0d9a1bd87ceb24
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/__tiger.svg
@@ -0,0 +1,1978 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   height="510.56409"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   width="494.45813"
+   sodipodi:docname="tiger.svg">
+  <metadata
+     id="metadata970">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs968" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1138"
+     id="namedview966"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.295"
+     inkscape:cx="356.04724"
+     inkscape:cy="166.125"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <g
+     transform="translate(184,144.4391)"
+     style="fill:none"
+     id="g4">
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g6">
+      <path
+         d="m -122.304,84.285 c 0,0 0.101,1.894 -0.723,1.875 -0.824,-0.019 -17.278,-48.094 -37.806,-45.851 0,0 17.783,-7.353 38.529,43.976 z"
+         id="path8"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g10">
+      <path
+         d="m -118.774,81.262 c 0,0 -0.549,1.816 -1.318,1.517 -0.768,-0.298 0.115,-51.104 -19.951,-55.978 0,0 19.223,-0.864 21.269,54.461 z"
+         id="path12"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g14">
+      <path
+         d="m -91.284,123.59 c 0,0 1.636,0.96 1.166,1.637 -0.471,0.677 -49.645,-12.125 -59.1,6.232 0,0 3.679,-18.887 57.934,-7.869 z"
+         id="path16"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g18">
+      <path
+         d="m -94.093,133.801 c 0,0 1.856,0.396 1.622,1.187 -0.233,0.791 -50.936,4.133 -54.126,24.534 0,0 -2.458,-19.085 52.504,-25.721 z"
+         id="path20"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g22">
+      <path
+         d="m -98.304,128.276 c 0,0 1.778,0.663 1.432,1.411 -0.346,0.748 -50.994,-3.341 -57.126,16.377 0,0 0.352,-19.239 55.694,-17.788 z"
+         id="path24"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g26">
+      <path
+         d="m -109.009,110.072 c 0,0 1.308,1.374 0.669,1.895 -0.639,0.521 -44.382,-25.333 -58.529,-10.291 0,0 8.741,-17.143 57.86,8.396 z"
+         id="path28"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g30">
+      <path
+         d="m -116.554,114.263 c 0,0 1.456,1.217 0.88,1.808 -0.576,0.59 -46.964,-20.149 -59.318,-3.602 0,0 6.745,-18.022 58.438,1.794 z"
+         id="path32"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g34">
+      <path
+         d="m -119.154,118.335 c 0,0 1.608,1.008 1.118,1.671 -0.49,0.663 -49.272,-13.56 -59.255,4.516 0,0 4.225,-18.773 58.137,-6.187 z"
+         id="path36"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g38">
+      <path
+         d="m -108.42,118.949 c 0,0 1.122,1.531 0.421,1.966 -0.701,0.435 -40.77,-30.813 -56.728,-17.708 0,0 10.865,-15.881 56.307,15.742 z"
+         id="path40"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g42">
+      <path
+         d="m -128.2,90 c 0,0 0.6,1.8 -0.2,2 -0.8,0.2 -29.4,-41.8 -48.601,-34.2 0,0 15.201,-11.8 48.801,32.2 z"
+         id="path44"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g46">
+      <path
+         d="m -127.505,96.979 c 0,0 0.975,1.629 0.236,1.996 -0.738,0.368 -37.723,-34.476 -54.832,-22.914 0,0 12.297,-14.8 54.596,20.918 z"
+         id="path48"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.17200001"
+       id="g50">
+      <path
+         d="m -127.62,101.349 c 0,0 1.122,1.531 0.421,1.966 -0.701,0.434 -40.77,-30.813 -56.728,-17.708 0,0 10.865,-15.881 56.307,15.742 z"
+         id="path52"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000"
+       id="g54">
+      <path
+         d="m -129.83,103.065 c 0.503,6.048 1.491,12.617 3.23,15.736 0,0 -3.6,12.4 5.2,25.6 0,0 -0.4,7.2 1.2,10.4 0,0 4,8.4 8.8,9.2 3.884,0.647 12.607,3.716 22.468,5.12 0,0 17.132,14.08 13.932,26.88 0,0 -0.4,16.4 -4,18 0,0 11.6,-11.2 2,5.6 l -4.4,18.8 c 0,0 25.6,-21.6 10,-3.2 l -10,26 c 0,0 19.6,-18.4 12.4,-10 l -3.2,8.8 c 0,0 43.2,-27.2 12.4,2.4 0,0 8,-3.6 12.4,-0.8 0,0 6.8,-1.2 6,0.4 0,0 -20.8,10.4 -24.4,28.8 0,0 8.4,-10 5.2,0.8 l 0.4,11.6 c 0,0 4,-21.6 3.6,16 0,0 19.2,-18 7.6,2.8 l 0,16.8 c 0,0 15.2,-16.4 8.8,-3.6 0,0 10,-8.8 6,6.4 0,0 -0.8,10.4 3.6,-0.8 0,0 16,-30.6 10,-4.4 0,0 -0.8,19.2 4,4.4 0,0 0.4,10.4 9.6,17.6 0,0 -1.2,-50.8 11.6,-14.8 l 4,16.4 c 0,0 2.8,-9.2 2.4,-14.4 0,0 14.8,-16.4 8,8 0,0 15.2,-22.8 12,-9.6 0,0 -7.6,16 -6,20.8 0,0 16.8,-34.8 18,-36.4 0,0 -2,42.401 8.8,6.4 0,0 5.6,12 2.8,16.4 0,0 8,-8 7.2,-11.2 0,0 4.6,-8.2 7.4,5.4 0,0 1.8,9.4 3.4,6.2 0,0 4,24.001 5.2,1.2 0,0 1.6,-13.6 -5.6,-25.2 0,0 0.8,-3.2 -2,-7.2 0,0 13.6,21.6 6.4,-7.2 0,0 11.201,8 12.401,8 0,0 -13.601,-23.2 -4.801,-18.4 0,0 -5.2,-10.4 12.801,1.6 0,0 -16.001,-16 1.6,-6.4 0,0 8,6.4 0.4,-3.6 0,0 -14.401,-16 7.6,2 0,0 11.6,16.4 12.4,19.2 0,0 -10,-29.2 -14.4,-32 0,0 8.4,-36.4 49.6,-20.8 0,0 6.8,17.2 11.2,-1.2 0,0 12.8,-6.4 24,21.2 0,0 4,-13.6 3.2,-16.4 0,0 6.8,1.2 6,0 0,0 13.2,4.4 14.4,3.6 0,0 6.8,6.8 7.2,3.2 0,0 9.2,2.8 7.2,-0.8 0,0 8.8,15.6 9.2,19.2 l 2.4,-14 2,2.8 c 0,0 1.6,-7.6 0.8,-8.8 -0.8,-1.2 20,6.8 24.8,27.6 l 2,8.4 c 0,0 6,-14.8 4.4,-18.8 0,0 5.2,0.8 5.6,5.2 0,0 4,-23.2 -0.8,-29.2 0,0 4.4,-0.8 5.6,2.8 l 0,-7.2 c 0,0 7.2,0.8 7.2,-1.6 0,0 4.4,-4 6.4,0.8 0,0 -12.4,-35.2 6,-16 0,0 7.2,10.8 3.6,-8 -3.6,-18.8 -7.6,-20.4 -2.8,-20.8 0,0 0.8,-3.6 -1.2,-5.2 -2,-1.6 1.2,0 1.2,0 0,0 4.8,4 -0.4,-18 0,0 6.4,1.6 -5.6,-27.6 0,0 2.8,-2.4 -1.2,-10.8 0,0 8,4.4 10.8,2.8 0,0 -0.4,-1.6 -3.6,-5.6 0,0 -21.6,-54.801 -1.2,-32.8 0,0 11.85,13.55 5.45,-9.25 0,0 -9.111,-24.01 -8.334,-28.306 l -429.547,23.02 z"
+         id="path56"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226;stroke:#000000"
+       id="g58">
+      <path
+         d="m 299.717,80.245 c 0.628,0.181 2.834,1.305 4.084,2.955 0,0 6.8,10.8 1.6,-7.6 0,0 -9.2,-28.8 -0.4,-17.6 0,0 6,7.2 2.8,-6.4 -3.865,-16.427 -6.4,-22.8 -6.4,-22.8 0,0 11.6,4.8 -15.2,-34.8 l 8.8,3.6 c 0,0 -19.6,-39.6 -41.2,-44.8 l -8,-6 c 0,0 38.4,-38 25.6,-74.8 0,0 -6.8,-5.2 -16.4,4 0,0 -6.4,4.8 -12.4,3.2 0,0 -30.8,1.2 -32.8,1.2 -2,0 -36.8,-37.2 -102.4,-19.6 0,0 -5.2,2 -9.6,0.8 0,0 -18.401,-16 -67.201,6.8 0,0 -10,2 -11.6,2 -1.6,0 -4.4,0 -12.4,6.4 -8,6.4 -8.4,7.2 -10.4,8.8 0,0 -16.4,11.2 -21.2,12 0,0 -11.6,6.4 -16,16.4 l -3.6,1.2 c 0,0 -1.6,7.2 -2,8.4 0,0 -4.8,3.6 -5.6,9.2 0,0 -8.8,6 -8.4,10.4 0,0 -1.6,5.2 -2.4,10 0,0 -7.2,4.8 -6.4,7.6 0,0 -7.6,14 -6.4,20.8 0,0 -6.4,-0.4 -9.2,2 0,0 -0.8,4.8 -2.4,5.2 0,0 -2.8,1.2 -0.4,5.2 0,0 -1.6,2.8 -2,4.4 0,0 0.8,2.8 -3.6,8.4 0,0 -6.4,18.8 -4.4,24 0,0 0.4,4.8 -2.4,6.4 0,0 -3.6,-0.4 4.8,11.6 0,0 0.8,1.2 -2.4,3.6 0,0 -17.2,3.6 -19.6,20 0,0 -13.6,14.8 -13.6,20 0,2.305 0.271,5.452 0.97,10.065 0,0 -0.57,8.336 27.03,9.136 27.6,0.8 402.717,-31.356 402.717,-31.356 z"
+         id="path60"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226"
+       id="g62">
+      <path
+         d="m -115.6,102.6 c -25,-39.4 -10.6,17.001 -10.6,17.001 8.8,34.4 138.4,-3.2 138.4,-3.2 0,0 168.801,-30.401 180.001,-34.401 11.2,-4 106.4,2.4 106.4,2.4 l -5.6,-16.8 c -64.8,-46.4 -84,-23.2 -97.6,-27.2 -13.6,-4 -11.2,5.6 -14.4,6.4 -3.2,0.8 -42.4,-24 -48.8,-23.2 -6.4,0.8 -31.742,-22.951 -16.8,8.8 16,34 -58.401,39.2 -75.201,28 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 C -3,69.2 -27,94.8 -30.2,95.6 c -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -8.31,-23.101 -40,3.2 -20,16.601 -33.8,-5.4 -33.8,-5.4 l -2.8,11.6 z"
+         id="path64"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#e87f3a"
+       id="g66">
+      <path
+         d="m 133.51,25.346 c -6.4,0.8 -31.767,-22.939 -16.8,8.8 16.6,35.2 -58.4,39.2 -75.2,28 -16.801,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16.001,3.2 -16.001,3.2 -34.4,-12.8 -58.4,12.8 -61.6,13.6 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -8.179,-22.934 -40,3.2 -21.236,17.346 -34.727,-4.109 -34.727,-4.109 l -3.2,10.109 c -25,-39.8 -9.928,18.509 -9.928,18.509 8.801,34.401 139.055,-4.509 139.055,-4.509 0,0 168.801,-30.4 180.001,-34.4 11.2,-4 105.528,2.327 105.528,2.327 L 293.51,68.764 c -64.8,-46.4 -83.2,-22.618 -96.8,-26.618 -13.6,-4 -11.2,5.6 -14.4,6.4 -3.2,0.8 -42.4,-24 -48.8,-23.2 z"
+         id="path68"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ea8c4d"
+       id="g70">
+      <path
+         d="m 134.819,27.091 c -6.4,0.8 -31.134,-23.229 -16.8,8.8 16.2,36.201 -58.4,39.201 -75.2,28.001 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 -34.4,-12.8 -58.401,12.8 -61.601,13.6 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -8.048,-22.767 -40,3.2 -22.473,18.091 -35.654,-2.818 -35.654,-2.818 l -3.6,8.618 c -23.8,-39 -9.255,20.018 -9.255,20.018 8.8,34.4 139.71,-5.818 139.71,-5.818 0,0 168.8,-30.4 180,-34.4 11.2,-4 104.655,2.254 104.655,2.254 L 294.02,69.928 c -64.801,-46.4 -82.401,-22.037 -96.001,-26.037 -13.6,-4 -11.2,5.6 -14.4,6.401 -3.2,0.8 -42.4,-24.001 -48.8,-23.201 z"
+         id="path72"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ec9961"
+       id="g74">
+      <path
+         d="m 136.128,28.837 c -6.4,0.8 -31.129,-23.232 -16.8,8.8 16.8,37.556 -58.934,38.845 -75.2,28 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 -34.4,-12.8 -58.4,12.8 -61.6,13.6 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -7.917,-22.598 -40.001,3.2 -23.709,18.837 -36.582,-1.527 -36.582,-1.527 l -4,7.127 c -21.8,-36.8 -8.581,21.528 -8.581,21.528 8.8,34.4 140.364,-7.128 140.364,-7.128 0,0 168.8,-30.4 180.001,-34.4 11.2,-4 103.782,2.182 103.782,2.182 l -5.382,-18.327 c -64.8,-46.401 -81.6,-21.455 -95.2,-25.455 -13.601,-4 -11.201,5.6 -14.401,6.4 -3.2,0.8 -42.4,-24 -48.8,-23.2 z"
+         id="path76"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#eea575"
+       id="g78">
+      <path
+         d="m 137.438,30.583 c -6.401,0.8 -30.624,-23.454 -16.801,8.8 16.801,39.2 -58.4,39.2 -75.2,28 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 -34.4,-12.8 -58.4,12.8 -61.6,13.6 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -7.785,-22.431 -40,3.2 -24.946,19.582 -37.51,-0.237 -37.51,-0.237 l -4.4,5.637 c -19.8,-34.801 -7.909,23.036 -7.909,23.036 8.8,34.401 141.019,-8.436 141.019,-8.436 0,0 168.801,-30.4 180.001,-34.4 11.2,-4 102.909,2.109 102.909,2.109 l -5.309,-18.837 c -64.8,-46.4 -80.8,-20.872 -94.4,-24.872 -13.6,-4 -11.2,5.6 -14.4,6.4 -3.2,0.8 -42.4,-24 -48.8,-23.2 z"
+         id="path80"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#f1b288"
+       id="g82">
+      <path
+         d="m 138.747,32.328 c -6.4,0.8 -32.364,-22.651 -16.8,8.8 19.2,38.8 -58.401,39.2 -75.201,28 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 -34.4,-12.8 -58.4,12.8 -61.6,13.6 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -7.654,-22.263 -40,3.2 -26.182,20.328 -38.437,1.055 -38.437,1.055 l -4.8,4.145 c -18,-33.2 -7.236,24.546 -7.236,24.546 8.8,34.4 141.673,-9.746 141.673,-9.746 0,0 168.801,-30.4 180.001,-34.4 11.2,-4 102.036,2.036 102.036,2.036 l -5.236,-19.345 c -64.8,-46.4 -80,-20.291 -93.6,-24.291 -13.6,-4 -11.2,5.6 -14.4,6.4 -3.2,0.8 -42.4,-24 -48.8,-23.2 z"
+         id="path84"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#f3bf9c"
+       id="g86">
+      <path
+         d="m 140.056,34.073 c -6.401,0.8 -32.743,-22.46 -16.801,8.8 20.401,40.001 -58.4,39.201 -75.2,28.001 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 -34.4,-12.8 -58.4,12.8 -61.6,13.6 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -7.523,-22.096 -40,3.2 -27.419,21.073 -39.364,2.345 -39.364,2.345 l -5.2,2.655 c -16,-30.2 -6.564,26.055 -6.564,26.055 8.8,34.4 142.328,-11.055 142.328,-11.055 0,0 168.801,-30.4 180.001,-34.4 11.2,-4 101.164,1.963 101.164,1.963 l -5.164,-19.854 c -64.8,-46.4 -79.2,-19.709 -92.8,-23.709 -13.6,-4.001 -11.2,5.6 -14.4,6.4 -3.2,0.8 -42.4,-24.001 -48.8,-23.201 z"
+         id="path88"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#f5ccb0"
+       id="g90">
+      <path
+         d="m 141.365,35.819 c -6.4,0.8 -33.842,-21.875 -16.8,8.8 22,39.6 -58.401,39.2 -75.201,28 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 -34.4,-12.8 -58.4,12.8 -61.6,13.6 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -7.391,-21.927 -40,3.2 -28.655,21.819 -40.291,3.637 -40.291,3.637 l -5.6,1.163 c -14.401,-28.4 -5.891,27.564 -5.891,27.564 8.8,34.401 142.982,-12.364 142.982,-12.364 0,0 168.801,-30.4 180.001,-34.4 11.2,-4 100.291,1.891 100.291,1.891 l -5.091,-20.364 c -64.8,-46.4 -78.4,-19.127 -92,-23.127 -13.6,-4 -11.2,5.6 -14.4,6.4 -3.2,0.8 -42.4,-24 -48.8,-23.2 z"
+         id="path92"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#f8d8c4"
+       id="g94">
+      <path
+         d="m 142.674,37.565 c -6.4,0.8 -33.842,-21.876 -16.8,8.8 22,39.6 -58.4,39.2 -75.2,28 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 -34.401,-12.8 -58.401,12.8 -61.601,13.6 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -7.259,-21.76 -40,3.2 -29.891,22.564 -41.218,4.928 -41.218,4.928 l -6,-0.328 c -13.601,-26.401 -5.218,29.073 -5.218,29.073 8.8,34.4 143.636,-13.673 143.636,-13.673 0,0 168.801,-30.4 180.001,-34.4 11.2,-4 99.419,1.818 99.419,1.818 L 297.075,76.91 c -64.801,-46.4 -77.601,-18.545 -91.201,-22.545 -13.6,-4 -11.2,5.6 -14.4,6.4 -3.2,0.8 -42.4,-24 -48.8,-23.2 z"
+         id="path96"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#fae5d7"
+       id="g98">
+      <path
+         d="m 143.983,39.31 c -6.4,0.8 -33.454,-22.087 -16.8,8.8 22,40.8 -58.4,39.2 -75.2,28 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 -34.4,-12.8 -58.4,12.8 -61.6,13.6 -3.201,0.8 -8.001,4 -8.801,-2.4 -0.8,-6.4 -7.128,-21.592 -40,3.2 -31.127,23.31 -42.145,6.219 -42.145,6.219 l -6.401,-1.819 c -13,-24 -4.545,30.583 -4.545,30.583 8.8,34.4 144.292,-14.983 144.292,-14.983 0,0 168.8,-30.4 180,-34.4 11.2,-4 98.546,1.746 98.546,1.746 l -4.946,-21.382 c -64.8,-46.401 -76.8,-17.964 -90.4,-21.964 -13.6,-4 -11.2,5.6 -14.4,6.4 -3.2,0.8 -42.4,-24 -48.8,-23.2 z"
+         id="path100"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#fcf2eb"
+       id="g102">
+      <path
+         d="m 145.292,41.055 c -6.4,0.8 -32.375,-22.644 -16.8,8.8 21.2,42.801 -58.4,39.201 -75.2,28.001 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20 -16,3.2 -16,3.2 -34.4,-12.8 -58.4,12.8 -61.6,13.6 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.4 -6.997,-21.424 -40,3.2 -32.365,24.055 -43.074,7.509 -43.074,7.509 l -6.8,-3.309 c -12.8,-23.2 -3.872,32.091 -3.872,32.091 8.8,34.4 144.946,-16.291 144.946,-16.291 0,0 168.801,-30.4 180.001,-34.4 11.2,-4 97.672,1.672 97.672,1.672 l -4.872,-21.891 c -64.801,-46.4 -76,-17.381 -89.6,-21.381 -13.6,-4.001 -11.2,5.6 -14.4,6.4 -3.201,0.8 -42.401,-24.001 -48.801,-23.201 z"
+         id="path104"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff"
+       id="g106">
+      <path
+         d="m -115.8,119.601 c -12.8,-22.001 -3.2,33.6 -3.2,33.6 8.8,34.4 145.6,-17.6 145.6,-17.6 0,0 168.801,-30.401 180.001,-34.401 11.2,-4 96.8,1.6 96.8,1.6 l -4.8,-22.4 c -64.8,-46.4 -75.2,-16.8 -88.8,-20.8 -13.6,-4 -11.2,5.6 -14.4,6.4 -3.2,0.8 -42.4,-24 -48.8,-23.2 -6.4,0.8 -31.62,-23.007 -16.8,8.8 22.227,47.707 -60.76,37.627 -75.201,28 -16.8,-11.2 7.2,18.4 7.2,18.4 18.4,20.001 -16,3.2 -16,3.2 -34.4,-12.8 -58.4,12.801 -61.6,13.601 -3.2,0.8 -8,4 -8.8,-2.4 -0.8,-6.401 -6.865,-21.257 -40,3.2 -33.6,24.8 -44,8.8 -44,8.8 l -7.2,-4.8 z"
+         id="path108"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g110">
+      <path
+         d="m -74.2,149.601 c 0,0 -7.2,11.6 13.6,24.8 0,0 1.4,1.4 -16.6,-2.8 0,0 -6.2,-2 -7.8,-12.4 0,0 -4.8,-4.4 -9.6,-10 -4.8,-5.6 20.4,0.4 20.4,0.4 z"
+         id="path112"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g114">
+      <path
+         d="m 65.8,102 c 0,0 17.698,26.821 17.1,31.601 -1.3,10.4 -1.5,20 1.7,24 3.201,4 12.001,37.2 12.001,37.2 0,0 -0.4,1.2 12,-36.8 0,0 11.6,-16 -8.4,-34.4 C 100.201,123.601 65,94.8 65.8,102 z"
+         id="path116"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g118">
+      <path
+         d="m -54.2,176.401 c 0,0 11.2,7.2 -3.2,38.4 l 6.4,-2.4 c 0,0 -0.8,11.2 -4,13.6 l 7.2,-3.2 c 0,0 4.8,8 0.8,12.8 0,0 16.8,8 16,14.4 0,0 6.4,-8 2.4,-14.4 -4,-6.4 -11.2,-2.4 -10.4,-20.8 l -8.8,3.2 c 0,0 5.6,-8.8 5.6,-15.2 l -8,2.4 c 0,0 15.469,-26.578 4.8,-28 -6,-0.8 -8.8,-0.8 -8.8,-0.8 z"
+         id="path120"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g122">
+      <path
+         d="m -21.8,193.201 c 0,0 2.8,-4.4 0,-3.6 -2.8,0.8 -34,15.6 -40,25.2 0,0 34.4,-24.4 40,-21.6 z"
+         id="path124"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g126">
+      <path
+         d="m -11.4,201.201 c 0,0 2.8,-4.4 0,-3.6 -2.8,0.8 -34,15.6 -40,25.2 0,0 34.4,-24.4 40,-21.6 z"
+         id="path128"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g130">
+      <path
+         d="m 1.8,186.001 c 0,0 2.8,-4.4 0,-3.6 -2.8,0.8 -34,15.6 -40,25.2 0,0 34.4,-24.4 40,-21.6 z"
+         id="path132"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g134">
+      <path
+         d="m -21.4,229.601 c 0,0 0,-6 -2.8,-5.2 -2.8,0.8 -38.8,18.4 -44.8,28 0,0 42,-25.6 47.6,-22.8 z"
+         id="path136"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g138">
+      <path
+         d="m -20.2,218.801 c 0,0 1.2,-4.8 -1.6,-4 -2,0 -28.4,11.6 -34.4,21.2 0,0 29.6,-21.6 36,-17.2 z"
+         id="path140"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g142">
+      <path
+         d="m -34.6,266.401 -10,7.6 c 0,0 10.4,-7.6 14,-6.4 0,0 -6.8,11.2 -7.6,16.4 0,0 10.4,-12.8 16,-12.4 0,0 7.6,0.4 7.6,11.2 0,0 5.6,-10.4 8.8,-10 0,0 1.2,6.4 0,13.2 0,0 4,-7.6 8,-6 0,0 6.4,-2 5.6,9.6 0,0 0,10.4 -0.8,13.2 0,0 5.6,-26.4 8,-26.8 0,0 8,-1.2 12.8,7.6 0,0 -4,-7.6 0.8,-5.6 0,0 10.8,1.6 14,8.4 0,0 -6.8,-12 -1.2,-8.8 0,0 6.8,0 8,6.4 0,0 8.4,21.2 10.4,22.8 0,0 -7.6,-21.6 -6,-21.6 0,0 -2,-12 3.2,2.8 0,0 -3.2,-14 2.4,-13.2 5.6,0.8 10,10.8 18.4,8.4 0,0 9.601,5.6 11.601,-63.6 l -124.001,46.8 z"
+         id="path144"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g146">
+      <path
+         d="m -29.8,173.601 c 0,0 14.8,-6 54.8,0 0,0 7.2,0.4 14,-8.4 6.8,-8.8 33.6,-16 40,-14 l 9.601,6.4 0.8,1.2 c 0,0 12.4,10.4 12.8,18 0.4,7.6 -14.4,55.6 -24.001,71.6 -9.6,16 -19.2,28.4 -38.4,26 0,0 -20.8,-4 -46.4,0 0,0 -29.2,-1.6 -32,-9.6 -2.8,-8 11.2,-23.2 11.2,-23.2 0,0 4.4,-8.4 3.2,-22.8 -1.2,-14.4 -0.8,-42.4 -5.6,-45.2 z"
+         id="path148"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#e5668c"
+       id="g150">
+      <path
+         d="m -7.8,175.601 c 8.4,18.4 -21.2,83.6 -21.2,83.6 -2,1.6 12.66,7.645 22.8,5.2 10.946,-2.638 51.2,1.6 51.2,1.6 23.6,-15.6 36.4,-60 36.4,-60 0,0 10.401,-24 -7.2,-27.2 -17.6,-3.2 -82,-3.2 -82,-3.2 z"
+         id="path152"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#b23259"
+       id="g154">
+      <path
+         d="m -9.831,206.497 c 3.326,-12.79 4.91,-24.591 2.031,-30.896 0,0 62.4,6.4 73.6,-14.4 4.241,-7.875 19.001,22.8 18.6,32.4 0,0 -63,14.4 -77.8,3.2 l -16.431,9.696 z"
+         id="path156"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#a5264c"
+       id="g158">
+      <path
+         d="m -5.4,222.801 c 0,0 2,7.2 -0.4,11.2 0,0 -1.6,0.8 -2.8,1.2 0,0 1.2,3.6 7.2,5.2 0,0 2,4.4 4.4,4.8 2.4,0.4 7.2,6 11.2,4.8 4,-1.2 15.2,-5.2 15.2,-5.2 0,0 5.6,-3.2 14.4,0.4 0,0 2.375,-0.802 2.8,-4.8 0.5,-4.7 3.6,-8.4 5.6,-10.4 2,-2 11.6,-14.8 10.4,-15.2 -1.2,-0.4 -68,8 -68,8 z"
+         id="path160"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ff727f;stroke:#000000"
+       id="g162">
+      <path
+         d="m -9.8,174.401 c 0,0 -2.8,22.4 0.4,30.8 3.2,8.4 2.4,10.4 1.6,14.4 -0.8,4 3.6,14 9.2,20 l 12,1.6 c 0,0 15.2,-3.6 24.4,-0.8 0,0 8.994,1.343 12.4,-13.6 0,0 4.8,-6.4 12,-9.2 7.2,-2.8 14.4,-44.4 10.4,-52.4 -4,-8 -18.4,-12.4 -34.4,3.2 -16,15.6 -18,-1.2 -48,6 z"
+         id="path164"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g166">
+      <path
+         d="m -8.2,249.201 c 0,0 -0.8,-2 -5.2,-2.4 0,0 -22.4,-3.6 -30.8,-16 0,0 -6.8,-5.6 -2.4,6 0,0 10.4,20.4 17.2,23.2 0,0 16.4,4 21.2,-10.8 z"
+         id="path168"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc3f4c"
+       id="g170">
+      <path
+         d="m 71.742,185.229 c 0.659,-7.906 2.612,-16.52 0.858,-20.028 -6.446,-12.894 -23.419,-7.506 -34.4,3.2 -16,15.6 -18,-1.2 -48,6 0,0 -1.745,13.963 -0.905,23.975 0,0 37.305,-11.575 38.105,-5.975 0,0 1.6,-3.2 10.8,-3.2 9.2,0 31.942,-1.172 33.542,-3.972 z"
+         id="path172"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#a51926;stroke-width:2"
+       id="g174">
+      <path
+         d="m 28.6,175.201 c 0,0 4.8,4.8 1.2,14.4 0,0 -14.4,16 -12.4,30"
+         id="path176"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g178">
+      <path
+         d="m -19.4,260.001 c 0,0 -4.4,-12.8 4.4,-6 0,0 4.8,2 3.6,3.6 -1.2,1.6 -6.8,5.6 -8,2.4 z"
+         id="path180"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g182">
+      <path
+         d="m -14.36,261.201 c 0,0 -3.52,-10.24 3.52,-4.8 0,0 4.421,2.448 2.88,2.88 -4.56,1.28 0,3.84 -6.4,1.92 z"
+         id="path184"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g186">
+      <path
+         d="m -9.56,261.201 c 0,0 -3.52,-10.24 3.52,-4.8 0,0 4.375,2.31 2.88,2.88 -3.36,1.28 0,3.84 -6.4,1.92 z"
+         id="path188"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g190">
+      <path
+         d="m -2.96,261.401 c 0,0 -3.52,-10.24 3.52,-4.8 0,0 4.383,2.332 2.881,2.88 -2.961,1.08 0,3.84 -6.401,1.92 z"
+         id="path192"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g194">
+      <path
+         d="m 3.52,261.321 c 0,0 -3.52,-10.24 3.521,-4.8 0,0 3.84,1.6 2.88,2.88 -0.96,1.28 0,3.84 -6.401,1.92 z"
+         id="path196"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g198">
+      <path
+         d="m 10.2,262.001 c 0,0 -4.8,-12.4 4.4,-6 0,0 4.8,2 3.6,3.6 -1.2,1.6 0,4.8 -8,2.4 z"
+         id="path200"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#a5264c;stroke-width:2"
+       id="g202">
+      <path
+         d="m -18.2,244.801 c 0,0 13.2,-2.8 19.2,0.4 0,0 6,1.2 7.2,0.8 1.2,-0.4 4.4,-0.8 4.4,-0.8"
+         id="path204"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#a5264c;stroke-width:2"
+       id="g206">
+      <path
+         d="m 15.8,253.601 c 0,0 12,-13.6 24,-9.2 7.016,2.573 6,-0.8 6.8,-3.6 0.8,-2.8 1,-7 6,-10"
+         id="path208"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g210">
+      <path
+         d="m 33,237.601 c 0,0 -4,-10.8 -6.8,2 -2.8,12.8 -6,16.4 -7.6,19.2 0,0 0,5.2 8.4,4.8 0,0 10.8,-0.4 11.2,-3.2 0.4,-2.8 -1.2,-14.4 -5.2,-22.8 z"
+         id="path212"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#a5264c;stroke-width:2"
+       id="g214">
+      <path
+         d="m 47,244.801 c 0,0 3.6,-2.4 6,-1.2"
+         id="path216"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#a5264c;stroke-width:2"
+       id="g218">
+      <path
+         d="m 53.5,228.401 c 0,0 2.9,-4.9 7.7,-5.7"
+         id="path220"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#b2b2b2"
+       id="g222">
+      <path
+         d="m -25.8,265.201 c 0,0 18,3.2 22.4,1.6 0,0 8.8,0 0.4,2 0,0 -12.8,0 -20.8,-1.2 0,0 -11.6,-5.6 -2,-2.4 z"
+         id="path224"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g226">
+      <path
+         d="m -11.8,172.001 c 0,0 17.6,0 19.6,0.8 0,0 7.2,30.8 3.6,38.4 0,0 -1.2,2.8 -4,-2.8 0,0 -18.4,-32.8 -21.6,-34.8 -3.2,-2 1.2,-1.6 2.4,-1.6 z"
+         id="path228"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g230">
+      <path
+         d="m -88.9,169.301 c 0,0 8.9,1.7 21.5,4.3 0,0 4.8,22.4 8,27.2 3.2,4.8 -0.4,4.8 -4,2 -3.6,-2.8 -18.4,-16.8 -20.4,-21.2 -2,-4.4 -5.1,-12.3 -5.1,-12.3 z"
+         id="path232"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g234">
+      <path
+         d="m -67.039,173.818 c 0,0 5.8,1.548 6.809,3.763 1.008,2.214 -1.202,5.511 -1.202,5.511 0,0 -1,3.305 -2.202,1.143 -1.202,-2.163 -4.074,-9.823 -3.405,-10.417 z"
+         id="path236"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g238">
+      <path
+         d="m -67,173.601 c 0,0 3.6,5.2 7.2,5.2 3.6,0 3.982,-0.413 6.8,0.2 4.6,1 4.2,-1 10.8,0.2 2.64,0.48 5.2,-0.4 8,0.8 2.8,1.2 6,0.4 7.2,-1.6 1.2,-2 6,-6.2 6,-6.2 0,0 -12.8,1.8 -15.6,2.6 0,0 -22.4,1.2 -30.4,-1.2 z"
+         id="path240"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g242">
+      <path
+         d="m -22.4,173.801 c 0,0 -6.45,3.5 -6.85,5.9 -0.4,2.4 5.25,6.1 5.25,6.1 0,0 2.75,4.6 3.35,2.2 0.6,-2.4 -0.95,-13.8 -1.75,-14.2 z"
+         id="path244"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g246">
+      <path
+         d="m -59.885,179.265 c 0,0 7.007,11.188 7.224,-0.023 0,0 0.557,-1.258 -1.203,-1.28 -6.075,-0.076 -4.554,-4.178 -6.021,1.303 z"
+         id="path248"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g250">
+      <path
+         d="m -52.707,179.514 c 0,0 7.921,11.187 7.285,-0.093 0,0 0.007,-0.332 -1.746,-0.485 -4.747,-0.414 -4.402,-4.932 -5.539,0.578 z"
+         id="path252"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g254">
+      <path
+         d="m -45.494,179.522 c 0,0 7.96,10.628 7.291,0.962 0,0 0.119,-1.233 -1.535,-1.534 -3.892,-0.706 -4.103,-3.955 -5.756,0.572 z"
+         id="path256"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffcc;stroke:#000000;stroke-width:0.5"
+       id="g258">
+      <path
+         d="m -38.618,179.602 c 0,0 7.9,11.561 8.248,1.78 0,0 1.644,-1.378 -0.102,-1.6 -5.818,-0.74 -5.02,-5.194 -8.146,-0.18 z"
+         id="path260"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#e5e5b2"
+       id="g262">
+      <path
+         d="m -74.792,183.132 -7.658,-1.531 c -2.6,-5 -4.7,-11.15 -4.7,-11.15 0,0 6.35,1 18.85,3.8 0,0 0.876,3.318 2.348,9.113 l -8.84,-0.232 z"
+         id="path264"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#e5e5b2"
+       id="g266">
+      <path
+         d="m -9.724,178.47 c -1.666,-2.506 -2.983,-4.264 -3.633,-4.67 -3.013,-1.883 1.13,-1.506 2.259,-1.506 0,0 16.571,0 18.454,0.753 0,0 0.524,2.242 1.208,5.633 0,0 -10.088,-2.01 -18.288,-0.21 z"
+         id="path268"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226"
+       id="g270">
+      <path
+         d="m 43.88,40.321 c 27.721,3.96 53.241,-31.68 55.001,-41.361 1.76,-9.68 -8.36,-21.56 -8.36,-21.56 1.32,-3.08 -3.52,-17.16 -8.8,-26.4 C 76.441,-58.24 60.54,-57.266 43,-58.24 27.16,-59.12 8.68,-35.8 7.36,-34.04 c -1.32,1.76 4.84,40.041 6.16,45.761 1.32,5.72 -1.32,32.12 -1.32,32.12 34.24,-9.1 3.96,-7.48 31.68,-3.52 z"
+         id="path272"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ea8e51"
+       id="g274">
+      <path
+         d="m 8.088,-33.392 c -1.296,1.728 4.752,39.313 6.048,44.929 1.296,5.616 -1.296,31.536 -1.296,31.536 32.672,-8.88 3.888,-7.344 31.104,-3.456 27.217,3.888 52.273,-31.104 54.001,-40.609 1.728,-9.504 -8.208,-21.168 -8.208,-21.168 1.296,-3.024 -3.456,-16.848 -8.64,-25.92 -5.184,-9.072 -20.795,-8.115 -38.017,-9.072 -15.552,-0.864 -33.696,22.032 -34.992,23.76 z"
+         id="path276"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#efaa7c"
+       id="g278">
+      <path
+         d="m 8.816,-32.744 c -1.272,1.696 4.664,38.585 5.936,44.097 1.272,5.512 -1.272,30.952 -1.272,30.952 31.404,-9.16 3.816,-7.208 30.528,-3.392 26.713,3.816 51.305,-30.528 53.001,-39.857 1.696,-9.328 -8.056,-20.776 -8.056,-20.776 1.272,-2.968 -3.392,-16.536 -8.48,-25.44 -5.088,-8.904 -20.41,-7.965 -37.313,-8.904 -15.264,-0.848 -33.072,21.624 -34.344,23.32 z"
+         id="path280"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#f4c6a8"
+       id="g282">
+      <path
+         d="m 9.544,-32.096 c -1.248,1.664 4.576,37.857 5.824,43.265 1.248,5.408 -1.248,30.368 -1.248,30.368 29.436,-9.04 3.744,-7.072 29.952,-3.328 26.209,3.744 50.337,-29.952 52.001,-39.104 1.664,-9.153 -7.904,-20.385 -7.904,-20.385 1.248,-2.912 -3.328,-16.224 -8.32,-24.96 -4.992,-8.736 -20.025,-7.815 -36.609,-8.736 -14.976,-0.832 -32.448,21.216 -33.696,22.88 z"
+         id="path284"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#f9e2d3"
+       id="g286">
+      <path
+         d="m 10.272,-31.448 c -1.224,1.632 4.488,37.129 5.712,42.433 1.224,5.304 -1.224,29.784 -1.224,29.784 27.868,-8.92 3.672,-6.936 29.376,-3.264 25.705,3.672 49.369,-29.376 51.001,-38.353 1.632,-8.976 -7.752,-19.992 -7.752,-19.992 1.224,-2.856 -3.264,-15.912 -8.16,-24.48 -4.896,-8.568 -19.64,-7.665 -35.905,-8.568 -14.688,-0.816 -31.824,20.808 -33.048,22.44 z"
+         id="path288"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff"
+       id="g290">
+      <path
+         d="M 44.2,36.8 C 69.4,40.4 92.601,8 94.201,-0.8 c 1.6,-8.8 -7.6,-19.6 -7.6,-19.6 1.2,-2.8 -3.201,-15.6 -8.001,-24 -4.8,-8.4 -19.254,-7.514 -35.2,-8.4 C 29,-53.6 12.2,-32.4 11,-30.8 9.8,-29.2 15.4,5.6 16.6,10.8 17.8,16 15.4,40 15.4,40 40.9,31.4 19,33.2 44.2,36.8 z"
+         id="path292"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g294">
+      <path
+         d="m 90.601,2.8 c 0,0 -27.801,7.6 -39.401,6 0,0 -15.8,-6.6 -24.6,15.2 0,0 -3.6,7.2 -5.6,9.2 -2,2 69.601,-30.4 69.601,-30.4 z"
+         id="path296"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g298">
+      <path
+         d="m 94.401,0.6 c 0,0 -29.001,12.2 -39.001,11.8 0,0 -16.4,-4.6 -24.8,10 0,0 -8.4,9.2 -11.6,10.8 0,0 -0.4,1.6 6,-2.4 L 35.4,36 c 0,0 14.8,9.6 24.4,-6.4 0,0 4,-11.2 4,-13.2 0,-2 21.2,-7.6 22.801,-8 1.6,-0.4 8.2,-4.6 7.8,-7.8 z"
+         id="path300"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#99cc32"
+       id="g302">
+      <path
+         d="m 47,36.514 c -6.872,0 -15.245,-3.865 -15.245,-10.114 0,-6.248 8.373,-12.513 15.245,-12.513 6.874,0 12.446,5.065 12.446,11.313 0,6.249 -5.572,11.314 -12.446,11.314 z"
+         id="path304"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#659900"
+       id="g306">
+      <path
+         d="m 43.377,19.83 c -4.846,0.722 -9.935,2.225 -9.863,2.009 1.54,-4.619 7.901,-7.952 13.486,-7.952 4.296,0 8.084,1.978 10.32,4.988 0,0 -5.316,-0.33 -13.943,0.955 z"
+         id="path308"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff"
+       id="g310">
+      <path
+         d="m 55.4,19.6 c 0,0 -4.4,-3.2 -4.4,-1 0,0 3.6,4.4 4.4,1 z"
+         id="path312"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g314">
+      <path
+         d="m 45.4,27.726 c -2.499,0 -4.525,-2.026 -4.525,-4.526 0,-2.499 2.026,-4.525 4.525,-4.525 2.5,0 4.526,2.026 4.526,4.525 0,2.5 -2.026,4.526 -4.526,4.526 z"
+         id="path316"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226"
+       id="g318">
+      <path
+         d="m -58.6,14.4 c 0,0 -3.2,-21.2 -0.8,-25.6 0,0 10.8,-10 10.4,-13.6 0,0 -0.4,-18 -1.6,-18.8 -1.2,-0.8 -8.8,-6.8 -14.8,-0.4 0,0 -10.4,18 -9.6,24.4 l 0,2 c 0,0 -7.6,-0.4 -9.2,1.6 0,0 -1.2,5.2 -2.4,5.6 0,0 -2.8,2.4 -0.8,5.2 0,0 -2,2.4 -1.6,6.4 l 7.6,4 c 0,0 2,14.4 12.8,19.6 4.836,2.329 8,-4.4 10,-10.4 z"
+         id="path320"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff"
+       id="g322">
+      <path
+         d="m -59.6,12.56 c 0,0 -2.88,-19.08 -0.72,-23.04 0,0 9.72,-9 9.36,-12.24 0,0 -0.36,-16.2 -1.44,-16.92 -1.08,-0.72 -7.92,-6.12 -13.32,-0.36 0,0 -9.36,16.2 -8.64,21.96 l 0,1.8 c 0,0 -6.84,-0.36 -8.28,1.44 0,0 -1.08,4.68 -2.16,5.04 0,0 -2.52,2.16 -0.72,4.68 0,0 -1.8,2.16 -1.44,5.76 l 6.84,3.6 c 0,0 1.8,12.96 11.52,17.64 4.352,2.095 7.2,-3.96 9,-9.36 z"
+         id="path324"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#eb955c"
+       id="g326">
+      <path
+         d="m -51.05,-42.61 c -1.09,-0.86 -8.58,-6.63 -14.43,-0.39 0,0 -10.14,17.55 -9.36,23.79 l 0,1.95 c 0,0 -7.41,-0.39 -8.97,1.56 0,0 -1.17,5.07 -2.34,5.46 0,0 -2.73,2.34 -0.78,5.07 0,0 -1.95,2.34 -1.56,6.24 l 7.41,3.9 c 0,0 1.95,14.04 12.48,19.11 4.714,2.27 7.8,-4.29 9.75,-10.14 0,0 -3.12,-20.67 -0.78,-24.96 0,0 10.53,-9.75 10.14,-13.26 0,0 -0.39,-17.55 -1.56,-18.33 z"
+         id="path328"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#f2b892"
+       id="g330">
+      <path
+         d="m -51.5,-41.62 c -0.98,-0.92 -8.36,-6.46 -14.06,-0.38 0,0 -9.88,17.1 -9.12,23.18 l 0,1.9 c 0,0 -7.22,-0.38 -8.74,1.52 0,0 -1.14,4.94 -2.28,5.32 0,0 -2.66,2.28 -0.76,4.94 0,0 -1.9,2.28 -1.52,6.08 l 7.22,3.8 c 0,0 1.9,13.68 12.16,18.62 4.594,2.212 7.6,-4.18 9.5,-9.88 0,0 -3.04,-20.14 -0.76,-24.32 0,0 10.26,-9.5 9.88,-12.92 0,0 -0.38,-17.1 -1.52,-17.86 z"
+         id="path332"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#f8dcc8"
+       id="g334">
+      <path
+         d="m -51.95,-40.63 c -0.87,-0.98 -8.14,-6.29 -13.69,-0.37 0,0 -9.62,16.65 -8.88,22.57 l 0,1.85 c 0,0 -7.03,-0.37 -8.51,1.48 0,0 -1.11,4.81 -2.22,5.18 0,0 -2.59,2.22 -0.74,4.81 0,0 -1.85,2.22 -1.48,5.92 l 7.03,3.7 c 0,0 1.85,13.32 11.84,18.13 4.473,2.154 7.4,-4.07 9.25,-9.62 0,0 -2.96,-19.61 -0.74,-23.68 0,0 9.99,-9.25 9.62,-12.58 0,0 -0.37,-16.65 -1.48,-17.39 z"
+         id="path336"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff"
+       id="g338">
+      <path
+         d="m -59.6,12.46 c 0,0 -2.88,-18.98 -0.72,-22.94 0,0 9.72,-9 9.36,-12.24 0,0 -0.36,-16.2 -1.44,-16.92 -0.76,-1.04 -7.92,-6.12 -13.32,-0.36 0,0 -9.36,16.2 -8.64,21.96 l 0,1.8 c 0,0 -6.84,-0.36 -8.28,1.44 0,0 -1.08,4.68 -2.16,5.04 0,0 -2.52,2.16 -0.72,4.68 0,0 -1.8,2.16 -1.44,5.76 l 6.84,3.6 c 0,0 1.8,12.96 11.52,17.64 4.352,2.095 7.2,-4.06 9,-9.46 z"
+         id="path340"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g342">
+      <path
+         d="m -62.7,6.2 c 0,0 -21.6,-10.2 -22.5,-11 0,0 9.1,8.2 9.9,8.2 0.8,0 12.6,2.8 12.6,2.8 z"
+         id="path344"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g346">
+      <path
+         d="m -79.8,0 c 0,0 18.4,3.6 18.4,8 0,2.912 -0.243,16.331 -5.6,14.8 C -75.4,20.4 -71.8,6 -79.8,0 z"
+         id="path348"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#99cc32"
+       id="g350">
+      <path
+         d="m -71.4,3.8 c 0,0 8.978,1.474 10,4.2 0.6,1.6 1.263,9.908 -4.2,11 -4.552,0.911 -6.782,-9.31 -5.8,-15.2 z"
+         id="path352"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g354">
+      <path
+         d="m 14.595,46.349 c -0.497,-1.742 0.814,-1.611 2.605,-2.149 2,-0.6 14.2,-4.4 15,-7 0.8,-2.6 14,1.8 14,1.8 1.8,0.8 6.2,3.4 6.2,3.4 4.8,1.2 11.4,1.6 11.4,1.6 2.4,1 5.8,3.8 5.8,3.8 14.6,10.2 27.001,3 27.001,3 20,-6.6 14,-23.8 14,-23.8 -3,-9 0.2,-12.4 0.2,-12.4 0.2,-3.8 7.4,2.6 7.4,2.6 2.6,4.2 3.4,9.2 3.4,9.2 8,11.2 4.6,-6.6 4.6,-6.6 0.2,-1 -2.6,-4.6 -2.6,-5.8 0,-1.2 -1.8,-4.6 -1.8,-4.6 -3,-3.4 -0.6,-10.4 -0.6,-10.4 1.8,-13.8 -0.4,-12 -0.4,-12 -1.2,-1.8 -10.4,8.2 -10.4,8.2 -2.2,3.4 -8.2,5 -8.2,5 -2.8,1.8 -6.2,0.4 -6.2,0.4 -2.6,-0.4 -8.2,6.6 -8.2,6.6 2.8,-0.2 5.2,4.2 7.6,4.4 2.4,0.2 4.2,-2.4 5.8,-3 1.6,-0.6 4.4,5.2 4.4,5.2 0.4,2.6 -5.2,7.4 -5.2,7.4 -0.4,4.6 -2,3 -2,3 -3,-0.6 -4.2,3.2 -5.2,7.8 -1,4.6 -5.2,5 -5.2,5 -1.6,7.4 -2.801,4.4 -2.801,4.4 -0.2,-5.6 -6.2,0.2 -6.2,0.2 -1.2,2 -5.8,-0.2 -5.8,-0.2 -6.8,-2 -4.4,-4 -4.4,-4 1.8,-2.2 13,0 13,0 C 84,35.8 76,31.8 76,31.8 c -0.6,-1.8 0.4,-6.2 0.4,-6.2 1.2,-3.2 8,-8.8 8,-8.8 C 93.801,15.6 91.001,14 91.001,14 84.801,8.8 79,16.4 79,16.4 76.8,22.6 59.4,37.6 59.4,37.6 54.6,41 57.2,34.2 53.2,37.6 49.2,41 28.6,32 28.6,32 17.038,30.807 14.306,46.549 10.777,43.429 c 0,0 5.418,8.52 3.818,2.92 z"
+         id="path356"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g358">
+      <path
+         d="m 209.401,-120 c 0,0 -25.6,8 -28.4,26.8 0,0 -2.4,22.8 18,40.4 0,0 0.4,6.4 2.4,9.6 0,0 -1.6,4.8 17.2,-2.8 l 27.2,-8.4 c 0,0 6.4,-2.4 11.6,-11.2 5.2,-8.8 20.4,-27.6 16.8,-52.8 0,0 1.2,-11.2 -4.8,-11.6 0,0 -8.4,-1.6 -15.6,6 0,0 -6.8,3.2 -9.2,2.8 l -35.2,1.2 z"
+         id="path360"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g362">
+      <path
+         d="m 264.022,-120.99 c 0,0 2.1,-8.93 -2.74,-4.09 0,0 -7.04,5.72 -14.521,5.72 0,0 -14.52,2.2 -18.92,15.4 0,0 -3.96,26.84 3.96,32.56 0,0 4.84,7.48 11.88,0.88 7.041,-6.6 22.541,-36.83 20.341,-50.47 z"
+         id="path364"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#323232"
+       id="g366">
+      <path
+         d="m 263.648,-120.632 c 0,0 2.09,-8.744 -2.662,-3.992 0,0 -6.912,5.616 -14.257,5.616 0,0 -14.256,2.16 -18.576,15.12 0,0 -3.888,26.352 3.888,31.968 0,0 4.752,7.344 11.664,0.864 6.913,-6.48 22.103,-36.184 19.943,-49.576 z"
+         id="path368"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#666666"
+       id="g370">
+      <path
+         d="m 263.274,-120.274 c 0,0 2.08,-8.558 -2.584,-3.894 0,0 -6.784,5.512 -13.993,5.512 0,0 -13.992,2.12 -18.232,14.84 0,0 -3.816,25.864 3.816,31.376 0,0 4.664,7.208 11.448,0.848 6.785,-6.36 21.665,-35.538 19.545,-48.682 z"
+         id="path372"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#999999"
+       id="g374">
+      <path
+         d="m 262.9,-119.916 c 0,0 2.07,-8.372 -2.506,-3.796 0,0 -6.656,5.408 -13.729,5.408 0,0 -13.728,2.08 -17.888,14.56 0,0 -3.744,25.376 3.744,30.784 0,0 4.576,7.072 11.232,0.832 6.657,-6.24 21.227,-34.892 19.147,-47.788 z"
+         id="path376"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g378">
+      <path
+         d="m 262.526,-119.558 c 0,0 2.06,-8.186 -2.428,-3.698 0,0 -6.529,5.304 -13.465,5.304 0,0 -13.464,2.04 -17.544,14.28 0,0 -3.672,24.888 3.672,30.192 0,0 4.488,6.936 11.016,0.816 6.528,-6.12 20.789,-34.246 18.749,-46.894 z"
+         id="path380"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff"
+       id="g382">
+      <path
+         d="m 262.151,-119.2 c 0,0 2.05,-8 -2.35,-3.6 0,0 -6.4,5.2 -13.2,5.2 0,0 -13.2,2 -17.2,14 0,0 -3.6,24.4 3.6,29.6 0,0 4.4,6.8 10.8,0.8 6.4,-6 20.35,-33.6 18.35,-46 z"
+         id="path384"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#992600"
+       id="g386">
+      <path
+         d="m 50.6,84 c 0,0 -20.4,-19.2 -28.4,-20 0,0 -34.4,-4 -49.2,14 0,0 17.6,-20.4 45.2,-14.8 0,0 -21.6,-4.4 -34,-1.2 0,0 -16.8,0 -26.4,14 l -2.8,4.8 c 0,0 4,-14.8 22.4,-20.8 0,0 22.8,-4.8 33.6,0 0,0 -21.6,-6.8 -31.6,-4.8 0,0 -30.4,-2.4 -43.2,24 0,0 4,-14.4 18.8,-21.6 0,0 13.6,-8.8 34,-6 0,0 14.4,3.2 19.6,5.6 5.2,2.4 4,-0.4 -4.4,-5.2 0,0 -5.6,-10 -19.6,-9.6 0,0 -42.8,3.6 -53.2,15.6 0,0 13.6,-11.2 24,-14 0,0 22.4,-8 30.8,-7.2 0,0 24.8,1 32.4,-3 0,0 -11.2,5 -8,8.2 3.2,3.2 10,10.8 10,12 0,1.2 24.2,23.3 27.8,27.7 l 2.2,2.3 z"
+         id="path388"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g390">
+      <path
+         d="m 189,278 c 0,0 -15.5,-36.5 -28,-46 0,0 26,16 29.5,34 0,0 0,10 -1.5,12 z"
+         id="path392"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g394">
+      <path
+         d="m 236,285.5 c 0,0 -26.5,-55 -45,-79 0,0 43.5,37.5 48.5,64 l 0.5,5.5 -3,-2.5 c 0,0 -0.5,9 -1,12 z"
+         id="path396"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g398">
+      <path
+         d="m 292.5,237 c 0,0 -62.5,-59.5 -64,-62 0,0 60.5,66 63.5,73.5 0,0 -2,-9 0.5,-11.5 z"
+         id="path400"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g402">
+      <path
+         d="m 104,280.5 c 0,0 19.5,-52 38.5,-29.5 0,0 15,10 14.5,13 0,0 -4,-6.5 -22,-6 0,0 -19,-3 -31,22.5 z"
+         id="path404"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g406">
+      <path
+         d="m 294.5,153 c 0,0 -45,-28.5 -52.5,-30 -11.807,-2.361 49.5,29 54.5,39.5 0,0 2,-2.5 -2,-9.5 z"
+         id="path408"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g410">
+      <path
+         d="m 143.801,259.601 c 0,0 20.4,-2 27.2,-8.8 l 4.4,3.6 17.6,-38.4 3.6,5.2 c 0,0 14.4,-14.8 13.6,-22.8 -0.8,-8 12.8,6 12.8,6 0,0 -0.8,-11.6 6.4,-4.8 0,0 -2.4,-15.6 6,-7.6 0,0 -10.537,-30.157 12,-4.4 5.6,6.4 1.2,-0.4 1.2,-0.4 0,0 -26,-48 -4.4,-33.6 0,0 2,-22.8 0.8,-27.2 -1.2,-4.4 -3.2,-26.801 -8,-32.001 -4.8,-5.2 0.4,-6.8 6,-1.6 0,0 -11.2,-24 2,-12 0,0 -3.6,-15.2 -8,-18 0,0 -5.6,-17.2 9.6,-6.4 0,0 -4.4,-12.4 -7.6,-15.6 0,0 -11.6,-27.6 -4.4,-22.8 l 4.4,3.6 c 0,0 -6.8,-14 -0.4,-9.6 6.4,4.4 6.4,4 6.4,4 0,0 -21.2,-33.2 -0.8,-15.6 0,0 -8.159,-13.918 -11.6,-20.8 0,0 -18.8,-20.4 -4.4,-14 l 4.8,1.6 c 0,0 -8.8,-10 -16.8,-11.6 -8,-1.6 2.4,-8 8.8,-6 6.4,2 22,9.6 22,9.6 0,0 12.8,18.8 16.8,19.2 0,0 -20,-7.6 -14,0.4 0,0 14.4,14 7.2,13.6 0,0 -6,7.2 -1.2,16 0,0 -18.459,-18.391 -3.6,7.2 l 6.8,16.4 c 0,0 -24.4,-24.8 -13.2,-2.8 0,0 17.2,23.6 19.2,24 2,0.4 6.4,9.2 6.4,9.2 l -4.4,-2 5.2,8.8 c 0,0 -11.2,-12 -5.2,1.2 l 5.6,14.4 c 0,0 -20.4,-22 -6.8,7.6 0,0 -16.4,-5.2 -7.6,12 0,0 -1.6,16.001 -1.2,21.201 0.4,5.2 1.6,33.6 -2.8,41.6 -4.4,8 6,27.2 8,31.2 2,4 5.6,14.8 -3.2,5.6 -8.8,-9.2 -4.4,-3.6 -2.4,5.2 2,8.8 8,24.4 7.2,30 0,0 -1.2,1.2 -4.4,-2.4 0,0 -14.8,-22.8 -13.2,-8.4 0,0 -1.2,8 -4.4,16.8 0,0 -3.2,10.8 -3.2,2 0,0 -3.2,-16.8 -6,-9.2 -2.8,7.6 -6.4,13.6 -9.2,16 -2.8,2.4 -8,-20.4 -9.2,-10 0,0 -12,-12.4 -16.8,4 l -11.6,16.4 c 0,0 -0.4,-12.4 -1.6,-6.4 0,0 -30,6 -40.4,1.6 z"
+         id="path412"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g414">
+      <path
+         d="m 109.401,-97.2 c 0,0 -11.6,-8 -15.6,-7.6 -4,0.4 27.6,-8.8 68.8,18.8 0,0 4.8,2.8 8.4,2.4 0,0 3.2,2.4 0.4,6 0,0 -8.8,9.6 2.4,20.8 0,0 18.4,6.8 12.8,-2 0,0 10.8,4 13.2,8 2.4,4 1.2,0 1.2,0 0,0 -6.4,-7.2 -12.4,-12.4 0,0 -5.2,-2 -8,-10.4 -2.8,-8.4 -5.2,-18.4 -0.8,-21.6 0,0 -4,4.4 -3.2,0.4 0.8,-4 4.4,-7.6 6,-8 1.6,-0.4 18,-16.2 24.8,-16.6 0,0 -9.2,1.4 -12.2,0.4 -3,-1 -29.6,-12.4 -35.6,-13.6 0,0 -16.8,-6.6 -4.8,-4.6 0,0 35.8,3.8 54,17 0,0 -7.2,-8.4 -25.6,-15.4 0,0 -22.2,-12.6 -57.4,-7.6 0,0 -17.8,3.2 -25.6,5 0,0 -2.6,-0.6 -3.2,-1 -0.6,-0.4 -12.401,-9.4 -40.001,-2.4 0,0 -17,4.6 -25.6,9.4 0,0 -15.2,1.2 -18.8,4.4 0,0 -18.6,14.6 -20.6,15.4 -2,0.8 -13.4,8.4 -14.2,8.8 0,0 24.6,-6.6 27,-9 2.4,-2.4 19.8,-5 22.2,-3.6 2.4,1.4 10.8,0.8 1.2,1.4 0,0 75.601,14.8 76.401,16.8 0.8,2 4.8,0.8 4.8,0.8 z"
+         id="path416"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226"
+       id="g418">
+      <path
+         d="m 180.801,-106.4 c 0,0 -10.2,-7.4 -12.2,-7.4 -2,0 -14.4,-10.2 -18.6,-9.8 -4.2,0.4 -16.4,-9.6 -43.8,-1.4 0,0 -0.6,-2 3,-2.8 0,0 6.4,-2.2 6.8,-2.8 0,0 20.2,-4.2 27.4,-0.6 0,0 9.2,2.6 15.4,8.8 0,0 11.2,3.2 14.4,2.2 0,0 8.8,2.2 9.2,4 0,0 5.8,3 4,5.6 0,0 0.4,1.6 -5.6,4.2 z"
+         id="path420"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226"
+       id="g422">
+      <path
+         d="m 168.33,-108.509 c 0.807,0.632 1.826,0.73 2.431,1.539 0.234,0.314 -0.055,0.64 -0.37,0.737 -1.043,0.317 -2.099,-0.253 -3.241,0.335 -0.402,0.207 -1.044,0.025 -1.597,-0.124 -1.632,-0.441 -3.461,-0.466 -5.152,0.222 -1.985,-1.129 -4.345,-0.545 -6.426,-1.546 -0.058,-0.027 -0.28,0.319 -0.354,0.292 -3.046,-1.145 -6.789,-0.862 -9.22,-3.146 -2.428,-0.412 -4.785,-0.874 -7.213,-1.554 -1.818,-0.509 -3.227,-1.498 -4.847,-2.33 -1.377,-0.708 -2.834,-1.23 -4.368,-1.602 -1.863,-0.452 -3.694,-0.34 -5.587,-0.86 -0.093,-0.025 -0.285,0.319 -0.367,0.292 -0.324,-0.108 -0.614,-0.691 -0.785,-0.638 -1.681,0.522 -3.169,-0.45 -4.833,-0.108 -1.178,-1.224 -2.906,-0.979 -4.452,-1.421 -2.964,-0.848 -6.118,0.422 -9.148,-0.579 4.113,-1.842 8.8,-0.61 12.862,-2.679 2.328,-1.186 4.99,-0.084 7.56,-0.844 0.487,-0.144 1.178,-0.346 1.578,0.323 0.134,-0.135 0.316,-0.374 0.374,-0.346 2.45,1.157 4.765,2.431 7.247,3.497 0.341,0.146 0.873,-0.086 1.125,0.116 1.52,1.216 3.463,1.113 4.854,2.333 1.698,-0.502 3.491,-0.122 5.22,-0.746 0.077,-0.027 0.311,0.314 0.344,0.292 1.13,-0.748 2.285,-0.477 3.177,-0.173 0.338,0.115 1.001,0.362 1.306,0.436 1.126,0.276 1.982,0.756 3.161,0.939 0.114,0.018 0.299,-0.322 0.371,-0.294 1.123,0.438 2.165,0.382 2.821,1.546 0.135,-0.135 0.3,-0.373 0.382,-0.346 1.027,0.338 1.676,1.093 2.777,1.334 0.485,0.106 1.097,0.732 1.673,0.908 2.392,0.731 4.235,2.26 6.429,3.155 0.759,0.31 1.635,0.544 2.268,1.04 z"
+         id="path424"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226"
+       id="g426">
+      <path
+         d="m 91.696,-122.739 c -2.518,-1.725 -4.886,-2.831 -7.328,-4.617 -0.181,-0.133 -0.541,0.037 -0.743,-0.085 -1.007,-0.609 -1.895,-1.19 -2.877,-1.886 -0.539,-0.382 -1.36,-0.371 -1.868,-0.629 -2.544,-1.292 -5.173,-1.85 -7.68,-3.044 0.682,-0.638 1.804,-0.394 2.4,-1.2 0.195,0.28 0.433,0.564 0.786,0.373 1.678,-0.904 3.528,-1.057 5.204,-0.967 1.704,0.092 3.424,0.397 5.199,0.669 0.307,0.047 0.506,0.57 0.829,0.667 2.228,0.663 4.617,0.138 6.736,0.976 1.591,0.629 3.161,1.452 4.4,2.727 0.252,0.26 -0.073,0.561 -0.353,0.755 0.388,-0.109 0.661,0.097 0.772,0.41 0.084,0.239 0.084,0.541 0,0.78 -0.112,0.312 -0.391,0.413 -0.765,0.464 -1.407,0.19 0.365,-1.19 -0.335,-0.742 -1.273,0.814 -0.527,2.22 -1.272,3.488 -0.28,-0.194 -0.51,-0.412 -0.4,-0.8 0.234,0.522 -0.368,0.812 -0.536,1.128 -0.385,0.725 -1.284,2.14 -2.169,1.533 z"
+         id="path428"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226"
+       id="g430">
+      <path
+         d="m 59.198,-115.391 c -3.154,-0.794 -6.204,-0.679 -9.22,-1.955 -0.067,-0.028 -0.29,0.319 -0.354,0.292 -1.366,-0.594 -2.284,-1.56 -3.36,-2.606 -0.913,-0.888 -2.571,-0.501 -3.845,-0.988 -0.324,-0.124 -0.527,-0.636 -0.828,-0.675 -1.219,-0.157 -2.146,-1.106 -3.191,-1.677 2.336,-0.795 4.747,-0.764 7.209,-1.148 0.113,-0.018 0.258,0.303 0.391,0.303 0.136,0 0.266,-0.221 0.4,-0.355 0.195,0.28 0.497,0.606 0.754,0.352 0.548,-0.54 1.104,-0.35 1.644,-0.31 0.144,0.01 0.269,0.313 0.402,0.313 0.136,0 0.267,-0.311 0.4,-0.311 0.136,0.001 0.267,0.311 0.4,0.311 0.136,0 0.266,-0.221 0.4,-0.355 0.692,0.782 1.577,0.228 2.399,0.407 1.038,0.227 1.305,1.375 2.379,1.673 4.715,1.304 8.852,3.449 13.215,5.536 0.307,0.147 0.517,0.395 0.407,0.784 0.267,0 0.58,-0.088 0.77,0.044 1.058,0.732 2.099,1.28 2.796,2.378 0.216,0.339 -0.113,0.746 -0.346,0.694 -4.429,-0.995 -8.435,-1.603 -12.822,-2.707 z"
+         id="path432"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226"
+       id="g434">
+      <path
+         d="m 45.338,-71.179 c -1.592,-1.219 -2.176,-3.25 -3.304,-5.042 -0.214,-0.34 0.06,-0.654 0.377,-0.743 0.56,-0.159 1.103,0.319 1.512,0.521 1.745,0.862 3.28,2.104 5.277,2.243 1.99,2.234 6.25,2.619 6.257,6 10e-4,0.859 -1.427,-0.059 -1.857,0.8 -2.451,-1.003 -4.84,-0.9 -7.22,-2.367 -0.617,-0.381 -0.287,-0.834 -1.042,-1.412 z"
+         id="path436"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cc7226"
+       id="g438">
+      <path
+         d="m 17.8,-123.756 c 0.135,0.001 7.166,0.234 7.149,0.348 -0.045,0.309 -7.775,1.358 -8.139,1.188 -0.164,-0.076 -7.676,2.354 -7.81,2.22 0.268,-0.135 8.534,-3.756 8.8,-3.756 z"
+         id="path440"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g442">
+      <path
+         d="m 33.2,-114 c 0,0 -14.8,1.8 -19.2,3 -4.4,1.2 -23,8.8 -26,10.8 0,0 -13.4,5.4 -30.4,25.4 0,0 7.6,-3.4 9.8,-6.2 0,0 13.6,-12.6 13.4,-10 0,0 12.2,-8.6 11.6,-6.4 0,0 24.4,-11.2 22.4,-8 0,0 21.6,-4.6 20.6,-2.6 0,0 18.8,4.4 16,4.6 0,0 -5.8,1.2 0.6,4.8 0,0 -3.4,4.4 -8.8,0.4 -5.4,-4 -2.4,-1.8 -7.4,-0.8 0,0 -2.6,0.8 -7.2,-3.2 0,0 -5.6,-4.6 -14.4,-1 0,0 -30.6,12.6 -32.6,13.2 0,0 -3.6,2.8 -6,6.4 0,0 -5.8,4.4 -8.8,5.8 0,0 -12.8,11.6 -14,13 0,0 -3.4,5.2 -4.2,5.6 0,0 6.4,-3.8 8.4,-5.8 0,0 14,-10 19.4,-10.8 0,0 4.4,-3 5.2,-4.4 0,0 14.4,-9.2 18.6,-9.2 0,0 9.2,5.2 11.6,-1.8 0,0 5.8,-1.8 11.4,-0.6 0,0 3.2,-2.6 2.4,-4.8 0,0 1.6,-1.8 2.6,2 0,0 3.4,3.6 8.2,1.6 0,0 4,-0.2 2,2.2 0,0 -4.4,3.8 -16.2,4 0,0 -12.4,0.6 -28.8,8.2 0,0 -29.8,10.4 -39,20.8 0,0 -6.4,8.8 -11.8,10 0,0 -5.8,0.8 -11.8,8.2 0,0 9.8,-5.8 18.8,-5.8 0,0 4,-2.4 0.2,1.2 0,0 -3.6,7.6 -2,13 0,0 -0.6,5.2 -1.4,6.8 0,0 -7.8,12.8 -7.8,15.2 0,2.4 1.2,12.2 1.6,12.8 0.4,0.6 -1,-1.6 2.8,0.8 3.8,2.4 6.6,4 7.4,6.8 0.8,2.8 -2,-5.4 -2.2,-7.2 -0.2,-1.8 -4.4,-9 -3.6,-11.4 0,0 1,1 1.8,2.4 0,0 -0.6,-0.6 0,-4.2 0,0 0.8,-5.2 2.2,-8.4 1.4,-3.2 3.4,-7 3.8,-7.8 0.4,-0.8 0.4,-6.6 1.8,-4 l 3.4,2.6 c 0,0 -2.8,-2.6 -0.6,-4.8 0,0 -1,-5.6 0.8,-8.2 0,0 7,-8.4 8.6,-9.4 1.6,-1 0.2,-0.6 0.2,-0.6 0,0 6,-4.2 0.2,-2.6 0,0 -4,1.6 -7,1.6 0,0 -7.6,2 -3.6,-2.2 4,-4.2 14,-9.6 17.8,-9.4 l 0.8,1.6 11.2,-2.4 -1.2,0.8 c 0,0 -0.2,-0.2 4,-0.6 4.2,-0.4 10,1 11.4,-0.8 1.4,-1.8 4.8,-2.8 4.4,-1.4 -0.4,1.4 -0.6,3.4 -0.6,3.4 0,0 5,-5.8 4.4,-3.6 -0.6,2.2 -8.8,7.4 -10.2,13.6 l 10.4,-8.2 3.6,-3 c 0,0 3.6,2.2 3.8,0.6 0.2,-1.6 4.8,-7.4 6,-7.2 1.2,0.2 3.2,-2.6 3,0 -0.2,2.6 7.4,8 7.4,8 0,0 3.2,-1.8 4.6,-0.4 1.4,1.4 5.6,-19.8 5.6,-19.8 l 25,-10.6 43.601,-3.4 -17,-6.8 L 33.2,-114 z"
+         id="path444"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#4c0000;stroke-width:2"
+       id="g446">
+      <path
+         d="m 51.4,85 c 0,0 -15,-16.8 -23.4,-19.4 0,0 -13.4,-6.8 -38,1"
+         id="path448"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#4c0000;stroke-width:2"
+       id="g450">
+      <path
+         d="m 24.8,64.2 c 0,0 -25.2,-8 -40.6,-3.8 0,0 -18.4,2 -26.8,15.8"
+         id="path452"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#4c0000;stroke-width:2"
+       id="g454">
+      <path
+         d="m 21.2,63 c 0,0 -17,-7.2 -31.8,-9.4 0,0 -16.6,-2.6 -33.2,4.6 0,0 -12.2,6 -17.6,16.2"
+         id="path456"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#4c0000;stroke-width:2"
+       id="g458">
+      <path
+         d="m 22.2,63.4 c 0,0 -15.4,-11 -16.4,-12.4 0,0 -7,-11 -20,-11.4 0,0 -21.4,0.8 -38.6,8.8"
+         id="path460"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g462">
+      <path
+         d="M 20.895,54.407 C 22.437,55.87 49.4,84.8 49.4,84.8 c 35.2,36.601 7.2,2.4 7.2,2.4 C 49,82.4 39.8,63.6 39.8,63.6 c -1.2,-2.8 14,7.2 14,7.2 4,0.8 17.6,20 17.6,20 -6.8,-2.4 -2,4.8 -2,4.8 2.8,2 23.201,17.601 23.201,17.601 3.6,4 7.6,5.6 7.6,5.6 14,-5.2 7.6,8 7.6,8 2.4,6.8 8,-4.8 8,-4.8 11.2,-16.801 -5.2,-14.4 -5.2,-14.4 C 80.6,110.401 73.8,94.4 73.8,94.4 c -2.4,-2.4 6.4,0 6.4,0 C 88.601,96.4 73,82 73,82 c 2.4,0 11.6,6.8 11.6,6.8 10.401,9.2 12.401,7.2 12.401,7.2 18,-8.8 28.4,-1.2 28.4,-1.2 2,1.6 -3.6,8.4 -2,13.601 1.6,5.2 6.4,17.6 6.4,17.6 -2.4,1.6 -2,12.4 -2,12.4 16.8,23.2 7.2,21.2 7.2,21.2 -15.6,-0.4 -0.8,7.2 -0.8,7.2 3.2,2 12,9.2 12,9.2 -2.8,-1.2 -4.4,4 -4.4,4 4.8,4 2,8.8 2,8.8 -6,1.2 -7.2,5.2 -7.2,5.2 6.8,8 -3.2,8.4 -3.2,8.4 3.6,4.4 -1.2,16.4 -1.2,16.4 -4.8,0 -11.2,5.6 -11.2,5.6 2.4,4.8 -8,10.4 -8,10.4 -8.4,1.6 -5.6,8.4 -5.6,8.4 -8,6 -10.4,22 -10.4,22 -0.8,10.4 -3.2,13.6 2,11.6 5.2,-2 4.4,-14.4 4.4,-14.4 -4.8,-15.6 38,-31.6 38,-31.6 4,-1.6 4.8,-6.8 4.8,-6.8 2,0.4 10.8,8 10.8,8 7.6,11.2 8,2 8,2 1.2,-3.6 -0.4,-9.6 -0.4,-9.6 6,-21.6 -8,-28 -8,-28 -10,-33.6 4,-25.2 4,-25.2 2.8,5.6 13.6,10.8 13.6,10.8 l 3.6,-2.4 c -1.6,-4.8 6.8,-10.8 6.8,-10.8 2.8,6.4 8.8,-1.6 8.8,-1.6 3.6,-24.4 16,-10 16,-10 4,1.2 5.2,-5.6 5.2,-5.6 3.6,-10.4 0,-24 0,-24 3.6,-0.4 13.2,5.6 13.2,5.6 2.8,-3.6 -6.4,-20.4 -2.4,-18 4,2.4 8.4,4 8.4,4 0.8,-2 -9.2,-14.4 -9.2,-14.4 -4.4,-2.801 -9.6,-23.201 -9.6,-23.201 7.2,3.6 -2.8,-11.6 -2.8,-11.6 0,-3.2 6,-14.4 6,-14.4 -0.8,-6.8 0,-6.4 0,-6.4 2.8,1.2 10.8,2.8 4,-3.6 -6.8,-6.4 0.8,-11.2 0.8,-11.2 4.4,-2.8 -9.2,-2.4 -9.2,-2.4 -5.2,-4.4 -4.8,-8.4 -4.8,-8.4 8,2 -6.4,-12.4 -8.8,-16 -2.4,-3.6 7.2,-8.8 7.2,-8.8 13.2,-3.6 1.6,-6.8 1.6,-6.8 -19.6,0.4 -8.8,-10.4 -8.8,-10.4 6,0.4 4.4,-2 4.4,-2 -5.2,-1.2 -14.8,-7.6 -14.8,-7.6 -4,-3.6 -0.4,-2.8 -0.4,-2.8 16.8,1.2 -12,-10 -12,-10 8,0 -10,-10.4 -10,-10.4 -2,-1.6 -5.2,-9.2 -5.2,-9.2 -6,-5.2 -10.8,-12 -10.8,-12 -0.4,-4.4 -5.2,-9.2 -5.2,-9.2 -11.6,-13.6 -17.2,-13.2 -17.2,-13.2 -14.8,-3.6 -20,-2.8 -20,-2.8 L 56.2,-93.2 c -26.4,12.8 -18.6,33.8 -18.6,33.8 6.4,8.4 15.6,4.6 15.6,4.6 4.6,-6.2 16.2,-4 16.2,-4 20.401,3.2 17.801,-0.4 17.801,-0.4 C 84.801,-63.8 68.6,-70 68.4,-70.6 c -0.2,-0.6 -9,-4 -9,-4 C 56.4,-75.8 52,-85 52,-85 c -3.2,-3.4 12.6,2.4 12.6,2.4 -1.2,1 6.2,5 6.2,5 17.401,-1 28.001,9.8 28.001,9.8 10.8,16.6 11,8.4 11,8.4 2.8,-9.4 -9,-30.6 -9,-30.6 0.4,-2 8.6,4.6 8.6,4.6 1.4,-2 2.2,3.8 2.2,3.8 0.2,2.4 4,10.4 4,10.4 2.8,13 6.4,5.6 6.4,5.6 l 4.6,9.4 c 1.4,2.6 -4.6,10.2 -4.6,10.2 -0.2,2.8 0.6,2.6 -5,10.2 -5.6,7.6 -2.2,12 -2.2,12 -1.4,6.6 7.4,6.2 7.4,6.2 2.6,2.2 6,2.2 6,2.2 1.8,2 4.2,1.4 4.2,1.4 1.6,-3.8 7.8,-1.8 7.8,-1.8 1.4,-2.4 9.6,-2.8 9.6,-2.8 1,-2.6 1.4,-4.2 4.8,-4.8 3.4,-0.6 -21.2,-43.6 -21.2,-43.6 6.4,-0.8 -1.8,-13.2 -1.8,-13.2 -2.2,-6.6 9.2,8 11.4,9.4 2.2,1.4 3.2,3.6 1.6,3.4 -1.6,-0.2 -3.4,2 -2,2.2 1.4,0.2 14.4,15.2 17.8,25.4 3.4,10.2 9.4,14.2 15.6,20.2 6.2,6 5.4,30.2 5.4,30.2 -0.4,8.8 5.6,19.4 5.6,19.4 2,3.8 -2.2,22 -2.2,22 -2,2.2 -0.6,3 -0.6,3 1,1.2 7.8,14.4 7.8,14.4 -1.8,-0.2 1.8,3.4 1.8,3.4 5.2,6 -1.2,3 -1.2,3 -6,-1.6 1,8.2 1,8.2 1.2,1.8 -7.8,-2.8 -7.8,-2.8 -9.2,-0.6 2.4,6.6 2.4,6.6 8.6,7.2 -2.8,2.8 -2.8,2.8 -4.6,-1.8 -1.4,5 -1.4,5 3.2,1.6 20.4,8.6 20.4,8.6 0.4,3.801 -2.6,8.801 -2.6,8.801 0.4,4 -1.8,7.4 -1.8,7.4 -1.2,8.2 -1.8,9 -1.8,9 -4.2,0.2 -11.6,14 -11.6,14 -1.8,2.6 -12,14.6 -12,14.6 -2,7 -20,-0.2 -20,-0.2 -6.6,3.4 -4.6,0 -4.6,0 -0.4,-2.2 4.4,-8.2 4.4,-8.2 7,-2.6 4.4,-13.4 4.4,-13.4 4,-1.4 -7.2,-4.2 -7,-5.4 0.2,-1.2 6,-2.6 6,-2.6 8,-2 3.6,-4.4 3.6,-4.4 -0.6,-4 2.4,-9.6 2.4,-9.6 11.6,-0.8 0,-17.001 0,-17.001 -10.8,-7.6 -11.8,-13.4 -11.8,-13.4 12.6,-8.2 4.4,-20.6 4.6,-24.2 0.2,-3.6 1.4,-25.2 1.4,-25.2 -2,-6.2 -5,-19.8 -5,-19.8 2.2,-5.2 9.6,-17.8 9.6,-17.8 2.8,-4.2 11.6,-9 9.4,-12 -2.2,-3 -10,-1.2 -10,-1.2 -7.8,-1.4 -7.2,3.8 -7.2,3.8 -1.6,1 -2.4,6 -2.4,6 -0.721,7.933 -9.6,14.2 -9.6,14.2 -11.2,6.2 -2,10.2 -2,10.2 6,6.6 -3.8,6.8 -3.8,6.8 -11,-1.8 -2.8,8.4 -2.8,8.4 10.8,12.8 7.8,15.6 7.8,15.6 -10.2,1 2.4,10.2 2.4,10.2 0,0 -0.8,-2 -0.6,-0.2 0.2,1.8 3.2,6 4,8 0.8,2 -3.2,2.2 -3.2,2.2 0.6,9.6 -14.8,5.4 -14.8,5.4 0,0 0,0 -1.6,0.2 -1.6,0.2 -12.8,-0.6 -18.6,-2.8 -5.8,-2.2 -12.6,-2.2 -12.6,-2.2 0,0 -4,1.8 -11.601,1.6 C 77.8,70.8 69.8,73.6 69.8,73.6 65.4,73.2 74,68.8 74.2,69 74.4,69.2 80,63.6 72,64.2 50.203,65.835 39.4,55.6 39.4,55.6 c -2,-1.4 -4.6,-4.2 -4.6,-4.2 -10,-2 1.4,12.4 1.4,12.4 1.2,1.4 -0.2,2.4 -0.2,2.4 -0.8,-1.6 -8.6,-7 -8.6,-7 -2.811,-0.973 -4.174,-2.307 -6.505,-4.793 z"
+         id="path464"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#4c0000"
+       id="g466">
+      <path
+         d="m -3,42.8 c 0,0 11.6,5.6 14.2,8.4 2.6,2.8 16.6,14.2 16.6,14.2 0,0 -5.4,-2 -8,-3.8 -2.6,-1.8 -13.4,-10 -13.4,-10 0,0 -3.8,-6 -9.4,-8.8 z"
+         id="path468"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#99cc32"
+       id="g470">
+      <path
+         d="M -61.009,11.603 C -60.672,11.455 -61.196,8.743 -61.4,8.2 -62.422,5.474 -71.4,4 -71.4,4 c -0.227,1.365 -0.282,2.961 -0.176,4.599 0,0 4.868,5.519 10.567,3.004 z"
+         id="path472"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#659900"
+       id="g474">
+      <path
+         d="M -61.009,11.403 C -61.458,11.561 -61.024,8.669 -61.2,8.2 -62.222,5.474 -71.4,3.9 -71.4,3.9 c -0.227,1.365 -0.282,2.961 -0.176,4.599 0,0 4.268,5.119 10.567,2.904 z"
+         id="path476"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g478">
+      <path
+         d="m -65.4,11.546 c -0.625,0 -1.131,-1.14 -1.131,-2.546 0,-1.405 0.506,-2.545 1.131,-2.545 0.625,0 1.132,1.14 1.132,2.545 0,1.406 -0.507,2.546 -1.132,2.546 z"
+         id="path480"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g482">
+      <path
+         d="M -65.4,9 z"
+         id="path484"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g486">
+      <path
+         d="m -111,109.601 c 0,0 -5.6,10 19.2,4 0,0 14,-1.2 16.4,-3.6 1.2,0.8 9.566,3.733 12.4,4.4 6.8,1.6 15.2,-8.401 15.2,-8.401 0,0 4.6,-10.5 7.4,-10.5 2.8,0 -0.4,1.6 -0.4,1.6 0,0 -6.6,10.101 -6.2,11.701 0,0 -5.2,20 -21.2,20.8 0,0 -16.15,0.95 -14.8,6.8 0,0 8.8,-2.4 11.2,0 0,0 10.8,-0.4 2.8,6 l -6.8,11.6 c 0,0 0.14,3.918 -10,0.4 -9.8,-3.4 -20.1,-16.3 -20.1,-16.3 0,0 -15.95,-14.55 -5.1,-28.5 z"
+         id="path488"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#e59999"
+       id="g490">
+      <path
+         d="m -112.2,113.601 c 0,0 -2,9.6 34.8,-0.8 0,0 4.4,0 6.8,0.8 2.4,0.8 14.4,3.6 16.4,2.4 0,0 -7.2,13.6 -18.8,12 0,0 -13.2,1.6 -12.8,6.4 0,0 4,7.2 8.8,9.6 0,0 2.8,2.4 2.4,5.6 -0.4,3.2 -3.2,4.8 -5.2,5.6 -2,0.8 -5.2,-2.4 -6.8,-2.4 -1.6,0 -10,-6.4 -14.4,-11.2 -4.4,-4.8 -12.8,-16.8 -12.4,-19.6 0.4,-2.8 1.2,-8.4 1.2,-8.4 z"
+         id="path492"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#b26565"
+       id="g494">
+      <path
+         d="m -109,131.051 c 2.6,3.95 5.8,8.15 8,10.55 4.4,4.8 12.8,11.2 14.4,11.2 1.6,0 4.8,3.2 6.8,2.4 2,-0.8 4.8,-2.4 5.2,-5.6 0.4,-3.2 -2.4,-5.6 -2.4,-5.6 -3.066,-1.533 -5.806,-5.025 -7.385,-7.348 0,0 0.185,2.548 -5.015,1.748 -5.2,-0.8 -10.4,-3.6 -12,-6.8 -1.6,-3.2 -4,-5.6 -2.4,-2 1.6,3.6 4,7.2 5.6,7.6 1.6,0.4 1.2,1.6 -1.2,1.2 -2.4,-0.4 -5.2,-0.8 -9.6,-6 z"
+         id="path496"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#992600"
+       id="g498">
+      <path
+         d="m -111.6,110.001 c 0,0 1.8,-13.601 3,-17.601 0,0 -0.8,-6.8 1.6,-11 2.4,-4.2 4.4,-10.4 7.4,-15.8 3,-5.4 3.2,-9.4 7.2,-11 4,-1.6 10,-10.2 12.8,-11.2 2.8,-1 2.6,-0.2 2.6,-0.2 0,0 6.8,-14.8 20.4,-10.8 0,0 -16.2,-2.8 -0.4,-12.2 0,0 -4.8,1.1 -1.5,-5.9 2.201,-4.668 1.7,2.1 -9.3,13.9 0,0 -5,8.6 -10.2,11.6 -5.2,3 -17.2,10 -18.4,13.8 -1.2,3.8 -4.4,9.6 -6.4,11.2 -2,1.6 -4.8,5.8 -5.2,9.2 0,0 -1.2,4 -2.6,5.2 -1.4,1.2 -1.6,4.4 -1.6,6.4 0,2 -2,4.8 -1.8,7.2 0,0 0.8,19.001 0.4,21.001 l 2,-3.8 z"
+         id="path500"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff"
+       id="g502">
+      <path
+         d="m -120.2,114.601 c 0,0 -2,-1.4 -6.4,4.6 0,0 7.3,33 7.3,34.4 0,0 1.1,-2.1 -0.2,-9.3 -1.3,-7.2 -2.2,-19.9 -2.2,-19.9 l 1.5,-9.8 z"
+         id="path504"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#992600"
+       id="g506">
+      <path
+         d="m -98.6,54 c 0,0 -17.6,3.2 -17.2,32.4 l -0.8,24.801 c 0,0 -1.2,-25.601 -2.4,-27.201 -1.2,-1.6 2.8,-12.8 -0.4,-6.8 0,0 -14,14 -6,35.201 0,0 1.5,3.3 -1.5,-1.3 0,0 -4.6,-12.601 -3.5,-19.001 0,0 0.2,-2.2 2.1,-5 0,0 8.6,-11.7 11.3,-14 0,0 1.8,-14.4 17.2,-19.6 0,0 5.7,-2.3 1.2,0.5 z"
+         id="path508"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g510">
+      <path
+         d="m 40.8,-12.2 c 0.66,-0.354 0.651,-1.324 1.231,-1.497 1.149,-0.344 1.313,-1.411 1.831,-2.195 0.873,-1.319 1.066,-2.852 1.648,-4.343 0.272,-0.7 0.299,-1.655 -0.014,-2.315 -1.174,-2.481 -1.876,-4.93 -3.318,-7.356 -0.268,-0.45 -0.53,-1.244 -0.731,-1.842 -0.463,-1.384 -1.72,-2.375 -2.58,-3.695 -0.288,-0.441 0.237,-1.366 -0.479,-1.45 -0.897,-0.105 -2.346,-0.685 -2.579,0.341 -0.588,2.587 0.423,5.11 1.391,7.552 -0.782,0.692 -0.448,1.613 -0.296,2.38 0.71,3.606 -0.488,6.958 -1.249,10.432 -0.023,0.104 0.319,0.302 0.291,0.364 -1.222,2.686 -2.674,5.131 -4.493,7.512 -0.758,0.992 -1.63,1.908 -2.127,2.971 -0.368,0.787 -0.776,1.753 -0.526,2.741 -3.435,2.78 -5.685,6.625 -8.296,10.471 -0.462,0.68 -0.171,1.889 0.38,2.158 0.813,0.398 1.769,-0.626 2.239,-1.472 C 23.512,7.859 23.865,7.209 24.356,6.566 24.489,6.391 24.31,5.972 24.445,5.851 27.078,3.504 28.747,0.568 31.2,-1.8 c 1.95,-0.329 3.487,-1.327 5.235,-2.34 0.308,-0.179 0.832,0.07 1.122,-0.125 1.753,-1.177 1.751,-3.213 1.857,-5.123 0.05,-0.884 0.246,-2.201 1.386,-2.812 z"
+         id="path512"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g514">
+      <path
+         d="m 31.959,-16.666 c 0.124,-0.077 -0.031,-0.5 0.078,-0.716 0.162,-0.324 0.565,-0.512 0.727,-0.836 0.109,-0.216 -0.054,-0.596 0.082,-0.738 2.333,-2.447 2.59,-5.471 1.554,-8.444 1.024,-0.62 1.085,-1.882 0.66,-2.729 -0.853,-1.7 -1.046,-3.626 -2.021,-5.169 -0.802,-1.269 -2.38,-2.513 -3.751,-1.21 -0.421,0.4 -0.742,1.187 -0.464,1.899 0.064,0.163 0.349,0.309 0.322,0.391 -0.107,0.324 -0.653,0.548 -0.659,0.82 -0.03,1.496 -0.984,3.007 -0.354,4.336 0.772,1.629 1.591,3.486 2.267,5.262 -1.234,2.116 -0.201,4.565 -1.954,6.442 -0.136,0.146 -0.127,0.532 -0.005,0.734 0.292,0.486 0.698,0.892 1.184,1.184 0.202,0.121 0.55,0.123 0.75,-0.001 0.578,-0.362 0.976,-0.849 1.584,-1.225 z"
+         id="path516"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g518">
+      <path
+         d="m 94.771,-26.977 c 1.389,1.792 1.679,4.587 -0.37,5.977 0.55,3.309 3.901,1.33 6,0.8 -0.109,-0.388 0.118,-0.732 0.401,-0.737 1.057,-0.015 1.737,-1.047 2.799,-0.863 0.434,-1.557 2.072,-2.259 2.716,-3.639 1.726,-3.695 1.135,-7.968 -1.449,-11.214 -0.202,-0.254 0.015,-0.771 -0.109,-1.133 -0.756,-2.211 -2.824,-2.526 -4.758,-3.214 -1.177,-3.875 -1.838,-7.906 -3.6,-11.6 -1.614,-0.25 -2.312,-1.989 -3.649,-2.709 -1.333,-0.719 -1.901,0.86 -1.86,1.906 0.007,0.205 0.459,0.429 0.289,0.794 -0.076,0.164 -0.336,0.275 -0.336,0.409 0.001,0.135 0.222,0.266 0.356,0.4 -0.918,0.82 -2.341,1.297 -2.636,2.442 -0.954,3.71 1.619,6.835 3.287,10.036 0.591,1.135 -0.145,2.406 -0.905,3.614 -0.438,0.695 -0.33,1.822 -0.054,2.678 0.752,2.331 2.343,4.07 3.878,6.053 z"
+         id="path520"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g522">
+      <path
+         d="m 57.611,-8.591 c -1.487,1.851 -4.899,4.42 -1.982,6.348 0.194,0.129 0.564,0.133 0.737,-0.001 2.021,-1.565 4.024,-2.468 6.46,-3.05 0.124,-0.029 0.398,0.438 0.767,0.277 1.613,-0.703 3.623,-0.645 4.807,-1.983 3.767,0.224 7.332,-0.892 10.723,-2.2 1.161,-0.448 2.431,-1.007 3.632,-1.509 1.376,-0.576 2.58,-1.504 3.692,-2.645 0.133,-0.136 0.487,-0.046 0.754,-0.046 -0.04,-0.863 0.922,-0.99 1.169,-1.612 0.092,-0.232 -0.058,-0.628 0.075,-0.73 2.138,-1.63 3.058,-3.648 1.889,-6.025 -0.285,-0.578 -0.534,-1.196 -1.1,-1.672 -1.085,-0.911 -2.187,-0.057 -3.234,-0.361 -0.159,0.628 -0.888,0.456 -1.274,0.654 -0.859,0.439 -2.192,-0.146 -3.051,0.292 -1.362,0.695 -2.603,0.864 -4.025,1.241 -0.312,0.082 -1.09,-0.014 -1.25,0.613 -0.134,-0.134 -0.282,-0.368 -0.388,-0.346 -1.908,0.396 -3.168,0.61 -4.469,2.302 -0.103,0.133 -0.545,-0.046 -0.704,0.089 -0.957,0.808 -1.362,2.042 -2.463,2.714 -0.201,0.123 -0.553,-0.045 -0.747,0.084 -0.646,0.431 -1.013,1.072 -1.655,1.519 -0.329,0.229 -0.729,-0.096 -0.697,-0.352 0.245,-1.947 0.898,-3.734 0.323,-5.61 2.077,-2.52 4.594,-4.469 6.4,-7.2 0.015,-2.166 0.707,-4.312 0.594,-6.389 -0.01,-0.193 -0.298,-0.926 -0.424,-1.273 -0.312,-0.854 0.594,-1.92 -0.25,-2.644 -1.404,-1.203 -2.696,-0.327 -3.52,1.106 -1.838,0.39 -3.904,1.083 -5.482,-0.151 -1.007,-0.787 -1.585,-1.693 -2.384,-2.749 -0.985,-1.302 -0.65,-2.738 -0.58,-4.302 0.006,-0.128 -0.309,-0.264 -0.309,-0.398 10e-4,-0.135 0.221,-0.266 0.355,-0.4 -0.706,-0.626 -0.981,-1.684 -2,-2 0.305,-1.092 -0.371,-1.976 -1.242,-2.278 -1.995,-0.691 -3.672,1.221 -5.564,1.294 -0.514,0.019 -0.981,-1.019 -1.63,-1.344 -0.432,-0.216 -1.136,-0.249 -1.498,0.017 -0.688,0.504 -1.277,0.618 -2.035,0.823 -1.617,0.436 -2.895,1.53 -4.375,2.385 -1.485,0.857 -2.44,2.294 -3.52,3.614 -0.941,1.152 -1.077,3.566 0.343,4.066 1.843,0.65 3.147,-2.053 5.113,-1.727 0.312,0.051 0.518,0.362 0.408,0.75 0.389,0.109 0.607,-0.12 0.8,-0.4 0.858,1.019 2.022,1.356 2.96,2.229 0.97,0.904 2.716,0.486 3.731,1.483 1.529,1.502 0.97,4.183 2.909,5.488 -0.586,1.313 -1.193,2.59 -1.528,4.017 -0.282,1.206 0.712,2.403 1.923,2.312 1.258,-0.094 1.52,-0.853 2.005,-1.929 0.267,0.267 0.736,0.564 0.695,0.78 -0.457,2.387 -1.484,4.38 -1.942,6.811 -0.059,0.317 -0.364,0.519 -0.753,0.409 -0.468,4.149 -4.52,6.543 -7.065,9.708 -0.403,0.502 -0.407,1.751 0.002,2.154 C 49.14,-4.951 51.1,-6.497 52.8,-7 c 0.213,-1.206 1.072,-2.148 2.404,-2.092 0.256,0.01 0.491,-0.532 0.815,-0.662 0.348,-0.138 0.85,0.086 1.136,-0.112 1.729,-1.195 3.137,-2.301 4.875,-3.49 0.192,-0.131 0.536,0.028 0.752,-0.08 0.325,-0.162 0.512,-0.549 0.835,-0.734 0.348,-0.2 0.59,0.09 0.783,0.37 -0.646,0.349 -0.65,1.306 -1.232,1.508 -0.775,0.268 -1.336,0.781 -2.01,1.228 -0.292,0.193 -0.951,-0.055 -1.055,0.124 -0.598,1.028 -1.782,1.466 -2.492,2.349 z"
+         id="path524"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g526">
+      <path
+         d="m 2.2,-58 c 0,0 -9.238,-2.872 -20.4,22.8 0,0 -2.4,5.2 -4.8,7.2 -2.4,2 -13.6,5.6 -15.6,9.6 l -10.4,16 c 0,0 14.8,-16 18,-18.4 0,0 8,-8.4 4.8,-1.6 0,0 -14,10.8 -12.8,20 0,0 -5.6,14.4 -6.4,16.4 0,0 16,-32 18.4,-33.2 2.4,-1.2 3.6,-1.2 2.4,2.4 -1.2,3.6 -1.6,20 -4.4,22 0,0 8,-20.4 7.2,-23.6 0,0 3.2,-3.6 5.6,1.6 l -1.2,16 4.4,12 c 0,0 -2.4,-11.2 -0.8,-26.8 0,0 -2,-10.4 2,-4.8 4,5.6 13.6,11.6 13.6,16.4 0,0 -5.2,-17.6 -14.4,-22.4 l -4,6 -1.2,-2 c 0,0 -3.6,-0.8 0.8,-7.6 4.4,-6.8 4,-7.6 4,-7.6 0,0 6.4,7.2 8,7.2 0,0 13.2,-7.6 14.4,16.8 0,0 6.8,-14.4 -2.4,-21.2 0,0 -14.8,-2 -13.6,-7.2 l 7.2,-12.4 c 3.6,-5.2 2,-2.4 2,-2.4 z"
+         id="path528"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g530">
+      <path
+         d="m -17.8,-41.6 c 0,0 -12.8,0 -16,5.2 l -7.2,9.6 c 0,0 17.2,-10 21.2,-11.2 4,-1.2 2,-3.6 2,-3.6 z"
+         id="path532"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g534">
+      <path
+         d="m -57.8,-35.2 c 0,0 -2,1.2 -2.4,4 -0.4,2.8 -2.8,3.2 -2,6 0.8,2.8 2.8,5.2 2.8,1.2 0,-4 1.6,-6 2.4,-7.2 0.8,-1.2 2.4,-5.6 -0.8,-4 z"
+         id="path536"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g538">
+      <path
+         d="m -66.6,26 c 0,0 -8.4,-4 -11.6,-7.6 -3.2,-3.6 -2.748,1.566 -7.6,1.2 -5.847,-0.441 -4.8,-16.4 -4.8,-16.4 l -4,7.6 c 0,0 -1.2,14.4 6.8,12 3.907,-1.172 5.2,0.4 3.6,1.2 -1.6,0.8 5.6,1.2 2.8,2.8 -2.8,1.6 11.6,-3.6 9.2,6.8 l 5.6,-7.6 z"
+         id="path540"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g542">
+      <path
+         d="m -79.2,40.4 c 0,0 -15.4,4.4 -19,-5.2 0,0 -4.8,2.4 -2.6,5.4 2.2,3 3.4,3.4 3.4,3.4 0,0 5.4,1.2 4.8,2 -0.6,0.8 -3,4.2 -3,4.2 0,0 10.2,-6 16.4,-9.8 z"
+         id="path544"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff"
+       id="g546">
+      <path
+         d="m 149.201,118.601 c -0.427,2.134 -2.098,2.935 -4,3.6 -1.917,-0.958 -4.515,-4.064 -6.4,-2 -0.474,-0.48 -1.253,-0.54 -1.597,-1.202 -0.465,-0.898 -0.193,-1.944 -0.535,-2.742 -0.545,-1.272 -1.254,-2.638 -1.068,-4.056 1.806,-0.712 2.401,-2.618 1.927,-4.381 -0.069,-0.257 -0.498,-0.454 -0.298,-0.803 0.186,-0.323 0.504,-0.55 0.771,-0.817 -0.135,0.135 -0.28,0.368 -0.391,0.348 -0.61,-0.106 -0.486,-0.743 -0.356,-1.13 0.585,-1.746 2.599,-2.01 3.947,-0.818 0.256,-0.565 0.765,-0.371 1.2,-0.4 -0.05,-0.579 0.358,-1.106 0.556,-1.526 0.518,-1.098 2.147,0.008 2.944,-0.604 1.076,-0.825 2.139,-1.524 3.217,-0.921 1.809,1.013 3.518,2.225 4.717,3.966 0.575,0.834 0.815,2.115 0.757,3.073 -0.038,0.647 -1.419,0.295 -1.762,1.224 -0.645,1.748 1.186,2.267 1.942,3.605 0.198,0.349 -0.066,0.653 -0.381,0.751 -0.411,0.128 -1.195,-0.061 -1.057,0.392 0.972,3.193 -1.784,3.871 -4.133,4.441 z"
+         id="path548"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff"
+       id="g550">
+      <path
+         d="m 139.6,138.201 c -0.007,-1.738 -1.608,-3.494 -0.399,-5.2 0.135,0.134 0.266,0.355 0.4,0.355 0.135,0 0.266,-0.221 0.4,-0.355 1.495,2.216 5.147,3.144 5.005,5.99 -0.022,0.447 -1.109,1.365 -0.205,2.01 -1.813,1.348 -1.868,3.718 -2.8,5.6 -1.238,-0.286 -2.45,-0.649 -3.6,-1.2 0.352,-1.486 0.235,-3.17 1.055,-4.49 0.434,-0.698 0.147,-1.777 0.144,-2.71 z"
+         id="path552"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g554">
+      <path
+         d="m -26.6,129.201 c 0,0 -16.858,10.136 -2.8,-5.2 8.8,-9.6 18.8,-15.2 18.8,-15.2 0,0 10.4,-4.401 14,-5.601 C 7,102 22.2,96.8 25.4,96.4 28.6,96 38.2,92 45,96 c 6.8,4 14.8,8.4 14.8,8.4 0,0 -16.4,-8.4 -20,-6 -3.6,2.4 -10.8,2 -16.8,5.2 0,0 -14.8,4.401 -18,6.401 -3.2,2 -13.6,13.6 -15.2,12.8 -1.6,-0.8 0.4,-1.2 1.6,-4 1.2,-2.8 -0.8,-4.4 -8.8,2 -8,6.4 -9.2,8.4 -9.2,8.4 z"
+         id="path556"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g558">
+      <path
+         d="m -19.195,123.234 c 0,0 1.41,-13.04 9.888,-11.375 0,0 8.226,-4.17 10.948,-6.138 0,0 8.139,-1.702 9.449,-2.319 18.479,-8.7 33.198,-4.181 33.745,-5.301 0.546,-1.119 20.171,5.998 23.78,10.084 0.391,0.443 -10.231,-5.597 -19.929,-7.488 -8.273,-1.614 -29.875,0.247 -40.781,5.783 -2.973,1.509 -11.918,7.293 -14.449,7.182 -2.531,-0.112 -12.651,9.572 -12.651,9.572 z"
+         id="path560"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g562">
+      <path
+         d="m -23,148.801 c 0,0 -15.2,-2.4 1.6,-4 0,0 18,-2 22,-7.2 0,0 13.6,-9.2 16.4,-9.6 2.8,-0.4 32.8,-7.6 33.2,-10 0.4,-2.4 6,-2.4 7.6,-1.6 1.6,0.8 0.8,2 -2,2.8 -2.8,0.8 -34,17.2 -40.4,18.4 -6.4,1.2 -18,8.8 -22.8,10 -4.8,1.2 -15.6,1.2 -15.6,1.2 z"
+         id="path564"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g566">
+      <path
+         d="m -3.48,141.403 c 0,0 -8.582,-0.829 0.019,-1.648 0,0 8.816,-3.424 10.864,-6.087 0,0 6.964,-4.711 8.397,-4.915 1.434,-0.205 15.394,-3.892 15.599,-5.12 0.205,-1.229 34.271,-13.81 38.691,-10.62 2.911,2.101 -6.99,0.424 -16.624,4.834 -1.355,0.62 -35.208,15.207 -38.485,15.821 -3.277,0.615 -9.216,4.506 -11.674,5.12 -2.457,0.615 -6.787,2.615 -6.787,2.615 z"
+         id="path568"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g570">
+      <path
+         d="m -11.4,143.601 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path572"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g574">
+      <path
+         d="m -18.6,145.201 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path576"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g578">
+      <path
+         d="m -29,146.801 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path580"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g582">
+      <path
+         d="m -36.6,147.601 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path584"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g586">
+      <path
+         d="m 1.8,108.001 c 0,0 4.4,0 3.2,1.6 -1.2,1.6 -4.4,1.2 -4.4,1.2 l 1.2,-2.8 z"
+         id="path588"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g590">
+      <path
+         d="m -8.2,113.601 c 0,0 6.506,-2.141 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path592"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g594">
+      <path
+         d="m -19.4,118.401 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path596"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g598">
+      <path
+         d="m -27,124.401 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path600"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g602">
+      <path
+         d="m -33.8,129.201 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path604"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g606">
+      <path
+         d="m 5.282,135.598 c 0,0 6.921,-0.532 5.324,1.597 -1.597,2.13 -4.792,1.065 -4.792,1.065 l -0.532,-2.662 z"
+         id="path608"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g610">
+      <path
+         d="m 15.682,130.798 c 0,0 6.921,-0.532 5.324,1.597 -1.597,2.13 -4.792,1.065 -4.792,1.065 l -0.532,-2.662 z"
+         id="path612"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g614">
+      <path
+         d="m 26.482,126.398 c 0,0 6.921,-0.532 5.324,1.597 -1.597,2.13 -4.792,1.065 -4.792,1.065 l -0.532,-2.662 z"
+         id="path616"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g618">
+      <path
+         d="m 36.882,121.598 c 0,0 6.921,-0.532 5.324,1.597 -1.597,2.13 -4.792,1.065 -4.792,1.065 l -0.532,-2.662 z"
+         id="path620"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g622">
+      <path
+         d="m 9.282,103.598 c 0,0 6.921,-0.532 5.324,1.597 -1.597,2.13 -5.592,1.865 -5.592,1.865 l 0.268,-3.462 z"
+         id="path624"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g626">
+      <path
+         d="m 19.282,100.398 c 0,0 6.921,-0.532 5.324,1.597 -1.597,2.13 -5.992,1.865 -5.992,1.865 l 0.668,-3.462 z"
+         id="path628"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g630">
+      <path
+         d="m -3.4,140.401 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path632"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#992600"
+       id="g634">
+      <path
+         d="m -76.6,41.2 c 0,0 -4.4,8.8 -4.8,12 0,0 0.8,-8.8 2,-10.8 1.2,-2 2.8,-1.2 2.8,-1.2 z"
+         id="path636"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#992600"
+       id="g638">
+      <path
+         d="m -95,55.2 c 0,0 -3.2,14.4 -2.8,17.2 0,0 -1.2,-11.6 -0.8,-12.8 0.4,-1.2 3.6,-4.4 3.6,-4.4 z"
+         id="path640"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g642">
+      <path
+         d="m -74.2,-19.4 -0.2,3.2 -2.2,0.2 c 0,0 14.2,12.6 14.8,20.2 0,0 0.8,-8.2 -12.4,-23.6 z"
+         id="path644"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g646">
+      <path
+         d="m -70.216,-18.135 c -0.431,-0.416 -0.212,-1.161 -0.62,-1.421 -0.809,-0.516 1.298,-0.573 1.07,-1.289 -0.383,-1.206 -0.196,-1.227 -0.318,-2.503 -0.057,-0.598 0.531,-2.138 0.916,-2.578 1.446,-1.652 0.122,-4.584 1.762,-6.135 0.304,-0.289 0.68,-0.841 0.965,-1.259 0.659,-0.963 1.843,-1.451 2.793,-2.279 0.318,-0.276 0.117,-1.103 0.686,-1.011 0.714,0.115 1.955,-0.015 1.91,0.826 -0.113,2.12 -1.442,3.84 -2.722,5.508 0.451,0.704 -0.007,1.339 -0.291,1.896 -1.335,2.62 -1.146,5.461 -1.32,8.301 -0.005,0.085 -0.312,0.163 -0.304,0.216 0.353,2.335 0.937,4.534 1.816,6.763 0.366,0.93 0.837,1.825 0.987,2.752 0.111,0.686 0.214,1.519 -0.194,2.224 2.035,2.89 0.726,5.541 1.895,9.072 0.207,0.625 1.899,2.539 1.436,2.378 -2.513,-0.871 -2.625,-1.269 -2.802,-2.022 -0.146,-0.623 -0.476,-2 -0.713,-2.602 -0.064,-0.164 -0.235,-2.048 -0.313,-2.17 -1.513,-2.382 -0.155,-2.206 -1.525,-4.564 -1.428,-0.68 -2.394,-1.784 -3.517,-2.946 -0.198,-0.204 0.945,-0.928 0.764,-1.141 -1.092,-1.289 -2.245,-2.056 -1.909,-3.549 0.155,-0.69 0.292,-1.747 -0.452,-2.467 z"
+         id="path648"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g650">
+      <path
+         d="m -73.8,-16.4 c 0,0 0.4,6.8 2.8,8.4 2.4,1.6 1.2,0.8 -2,-0.4 -3.2,-1.2 -2,-2 -2,-2 0,0 -2.8,0.4 -0.4,2.4 2.4,2 6,4.4 4.4,4.4 -1.6,0 -9.2,-4 -9.2,-6.8 0,-2.8 -1,-6.9 -1,-6.9 0,0 1.1,-0.8 5.9,-0.7 0,0 1.4,0.7 1.5,1.6 z"
+         id="path652"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g654">
+      <path
+         d="m -74.6,2.2 c 0,0 -8.52,-2.791 -27,0.6 0,0 9.031,-2.078 27.8,0.2 10.3,1.25 -0.8,-0.8 -0.8,-0.8 z"
+         id="path656"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g658">
+      <path
+         d="m -72.502,2.129 c 0,0 -8.246,-3.518 -26.951,-1.737 0,0 9.178,-1.289 27.679,2.603 10.154,2.136 -0.728,-0.866 -0.728,-0.866 z"
+         id="path660"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g662">
+      <path
+         d="m -70.714,2.222 c 0,0 -7.962,-4.121 -26.747,-3.736 0,0 9.248,-0.604 27.409,4.654 9.966,2.885 -0.662,-0.918 -0.662,-0.918 z"
+         id="path664"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g666">
+      <path
+         d="m -69.444,2.445 c 0,0 -6.824,-4.307 -23.698,-5.405 0,0 8.339,0.17 24.22,6.279 8.716,3.353 -0.522,-0.874 -0.522,-0.874 z"
+         id="path668"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g670">
+      <path
+         d="m 45.84,12.961 c 0,0 -0.93,0.644 -0.716,-0.537 0.215,-1.181 28.423,-14.351 32.037,-14.101 0,0 -30.248,13.206 -31.321,14.638 z"
+         id="path672"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g674">
+      <path
+         d="m 42.446,13.6 c 0,0 -0.876,0.715 -0.755,-0.479 0.121,-1.194 27.208,-16.539 30.83,-16.573 0,0 -29.117,15.541 -30.075,17.052 z"
+         id="path676"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g678">
+      <path
+         d="m 39.16,14.975 c 0,0 -0.828,0.772 -0.786,-0.428 0.042,-1.199 19.859,-16.696 29.671,-18.57 0,0 -18.03,8.127 -28.885,18.998 z"
+         id="path680"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g682">
+      <path
+         d="m 36.284,16.838 c 0,0 -0.745,0.694 -0.707,-0.385 0.038,-1.08 17.872,-15.027 26.703,-16.713 0,0 -16.226,7.314 -25.996,17.098 z"
+         id="path684"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g686">
+      <path
+         d="m 4.6,164.801 c 0,0 -15.2,-2.4 1.6,-4 0,0 18,-2 22,-7.2 0,0 13.6,-9.2 16.4,-9.6 2.8,-0.4 19.2,-4 19.6,-6.4 0.4,-2.4 6.4,-4.8 8,-4 1.6,0.8 1.6,10 -1.2,10.8 -2.8,0.8 -21.6,8 -28,9.2 -6.4,1.2 -18,8.8 -22.8,10 -4.8,1.2 -15.6,1.2 -15.6,1.2 z"
+         id="path688"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g690">
+      <path
+         d="m 77.6,127.401 c 0,0 -3,1.6 -4.2,4.2 0,0 -6.4,10.6 -20.6,13.8 0,0 -23,9 -30.8,11 0,0 -13.4,5 -20.8,4.2 0,0 -7,0.2 -0.8,1.8 0,0 20.2,-2 23.6,-3.8 0,0 15.6,-5.2 18.6,-7.8 3,-2.6 21.2,-7.6 23.4,-9.6 2.2,-2 12,-10.4 11.6,-13.8 z"
+         id="path692"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g694">
+      <path
+         d="m 18.882,158.911 c 0,0 5.229,-0.226 4.076,1.323 -1.153,1.55 -3.601,0.676 -3.601,0.676 l -0.475,-1.999 z"
+         id="path696"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g698">
+      <path
+         d="m 11.68,160.263 c 0,0 5.228,-0.226 4.076,1.323 -1.153,1.55 -3.601,0.677 -3.601,0.677 l -0.475,-2 z"
+         id="path700"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g702">
+      <path
+         d="m 1.251,161.511 c 0,0 5.229,-0.227 4.076,1.323 -1.153,1.549 -3.601,0.676 -3.601,0.676 l -0.475,-1.999 z"
+         id="path704"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g706">
+      <path
+         d="m -6.383,162.055 c 0,0 5.229,-0.226 4.076,1.323 -1.153,1.55 -3.601,0.676 -3.601,0.676 l -0.475,-1.999 z"
+         id="path708"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g710">
+      <path
+         d="m 35.415,151.513 c 0,0 6.96,-0.301 5.425,1.761 -1.534,2.062 -4.793,0.9 -4.793,0.9 l -0.632,-2.661 z"
+         id="path712"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g714">
+      <path
+         d="m 45.73,147.088 c 0,0 5.959,-3.301 5.425,1.761 -0.27,2.556 -4.793,0.9 -4.793,0.9 l -0.632,-2.661 z"
+         id="path716"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g718">
+      <path
+         d="m 54.862,144.274 c 0,0 7.159,-3.701 5.425,1.761 -0.778,2.45 -4.794,0.9 -4.794,0.9 l -0.631,-2.661 z"
+         id="path720"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g722">
+      <path
+         d="m 64.376,139.449 c 0,0 4.359,-4.901 5.425,1.761 0.406,2.538 -4.793,0.9 -4.793,0.9 l -0.632,-2.661 z"
+         id="path724"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g726">
+      <path
+         d="m 26.834,155.997 c 0,0 5.228,-0.227 4.076,1.323 -1.153,1.549 -3.602,0.676 -3.602,0.676 l -0.474,-1.999 z"
+         id="path728"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g730">
+      <path
+         d="m 62.434,34.603 c 0,0 -0.726,0.665 -0.727,-0.406 0,-1.07 17.484,-14.334 26.327,-15.718 0,0 -16.099,6.729 -25.6,16.124 z"
+         id="path732"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g734">
+      <path
+         d="m 65.4,98.4 c 0,0 22.001,22.401 31.201,26.001 0,0 9.2,11.2 5.2,37.2 0,0 -3.2,7.6 -6.4,-13.2 0,0 3.2,-25.2 -8,-9.2 0,0 -8.401,-9.9 -2.001,-9.6 0,0 3.201,2 3.601,0.4 0.4,-1.6 -7.601,-15.2 -24.801,-29.601 -17.2,-14.4 1.2,-2 1.2,-2 z"
+         id="path736"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g738">
+      <path
+         d="m 7,137.201 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 96.001,7 127.601,31 0,0 -45.2,-23.2 -129.201,-30 z"
+         id="path740"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g742">
+      <path
+         d="m 17.4,132.801 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 138.401,-0.2 162.001,32.2 0,0 -22,-25.2 -163.601,-31.2 z"
+         id="path744"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g746">
+      <path
+         d="m 29,128.801 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 175.201,-12.2 198.801,20.2 0,0 -9.6,-25.6 -200.401,-19.2 z"
+         id="path748"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g750">
+      <path
+         d="m 39,124.001 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 124.001,-37.801 147.601,-5.4 0,0 -13.4,-24.601 -149.201,6.4 z"
+         id="path752"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g754">
+      <path
+         d="m -19,146.801 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 19.6,3 21.6,41.8 0,0 -7.2,-42 -23.2,-40.8 z"
+         id="path756"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g758">
+      <path
+         d="m -27.8,148.401 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 16,-3.8 13.2,35 0,0 1.2,-35.2 -14.8,-34 z"
+         id="path760"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g762">
+      <path
+         d="m -35.8,148.801 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 17.2,1.4 4.8,23.8 0,0 9.6,-24 -6.4,-22.8 z"
+         id="path764"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g766">
+      <path
+         d="m 11.526,104.465 c 0,0 -0.444,1.999 1.105,0.782 16.068,-12.625 48.51,-71.527 104.195,-77.161 0,0 -38.308,-12.11 -105.3,76.379 z"
+         id="path768"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g770">
+      <path
+         d="m 22.726,102.665 c 0,0 -1.363,-1.193 0.505,-1.818 1.868,-0.625 114.31,-73.127 153.595,-65.161 0,0 -27.107,-7.51 -154.1,66.979 z"
+         id="path772"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g774">
+      <path
+         d="m 1.885,108.767 c 0,0 -0.509,1.599 1.202,0.623 8.975,-5.12 12.59,-62.331 56.167,-63.586 0,0 -32.411,-14.714 -57.369,62.963 z"
+         id="path776"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g778">
+      <path
+         d="m -18.038,119.793 c 0,0 -1.077,1.286 0.876,1.032 10.246,-1.332 31.651,-42.603 76.09,-37.524 0,0 -31.966,-14.346 -76.966,36.492 z"
+         id="path780"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g782">
+      <path
+         d="m -6.8,113.667 c 0,0 -0.811,1.469 1.058,0.844 9.799,-3.274 22.883,-47.886 67.471,-51.433 0,0 -34.126,-7.943 -68.529,50.589 z"
+         id="path784"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g786">
+      <path
+         d="m -25.078,124.912 c 0,0 -0.873,1.042 0.709,0.836 8.299,-1.079 25.637,-34.508 61.633,-30.394 0,0 -25.893,-11.62 -62.342,29.558 z"
+         id="path788"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g790">
+      <path
+         d="m -32.677,130.821 c 0,0 -1.005,1.045 0.586,0.927 4.168,-0.309 34.806,-33.388 53.274,-17.886 0,0 -12.015,-18.723 -53.86,16.959 z"
+         id="path792"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g794">
+      <path
+         d="m 36.855,98.898 c 0,0 -1.201,-1.355 0.731,-1.74 1.932,-0.384 122.635,-58.097 160.598,-45.231 0,0 -25.941,-10.874 -161.329,46.971 z"
+         id="path796"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g798">
+      <path
+         d="m 3.4,163.201 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 17.2,1.4 4.8,23.8 0,0 9.6,-24 -6.4,-22.8 z"
+         id="path800"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g802">
+      <path
+         d="m 13.8,161.601 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 19.6,3 21.6,41.8 0,0 -7.2,-42 -23.2,-40.8 z"
+         id="path804"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g806">
+      <path
+         d="m 20.6,160.001 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 26.4,4.2 50,36.6 0,0 -35.6,-36.8 -51.6,-35.6 z"
+         id="path808"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g810">
+      <path
+         d="m 28.225,157.972 c 0,0 -0.437,-1.758 1.453,-1.204 1.89,0.554 22.324,-1.345 60.421,32.831 0,0 -46.175,-34.943 -61.874,-31.627 z"
+         id="path812"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g814">
+      <path
+         d="m 38.625,153.572 c 0,0 -0.437,-1.758 1.453,-1.204 1.89,0.554 36.724,5.055 88.421,40.031 0,0 -74.175,-42.143 -89.874,-38.827 z"
+         id="path816"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g818">
+      <path
+         d="m -1.8,142.001 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 55.2,3.4 85.6,30.2 0,0 -34.901,-24.775 -87.2,-29.2 z"
+         id="path820"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g822">
+      <path
+         d="m -11.8,146.001 c 0,0 -0.2,-1.8 1.6,-1 1.8,0.8 26.4,4.2 50,36.6 0,0 -35.6,-36.8 -51.6,-35.6 z"
+         id="path824"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g826">
+      <path
+         d="m 49.503,148.962 c 0,0 -0.565,-1.721 1.361,-1.307 1.926,0.413 36.996,2.349 91.117,33.443 0,0 -77.664,-34.394 -92.478,-32.136 z"
+         id="path828"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g830">
+      <path
+         d="m 57.903,146.562 c 0,0 -0.565,-1.721 1.361,-1.307 1.926,0.413 36.996,2.349 91.117,33.443 0,0 -77.064,-34.794 -92.478,-32.136 z"
+         id="path832"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#ffffff;stroke:#000000;stroke-width:0.1"
+       id="g834">
+      <path
+         d="m 67.503,141.562 c 0,0 -0.565,-1.721 1.361,-1.307 1.926,0.413 44.996,4.749 134.718,39.043 0,0 -120.665,-40.394 -136.079,-37.736 z"
+         id="path836"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g838">
+      <path
+         d="m -43.8,148.401 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path840"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g842">
+      <path
+         d="m -13,162.401 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path844"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g846">
+      <path
+         d="m -21.8,162.001 c 0,0 5.2,-0.4 4,1.2 -1.2,1.6 -3.6,0.8 -3.6,0.8 l -0.4,-2 z"
+         id="path848"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g850">
+      <path
+         d="m -117.169,150.182 c 0,0 5.045,1.323 3.387,2.442 -1.657,1.12 -3.664,-0.422 -3.664,-0.422 l 0.277,-2.02 z"
+         id="path852"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g854">
+      <path
+         d="m -115.169,140.582 c 0,0 5.045,1.323 3.387,2.442 -1.657,1.12 -3.664,-0.422 -3.664,-0.422 l 0.277,-2.02 z"
+         id="path856"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#000000"
+       id="g858">
+      <path
+         d="m -122.369,136.182 c 0,0 5.045,1.323 3.387,2.442 -1.657,1.12 -3.664,-0.422 -3.664,-0.422 l 0.277,-2.02 z"
+         id="path860"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g862">
+      <path
+         d="m -42.6,211.201 c 0,0 -1.6,0 -5.6,2 -2,0 -13.2,3.6 -18.8,13.6 0,0 12.4,-9.6 24.4,-15.6 z"
+         id="path864"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g866">
+      <path
+         d="m 45.116,303.847 c 0.141,0.258 0.196,0.678 0.488,0.695 0.658,0.04 1.891,0.341 1.766,-0.295 -0.848,-4.306 -1.722,-9.243 -5.855,-11.05 -0.639,-0.279 -2.081,0.134 -2.155,1.018 -0.127,1.524 -0.244,2.873 0.065,4.339 0.3,1.421 2.458,1.431 3.375,0.047 0.936,1.672 1.368,3.515 2.316,5.246 z"
+         id="path868"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g870">
+      <path
+         d="m 34.038,308.581 c 0.748,1.413 0.621,3.272 2.036,3.835 0.74,0.294 2.59,-0.681 2.172,-1.755 -0.802,-2.061 -1.19,-4.3 -2.579,-6.111 -0.2,-0.262 0.04,-0.795 -0.12,-1.123 -0.594,-1.22 -1.739,-1.955 -3.147,-1.626 -1.115,2.203 0.033,4.332 1.555,6.041 0.136,0.152 -0.03,0.528 0.083,0.739 z"
+         id="path872"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g874">
+      <path
+         d="m -5.564,303.391 c -0.108,-0.377 -0.146,-0.84 0.019,-1.161 0.531,-1.033 1.324,-2.155 0.987,-3.177 -0.348,-1.056 -1.464,-0.874 -2.114,-0.305 -1.135,0.994 -1.184,2.82 -1.875,4.179 -0.196,0.386 -0.145,0.959 -0.586,1.35 -0.474,0.421 -0.914,1.945 -0.818,2.516 0.053,0.313 -0.13,10.221 0.092,9.958 0.619,-0.733 3.669,-10.467 3.738,-11.359 0.057,-0.731 0.789,-1.196 0.557,-2.001 z"
+         id="path876"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g878">
+      <path
+         d="m -31.202,296.599 c 2.634,-2.499 5.424,-5.46 4.982,-9.172 -0.116,-0.976 -1.891,-0.449 -2.078,0.397 -0.802,3.625 -2.841,6.286 -5.409,8.678 -2.196,2.047 -4.058,8.391 -4.293,8.899 3.697,-5.256 5.954,-8.002 6.798,-8.802 z"
+         id="path880"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g882">
+      <path
+         d="m -44.776,290.635 c 0.523,-0.37 0.221,-0.861 0.438,-1.193 0.953,-1.458 2.254,-2.704 2.272,-4.442 0.003,-0.277 -0.375,-0.586 -0.71,-0.362 -0.277,0.184 -0.619,0.314 -0.727,0.444 -2.03,2.449 -3.43,5.12 -4.873,7.932 -0.183,0.357 -1.327,4.848 -1.014,4.959 0.239,0.085 1.959,-4.096 2.169,-4.21 1.263,-0.686 1.275,-2.301 2.445,-3.128 z"
+         id="path884"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g886">
+      <path
+         d="m -28.043,310.179 c 0.444,-0.869 2.02,-2.071 1.907,-2.96 -0.118,-0.928 0.35,-2.371 -0.562,-1.683 -1.257,0.948 -4.706,2.297 -4.976,8.105 -0.026,0.571 2.948,-2.122 3.631,-3.462 z"
+         id="path888"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g890">
+      <path
+         d="m -13.6,293.001 c 0.4,-0.668 1.108,-0.195 1.567,-0.458 0.648,-0.372 1.259,-0.93 1.551,-1.579 0.97,-2.149 2.739,-3.969 2.882,-6.363 -1.491,-1.405 -2.17,0.635 -2.8,1.6 -1.323,-1.647 -2.322,0.227 -3.622,0.746 -0.07,0.028 -0.283,-0.319 -0.358,-0.292 -1.177,0.44 -1.857,1.521 -2.855,2.302 -0.171,0.134 -0.576,-0.046 -0.723,0.09 -0.652,0.603 -1.625,0.928 -1.905,1.61 -1.11,2.707 -4.25,4.802 -6.137,12.344 0.381,0.909 4.512,-6.642 4.999,-7.34 0.836,-1.196 0.954,1.661 2.23,0.995 0.051,-0.027 0.237,0.211 0.371,0.345 0.194,-0.28 0.412,-0.509 0.8,-0.4 0,-0.4 -0.134,-0.956 0.067,-1.115 1.237,-0.977 1.153,-2.045 1.933,-3.285 0.458,0.789 1.519,0.07 2,0.8 z"
+         id="path892"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g894">
+      <path
+         d="m 46.2,347.401 c 0,0 7.4,-20.4 3,-31.6 0,0 11.4,21.6 6.8,32.8 0,0 -0.4,-10.4 -4.4,-15.4 0,0 -4,12.8 -5.4,14.2 z"
+         id="path896"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g898">
+      <path
+         d="m 31.4,344.801 c 0,0 5.4,-8.8 -2.6,-27.2 0,0 -0.8,20.4 -7.6,31.4 0,0 14.2,-20.2 10.2,-4.2 z"
+         id="path900"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g902">
+      <path
+         d="m 21.4,342.801 c 0,0 -0.2,-20 0.2,-23 0,0 -3.8,16.6 -14,26.2 0,0 14.4,-12 13.8,-3.2 z"
+         id="path904"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g906">
+      <path
+         d="m 11.8,310.801 c 0,0 6,13.6 -4,32 0,0 6.4,-12.2 1.6,-19.2 0,0 2.6,-3.4 2.4,-12.8 z"
+         id="path908"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g910">
+      <path
+         d="m -7.4,342.401 c 0,0 -1,-15.6 0.8,-17.8 0,0 0.2,-6.4 -0.2,-7.4 0,0 4,-6.2 4.2,1.2 0,0 1.4,7.8 4.2,12.4 0,0 3.6,5.4 3.4,11.8 0,0 -10,-30.2 -12.4,-0.2 z"
+         id="path912"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g914">
+      <path
+         d="m -11,314.801 c 0,0 -6.6,10.8 -8.4,29.8 0,0 -1.4,-6.2 2.4,-20.6 0,0 4.2,-15.4 6,-9.2 z"
+         id="path916"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g918">
+      <path
+         d="m -32.8,334.601 c 0,0 5,-5.4 6.4,-10.4 0,0 3.6,-15.8 -2.8,-7.2 0,0 0.2,8 -8,15.4 0,0 4.8,-2.4 4.4,2.2 z"
+         id="path920"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g922">
+      <path
+         d="m -38.6,329.601 c 0,0 3.4,-17.4 4.2,-18.2 0,0 1.8,-3.4 -1,-0.2 0,0 -8.8,19.2 -12.8,25.8 0,0 8,-9.2 9.6,-7.4 z"
+         id="path924"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g926">
+      <path
+         d="m -44.4,313.001 c 0,0 11.6,-22.4 -10.2,3.4 0,0 11,-9.8 10.2,-3.4 z"
+         id="path928"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g930">
+      <path
+         d="m -59.8,298.401 c 0,0 4.8,-18.8 7.4,-18.6 0,0 8.2,-9 1.6,1.6 0,0 -6,9.6 -5.4,19.4 0,0 -0.6,-9.6 -3.6,-2.4 z"
+         id="path932"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g934">
+      <path
+         d="m 270.5,287 c 0,0 -12,-10 -14.5,-13.5 0,0 13.5,18.5 13.5,25.5 0,0 2.5,-7.5 1,-12 z"
+         id="path936"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g938">
+      <path
+         d="m 276,265 c 0,0 -21,-15 -24.5,-22.5 0,0 26.5,29.5 26.5,34 0,0 0.5,-9 -2,-11.5 z"
+         id="path940"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g942">
+      <path
+         d="m 293,111 c 0,0 -12,-8 -13.5,-6 0,0 10.5,6.5 13,15 0,0 -1.5,-9 0.5,-9 z"
+         id="path944"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="fill:#cccccc"
+       id="g946">
+      <path
+         d="m 301.5,191.5 -17.5,-12 c 0,0 19,17 19.5,21 l -2,-9 z"
+         id="path948"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#000000"
+       id="g950">
+      <path
+         d="m -89.25,169 22,4.75"
+         id="path952"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#000000"
+       id="g954">
+      <path
+         d="m -39,331 c 0,0 -0.5,-3.5 -9.5,7"
+         id="path956"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#000000"
+       id="g958">
+      <path
+         d="m -33.5,336 c 0,0 2,-6.5 -4.5,-2"
+         id="path960"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       style="stroke:#000000"
+       id="g962">
+      <path
+         d="m 20.5,344.5 c 0,0 1.5,-11 -10,2"
+         id="path964"
+         inkscape:connector-curvature="0" />
+    </g>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-dom-01-f.svg b/Tests/W3CTestSuite/svg/animate-dom-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..663a07faff965a282561d209d6152779d1db2bc5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-dom-01-f.svg
@@ -0,0 +1,190 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DAS" author="CM" status="accepted"
+    version="$Revision: 1.11 $" testname="$RCSfile: animate-dom-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#InterfaceSVGAnimationElement">
+        <p>
+          This tests the return value required for the
+          SVGAnimationElement.getStartTime() method, as described in
+          section 19.5 DOM Interfaces.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After the loading the document, some animations that have no
+        visible effect will run.  The text "Test running..." will
+        appear in the bottom right corner until the test has
+        completed.  (This takes 2.5s.)
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all seven rectangles are green once the animations
+        have stopped running (i.e., 2.5s after the document has loaded.)
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-dom-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    
+    <text x='30' y='30'>Testing SVGAnimationElement.getStartTime()</text>
+
+    <text x='340' y='340' display='none'>Test running...
+      <set attributeName='display' to='inline' begin='0s' dur='2.5s'/>
+    </text>
+
+    <g id='g' display='none'/>
+
+    <animate id='a1' attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='1s' dur='1s'/>
+    <animate id='a2' attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='1s' dur='1s' fill='freeze'/>
+    <animate id='a3' attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='indefinite' dur='1s'/>
+    <animate id='a4' attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='indefinite; 100s; g.click; 1s; indefinite' dur='1s'/>
+    <animate id='a5' attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='100s; 1s' dur='1s'/>
+    <animate id='a6dep' attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='5s' dur='1s'/>
+    <animate id='a6' attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='a6dep.begin+2s' dur='1s'/>
+
+    <animate attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='0.5s' dur='1s' onbegin='before()'/>
+    <animate attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='1.5s' dur='1s' onbegin='during()'/>
+    <animate attributeName='display' values='inline; inline'
+             calcMode='discrete' begin='2.5s' dur='1s' onbegin='after()'/>
+
+    <g transform='translate(30,-10)'>
+      <rect id='r1' y='50' width='25' height='25'/>
+      <rect id='r2' y='80' width='25' height='25'/>
+      <rect id='r3' y='110' width='25' height='25'/>
+      <rect id='r4' y='140' width='25' height='25'/>
+      <rect id='r5' y='170' width='25' height='25'/>
+      <rect id='r6' y='200' width='25' height='25'/>
+      <rect id='r7' y='230' width='25' height='25'/>
+      <rect id='r8' y='260' width='25' height='25'/>
+    </g>
+
+    <g font-size='14' transform='translate(70,-15)'>
+      <text y='72'>Called before a lone interval starts</text>
+      <text y='102'>Called on an animation with no intervals</text>
+      <text y='132'>Called during an interval</text>
+      <text y='162'>Called after a lone interval ends, fill="remove"</text>
+      <text y='192'>Called after a lone interval ends, fill="freeze"</text>
+      <text y='222'>Called with multiple begin values</text>
+      <text y='252'>Called with multiple begin values including "indefinite"</text>
+      <text y='282'>Called with syncbase begin value</text>
+    </g>
+    <script><![CDATA[
+      var i, ids = 'a1 a2 a3 a4 a5 a6 r1 r2 r3 r4 r5 r6 r7 r8'.split(' ');
+      for (i in ids) {
+        this[ids[i]] = document.getElementById(ids[i]);
+      }
+
+      function before() {
+        try {
+          if (a1.getStartTime() == 1) {
+            r1.setAttributeNS(null, 'fill', 'lime');
+          }
+        } catch (e) {
+          r1.setAttributeNS(null, 'fill', 'red');
+        }
+
+        r2.setAttributeNS(null, 'fill', 'red');
+        try {
+          a3.getStartTime();
+        } catch (e) {
+          if (e.code == DOMException.INVALID_STATE_ERR) {
+            r2.setAttributeNS(null, 'fill', 'lime');
+          }
+        }
+
+        try {
+          if (a4.getStartTime() == 1) {
+            r6.setAttributeNS(null, 'fill', 'lime');
+          }
+        } catch (e) {
+          r6.setAttributeNS(null, 'fill', 'red');
+        }
+
+        try {
+          if (a5.getStartTime() == 1) {
+            r7.setAttributeNS(null, 'fill', 'lime');
+          }
+        } catch (e) {
+          r7.setAttributeNS(null, 'fill', 'red');
+        }
+
+        try {
+          if (a6.getStartTime() == 7) {
+            r8.setAttributeNS(null, 'fill', 'lime');
+          }
+        } catch (e) {
+          r8.setAttributeNS(null, 'fill', 'red');
+        }
+      }
+
+      function during() {
+        try {
+          if (a1.getStartTime() == 1) {
+            r3.setAttributeNS(null, 'fill', 'lime');
+          }
+        } catch (e) {
+          r3.setAttributeNS(null, 'fill', 'red');
+        }
+      }
+
+      function after() {
+        r4.setAttributeNS(null, 'fill', 'red');
+        try {
+          a1.getStartTime();
+        } catch (e) {
+          if (e.code == DOMException.INVALID_STATE_ERR) {
+            r4.setAttributeNS(null, 'fill', 'lime');
+          }
+        }
+
+        r5.setAttributeNS(null, 'fill', 'red');
+        try {
+          a2.getStartTime();
+        } catch (e) {
+          if (e.code == DOMException.INVALID_STATE_ERR) {
+            r5.setAttributeNS(null, 'fill', 'lime');
+          }
+        }
+      }
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.11 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-dom-02-f.svg b/Tests/W3CTestSuite/svg/animate-dom-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c9bf32719977e49e9967ada0ea2cc6929773ed78
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-dom-02-f.svg
@@ -0,0 +1,83 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="DAS" author="CM" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-dom-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#InterfaceSVGAnimationElement">
+	      <p>
+	        This tests that the methods on the ElementTimeControl
+	        interface return the undefined value, since the IDL
+	        operations are declared to return void.
+	      </p>
+	      <p>
+	       After the loading the document, a rectangle is shown
+	       indicating whether all four methods from the ElementTimeControl
+	       interface returned undefined when invoked.  The rectangle
+	       is black if the test did not run, red if the test failed
+	       and green if the test succeeded.
+			</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the rectangle is green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-dom-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    
+    <text x='10' y='30'>Testing ElementTimeControl method return values</text>
+
+    <rect id='r' x='10' y='50' width='50' height='50'/>
+    <animate id='a' attributeName='display' values='inline; inline' dur='10s'/>
+    <animate attributeName='display' values='inline; inline' onbegin='f()' dur='10s'/>
+
+    <script><![CDATA[
+      function f() {
+        var a = document.getElementById('a');
+        var b = false;
+        try {
+          b = typeof a.beginElement() == 'undefined'
+                && typeof a.beginElementAt(100) == 'undefined'
+                && typeof a.endElement() == 'undefined'
+                && typeof a.endElementAt(200) == 'undefined';
+        } catch (e) {
+        }
+        document.getElementById('r').setAttribute('fill', b ? 'green' : 'red');
+      }
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-02-t.svg b/Tests/W3CTestSuite/svg/animate-elem-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0dc00457011a01be6acd06a21de04031e713b5c0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-02-t.svg
@@ -0,0 +1,122 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test 'additive' and 'accumulate' attributes.
+      </p>
+      <p>
+        The four pictures show the effect with the four possible combinations of
+        'additive' (either 'replace' or 'sum') and 'accumulate' (either 'none' or 'sum').
+        Because two animations are animating the height, the effects of 'additive' and
+        'accumulate' are sometimes different than when there is only a single animation.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+        <p>The test has passed if the four green rectangles each animate their height according to the following:</p>
+       	<p>The leftmost rect:</p>
+        <ul>
+           <li>when the animation starts the height of the green rect should make it align with the bottommost red indicator line</li>
+           <li>after two seconds the height should jump to be 10% of the height of the gray rect it overlaps</li>
+           <li>after four seconds the height should jump to make the green rect align with the bottommost red indicator line</li>
+           <li>after six seconds the height should jump to its final position, 10% of the height of the gray rect</li>
+         </ul>
+        <p>The next to leftmost rect:</p>
+       	<ul>
+           <li>when the animation starts the height of the green rect should be 110% of the height of the gray rect</li>
+           <li>after two seconds the height should jump to be 20% of the height of the gray rect</li>
+           <li>after four seconds the height should jump to be 110% of the height of the gray rect</li>
+           <li>after six seconds the height should jump to its final position, 20% of the height of the gray rect</li>
+         </ul>
+        <p>The next to rightmost rect:</p>
+       	<ul>
+           <li>when the animation starts the height of the green rect should make it align with the bottommost red indicator line</li>
+           <li>after two seconds the height should jump to be 10% of the height of the gray rect</li>
+           <li>after four seconds the height should jump to be 110% of the height of the gray rect</li>
+           <li>after six seconds the height should jump to its final position, 20% of the height of the gray rect</li>
+         </ul>
+        <p>The rightmost rect:</p>
+       	<ul>
+           <li>when the animation starts the height of the green rect should be 110% of the height of the gray rect</li>
+           <li>after two seconds the height should jump to be 20% of the height of the gray rect</li>
+           <li>after four seconds the height should jump to be 120% of the height of the gray rect</li>
+           <li>after six seconds the height should jump to its final position, 30% of the height of the gray rect</li>
+         </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="Arial" font-size="30">
+      <g transform="translate(0, 0)">
+        <rect x="60" y="20" width="50" height="200" fill="#dfdfdf" stroke="#dfdfdf" stroke-width="4"/>
+        <line x1="40" x2="100" y1="220" y2="220" fill="none" stroke="#880000" stroke-width="4"/>
+        <line x1="40" x2="100" y1="120" y2="120" fill="none" stroke="#880000" stroke-width="4"/>
+        <rect x="60" y="20" width="50" height="20" fill="#0f5" stroke="#085" stroke-width="4">
+          <animate id="an5" attributeName="height" calcMode="discrete" additive="replace" accumulate="none" repeatCount="2" from="200" to="20" begin="0s" dur="4s" fill="freeze"/>
+        </rect>
+        <text x="30" y="285" fill="navy">anim.5</text>
+      </g>
+      <g transform="translate(110, 0)">
+        <rect x="60" y="20" width="50" height="200" fill="#dfdfdf" stroke="#dfdfdf" stroke-width="4"/>
+        <line x1="40" x2="100" y1="220" y2="220" fill="none" stroke="#880000" stroke-width="4"/>
+        <line x1="40" x2="100" y1="120" y2="120" fill="none" stroke="#880000" stroke-width="4"/>
+        <rect x="60" y="20" width="50" height="20" fill="#0f5" stroke="#085" stroke-width="4">
+          <animate id="an6" attributeName="height" calcMode="discrete" additive="sum" accumulate="none" repeatCount="2" from="200" to="20" begin="0s" dur="4s" fill="freeze"/>
+        </rect>
+        <text x="30" y="285" fill="navy">anim.6</text>
+      </g>
+      <g transform="translate(220, 0)">
+        <rect x="60" y="20" width="50" height="200" fill="#dfdfdf" stroke="#dfdfdf" stroke-width="4"/>
+        <line x1="40" x2="100" y1="220" y2="220" fill="none" stroke="#880000" stroke-width="4"/>
+        <line x1="40" x2="100" y1="120" y2="120" fill="none" stroke="#880000" stroke-width="4"/>
+        <rect x="60" y="20" width="50" height="20" fill="#0f5" stroke="#085" stroke-width="4">
+          <animate id="an7" attributeName="height" calcMode="discrete" additive="replace" accumulate="sum" repeatCount="2" from="200" to="20" begin="0s" dur="4s" fill="freeze"/>
+        </rect>
+        <text x="30" y="285" fill="navy">anim.7</text>
+      </g>
+      <g transform="translate(330, 0)">
+        <rect x="60" y="20" width="50" height="200" fill="#dfdfdf" stroke="#dfdfdf" stroke-width="4"/>
+        <line x1="40" x2="100" y1="220" y2="220" fill="none" stroke="#880000" stroke-width="4"/>
+        <line x1="40" x2="100" y1="120" y2="120" fill="none" stroke="#880000" stroke-width="4"/>
+        <rect x="60" y="20" width="50" height="20" fill="#0f5" stroke="#085" stroke-width="4">
+          <animate id="an8" attributeName="height" calcMode="discrete" additive="sum" accumulate="sum" repeatCount="2" from="200" to="20" begin="0s" dur="4s" fill="freeze"/>
+        </rect>
+        <text x="30" y="285" fill="navy">anim.8</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-03-t.svg b/Tests/W3CTestSuite/svg/animate-elem-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2c28362de9b3c88f7b1009bd00fec57aaecbeb5d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-03-t.svg
@@ -0,0 +1,99 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test inheritance of animated properties.
+      </p>
+      <p>
+        Three colored text strings appear. All three are inside of the same
+        'g' element. The 'g' element has its 'font-size' animated from 30 to
+        40, and its 'fill' from #00f (blue) to #070 (green).
+      </p>
+      <p>
+        The first colored 'text' element has the font-size set, so the
+        animation of the parent 'g' only affects the fill color. The second
+        has the fill set and font-size set, so no inherited values are
+        used. The font-size and fill color stay constant. The third colored
+        'text' element has neither of these properties specified and thus
+        inherits both animated values - the fill color changes and the text
+        grows in size.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p> 
+      <ul>
+        <li>the topmost line shows the text "Sample 123" that animates its fill-color smoothly from blue to green over the course of six seconds</li>
+        <li>the middle line shows the text "Sample 123" in a larger font-size than the first line, in blue fill-color that doesn't animate</li>
+        <li>the bottommost line shows the text "Sample 123" in the same font-size as the topmost line, then smoothly animating the font-size 
+          to be larger than the middle line over the course of six seconds. At the same time the fill-color is smoothly animated from blue to green</li>
+        <li>after six seconds the rendered result matches the reference image</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+    <font id="MyDecFont" horiz-adv-x="466">
+      <font-face font-family="MyDecFont"/>
+      <missing-glyph horiz-adv-x="233" d="M 50 0 L50 700 200 700 200 0 z"/>
+      <glyph unicode=" " glyph-name="space" horiz-adv-x="233"/>
+      <glyph unicode="1" glyph-name="one" horiz-adv-x="558" d="M458 716L100 534V428L357 552V97H241V380L140 328V0H458V716Z"/>
+      <glyph unicode="2" glyph-name="two" horiz-adv-x="585" d="M69 509Q82 523 102 541T147 575T203 603T268 614Q311 614 342 599T392 560T421 505T430 443Q430 420 423 398T405 352L343 201H444L492 309Q508 345 519 379T531 448Q531 504 511 552T454 635T369 691T262 711Q231 711 204 704T152 684T106 655T69 623V509ZM535 97H187L309 422Q316 441 315 457T306 483T287 500T265 506Q261 506 254 505T239 499T224 485T211 461L50 0H535V97Z"/>
+      <glyph unicode="3" glyph-name="three" horiz-adv-x="542" d="M58 553Q109 588 148 601T220 614Q255 614 282 604T328 575T356 535T366 488Q366 475 364 460T355 429T336 397T302 368Q311 363 325 353T352 326T376 286T386 232Q386 203 376 177T345 130T295 98T227 86Q179 86 134 104T50 153V45Q59 38 74 29T111 10T163 -5T231 -11Q296 -11 345 8T426 58T475 131T492 218Q492 251 486 276T469 320T446 354T421 378Q438 396 454 425T470 503Q470 546 454 584T406 650T332 695T233 711Q179 711 137 696T58 655V553ZM156 255Q156
+        229 173 212T217 194Q243 194 260 211T278 255Q278 281 261 298T217 316Q191 316 174 299T156 255ZM161 467Q161 444 177 428T216 412Q225 412 234 415T252 425T265 442T271 467Q271 491 256 506T216 522Q202 522 192 517T174 503T164 486T161 467Z"/>
+      <glyph unicode="S" glyph-name="S" horiz-adv-x="629" d="M523 658Q479 681 426 696T317 711Q251 711 200 690T113 634T59 551T40 452Q40 404 59 356T114 270T198 210T304 194Q310 195 319 197T336 204T351 219T357 246Q357 261 351 270T337 285T320 291T305 294Q251 300 220 319T172 363T151 411T146 454Q146 478 154 506T183 558T237 598T322 614Q375 614 426 598T523 548V658ZM96 42Q140 19 193 4T302 -11Q368 -11 419 10T506 66T560 149T579 248Q579 296 560 344T505 431T421 490T315 506Q309 505 300 503T282 496T268 480T262
+        454Q262 439 268 430T282 415T299 409T314 406Q368 399 399 380T447 336T468 288T473 246Q473 222 465 194T436 142T382 102T297 86Q244 86 193 102T96 152V42Z"/>
+      <glyph unicode="a" glyph-name="a" horiz-adv-x="578" d="M450 0H548V198Q548 288 522 344T458 433T375 477T292 489Q240 489 194 470T114 418T60 339T40 240Q40 180 63 134T122 55T202 6T291 -11Q311 -11 325 -9T352 -1V96Q341 89 331 86T305 83Q265 83 234 96T182 132T149 183T138 242Q138 275 150 303T183 351T232 383T294 395Q306 395 332 391T384 368T430 311T450 203V0ZM236 239Q236 215 253 198T294 181Q318 181 335 198T352 239Q352 263 335 280T294 297Q270 297 253 280T236 239Z"/>
+      <glyph unicode="m" glyph-name="m" horiz-adv-x="774" d="M40 0H138V231Q138 280 150 312T181 362T223 388T269 395Q294 395 314 388T349 370T374 346T392 318Q407 353 440 374T515 395Q531 395 553 390T596 368T631 319T646 231V0H744V231Q744 248 743 273T735 327T715 385T678 437T619 474T532 489Q504 489 482 484T443 470T412 451T390 431Q358 464 321 476T252 489Q222 489 185 481T116 445T62 367T40 231V0ZM242 0H542V246Q542 275 526 286T493 297Q473 297 459 283T444 246V94H340V246Q340 269 326 283T291 297Q275
+        297 259 286T242 246V0Z"/>
+      <glyph unicode="p" glyph-name="p" horiz-adv-x="552" d="M40 -184H138V192H267Q284 192 300 204T316 239Q316 259 303 272T267 286H40V-184ZM40 384H261Q297 384 325 372T373 340T403 294T414 238Q414 209 403 183T373 137T326 106T264 94H236V0H264Q318 0 363 18T442 69T493 144T512 238Q512 288 494 332T442 408T363 459T263 478H40V384Z"/>
+      <glyph unicode="l" glyph-name="l" horiz-adv-x="380" d="M340 662H40V0H340V94H138V568H242V192H340V662Z"/>
+      <glyph unicode="e" glyph-name="e" horiz-adv-x="530" d="M500 192V227Q500 296 480 346T428 427T354 474T271 489Q221 489 178 470T101 418T49 340T30 243Q30 204 43 161T87 83T171 24T303 0H482V94H298Q250 94 217 108T165 144T137 192T128 244Q128 276 139 303T171 351T218 383T275 395Q301 395 322 386T360 362T386 327T402 286H277Q253 286 240 272T226 239Q226 223 237 208T277 192H500Z"/>
+    </font>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="MyDecFont" fill="#00f" stroke="none">
+      <g id="AnimationTarget">
+        <text x="20" y="80" font-size="40">Sample 123</text>
+        <text x="20" y="155" font-size="60" fill="#00f">Sample 123</text>
+        <text x="20" y="250">Sample 123</text>
+        <animate attributeName="font-size" attributeType="CSS" begin="0s" dur="6s" fill="freeze" from="40" to="80"/>
+        <animate attributeName="fill" attributeType="CSS" begin="0s" dur="6s" fill="freeze" from="#00f" to="#070"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-04-t.svg b/Tests/W3CTestSuite/svg/animate-elem-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..343642a1eade233aa6bed1ab2c87d8ce320a4842
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-04-t.svg
@@ -0,0 +1,71 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test different ways of defining a motion path.
+      </p>
+      <p>
+        An animation moves a triangle along a path. Reference rectangles, lines and text
+        are provided to help show what the correct behavior is.
+      </p>
+      <p>
+        This animation uses the 'from' and 'to' attributes to define the motion path.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if a triangle is animated smoothly along the path indicated by the black line, starting at the leftmost pink rectangle and stopping after 3 seconds on top of the rightmost pink rectangle.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="36">
+      <text x="48" y="48">Test a motion path</text>
+      <text x="48" y="95">'from'/'to' attribute.</text>
+      <path d="M90,258 L390,180" fill="none" stroke="black" stroke-width="6"/>
+      <rect x="60" y="198" width="60" height="60" fill="#FFCCCC" stroke="black" stroke-width="6"/>
+      <text x="90" y="300" text-anchor="middle">0 sec.</text>
+      <rect x="360" y="120" width="60" height="60" fill="#FFCCCC" stroke="black" stroke-width="6"/>
+      <text x="390" y="230" text-anchor="middle">3+ sec.</text>
+      <path d="M-30,0 L0,-60 L30,0 z" fill="blue" stroke="green" stroke-width="6">
+        <animateMotion from="90,258" to="390,180" begin="0s" dur="3s" fill="freeze"/>
+      </path>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-05-t.svg b/Tests/W3CTestSuite/svg/animate-elem-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3e1be14f32f2130ba729f310da5d3d68ee184800
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-05-t.svg
@@ -0,0 +1,77 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test different ways of defining a motion path.
+      </p>
+      <p>
+        An animation moves a triangle along a path. Reference rectangles, lines and text
+        are provided to help show what the correct behavior is.
+      </p>
+      <p>
+        This animation uses the 'values' attribute to define the motion path, with a linear calcMode.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if a triangle is animated smoothly along the path indicated by the black line, and
+        it passes over the pink rectangles at the indicated times. 
+        When the animation starts the triangle should be positioned on top of the leftmost pink rectangle, after
+        3 seconds it should reach the middle pink rectangle, and after 6 seconds it should be positioned on top
+        of the rightmost pink rectangle where it should stop.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="36">
+      <text x="48" y="48">Test a motion path</text>
+      <text x="48" y="95">'values' attribute.</text>
+      <path d="M90,258 L240,180 L390,180" fill="none" stroke="black" stroke-width="6"/>
+      <rect x="60" y="198" width="60" height="60" fill="#FFCCCC" stroke="black" stroke-width="6"/>
+      <text x="90" y="300" text-anchor="middle">0 sec.</text>
+      <rect x="210" y="120" width="60" height="60" fill="#FFCCCC" stroke="black" stroke-width="6"/>
+      <text x="240" y="222" text-anchor="middle">3+</text>
+      <rect x="360" y="120" width="60" height="60" fill="#FFCCCC" stroke="black" stroke-width="6"/>
+      <text x="390" y="222" text-anchor="middle">6+</text>
+      <path d="M-30,0 L0,-60 L30,0 z" fill="blue" stroke="green" stroke-width="6">
+        <animateMotion values="90,258;240,180;390,180" begin="0s" dur="6s" calcMode="linear" fill="freeze"/>
+      </path>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-06-t.svg b/Tests/W3CTestSuite/svg/animate-elem-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c95dc1f20e2da139dfcbdaadec5c59390dc5757c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-06-t.svg
@@ -0,0 +1,71 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test different ways of defining a motion path.
+      </p>
+      <p>
+        An animation moves a triangle along a path. Reference rectangles, lines and text
+        are provided to help show what the correct behavior is.
+      </p>
+      <p>
+        This animation uses the 'path' attribute to define the motion path.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the triangle is animated along the black curve over the course of 6 seconds.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-06-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="36">
+      <text x="48" y="48">Test a motion path</text>
+      <text x="48" y="95">'path' attribute.</text>
+      <path d="M90,258 C90,258 216,120 390,198" fill="none" stroke="black" stroke-width="6"/>
+      <rect x="60" y="198" width="60" height="60" fill="#FFCCCC" stroke="black" stroke-width="6"/>
+      <text x="90" y="300" text-anchor="middle">0 sec.</text>
+      <rect x="360" y="138" width="60" height="60" fill="#FFCCCC" stroke="black" stroke-width="6"/>
+      <text x="390" y="240" text-anchor="middle">6+ sec.</text>
+      <path d="M-30,0 L0,-60 L30,0 z" fill="blue" stroke="green" stroke-width="6">
+        <animateMotion path="M90,258 C90,258 216,120 390,198" begin="0s" dur="6s" calcMode="linear" fill="freeze"/>
+      </path>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-07-t.svg b/Tests/W3CTestSuite/svg/animate-elem-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b59f8fda81d6d36630b3fc8031dd652ae85c2545
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-07-t.svg
@@ -0,0 +1,73 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test different ways of defining a motion path.
+      </p>
+      <p>
+        An animation moves a triangle along a path. Reference rectangles, lines and text
+        are provided to help show what the correct behavior is.
+      </p>
+      <p>
+        This animation uses the 'mpath' sub-element to define the motion path.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the triangle is animated along the black curve over the course of 6 seconds.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-07-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="36">
+      <text x="48" y="48">Test a motion path</text>
+      <text x="48" y="95">'mpath' element.</text>
+      <path id="mpathRef" d="M90,258 C90,258 216,120 390,198" fill="none" stroke="black" stroke-width="6"/>
+      <rect x="60" y="198" width="60" height="60" fill="#FFCCCC" stroke="black" stroke-width="6"/>
+      <text x="90" y="300" text-anchor="middle">0 sec.</text>
+      <rect x="360" y="138" width="60" height="60" fill="#FFCCCC" stroke="black" stroke-width="6"/>
+      <text x="390" y="240" text-anchor="middle">6+ sec.</text>
+      <path d="M-30,0 L0,-60 L30,0 z" fill="blue" stroke="green" stroke-width="6">
+        <animateMotion begin="0s" dur="6s" calcMode="linear" fill="freeze">
+          <mpath xlink:href="#mpathRef"/>
+        </animateMotion>
+      </path>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-08-t.svg b/Tests/W3CTestSuite/svg/animate-elem-08-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1b28fcbb528423f1507ea5fd75a28184bf61f9d0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-08-t.svg
@@ -0,0 +1,83 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: animate-elem-08-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test rotate='auto' and rotate='auto-reverse'.
+      </p>
+      <p>
+        Two animations have been defined that move a triangle along a path. The first animation specifies rotate='auto', which causes
+        the object to be rotated along the curve of the path. The second animation specifies rotate='auto-reverse', which causes the
+        object to be flipped and then rotated along the curve of the path.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>each of the triangles are animated along the respective black curves over the course of 6 seconds</li>
+        <li>the leftmost triangle points upwards and the rightmost triangle points downwards</li>
+        <li>the triangles are rotated during the animation so that they are always perpendicular to the tangential vector at the current position on the respective curve</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-08-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="14" text-anchor="middle" x="225" y="25">Test rotate='auto' and rotate='auto-reverse'</text>
+    <g font-size="12" text-anchor="middle">
+      <path d="M25,225 C25,175 125,150 175,200" fill="none" stroke="black" stroke-width="2"/>
+      <rect x="10" y="195" width="30" height="30" fill="#FFCCCC" stroke="black" stroke-width="4"/>
+      <text x="25" y="240">0 sec.</text>
+      <rect x="160" y="170" width="30" height="30" fill="#FFCCCC" stroke="black" stroke-width="4"/>
+      <text x="175" y="215">6+ sec.</text>
+      <path d="M-15,0 L0,-30 L15,0 z" fill="blue" stroke="green" stroke-width="2">
+        <animateMotion path="M25,225 C25,175 125,150 175,200" rotate="auto" begin="0s" dur="6s" calcMode="linear" fill="freeze"/>
+      </path>
+      <text x="100" y="260" stroke="none" font-size="14">rotate='auto'</text>
+      <path d="M275,225 C275,175 375,150 425,200" fill="none" stroke="black" stroke-width="2"/>
+      <rect x="260" y="195" width="30" height="30" fill="#FFCCCC" stroke="black" stroke-width="4"/>
+      <text x="275" y="240">0 sec.</text>
+      <rect x="410" y="170" width="30" height="30" fill="#FFCCCC" stroke="black" stroke-width="4"/>
+      <text x="425" y="215">6+ sec.</text>
+      <path d="M-15,0 L0,-30 L15,0 z" fill="blue" stroke="green" stroke-width="2">
+        <animateMotion path="M275,225 C275,175 375,150 425,200" rotate="auto-reverse" begin="0s" dur="6s" calcMode="linear" fill="freeze"/>
+      </path>
+      <text x="350" y="260" stroke="none" font-size="14">rotate='auto-reverse'</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-09-t.svg b/Tests/W3CTestSuite/svg/animate-elem-09-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..20f86c906cbcd21e8ca5c0451f6cf831f1adf6e6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-09-t.svg
@@ -0,0 +1,97 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-09-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test possible values for 'calcMode="discrete"'.
+      </p>
+      <p>
+        Two animations have been defined. For each animation, ruler lines and text are provided to help show what the correct behavior is.
+        The black text and ruler lines help show the sizes and movement of the rectangles over time.
+      </p>
+      <p>
+        The discrete animations should show stair-stepping animations, with quantum-level jumps every two seconds in these tests. The linear
+        animations change constantly with each keyframe to keyframe section, with the result that the change is faster when there is a larger
+        change within a given amount of time. The paced animations change constantly over the entire animation, regardless of the values at
+        particular keyframes. For calcMode='spline' in this test case, the initial rate of change is defined to be the same as linear, but the
+        last jump has an ease-in/ease-out effect where the change is slower at the start and end but faster in the middle.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the two orange rects are animated so that the bottom part of each rectangle is at the position
+        indicated by the ruler lines at the particular time noted next to each ruler line.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-09-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g xml:space="preserve" font-family="Arial" font-size="30">
+      <g transform="translate(20,50)">
+        <text x="0" y="203">0-2 sec.</text>
+        <text x="0" y="170">2-4 sec. </text>
+        <text x="0" y="114">4-6 sec. </text>
+        <text x="3" y="3">6+ sec. </text>
+        <g stroke="#800" stroke-width="4">
+          <line x1="120" y1="200" x2="170" y2="200"/>
+          <line x1="120" y1="167" x2="170" y2="167"/>
+          <line x1="120" y1="111" x2="170" y2="111"/>
+          <line x1="120" y1="0" x2="170" y2="0"/>
+        </g>
+          <rect x="140" y="-10" width="60" height="210" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+            <animate attributeName="height" calcMode="discrete" values="210;177;121;10" begin="0s" dur="8s" fill="freeze"/>
+          </rect>
+      </g>
+
+      <g transform="translate(250,50)">
+        <text x="0" y="203">0-2 sec.</text>
+        <text x="0" y="170">2-4 sec. </text>
+        <text x="0" y="114">4-6 sec. </text>
+        <text x="3" y="3">6+ sec. </text>
+        <g stroke="#800" stroke-width="4">
+          <line x1="120" y1="200" x2="170" y2="200"/>
+          <line x1="120" y1="167" x2="170" y2="167"/>
+          <line x1="120" y1="111" x2="170" y2="111"/>
+          <line x1="120" y1="0" x2="170" y2="0"/>
+        </g>
+        <rect x="140" y="-10" width="60" height="10" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animateMotion calcMode="discrete" values="0,200; 0,167; 0,111; 0,0" begin="0s" dur="8s" fill="freeze"/>
+        </rect>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-10-t.svg b/Tests/W3CTestSuite/svg/animate-elem-10-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..23b1502ea72ea7a067bdc263ff344bfd783fb646
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-10-t.svg
@@ -0,0 +1,96 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-10-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test possible values for 'calcMode="linear"'.
+      </p>
+      <p>
+        Two animations have been defined. For each animation, ruler lines and text are provided to help show what the correct behavior is.
+        The black text and ruler lines help show the sizes and movement of the rectangles over time.
+      </p>
+      <p>
+        The linear animations change constantly with each keyframe to keyframe section, with the result that the change is faster when there is a larger
+        change within a given amount of time.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the two orange rects are animated so that the bottom part of each rectangle is at the position
+        indicated by the ruler lines at the particular time noted next to each ruler line. Between two noted times the
+        bottom part of each rect must be between the two corresponding ruler lines.  
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-10-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="Arial" font-size="30">
+      <g transform="translate(20,50)">
+        <text x="0" y="203">at 0 sec.</text>
+        <text x="0" y="170">at 3 sec. </text>
+        <text x="0" y="114">at 6 sec. </text>
+        <text x="3" y="3">9+ sec. </text>
+        <g stroke="#800" stroke-width="4">
+          <line x1="120" y1="200" x2="170" y2="200"/>
+          <line x1="120" y1="167" x2="170" y2="167"/>
+          <line x1="120" y1="111" x2="170" y2="111"/>
+          <line x1="120" y1="0" x2="170" y2="0"/>
+        </g>
+        <rect x="140" y="-10" width="60" height="210" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <!-- Should use default of calcMode="linear" -->
+          <animate attributeName="height" values="210;177;121;10" begin="0s" dur="9s" fill="freeze"/>
+        </rect>
+      </g>
+      
+      <g transform="translate(250,50)">
+        <text x="0" y="203">at 0 sec.</text>
+        <text x="0" y="170">at 3 sec. </text>
+        <text x="0" y="114">at 6 sec. </text>
+        <text x="3" y="3">9+ sec. </text>
+        <g stroke="#800" stroke-width="4">
+          <line x1="120" y1="200" x2="170" y2="200"/>
+          <line x1="120" y1="167" x2="170" y2="167"/>
+          <line x1="120" y1="111" x2="170" y2="111"/>
+          <line x1="120" y1="0" x2="170" y2="0"/>
+        </g>
+        <rect x="140" y="-10" width="60" height="10" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animateMotion calcMode="linear" values="0,200; 0,167; 0,111; 0,0" begin="0s" dur="9s" fill="freeze"/>
+        </rect>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-11-t.svg b/Tests/W3CTestSuite/svg/animate-elem-11-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..001fb7d32acce6e9ba2af06a866a6ebc940b8c37
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-11-t.svg
@@ -0,0 +1,93 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-11-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test possible values for 'calcMode="paced"'.
+      </p>
+      <p>
+        Two animations have been defined. For each animation, ruler lines and text are provided to help show what the correct behavior is.
+        The black text and ruler lines help show the sizes and movement of the rectangles over time.
+      </p>
+      <p>
+        The paced animations change constantly over the entire animation, regardless of the values at
+        particular keyframes.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	The test is passed if the two orange rects are animated so that the bottom part of each rectangle is at the position indicated by the ruler lines at the particular time noted next to each ruler line. Between two noted times the bottom part of each rect must be between the two corresponding ruler lines. 
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-11-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="Arial" font-size="30">
+      <g transform="translate(20,50)">
+        <text x="0" y="203">at 0 sec.</text>
+        <text x="0" y="136.33">at 3 sec. </text>
+        <text x="0" y="69.66">at 6 sec. </text>
+        <text x="3" y="3">9+ sec. </text>
+        <g stroke="#800" stroke-width="4">
+          <line x1="120" y1="200" x2="170" y2="200"/>
+          <line x1="120" y1="133.33" x2="170" y2="133.33"/>
+          <line x1="120" y1="66.66" x2="170" y2="66.66"/>
+          <line x1="120" y1="0" x2="170" y2="0"/>
+        </g>
+        <rect x="140" y="-10" width="60" height="210" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animate attributeName="height" calcMode="paced" values="210;177;121;10" begin="0s" dur="9s" fill="freeze"/>
+        </rect>
+      </g>
+      
+      <g transform="translate(250,50)">
+        <text x="0" y="203">at 0 sec.</text>
+        <text x="0" y="136.33">at 3 sec. </text>
+        <text x="0" y="69.66">at 6 sec. </text>
+        <text x="3" y="3">9+ sec. </text>
+        <g stroke="#800" stroke-width="4">
+          <line x1="120" y1="200" x2="170" y2="200"/>
+          <line x1="120" y1="133.33" x2="170" y2="133.33"/>
+          <line x1="120" y1="66.66" x2="170" y2="66.66"/>
+          <line x1="120" y1="0" x2="170" y2="0"/>
+        </g>
+        <rect x="140" y="-10" width="60" height="10" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animateMotion calcMode="paced" values="0,200; 0,167; 0,111; 0,0" begin="0s" dur="9s" fill="freeze"/>
+        </rect>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-12-t.svg b/Tests/W3CTestSuite/svg/animate-elem-12-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ff0cc495a504b1ab530659712a85b593c7859e3c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-12-t.svg
@@ -0,0 +1,93 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-12-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test possible values for 'calcMode="spline"'.
+      </p>
+      <p>
+        Two animations have been defined. For each animation, ruler lines and text are provided to help show what the correct behavior is.
+        The black text and ruler lines help show the sizes and movement of the rectangles over time.
+      </p>
+      <p>
+        For calcMode='spline' in this test case, the initial rate of change is defined to be the same as linear, but the
+        last jump has an ease-in/ease-out effect where the change is slower at the start and end but faster in the middle.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    	<p>
+    		Run the test. No interaction required.
+    	</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	The test is passed if the two orange rects are animated so that the bottom part of each rectangle is at the position indicated by the ruler lines at the particular time noted next to each ruler line. Between two noted times the bottom part of each rect must be between the two corresponding ruler lines. The bottom of the left rectangles and the right rectangle must always be the same throughout the animation. 
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-12-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="Arial" font-size="30">
+      <g transform="translate(20,50)">
+        <text x="0" y="203">at 0 sec.</text>
+        <text x="0" y="170">at 3 sec. </text>
+        <text x="0" y="114">at 6 sec. </text>
+        <text x="3" y="3">9+ sec. </text>
+        <g stroke="#800" stroke-width="4">
+          <line x1="120" y1="200" x2="170" y2="200"/>
+          <line x1="120" y1="167" x2="170" y2="167"/>
+          <line x1="120" y1="111" x2="170" y2="111"/>
+          <line x1="120" y1="0" x2="170" y2="0"/>
+        </g>
+        <rect x="140" y="-10" width="60" height="210" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animate attributeName="height" calcMode="spline" keySplines="0,0,1,1;0,0,1,1;.75,0,0,.75" values="210;177;121;10" begin="0s" dur="9s" fill="freeze"/>
+        </rect>
+      </g>
+      
+      <g transform="translate(250,50)">
+        <text x="0" y="203">at 0 sec.</text>
+        <text x="0" y="170">at 3 sec. </text>
+        <text x="0" y="114">at 6 sec. </text>
+        <text x="3" y="3">9+ sec. </text>
+        <g stroke="#800" stroke-width="4">
+          <line x1="120" y1="200" x2="170" y2="200"/>
+          <line x1="120" y1="167" x2="170" y2="167"/>
+          <line x1="120" y1="111" x2="170" y2="111"/>
+          <line x1="120" y1="0" x2="170" y2="0"/>
+        </g>
+        <rect x="140" y="-10" width="60" height="10" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animateMotion calcMode="spline" keySplines="0,0,1,1;0,0,1,1;.75,0,0,.75" values="0,200; 0,167; 0,111; 0,0" begin="0s" dur="9s" fill="freeze"/>
+        </rect>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-13-t.svg b/Tests/W3CTestSuite/svg/animate-elem-13-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..52c4b6fa2aeed827da379696160fa875b8c9653b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-13-t.svg
@@ -0,0 +1,105 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-13-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test 'from', 'by', 'to' and 'values'.
+      </p>
+      <p>
+        Six animations have been defined. All six animations define the same simultaneous behavior, but use different combinations of
+        attributes 'from', 'by', 'to' and 'values'. In all cases, from time 2 seconds to time 5 seconds, the rectangle should change
+        from a width of 30 to a width of 300.
+      </p>
+      <p>
+        The text on each line shows the attributes that were used for that particular animation.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The six orange rectangles should simultaneously animate their widths so that their right edges line up with the ruler lines at the indicated time.
+        From time 0 - 2 seconds all rectangles should have their right edges lined up with the leftmost ruler line, and at time 2 seconds the animation should
+        start, changing the widths of all the rectangles from 30 to 300. At time 5 seconds the animation should stop and the rectangles should all line up with
+        the rightmost ruler line.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-13-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="30">
+      <line x1="190" x2="190" y1="45" y2="300" stroke="#880000" stroke-width="4"/>
+      <line x1="460" x2="460" y1="45" y2="300" stroke="#880000" stroke-width="4"/>
+      <text x="156" y="32">0-2 sec.</text>
+      <text x="370" y="32">5+ sec.</text>
+      <g>
+        <rect x="160" y="60" width="30" height="30" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animate attributeName="width" from="30" to="300" begin="2s" dur="3s" fill="freeze"/>
+        </rect>
+        <text x="20" y="85">from to</text>
+      </g>
+      <g>
+        <rect x="160" y="100" width="30" height="30" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animate attributeName="width" from="30" by="270" begin="2s" dur="3s" fill="freeze"/>
+        </rect>
+        <text x="20" y="125">from by</text>
+      </g>
+      <g>
+        <rect x="160" y="140" width="30" height="30" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animate attributeName="width" by="270" begin="2s" dur="3s" fill="freeze"/>
+        </rect>
+        <text x="20" y="165">by</text>
+      </g>
+      <g>
+        <rect x="160" y="180" width="30" height="30" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animate attributeName="width" to="300" begin="2s" dur="3s" fill="freeze"/>
+        </rect>
+        <text x="20" y="205">to</text>
+      </g>
+      <g>
+        <rect x="160" y="220" width="30" height="30" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animate attributeName="width" values="30;300" begin="2s" dur="3s" fill="freeze"/>
+        </rect>
+        <text x="20" y="245">values</text>
+      </g>
+      <g>
+        <rect x="160" y="260" width="30" height="30" fill="#FFAA44" stroke="#FF00FF" stroke-width="4">
+          <animate attributeName="width" values="30;120;210;300" begin="2s" dur="3s" fill="freeze"/>
+        </rect>
+        <text x="20" y="285">values</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-14-t.svg b/Tests/W3CTestSuite/svg/animate-elem-14-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b85b279a52a4b4c1ee535c0fbf62aacfdfd2904b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-14-t.svg
@@ -0,0 +1,78 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-14-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test 'calcMode'=discrete.
+      </p>
+      <p>
+        One animation has been defined to animate the height of a rectangle. Ruler lines and text are provided
+        to help show what the correct behavior is. The headline text shows the values for the 'calcMode' and 'keyTimes' attributes. The
+        black text and ruler lines help show the size and movement of the rectangle over time.
+      </p>
+      <p>
+        This test shows an animation with calcMode="discrete" (i.e., a jumping animation).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Run the test. No interaction required.
+      </p>      
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	The right edge of the blue rectangle should line up with the ruler lines at the indicated times, and should jump directly to each position with no animation in between.  
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-14-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="40" x="3" y="45">calcMode="discrete"</text>
+    <text font-size="40" x="3" y="100">keyTimes="0;.2;.4;.6"</text>
+    <g xml:space="preserve" font-size="13.5" stroke-width="3">
+      <g transform="translate(150,140)">
+        <text font-size="36" x="-140" y="140">Time (s):</text>
+        <text font-size="36" x="290" y="140">0</text>
+        <line x1="300" y1="0" x2="300" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="245" y="140">2</text>
+        <line x1="255" y1="0" x2="255" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="170" y="140">4</text>
+        <line x1="180" y1="0" x2="180" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="20" y="140">6</text>
+        <line x1="30" y1="0" x2="30" y2="100" fill="none" stroke="#880000"/>
+        <rect x="0" y="0" width="300" height="80" fill="#44AAFF" stroke="#880088" stroke-width="4">
+          <animate attributeName="width" calcMode="discrete" values="300;255;180;30" keyTimes="0;.2;.4;.6" begin="0s" dur="10s" fill="freeze"/>
+        </rect>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-15-t.svg b/Tests/W3CTestSuite/svg/animate-elem-15-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4ef4a7a96253669302b2e382a6e506b6c1dba8fa
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-15-t.svg
@@ -0,0 +1,79 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-15-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test 'calcMode'=paced.
+      </p>
+      <p>
+        One animation has been defined to animate the width of a rectangle. Ruler lines and text are provided
+        to help show what the correct behavior is. The headline text shows the values for the 'calcMode' and 'keyTimes' attributes. The
+        black text and ruler lines help show the size and movement of the rectangle over time.
+      </p>
+      <p>
+        This test shows calcMode="paced" for an animation that has constant velocity, thus showing how 'values'
+        and 'keyTimes' are ignored.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	The blue rectangle should animate its width at a constant speed so that the right edge of the rectangle lines up with the ruler line at the indicated times.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-15-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="40" x="3" y="45">calcMode="paced"</text>
+    <text font-size="40" x="3" y="100">keyTimes="0;.25;.5;1"</text>
+    <g xml:space="preserve" font-size="13.5" stroke-width="3">
+      <g transform="translate(150,140)">
+        <text font-size="36" x="-140" y="140">Time (s):</text>
+        <text font-size="36" x="290" y="140">0</text>
+        <line x1="300" y1="0" x2="300" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="230" y="140">1.5</text>
+        <line x1="255" y1="0" x2="255" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="170" y="140">4</text>
+        <line x1="180" y1="0" x2="180" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="20" y="140">9</text>
+        <line x1="30" y1="0" x2="30" y2="100" fill="none" stroke="#880000"/>
+        <rect x="0" y="0" width="300" height="80" fill="#44AAFF" stroke="#880088" stroke-width="4">
+          <animate attributeName="width" calcMode="paced" values="300;255;180;30" keyTimes="0;.25;.5;1" begin="0s" dur="9s" fill="freeze"/>
+        </rect>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-17-t.svg b/Tests/W3CTestSuite/svg/animate-elem-17-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c9936b08061fcddf4c6ec9750ae574f68089eb7a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-17-t.svg
@@ -0,0 +1,79 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-17-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test 'calcMode'=spline.
+      </p>
+      <p>
+        One animation has been defined to animate the height of a rectangle. Ruler lines and text are provided
+        to help show what the correct behavior is. The red text shows the values for the 'calcMode' and 'keyTimes' attributes. The
+        black text and ruler lines help show the size and movement of the rectangle over time.
+      </p>
+      <p>
+        This animation shows calcMode="spline". Between time 4 seconds and 8 seconds, the animation displays an ease-in/ease-out approach
+        instead of a constant linear approach which would have been the case if calcMode had been linear instead.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    	<p>
+        Run the test. No interaction required.
+      </p>  
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	The blue rectangle should animate its width so that the right edge of the rectangle lines up with the ruler line at the indicated times. Between 4 and 8 seconds the animation should show an ease-in/ease-out motion (i.e. a gradual change in speed).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-17-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="40" x="3" y="45">calcMode="spline"</text>
+    <text font-size="40" x="3" y="100">keyTimes="0;.25;.5;1"</text>
+    <g xml:space="preserve" font-size="13.5" stroke-width="3">
+      <g transform="translate(150,140)">
+        <text font-size="36" x="-140" y="140">Time (s):</text>
+        <text font-size="36" x="290" y="140">0</text>
+        <line x1="300" y1="0" x2="300" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="245" y="140">2</text>
+        <line x1="255" y1="0" x2="255" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="170" y="140">4</text>
+        <line x1="180" y1="0" x2="180" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="20" y="140">8</text>
+        <line x1="30" y1="0" x2="30" y2="100" fill="none" stroke="#880000"/>
+        <rect x="0" y="0" width="300" height="80" fill="#44AAFF" stroke="#880088" stroke-width="4">
+          <animate attributeName="width" calcMode="spline" values="300;255;180;30" keyTimes="0;.25;.5;1" keySplines="0,0,1,1;0,0,1,1;1,0,0,1" begin="0s" dur="8s" fill="freeze"/>
+        </rect>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-19-t.svg b/Tests/W3CTestSuite/svg/animate-elem-19-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e379e92d0366d3bafa0aeb517834c762a3f5eaea
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-19-t.svg
@@ -0,0 +1,78 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-19-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+    	<p>
+        Test 'calcMode'=linear.
+      </p>
+      <p>
+        One animation has been defined to animate the width of a rectangle. Ruler lines and text are provided
+        to help show what the correct behavior is. The red text shows the values for the 'calcMode' and 'keyTimes' attributes. The
+        black text and ruler lines help show the size and movement of the rectangle over time.
+      </p>
+      <p>
+        This test shows an animation with calcMode="linear".
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	The blue rectangle should animate its width so that the right edge of the rectangle lines up with the ruler line at the indicated times. The rate of change will increase after each ruler line is passed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-19-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="40" x="3" y="45">calcMode="linear"</text>
+    <text font-size="40" x="3" y="100">keyTimes="0;.5;.75;1"</text>
+    <g xml:space="preserve" font-size="13.5" stroke-width="3">
+      <g transform="translate(150,140)">
+        <text font-size="36" x="-140" y="140">Time (s):</text>
+        <text font-size="36" x="290" y="140">0</text>
+        <line x1="300" y1="0" x2="300" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="245" y="140">4</text>
+        <line x1="255" y1="0" x2="255" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="170" y="140">6</text>
+        <line x1="180" y1="0" x2="180" y2="100" fill="none" stroke="#880000"/>
+        <text font-size="36" x="20" y="140">8</text>
+        <line x1="30" y1="0" x2="30" y2="100" fill="none" stroke="#880000"/>
+        <rect x="0" y="0" width="300" height="80" fill="#44AAFF" stroke="#880088" stroke-width="4">
+          <animate attributeName="width" calcMode="linear" values="300;255;180;30" keyTimes="0;.5;.75;1" begin="0s" dur="8s" fill="freeze"/>
+        </rect>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-20-t.svg b/Tests/W3CTestSuite/svg/animate-elem-20-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0301032fbccd9f7d18aea73a3630a502d7801ebb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-20-t.svg
@@ -0,0 +1,76 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-20-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test hyperlinking rules as they relate to resolved start times.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Click "fade in", wait 3 seconds. Click "fade out", wait 3 seconds. Click "fade in" again, wait 6 seconds.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+    	<p>The test is passed if:</p>
+      <ul>
+      	<li>The first time "fade in" is clicked, a blue rectangle should smoothly fade from white to blue over the course of three seconds.</li>
+      	<li>When "fade out" is clicked, the blue rectangle should smoothly fade from blue to white over the course of three seconds.</li>
+      	<li>When "fade in" is clicked the second time, the blue rectangle should smoothly fade from white to blue over the course of three seconds, and then directly fade out from blue to white over the course of three seconds.</li>
+      	<li>The rendered picture matches the reference image, (except
+        for possible variations in the labeling text (per CSS2 rules))
+        after activating the link on the fade-in button the first time
+        and waiting three seconds for the animation to complete. The picture
+        should remain looking the same way indefinitely, until another
+        link is activated.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-20-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect id="pink" x="20" y="20" width="200" height="200" fill="#fff">
+      <animate id="fadein" attributeName="fill" attributeType="auto" from="#fff" to="blue" begin="indefinite" dur="3s" fill="freeze"/>
+      <animate id="fadeout" attributeName="fill" attributeType="auto" from="blue" to="#fff" begin="indefinite" dur="3s" fill="freeze"/>
+    </rect>
+    <!-- ok so this is testing dynamic compositing as well -->
+    <g id="buttons">
+      <a xlink:href="#fadein">
+        <rect x="320" y="0" width="160" height="180" fill="green"/>
+        <text fill="white" font-size="30" font-weight="bold" x="330" y="90">Fade in</text>
+      </a>
+      <a xlink:href="#fadeout">
+        <rect x="320" y="180" width="160" height="180" fill="maroon"/>
+        <text fill="white" font-size="30" font-weight="bold" x="330" y="280">Fade out</text>
+      </a>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-21-t.svg b/Tests/W3CTestSuite/svg/animate-elem-21-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f68aed08d3790e841da7bd7d99d530e29a3b9d26
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-21-t.svg
@@ -0,0 +1,109 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-21-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test for chained animations.
+      </p>
+      <p>
+        The assumption is that you will first click on "fade in" and
+        then click on "fade out", each exactly once. The first time you
+        select the link 'fade in', you should see a blue square appearing,
+        gradually and smoothly fading from white to blue over the
+        course of three seconds. This square is in front of and thus
+        obscures the lower left circle, but is behind the upper right
+        circle. The fill color of these circles is also animated, from white to
+        grey. The animations are triggered by the start of the corresponding
+        animation of the blue square.
+      </p>
+      <p>
+        With the second click on "fade in", however, the behavior might
+        be different. In the case of having a first click on "fade in",
+        waiting three seconds, and then immediately perform a first click
+        on "fade out", waiting three seconds, and then immediately perform
+        a second click on "fade in", you should see the following. After
+        the first click on "fade in", the blue square goes from white to blue. 
+        After the first click on "fade out", the blue square goes
+        from blue to white. After the second click on "fade in",
+        however, the blue square goes from white to blue, and then
+        goes back from blue to white. This is because of the
+        hyperlinking rules as they relate to resolved start times in the
+        SMIL Animation specification.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Click "fade in", wait 3 seconds. Click "fade out", wait 3 seconds. Click "fade in" again, wait 6 seconds.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test is passed if:</p>
+      <ul>
+      	<li>The first time "fade in" is clicked, a blue rectangle should smoothly fade from white to blue, and two circles should fade from white to gray, all over the course of three seconds</li>
+      	<li>When "fade out" is clicked, the blue rectangle should smoothly fade from blue to white, and the two circles should fade from gray to white, all over the course of three seconds.</li>
+      	<li>When "fade in" is clicked the second time, it should behave as the first time "fade in" was clicked but immediately followed by the "fade out" behaviour described above, so that the shapes all fade in over the course of three seconds, and then out again over the course of three seconds.</li>
+      	<li>The rendered picture matches the reference image, (except
+        for possible variations in the labeling text (per CSS2 rules))
+        after activating the link on the fade-in button the first time
+        and waiting three seconds for the animation to compete. The picture
+        should remain looking the same way indefinitely, until another
+        link is activated.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-21-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <circle stroke="white" stroke-width="30" fill="none" cx="100" cy="200" r="60">
+      <animate id="fadein" attributeName="stroke" attributeType="auto" from="white" to="#666" begin="indefinite" dur="3s" fill="freeze"/>
+      <animate id="fadeout" attributeName="stroke" attributeType="auto" from="#666" to="white" begin="indefinite" dur="3s" fill="freeze"/>
+    </circle>
+    <rect id="pink" x="20" y="20" width="180" height="180" fill="#fff">
+      <animate id="fadein2" attributeName="fill" attributeType="auto" from="#fff" to="blue" begin="fadein.begin" dur="3s" fill="freeze"/>
+      <animate id="fadeout2" attributeName="fill" attributeType="auto" from="blue" to="#fff" begin="fadeout.begin" dur="3s" fill="freeze"/>
+    </rect>
+    <circle stroke="white" stroke-width="20" fill="none" cx="200" cy="110" r="80">
+      <animate id="fadein3" attributeName="stroke" attributeType="auto" from="white" to="#666" begin="fadein.begin" dur="3s" fill="freeze"/>
+      <animate id="fadeout3" attributeName="stroke" attributeType="auto" from="#666" to="white" begin="fadeout.begin" dur="3s" fill="freeze"/>
+    </circle>
+    <!-- ok so this is testing dynamic compositing as well -->
+    <g id="buttons">
+      <a xlink:href="#fadein">
+        <rect x="320" y="0" width="160" height="180" fill="green"/>
+        <text fill="white" font-size="30" font-weight="bold" x="330" y="90">Fade in</text>
+      </a>
+      <a xlink:href="#fadeout">
+        <rect x="320" y="180" width="160" height="180" fill="maroon"/>
+        <text fill="white" font-size="30" font-weight="bold" x="330" y="280">Fade out</text>
+      </a>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-22-b.svg b/Tests/W3CTestSuite/svg/animate-elem-22-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4935e923ff3fc80a6ccdd912687cf398f858538c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-22-b.svg
@@ -0,0 +1,88 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-22-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test which verifies that the basic facilities of declarative
+        animation are working.
+      </p>
+      <p>
+        This test uses the following element : 'animate'
+      </p>
+      <p>
+        The test is a nine second animation with no repeats. It shows
+        a rectangle growing from small (37.5% width, 33.3% height) to
+        big (100% width, 100% height)
+      </p>
+      <p>
+        The file includes various guides that can be used to verify the
+        correctness of the animation. Outlines exist for the rectangle
+        size and location at times 0s, 3s and 9s.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test is passed if:</p>
+      <ul>
+      	<li>At the start of the animation the innermost rectangle is filled by a yellow semitransparent color</li>
+      	<li>Over the course of three seconds the yellow rect smoothly animates its width and height so that at time t=3s fully fills the middle rectangle</li>
+      	<li>The animation then continues in the same fashion and at time t=9s fully fills the largest rectangle with blue stroke</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-22-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Guide objects to show where the animation elements belong at which time -->
+    <g font-family="Verdana" font-size="12">
+      <text x="200" y="131">Yellow rect at time 0s</text>
+      <rect x="200" y="135" width="50" height="50" fill="none" stroke="black"/>
+      <text x="141.6666" y="102.6666">Yellow rect at time 3s</text>
+      <rect x="141.6666" y="106.6666" width="166.6666" height="111.6666" fill="none" stroke="rgb(0,0,255)"/>
+      <text x="25" y="46">Yellow rect at time 9s</text>
+      <rect x="25" y="50" width="400" height="240" fill="none" stroke="rgb(0,0,255)"/>
+    </g>
+    <rect id="RectElement" x="200" y="135" width="50" height="50" fill="rgb(255,255,0)" opacity=".5">
+      <animate attributeName="x" attributeType="XML" begin="0s" dur="9s" fill="freeze" from="200" to="25"/>
+      <animate attributeName="y" attributeType="XML" begin="0s" dur="9s" fill="freeze" from="135" to="50"/>
+      <animate attributeName="width" attributeType="XML" begin="0s" dur="9s" fill="freeze" from="50" to="400"/>
+      <animate attributeName="height" attributeType="XML" begin="0s" dur="9s" fill="freeze" from="50" to="240"/>
+    </rect>
+    <!-- Set up a new user coordinate system so that the text string's 
+			origin is at (0,0), allowing rotation and scale relative to 
+			the new origin 
+		-->
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-23-t.svg b/Tests/W3CTestSuite/svg/animate-elem-23-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..84e8c59c73064f45f4bcd08c775cfcf77f113457
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-23-t.svg
@@ -0,0 +1,93 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-23-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test which verifies that the basic facilities of declarative
+        animation are working.
+      </p>
+      <p>
+        This test uses the following elements : 'set',
+        and 'animateColor'.
+      </p>
+      <p>
+        The test is a nine second animation with no repeats. It shows a circle
+        changing color from 3s to 9s.
+      </p>
+      <p>
+        The file includes various guides that can be used to verify the
+        correctness of the animation.
+        Boxes on the left show the correct circle color values at times
+        3s, 6s and 9s.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+	    <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	The test is passed if:
+      </p>
+      <ul>
+				<li>From time t=0 seconds to t=3 seconds the large rectangle is filled with black</li>
+				<li>At t=3 seconds a blue circle appears inside the black rectangle</li>
+				<li>Between time t=3 seconds and t=6 seconds the fill of the circle is animated between blue and bluegreen</li>
+				<li>Between time t=6 seconds and t=9 seconds the fill of the circle is animated between bluegreen and green</li>   
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-23-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Guide objects to show where the animation elements belong at which time -->
+    <g font-size="12">
+      <text x="15" y="55">Color at 3s</text>
+      <rect x="15" y="60" width="30" height="30"/>
+      <circle cx="30" cy="75" r="10" fill="rgb(0,0,255)"/>
+      <text x="15" y="145">Color at 6s</text>
+      <rect x="15" y="150" width="30" height="30"/>
+      <circle cx="30" cy="165" r="10" fill="rgb(0,127,127)"/>
+      <text x="15" y="235">Color at 9s</text>
+      <rect x="15" y="240" width="30" height="30"/>
+      <circle cx="30" cy="255" r="10" fill="rgb(0,255,0)"/>
+    </g>
+
+    <g>
+      <rect x="150" y="50" width="240" height="240" stroke="black" fill="black"/>
+      <circle cx="270" cy="170" r="110" visibility="hidden">
+        <set attributeName="visibility" attributeType="CSS" to="visible" begin="3s" dur="6s" fill="freeze"/>
+        <animateColor attributeName="fill" attributeType="CSS" from="rgb(0,0,255)" to="rgb(0,255,0)" begin="3s" dur="6s" fill="freeze"/>
+      </circle>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-24-t.svg b/Tests/W3CTestSuite/svg/animate-elem-24-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ea2a3408ffab895207182e0e90e4b4da231f2fb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-24-t.svg
@@ -0,0 +1,129 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-24-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test which verifies that the basic facilities of declarative
+        animation are working.
+      </p>
+      <p>
+        This test uses the following elements : 'animateMotion' and
+        'animateTransform'
+      </p>
+      <p>
+        The test is a nine second animation with no repeats. It shows
+        the text string "It's alive" moving, rotating and growing from
+        time 3s to 9s.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The file includes various guides that can be used to verify the
+        correctness of the animation. Pale blue guides exist for
+        the text size, location and orientation at times 3s, 6s and 9s.
+      </p>
+      <p>
+        The test is passed if the animated text covers the pale blue guides at
+        the indicated times on the test.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-24-t.svg,v $</title>
+	<defs>
+		<font id="MyFont" horiz-adv-x="416">
+			<font-face font-family="MyFont" units-per-em="1000" panose-1="2 0 0 6 3 0 0 2 0 4" ascent="700" descent="-127" alphabetic="0"/>
+			<missing-glyph horiz-adv-x="233"/>
+			<glyph unicode=" " glyph-name="space" horiz-adv-x="233"/>
+			<glyph unicode="I" glyph-name="I" horiz-adv-x="330" d="M30 700V550H90V150H30V0H300V150H240V550H300V700H30Z"/>
+			<glyph unicode="t" glyph-name="t" horiz-adv-x="417" d="M5 550V410H137V0H280V410H412V550H5Z"/>
+			<glyph unicode="s" glyph-name="s" horiz-adv-x="468" d="M34 550V410V218H291V120H34V0H434V338H177V430H434V550H34Z"/>
+			<glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="198" d="M35 700L73 483H125L163 700H35Z"/>
+			<glyph unicode="a" glyph-name="a" horiz-adv-x="435" d="M71 550L3 0H143L154 119H282L293 0H433L365 550H71ZM168 259L182 410H254L268 259H168Z"/>
+			<glyph unicode="l" glyph-name="l" horiz-adv-x="435" d="M37 0H425V130H180V550H37V410V0Z"/>
+			<glyph unicode="i" glyph-name="i" horiz-adv-x="217" d="M37 550V410V0H180V550H37Z"/>
+			<glyph unicode="v" glyph-name="v" horiz-adv-x="430" d="M73 0H357L430 550H282L235 140H195L148 550H0L19 410L73 0Z"/>
+			<glyph unicode="e" glyph-name="e" horiz-adv-x="442" d="M37 550V410V0H419V130H180V210H299V340H180V420H419V550H37Z"/>
+			<glyph unicode="!" glyph-name="exclam" horiz-adv-x="237" d="M46 145V0H191V145H46ZM58 220H179L194 700H43L58 220Z"/>
+		</font>
+	</defs>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+    <font id="MyFont" horiz-adv-x="416">
+      <font-face font-family="MyFont" units-per-em="1000" panose-1="2 0 0 6 3 0 0 2 0 4" ascent="700" descent="-127" alphabetic="0"/>
+      <missing-glyph horiz-adv-x="233"/>
+      <glyph unicode=" " glyph-name="space" horiz-adv-x="233"/>
+      <glyph unicode="I" glyph-name="I" horiz-adv-x="330" d="M30 700V550H90V150H30V0H300V150H240V550H300V700H30Z"/>
+      <glyph unicode="t" glyph-name="t" horiz-adv-x="417" d="M5 550V410H137V0H280V410H412V550H5Z"/>
+      <glyph unicode="s" glyph-name="s" horiz-adv-x="468" d="M34 550V410V218H291V120H34V0H434V338H177V430H434V550H34Z"/>
+      <glyph unicode="&apos;" glyph-name="quotesingle" horiz-adv-x="198" d="M35 700L73 483H125L163 700H35Z"/>
+      <glyph unicode="a" glyph-name="a" horiz-adv-x="435" d="M71 550L3 0H143L154 119H282L293 0H433L365 550H71ZM168 259L182 410H254L268 259H168Z"/>
+      <glyph unicode="l" glyph-name="l" horiz-adv-x="435" d="M37 0H425V130H180V550H37V410V0Z"/>
+      <glyph unicode="i" glyph-name="i" horiz-adv-x="217" d="M37 550V410V0H180V550H37Z"/>
+      <glyph unicode="v" glyph-name="v" horiz-adv-x="430" d="M73 0H357L430 550H282L235 140H195L148 550H0L19 410L73 0Z"/>
+      <glyph unicode="e" glyph-name="e" horiz-adv-x="442" d="M37 550V410V0H419V130H180V210H299V340H180V420H419V550H37Z"/>
+      <glyph unicode="!" glyph-name="exclam" horiz-adv-x="237" d="M46 145V0H191V145H46ZM58 220H179L194 700H43L58 220Z"/>
+    </font>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="20">
+      <text x="70" y="110">Text from 0s to 3s</text>
+      <text x="100" y="185">Text at 6s</text>
+      <text x="100" y="220">Text at 9s</text>
+    </g>
+    <!-- Guide objects to show where the animation elements belong at which time -->
+    <g font-family="MyFont" stroke="none" fill="#bee">
+      <text transform="translate(50,90) rotate(-30)" font-size="20">It's alive!</text>
+      <text transform="translate(75,180) rotate(-15)" font-size="40">It's alive!</text>
+      <text x="100" y="270" font-size="60">It's alive!</text>
+    </g>
+    <!-- Set up a new user coordinate system so that the text string's
+            origin is at (0,0), allowing rotation and scale relative to
+            the new origin
+        -->
+    <g transform="translate(50,90)">
+      <!-- The following illustrates the use of the 'animateMotion',
+                and 'animateTransform' elements. At 3 seconds, the text:
+                * continuously moves diagonally across the viewport
+                * rotates from -30 to zero degrees
+                * scales by a factor of three.
+            -->
+      <text id="TextElement" x="0" y="0" font-family="MyFont" font-size="20" fill="#36e" transform="rotate(-30)">
+        It's alive!
+        <animateMotion path="M 0 0 L 50 180" begin="3s" dur="6s" fill="freeze"/>
+        <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="-30" to="0" begin="3s" dur="6s" fill="freeze"/>
+        <animateTransform attributeName="transform" attributeType="XML" type="scale" from="1" to="3" additive="sum" begin="3s" dur="6s" fill="freeze"/>
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-25-t.svg b/Tests/W3CTestSuite/svg/animate-elem-25-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8d2e0b626fd50aa6e9caad77f8fdfdd47da696b6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-25-t.svg
@@ -0,0 +1,89 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-25-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test animation options for specifying the target attribute/property.
+      </p>
+      <p>
+        The left-hand rectangle animates an XML attribute without
+        specifying a value for 'attributeType'. The right-hand rectangle
+        animates an XML attribute and does set 'attributeType' to 'XML'.
+      </p>
+      <p>
+        The left rectangle animates its height from 100 to 50,
+        starting at time 3 seconds and ending at 6 seconds.
+        The right rectangle animates its height from 100 to 50,
+        starting at time 6 seconds and ending at 9 seconds.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>the left yellow rectangle animates its height from 100 to 50,
+      starting at time 3 seconds and ending at 6 seconds, as indicated
+      by the green ruler lines.</li>
+        <li>the right yellow rectangle animates its height from 100 to 50,
+      starting at time 6 seconds and ending at 9 seconds, as indicated
+      by the green ruler lines.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-25-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-family="Arial" font-size="14" x="30" y="40">Test animation options for specifying the target attribute/property.</text>
+    <g xml:space="preserve" font-family="Arial" font-size="14" stroke-width="3" transform="translate(0,50)">
+			<text x="20" y="164">0-3 sec. </text>
+			<line x1="80" y1="160" x2="200" y2="160" fill="none" stroke="green"/>
+			<text x="20" y="124">at 6 sec. </text>
+			<line x1="80" y1="120" x2="200" y2="120" fill="none" stroke="green"/>
+			<rect id="rect1" x="100" y="80" width="100" height="80" fill="#FFFF00" stroke="#FF00FF" stroke-width="4">
+				<animate attributeName="height" from="80" to="40" begin="3s" dur="3s" fill="freeze"/>
+			</rect>
+			<text x="240" y="164">0-6 sec. </text>
+			<line x1="305" y1="160" x2="425" y2="160" fill="none" stroke="green"/>
+			<text x="240" y="124">at 9 sec. </text>
+			<line x1="305" y1="120" x2="425" y2="120" fill="none" stroke="green"/>
+			<rect id="rect2" x="325" y="80" width="100" height="80" fill="#FFFF00" stroke="#FF00FF" stroke-width="4">
+				<animate attributeName="height" attributeType="XML" from="80" to="40" begin="6s" dur="3s" fill="freeze"/>
+			</rect>
+		</g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-26-t.svg b/Tests/W3CTestSuite/svg/animate-elem-26-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0365cbfc18ed61c8d763a1b875245c2b813b7488
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-26-t.svg
@@ -0,0 +1,85 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-26-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test animation options for specifying the target attribute/property.
+      </p>
+      <p>
+        On the left, a circle animates the stroke-width property without
+        specifying a value for 'attributeType'. On the right,
+        a circle animates the stroke-width property and does set 'attributeType' to 'CSS'.
+      </p>
+      <p>
+        For each circle, guides shows what
+        the stroke-width looks like initially and
+        what it looks like at the end of the animation.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>the left blue circle smoothly animates its stroke-width from time t=1 second to time t=5 seconds, so that the blue color fully fills the left donut shape</li>
+        <li>the right pink circle smoothly animates its stroke-width from time t=4 seconds to time t=7 seconds, so that the pink color fully fills the right donut shape</li>
+        <li>both of the stroke-width animations originate from the thin black circle in the middle of each donut shape</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-26-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="30">
+      <circle cx="120" cy="140" r="70" fill="none" stroke="#36e" stroke-width="1">
+        <animate attributeName="stroke-width" from="1" to="60" begin="1s" dur="4s" fill="freeze"/>
+      </circle>
+      <circle cx="120" cy="140" r="40" fill="none" stroke="black" stroke-width="1"/>
+      <circle cx="120" cy="140" r="70" fill="none" stroke="black" stroke-width="1"/>
+      <circle cx="120" cy="140" r="100" fill="none" stroke="black" stroke-width="1"/>
+      <text x="70" y="280">anim. 1</text>
+    </g>
+    <g font-size="30">
+      <circle cx="360" cy="140" r="70" fill="none" stroke="#e3a" stroke-width="1">
+        <animate attributeName="stroke-width" attributeType="CSS" from="1" to="60" begin="4s" dur="3s" fill="freeze"/>
+      </circle>
+      <circle cx="360" cy="140" r="40" fill="none" stroke="black" stroke-width="1"/>
+      <circle cx="360" cy="140" r="70" fill="none" stroke="black" stroke-width="1"/>
+      <circle cx="360" cy="140" r="100" fill="none" stroke="black" stroke-width="1"/>
+      <text x="310" y="280">anim. 2</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-27-t.svg b/Tests/W3CTestSuite/svg/animate-elem-27-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..939fbd7f1889369d2b6d4cbb7e637ac9751b58ce
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-27-t.svg
@@ -0,0 +1,93 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-27-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test animation options for specifying the target element.
+      </p>
+      <p>
+        The leftmost rectangle verifies the use of the 'xlink:href'
+        attribute to indicate the target element to be animated.
+        The rightmost rectangle verifies animating the parent of
+        the 'animate' element (in this case, a 'rect' element)
+        (i.e., the implicit parent of the 'animate' element).
+      </p>
+      <p>
+        At time 0, two rectangles filled with blue and stroked with
+        light blue appear, each with width=100 and height=160. Starting at
+        time 3 seconds and ending at time 6 seconds, the height of
+        the leftmost rectangle decreases from 160 to 40. Starting at
+        time 6 seconds and ending at time 9 seconds, the rightmost
+        rectangle decreases from 160 to 40. Annotations on the picture
+        show the correct positions at particular times.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>the left blue rectangle animates its height from 160 to 40,
+      starting at time 3 seconds and ending at 6 seconds, as indicated
+      by the green ruler lines.</li>
+        <li>the right blue rectangle animates its height from 160 to 40,
+      starting at time 6 seconds and ending at 9 seconds, as indicated
+      by the green ruler lines.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-27-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-family="Arial" font-size="16" text-anchor="middle" x="225" y="40">Test animation options for specifying the target element.</text>
+    <g xml:space="preserve" font-family="Arial" font-size="14" text-anchor="end" stroke-width="3">
+			<text x="80" y="244">0 to 3 sec. </text>
+			<line x1="80" y1="240" x2="200" y2="240" fill="none" stroke="green"/>
+			<text x="80" y="124">at 6 sec. </text>
+			<line x1="80" y1="120" x2="200" y2="120" fill="none" stroke="green"/>
+			<rect id="rect1" x="100" y="80" width="100" height="160" fill="blue" stroke="#36e" stroke-width="4"/>
+			<animate xlink:href="#rect1" attributeName="height" attributeType="XML" from="160" to="40" begin="3s" dur="3s" fill="freeze"/>
+			<text x="305" y="244">0 to 6 sec. </text>
+			<line x1="305" y1="240" x2="425" y2="240" fill="none" stroke="green"/>
+			<text x="305" y="124">at 9 sec. </text>
+			<line x1="305" y1="120" x2="425" y2="120" fill="none" stroke="green"/>
+			<rect id="rect2" x="325" y="80" width="100" height="160" fill="blue" stroke="#36e" stroke-width="4">
+				<animate attributeName="height" attributeType="XML" from="160" to="40" begin="6s" dur="3s" fill="freeze"/>
+			</rect>
+		</g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-28-t.svg b/Tests/W3CTestSuite/svg/animate-elem-28-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8d7ea85e5de3adb1474951d798a795d8c448cb6f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-28-t.svg
@@ -0,0 +1,63 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Benoit Bezaire" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-28-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Test inheritance of animated properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        A yellow happy face should be displayed. The stroke for the smile and
+        yellow circle are both animated, the stroke color fades from yellow to black.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-28-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g stroke="#F1E900" fill="#F1E900" stroke-width="5">
+      <circle cx="240" cy="180" r="150"/>
+      <!--circle cx="240" cy="180" r="150" stroke-opacity=".5"/-->
+      <g id="eyes" stroke="#000077">
+        <path d="M260 131c0,-15 12,-28 28,-28 15,0 27,13 27,28 0,15 -12,28 -27,28 -16,0 -28,-13 -28,-28z"/>
+        <path d="M165 131c0,-15 12,-28 28,-28 15,0 27,13 27,28 0,15 -12,28 -27,28 -16,0 -28,-13 -28,-28z"/>
+      </g>
+      <path d="M151 227c46,52 138,52 184,0"/>
+      <animate attributeName="stroke" attributeType="CSS" begin="0s" dur="4s" fill="freeze" from="#F1E900" to="#000000"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-29-b.svg b/Tests/W3CTestSuite/svg/animate-elem-29-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..265f4b6ecdd56425c314820a85738ad71f37847c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-29-b.svg
@@ -0,0 +1,98 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-29-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+        <p>
+        Test compositing of animated fill opacity.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        First click once on "fade in" and
+        then, once the animation has completed, click once on "fade out". 
+        </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The first time you
+        select the link 'fade in', you should see a green square appearing,
+        gradually and smoothly fading from zero to 100% opacity over the
+        course of three seconds. This square is in front of and thus
+        obscures the lower left circle, but is behind the upper right
+        circle which is thus composited on top of the animated green
+        square. Then, when you click on "fade out", the green square will
+        gradually disappear, smoothly fading from 100% to zero opacity
+        over the course of three seconds.
+        </p>
+        <p>
+        The rendered picture should match the reference image, (except
+        for possible variations in the labelling text (per CSS2 rules))
+        after activating the link on the fade-in button the first time
+        and waiting three seconds for the animation to complete. The picture
+        should remain looking the same way indefinitely, until another
+        link is activated.
+      </p>
+      	<!--
+        With a second click on "fade in", however, the behavior might
+        be different. In the case of having a first click on "fade in",
+        waiting three seconds, and then immediately perform a first click
+        on "fade out", waiting three seconds, and then immediately perform
+        a second click on "fade in", you should see the following. After
+        the first click on "fade in", the red square goes from zero to 100%
+        opacity. After the first click on "fade out", the red square goes
+        from 100% to zero opacity. After the second click on "fade in",
+        however, the red square goes from zero to 100% opacity, and then
+        goes back from 100% to zero opacity. This is because of the
+        hyperlinking rules as they relate to resolved start times in the
+        SMIL Animation specification.
+        -->
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-29-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <circle stroke="#666" stroke-width="30" fill="none" cx="100" cy="200" r="60"/>
+    <rect id="pink" x="20" y="20" width="180" height="180" fill="#080" fill-opacity="0">
+      <animate id="fadein" attributeName="fill-opacity" attributeType="auto" from="0" to="1" begin="indefinite" dur="3s" fill="freeze"/>
+      <animate id="fadeout" attributeName="fill-opacity" attributeType="auto" from="1" to="0" begin="indefinite" dur="3s" fill="freeze"/>
+    </rect>
+    <circle stroke="#666" stroke-width="20" fill="none" cx="200" cy="110" r="80"/>
+    <g id="buttons">
+      <a xlink:href="#fadein">
+        <rect x="320" y="0" width="160" height="180" fill="green"/>
+        <text fill="white" font-size="30" font-weight="bold" x="330" y="90">Fade in</text>
+      </a>
+      <a xlink:href="#fadeout">
+        <rect x="320" y="180" width="160" height="180" fill="maroon"/>
+        <text fill="white" font-size="30" font-weight="bold" x="330" y="280">Fade out</text>
+      </a>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-30-t.svg b/Tests/W3CTestSuite/svg/animate-elem-30-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d27f9a1d6dafdaff3ed4ee17f6616ca5bd1bf83b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-30-t.svg
@@ -0,0 +1,169 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH" author="OA" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-30-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        The purpose of this test is to test animated &lt;use&gt; where
+        the referenced &lt;defs&gt; also is animated.
+      </p>
+      <p>
+        The test shows 6 different elements, each element defined in a
+        &lt;defs&gt; and referenced with a &lt;use&gt;. All the elements are
+        animated between 0-3 seconds. The expected animation transform is
+        indicated with a gray silhouette showing the border values (0 and 3 seconds)
+        and an arrow indicating the movement in between.
+        For the two elements with a color animation, the colors goes from white to
+        blue (the same blue color used for all elements).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test.  No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if:</p>
+      <ul>
+        <li>Each animated element (the line, circle, three-segment polyline, image
+        and the two rectangles) is transformed with a continuous animation
+        over three seconds.  The size and shape of each element must start off
+        as shown by the silhouette at the start of the arrow, and must end
+        up as shown by the silhouette at the end of the arrow.</li>
+        <li>The fill of the two rectangles is animated over three seconds from
+        white to blue.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-30-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform=" translate(20 0) scale(1.3 1.3)">
+      <!-- SILHOUETTES-->
+      <path d="M210 40 C210 40 210 100 170 190" fill="none" stroke="#b4b4b4"/>
+      <path d="M 171 188 l 10 -10 l -10 -4 z" fill="#b4b4b4" stroke="none"/>
+      <polyline fill="none" stroke="#b4b4b4" stroke-width="2" points="200,20 200,40 220,40 220,60"/>
+      <polyline transform="rotate(15)" fill="none" stroke="#b4b4b4" stroke-width="9" points="200,120 200,140 220,140 220,160"/>
+
+      <line x1="40" y1="50" x2="20" y2="10" stroke="#b4b4b4" stroke-width="3"/>
+      <line x1="160" y1="50" x2="80" y2="10" stroke="#b4b4b4" stroke-width="3"/>
+      <line x1="30" y1="30" x2="120" y2="30" stroke="#b4b4b4"/>
+      <path d="M 120 30 l -10 3 l 0 -6 z" fill="#b4b4b4" stroke="none"/>
+
+      <line x1="70" y1="70" x2="145" y2="70" stroke="#b4b4b4"/>
+      <rect x="10" y="60" width="60" height="20" fill="#b4b4b4" stroke="#b4b4b4" stroke-width="2"/>
+      <rect x="145" y="60" width="30" height="40" fill="#b4b4b4" stroke="#b4b4b4" stroke-width="2"/>
+      <path d="M 145 70 l -10 3 l 0 -6 z" fill="#b4b4b4" stroke="none"/>
+
+      <circle cx="30" cy="100" r="10" fill="#b4b4b4" stroke="#b4b4b4"/>
+      <circle cx="100" cy="195" r="15" fill="#b4b4b4" stroke="#b4b4b4"/>
+      <line x1="37" y1="107" x2="89" y2="184" stroke="#b4b4b4"/>
+      <path d="M 90 185 l -3 -12 l -6 5 z" fill="#b4b4b4" stroke="none"/>
+
+      <rect x="300" y="10" width="20" height="20" fill="#b4b4b4" stroke="#b4b4b4" stroke-width="2"/>
+      <rect x="300" y="170" width="20" height="40" fill="#b4b4b4" stroke="#b4b4b4" stroke-width="2"/>
+      <line x1="310" y1="30" x2="310" y2="170" stroke="#b4b4b4"/>
+      <path d="M 310 170 l -3 -10 l 6 0 z" fill="#b4b4b4" stroke="none"/>
+
+      <rect x="230" y="7.5" width="40" height="7.5" fill="#b4b4b4" stroke="none"/>
+      <rect x="230" y="170" width="40" height="30" fill="#b4b4b4" stroke="none"/>
+      <line x1="250" y1="10" x2="250" y2="170" stroke="#b4b4b4"/>
+      <path d="M 250 170 l -3 -10 l 6 0 z" fill="#b4b4b4" stroke="none"/>
+      <!-- END OF SILHOUETTES-->
+
+      <!-- DEFS-->
+      <defs>
+        <line id="lineID" x1="30" y1="50" x2="10" y2="10" stroke="rgb(16, 93, 140)" stroke-width="3">
+          <animate attributeName="x1" from="30" to="90" begin="0" dur="3" fill="freeze"/>
+        </line>
+      </defs>
+
+      <defs>
+        <rect id="rectID" x="10" y="60" width="60" height="20" fill="blue" stroke="black" stroke-width="2">
+          <animateColor attributeName="fill" from="white" to="rgb(16, 93, 140)" begin="0" dur="3" fill="freeze"/>
+          <animate attributeName="height" from="20" to="40" begin="0" dur="3" fill="freeze"/>
+        </rect>
+      </defs>
+
+      <defs>
+        <circle id="circleID" cx="20" cy="100" r="10" fill="rgb(16, 93, 140)" stroke="black">
+          <animate attributeName="cy" from="100" to="130" begin="0" dur="3" fill="freeze"/>
+          <animateTransform attributeName="transform" type="scale" from="1" to="1.5" additive="sum" begin="0" dur="3" fill="freeze"/>
+        </circle>
+      </defs>
+
+      <defs>
+        <polyline id="polylineID" fill="none" stroke="rgb(16, 93, 140)" stroke-width="2" points="200,20 200,40 220,40 220,60">
+          <animateMotion path="M 0 0 l 0 100" begin="0" dur="3" fill="freeze"/>
+          <animate attributeName="stroke-width" from="2" to="9" begin="0" dur="3" fill="freeze"/>
+        </polyline>
+      </defs>
+
+      <defs>
+        <polygon id="polygonID" fill="green" stroke="black" points="240,20 240,40 260,40 260,20" stroke-width="2">
+          <animate attributeName="fill" from="white" to="rgb(16, 93, 140)" begin="0" dur="3" fill="freeze"/>
+        </polygon>
+      </defs>
+
+      <defs>
+        <image id="imageID" x="230" y="20" width="40" height="80" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/4RX+RXhpZgAASUkqAAgAAAAJAA8BAgAGAAAAegAAABABAgAXAAAAgAAAABIBAwABAAAAAQAAABoBBQABAAAAoAAAABsBBQABAAAAqAAAACgBAwABAAAAAgAAADIBAgAUAAAAsAAAABMCAwABAAAAAQAAAGmHBAABAAAAxAAAAGYFAABDYW5vbgBDYW5vbiBESUdJVEFMIElYVVMgMzAwAAAAAAAAAAAAALQAAAABAAAAtAAAAAEAAAAyMDAyOjAxOjE1IDA0OjQyOjU4ABsAmoIFAAEAAABWAwAAnYIFAAEAAABeAwAAAJAHAAQAAAAwMjEwA5ACABQAAAAOAgAABJACABQAAAAiAgAAAZEHAAQAAAABAgMAApEFAAEAAAA+AwAAAZIKAAEAAABGAwAAApIFAAEAAABOAwAABJIKAAEAAABmAwAABZIFAAEAAABuAwAABpIFAAEAAAB2AwAAB5IDAAEAAAAFAAAACZIDAAEAAAAAAAAACpIFAAEAAAB+AwAAfJIHAJoBAACGAwAAhpIHAAgBAAA2AgAAAKAHAAQAAAAwMTAwAaADAAEAAAABAAAAAqADAAEAAABABgAAA6ADAAEAAACwBAAABaAEAAEAAAAwBQAADqIFAAEAAAAgBQAAD6IFAAEAAAAoBQAAEKIDAAEAAAACAAAAF6IDAAEAAAACAAAAAKMHAAEAAAADAAAAAAAAADIwMDI6MDE6MTUgMDQ6NDI6NTgAMjAwMjowMToxNSAwNDo0Mjo1OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAPUAAAAgAAAA1QAAACAAAAABAAAAyAAAAGQAAAAKAAAAAAAAAAMAAACs3QIAAAABAP//AADoAwAAMAEAACAAAAAMAAEAAwAmAAAAHAQAAAIAAwAEAAAAaAQAAAMAAwAEAAAAcAQAAAQAAwAaAAAAeAQAAAAAAwAGAAAArAQAAAAAAwAEAAAAuAQAAAYAAgAgAAAAwAQAAAcAAgAYAAAA4AQAAAgABAABAAAAcVYQAAkAAgAgAAAA+AQAABAABAABAAAAAAAEAQ0AAwAEAAAAGAUAAAAAAABMAAIAAAADAAEAAAAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAwABAAEwAAD/////BgKtACAAdADVAP//AAAAAAAAAAAAAP//AABABkAGAgAwAdMAngAAAAAAAAAAADQAAACPAD8B1QD1AAAAAAAAAAEAAwAAAAAAAAAHMAAAAAAAAAAA//8AANUA+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAElNRzpESUdJVEFMIElYVVMgMzAwIEpQRUcAAAAAAAAARmlybXdhcmUgVmVyc2lvbiAxLjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAPQA9AD0AABqGADOAAAAgE8SAJsAAAAEAAEAAgAEAAAAUjk4AAIABwAEAAAAMDEwMAEQAwABAAAAQAYAAAIQAwABAAAAsAQAAAAAAAAGAAMBAwABAAAABgAAABoBBQABAAAAtAUAABsBBQABAAAAvAUAACgBAwABAAAAAgAAAAECBAABAAAA9AUAAAICBAABAAAA7g8AAAAAAAC0AAAAAQAAALQAAAABAAAA//////////////////////////////////////////////////9//////////////9j/2wCEAAkGBggGBQkIBwgKCQkLDRYPDQwMDRwTFRAWIR0jIiEcIB8kKTQsJCcxJx4fLT0tMTY3Ojo6Iio/RD44QjM3OTYBCQkJDAoMFAwMFA8KCgoPGhoKChoaTxoaGhoaT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT//AABEIAHgAoAMBIQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOxApcV7J5goUngDNIVweaBC80oYjvRYLseszAY60FjI3c1HLZ3L5r6DjG46jFRFjTVmJtoA5qW3j3vuIBAokuVNgnzOxpKVA5xUNyY3TB4Fc0b3Oh2sZbqAxx0pMV2pnG9xNtJincA20hWmBMBT1XJrJuxaLf7pU4wKqScuayp3vqaTtbQABjmnRJunQdiRVtuz8kQlsa0kUUg+ZFP4VVeyUNuiJB9DXn060oabx6o7Z0oy12l3I5pMDawwcVTIrupbX6PY46u9uq3ExT0kZBxWrV9DNOw4zue9MZi3U0lFIbm2NwKTFUIMUmKYgxSYoAmAFP2+9Z3NLCbaTbzRcmw9baR13KpIp8ETLcpuUjnvWcqsbNXXMk9DSNOV07aX3NInFNPTmvLO8iljWVcN19az2hZZNmMkniuzC1LXg9t0c2Ihe0lv1JZrGWEZIBX1FV8V1U6iqK6+aOacHB2fyYYorQkMUmKYgxSYoEGKTFAyYCnYrM0FCM33VJ+go8mQfwN+VS5xWjaTDlk9kzSRBHGq+gpoO6ZB6mvLk7tvuz0ErK3YlkIQVAz0hkZamhlWRXIztNCdtVuDV9zRDBlBGCCKz7uyO8NCuQeoHatqFTkld/C9zOrDnj5rYYunSn7xVfqaf/Zn/TTn/drpli4p6Lm89jnjhn1dvIo3TRWt5HbGQNNICwUdQB3NGK3pVPaR5tvIyqQ5HbfzDFJitDMMUYoAlxSgVmaGlAAkCjvjNKeTXlzd5N92ehFWSXZCHmoyQjBj2qGUMkn3GojJQA0yUKGf7ozQBbtd6x4fgZ4qxmhMGGcCsjxP4ktvDGiS39yQSPljjzy79hTEcN8P7y51mbUNd1KQGSZxGrHgDP8ACPyFdtivRw1vZ6dHqcNe/P6rQcIXPRGP4UxsLJ5bEB8Z298etbc8b2ur9jLkklezt3DFGKsRLQKzLNFJULiPeofGduecfSiR/wB4qD6mvIb/ADPSQuPWqt+3lxKfVgKT2AqmSk3E9KALUFkW+aTgelWtqhhGgx647Cj+kBI/3Pl7UwOCMijqBICGXNcj448Ax+MfLkN/NbyQqRGmA0fPcj+tMCPwz8PRpWnWcN/ePKYG83yovljL+p7nH4V1sjQWcLSyFIo0GWduAB9apSaVk7J7onlTd+q2Z5n4x+MKWxa08PKJW+610w4B/wBkd/rWr4Es7pdE/tDUpHlvb7EsjyHJ2/wj8j+tb4WN537IyxDtC3dnSYpMV6Jwkt8sktm6wSLFMynY5G7afpXkl3Y61qVyY7zVrkxkncN52kewBx+lediJuKWrSfQ76EVJvRO3Ut6zo0+p3Ed19rc3MUYRC3QADjGOhrofCGvz6bpPk61cyTXab9ryMWLDjA3f56VxKVzqcbGA/wAWdZtrly8CGLcdvm2xAx9Q2f0rc0P4lDxPKbae2t4XjXzN0UrENj/ZZRj86p/CQtzoZryKCJpZpFSNeSxPArk7z4iTC/UaMtkYUJ3SXT43n0AH86Fq7feGxq6Z8VbOWdLfVbY20zEKrwSCaMn8OR+VXbn4laFp9xLDJJcSzLkuIoSQvtk4FNiSuZU3xhtCT9i0i7nHrJIkf9TWx4Y8YxeIIpC8Is5g3+pMofH48UPa4Lsak3iTTbGyuJ7m6RI7Ztsp67T9PxqDTPG2ia7c/ZdMvBNMRu27COO55FF9ANHV9Zs9D097u+lEcSD8WPoBXhPjf4g6j4puWt4w9tYqflhBwW929aa19AMTw9aW93rlnDqEghtjMDIzdMelfREQR4lMJUxkfKV6Y9q7sK1Z9zkxKd12HbKPLrsucyRxsuuXeq25SOUKu8gPESpOPftWMblrWcLJueI/dmHI/E/1rw61R1Ja9NkevSgoR069TQVy6EoVbjiqsy3ZiO+GFXGNoEpIP47axNSgEvPNEF2trI0udqtKRkAc8bKbaaVGkpntbK383JV2W4ZcH0+7zVXttdE2vvZly4tLq8h8q5t4pIyeVN45H/oFVR4cjwB/Zdpjtm6f/wCJpKVurHy+SLFto2m7leK3iEqHBKMTtYe9OGmafcM8hgjkdnIdjzn1pOTGoortoMIkbytNsiueCzkE/wDjpp8FobWbZb2llE57JMQf/QafN5sXL5IfPo8l4jR3SoiH5iEkLZYdCQRin2tzc6FeR3S+XIkYwX+6Rn17VUZW03RMoX12Zj+JdQufEOprcXOr26LH/q4lOQtZc2keYd0uqQMQOpQZquZ9mRZdyGDRx5+WvbfAPH3Rmuy0XXLzw/A/2cG7gJ4QPuVfy71pTquDvYmcFNWbNmx+JFoqyfb4pyxclfLjXCr2H3ucetaVt4+0W4OPOkiP/TRMfrXbHFQe90zklhpLazRyMNxZ21v5K288aHPApIb3TbW0S2iSZUUbQCCePQ15soy6pps7ozj0asgtLnTbIsIXmVDzsIOF+lWDqliwO6duTkEjpUtd0ylLzRQ1KPS9TMZkvZImiyFaNtp5x/hViyfT9Ph8q3uiUzn5jk/nQ2rWBb3Lkd/bYybhT7U4X9sDj7SnHvU6FXZS8i3NvPHHqAjMzM+4EAqSe1Q6fNp+kWotZNTEzK2Q0jYNVvsTe2uyJW16yQEC+gbHvTtN8S6PaXsk1xHFdyOVKlwMIADkA571SjZ9/IHJNb2H3niawu7xpYpEgjzxGqggD65rOnbTjayQx3yqkyjOV3EHGOxH5UW12Fdd9jMtvDmhxXsdw140qoM+U0eVc+/tTNV8PWd/J5kV4kSseALfvgZ6DNac2mxHKu5WPgm23AW+qOwZQDut2Xn04zxnFT2ng9LEiSLWbm3nGdzRWz4Ht2zS5vIfL5mja2chB+33kF1nAz5Tow/HFOm0mFoSI7xAwPyoyEjHfnH9PWpv6jS80dK8cJGdwz9aiFvHnOBXqSVzzouwvkJnBVc/SnizQ/8ALMflXPKKNVJgbCIjmMflUf2C3brEpH+7kVm4ItSGtpdqRzBHj12CoG0mzbAMMeO3FR7MrmFGkWfCmEfhUM3hyykk3FXBPo5oVJBzsrt4QsHck+aPo/8A9aoz4K08E/vJP0P9Kr2fYnnI5PBViQQJZF/Af4VA3gi1B4nbp/cWj2TH7Qhk8GQAACZuneMCq0vhDYMpMufdf/r1SovuJ1UVz4WlLcNH9cH/ABqQeDLhjlZIPx3CmsPJ9SXWS6Cnwhfx/ceL8JmH9KP+Ea1ZD8s34i5Yf0p/Vp+TBYiPmd35eOgIoAJHBH511M50O29C4U47mnhQykBiT6BqxZqhwJTG4N9OtSrtY98+/Ws5eRcfMCgJzj2yKjaMZ64x6VCZTQ5VULyfxNIGRgR5gb2NUri0HeUj5GUcdhjpQzIBhlyvrkD+tUtfInReY37RbO2zcPTOajaKFXz5hI+uaaUkDcWRzRIVzge2BVaXYCBzitY/kZSsvmQmNQc5qSEAg7cH29K0iRIcSGGGcj2yKcANuA/Hck5NWQSzzKR8u/B6hRinIwAA+bH8qybNUSD/AH2A9MnFPDYXA5H51k0aIRkDMA0av6e1SCFduCij6VnJtFJJiGCI9ET64puVU4wc+oBqE2y7JApTdtXeD64OKcx6DJB9s1RIi5ZuCAMdQc0hWRELABiO3JNVdE2ZD+9UBinPcBj/AIUiXEj5DAoMd8mrsmTdr5jHBA+VcH1AzUTKyj69+laRsQ7kZXPynDe2KdHDGP8Alnj8K0RmxzBAOij0HSnxIsikMiqPUNVCHS28RxvJJ+tMEaRP8oOPUtmsWaIsIePf2pySgdT9NwrFo1TFNxs5YoR2waYssLO3mJHk9e+aVn0uO662BhCWyhUevz8flTiM/wCrOf8AgVRfv99i15fdcbmVcMUZiB0UgioJL64QkfZZAPUNVxSe1iJSa6MbHfSsQVtnXuS3FTfanYjfGoxxgfMavl8yObyHl02kLGcn/pkaYJJBn5MA+vGaSXdjv2RCbmYEqVXPs1NeUsvJXPrWkUlsQ5N76EQjycb2+meKsIDj1x6CtIoiV+o/eQvfHuKA/wAvYfhVkjC0gHVQfXFRkXDYO9GI6DFYNmthn+mZz8uP9lQamjmuVA/csffgVDsylddCdLhgp3oE79aie5lxhFWQexJqeW3Urm8vkVvt8gfbIoA/3CDVhJVxlCg+oNJx82ClforoZNdXce0pFGy/3gc5pq307H96kZB7KDQoIHN9kSf2gVOFXr2KkU7+1sAB1z9Oark8xe0EXU4n6RsD9KSd4WQFhz24zTUXHzE5KXkQOY9uMNjsNtIEj2/xfTbjNap+RnZdxu1edq7f6frT0hdlyJG/4C55ql9xLEMjxcBps/gc09LknO/cfZkH+NNaAOUTyjLsY19AaUzJHncWPrmsWro1TsC38J6tge4NONxBMAFc59FJrFprbU1Ti9HoD2sLJhmbHo3SmJZwA5Bj46dqqM7kygiVJkiB+YnPbPFMa9jfcFwSPek43dxqSSsNa7mUbvLVB7tSHUHWLcYmHtkHNCh5sXP5EB1p0TAtHx6g4/lU0OqQyLlrd93q4z+tVZ9G0LnXVCyXdw5/cBMf7uaga+uQwLxIT6gYqlHzZLl5KwNcs7ZljOT6UmYznkp+JFaIhjMRqM+ac/72aljDsR+/z9GqkTYk8uRTnex+rVIszIMfOSfamB//2apR82S5eSsDXLO2ZYzk+lJmM//Y/+0O2lBob3Rvc2hvcCAzLjAAOEJJTQPtClJlc29sdXRpb24AAAAAEABIAAAAAQACAEgAAAABAAI4QklNBA0YRlggR2xvYmFsIExpZ2h0aW5nIEFuZ2xlAAAAAAQAAAAeOEJJTQQZEkZYIEdsb2JhbCBBbHRpdHVkZQAAAAAEAAAAHjhCSU0D8wtQcmludCBGbGFncwAAAAkAAAAAAAAAAAEAOEJJTQQKDkNvcHlyaWdodCBGbGFnAAAAAAEAADhCSU0nEBRKYXBhbmVzZSBQcmludCBGbGFncwAAAAAKAAEAAAAAAAAAAjhCSU0D9RdDb2xvciBIYWxmdG9uZSBTZXR0aW5ncwAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gXQ29sb3IgVHJhbnNmZXIgU2V0dGluZ3MAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAZHdWlkZXMAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4NVVJMIG92ZXJyaWRlcwAAAAQAAAAAOEJJTQQaBlNsaWNlcwAAAAB3AAAABgAAAAAAAAAAAAAAWgAAAHgAAAALAG8AcABlAHIAYQBfAGgAbwB1AHMAZQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAeAAAAFoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOEJJTQQREUlDQyBVbnRhZ2dlZCBGbGFnAAAAAQEAOEJJTQQUF0xheWVyIElEIEdlbmVyYXRvciBCYXNlAAAABAAAAAE4QklNBAwVTmV3IFdpbmRvd3MgVGh1bWJuYWlsAAALLwAAAAEAAABwAAAAVAAAAVAAAG5AAAALEwAYAAH/2P/gABBKRklGAAECAQBIAEgAAP/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAFQAcAMBIgACEQEDEQH/3QAEAAf/xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AOmAU2VPf9ETHJSDURr7GCG6BaJJ6NMeKJzdpjwTahTMkkn5pnTGunx0SvZHdKKcoMDw0lrhIjXRRrrdZu1gjkHlX2yK2DwaPyKFjQ/nQ/vDlVvvGpsDzDY9nQUT5FoPBa6FGXcSiW1uY4h2s8HxTPrex217S13gdFZiYkDY2wGwTvo2an1VMiQh5F1VjdsSeyBCUICAu7KuM1VMITQiEJoT7WMNqbapwlCNqf/Q6sBTZW95hgkjUplZxPovI5JA+5Xck+GJLVhHikAiZjWCxu8DbMnVWbX+09/xTmAQO5/ImcNCfAKpPIZ1daNiEBG66snlrWD4D8iC53igesXAGeQITbydBr5JlrkhcJDiNxaQ4D4K48V31gO9zHag9xPcKqzGfAdZpOjWjklHawVAMBkfx5KVnTwVQa4wXk+54A7dynODW1pc63Y1oLnvdDWtaBue97ifaxjfpK0NeFx3+Md/1it6fX03peHc/DySPtmXUN8ydteJtq3W11bvfc9zP0v80pffyfvfgFnsw7Ovi5VGZQ3KxiXY9hd6NhEb2NcWNu2/mtt272fyEWFHpODlMxG0WUfZKMcMpxhbHqvrYxodfbSwv9H1Ld/p1P8A0npfzv6RR631PovQMcX9UyjW5wmrHrAddZH+ipn/AMEs2VKwM8BEXLWtdGA4ZWaGl90kJQhYN1uVh05N1P2Z17fUFBO5zGO91LbXQz9N6Wx9vt9n82jwpQbAPdjqi//R6D6xX9Qx+n+r0p9NWRuaHeqN52nT9CyW/pGrnas3602YRZZ1U15DrRcLamBpDWtLPs3t/wAE/wDnLPalaMzJqpdl0323k7R7txpDnH9J6jj9Gpuz6KakZlVjab632jtkMaQyR+bcyT6Lv/An/mJZcspHSxFOPGIjWiXSwfrP1LG6Re/qbftnWatwoZWw7Lmy30f5oNbvb+k9T+bVKr/GcW2DG6p0v7K+0hm8Pe0N3e3dtsbY13P76Fdhm1hrc/IIJgu0a4T+axzam+z+V/4IqdJtN/2V1GW2qpz2G+xrHVbBP2d9T3U/ztm36DvoKMSOui4xHd62/qfT8PGORk5NdWPUIdYXAzHthjQdz3Pj2LGx/wDGNg02usdjUuxjGwjIAytv77qXsON7/wDRttVduIwmRZYSNTLav/edK2Mf03tNl++xtRa4MhrX+19x9Khrv0aQl4JMPF23/wCMD6tsZRkOdkuGRW6yqsVDeGjcLH2TZsb/ADbm/SVGz/Gf0h5Apw7yyRNll1LC3X6fpNdY93/FrPx8pt2TkUV1PaKNgNjmQHEn3Gt30XMYpWFja33C+6QC8MYWdtdjG+kXJcfgrg8Xrx1/o7Ayx+ZWGW1WXNM/mVAWW7o+g/Z9Gt300uk/WPpfV7jX019zrGNFjvUpfUdjtGmsv/nNzv3Fy13S3041Vue4ltx/mTZVc2RB22Nqr/N3LPtycnp4fZgMymWAij7NW4hz2Wbv0mM/32VtRBO1I4eoL0H1w+u/7GZZhdJr+09Qb7brtu6nGJ/NsI9luV/wX0Kv8KvOul+n1P6wY9vX8hxquuD8vJvl5cGje2l+jttdzw2r9yqtWG4+O3Edl2dKvrq3loabbd5MbnvcyPo7js9T8+z/AItV2ZWDW8XO6blBp9zQXOLYafcR6gc16cCQQaWEWKt9iIL/AHghweNwc2C0g67mub7dqbYV5vifWTIxqaqsa+7Bqa8PrxcmpzWF8+r7bqf55tn+Eru9Nlq1/wDnn1+gzk4+PY0Qfax7ZB/PZayx9StDmY9QQ1zy8uhBf//SC/pmKPoOIJ7Ne7+9MOnVNH85aB4ixytuDWHbMHwCeAAZPPYj+KsSxw/dH2NeM5dz9rXHTTGl14/tlI4FjSP1rI8hvn8FbDARMRroSf4Byk3cCQWkjsY5CiOOPYMgnLuWj9iuDdMy6PEkEf8AUqIx8sGRnWgdx7T/AN9WkS3ktOneFGAHTB1TeCPZdxy7uZkYXUrdhZ1S1gHGgjy42qpZ0jrTy6OruI7BzT+UPW+Tydp2nvIj/NTzXzHuHiATHyThCKDOXd5odE6wyNnUmeGrXAfDlMenfWMBv+UK3bRDY3cf5hXSOuLCP0YduMl2g/6MlRc2ppLgzbPYnUf2DuR9sI9yXd5l+P8AWVp3DMa4wRydPL3M9qGLPrQ1wAu3RwHODm/9L81dHZsk7WwSBogOaOQ2T3AMpwwx8VpzScYH63kfzm4Dgeo0/wDVOSFv1tYI2jaeRLII/lAXLcZu2CA4eIOhUgNCdr4/OiSnfd4eP4f96t+8T8H/05PZkB28OboPzi7/AL6p1OJEz8Cf9qC4vBEPY13jAJj71HZlfmPZH9Uz+VWZFrC240tPmR2EGfkkHMaQBo4nUOEx+IVXfcwAWmrXncQD9wCT8qn6IDNwGo2kg/cmEWuum4TYCI2OB8AZ/wCqc1DLniR7te7SQNP5YZ7VUD73O2iljmd/T0Mf5zXf9FGDrhpWAHRoHgx83Nc5NqlwNsn5uMyA+yHd9Hc+b9j0qs3FfoHbxoZa0kT/AJqGLuonSxrXDuGz/wBUXKX2jJA1phvYOg/IJwH8rWkn+QZzjuJdIYXcgkA6eA9Ru1QYamglu93jALv836X/AFSTb8h3/aQx5QP+qTWixxaHVWb+4B0H4ohHl+SxdU7hrpI5cDz/AGoQvdOjRH3H7lElu73bh81DfXJDXAHydJ/KpAsJbQIiCSPiRP4p2BocXAy7xMfwQCS0Ai+Y/N3NEfDcFJj73HVu8eHt/wC+7U+1r//UGz0tvs/nO+6N0/20x+3bvZt2x7d0fjuXl6SsS2aw3/g+qV/bJHq7Nvlz89ym7kT6cfPn+wvKElGN/wDvWQ7f98+rH7Rr6e3nSP8AzJB/WIHr7v8Arcx5bvzti8vSTvs/7pb9v7H039N6b9vq+XO3+xv/ADkAftLc3Z9q/wCjt+Xqe1ecpIlH2vp1vrbB9t3bZ1mN3/R/QquPT3D0/V2eUxH/AFK85STo/RbL6/V9Lb638rbP50Qmd6kGfS51mV5qknrX0+v0tv5v9nd/FPp+bO3vG3/0Z7l5ekih/9kAOEJJTQQhGlZlcnNpb24gY29tcGF0aWJpbGl0eSBpbmZvAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAANgAuADAAAAABADhCSU0EBgxKUEVHIFF1YWxpdHkAAAAAB//+AAAAAQEA/+4ADkFkb2JlAGSAAAAAAf/bAIQAFBERGhIaKRgYKTMnICczJxwcHBwnIhcXFxcXIhEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEVGhohHSEiGBgiFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAWgB4AwEiAAIRAQMRAf/dAAQACP/EARsAAAMBAQEBAQEBAQEAAAAAAAEAAgMEBQYHCAkKCwEBAQEBAQEBAQEBAQEAAAAAAAECAwQFBgcICQoLEAACAgEDAgMEBwYDAwYCATUBAAIRAyESMQRBUSITYXEygZGxQqEF0cEU8FIjcjNi4YLxQzSSorIV0lMkc8JjBoOT4vKjRFRkJTVFFiZ0NlVls4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9hEAAgIABQEGBgEDAQMFAwYvAAERAiEDMUESUWFxgZEiEzLwobEEwdHh8UJSI2JyFJIzgkMkorI0U0Rjc8LSg5OjVOLyBRUlBhYmNWRFVTZ0ZbOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hv/aAAwDAQACEQMRAD8A9dIiTwoDYJi+o85BjSGibVoDGMjqFN3RdsOgbIvl5O8M6Kso5pRIYt2yRPycqd1cow8CoanV33gPMrWpCcFZCJcOdNIaiApFNUtNITSppUD/0PaSrpiGtvpbhScEpcGdF32gCmigvG1pOqrAwAAQSyZVoxucGiyWsVAEON3w6RgQbUgGTF3j9DIwyL0WrtXaRjijlnD04mUiAByw+L1f4kOt6uOCEqwYzuyS+zOWP/31ifcx/wA2InEGiLelbTqZtWNCVay7cETPJIRiO8izCQnESHBFu009DDTQqmlaQ//R9bqs8elh6kgSP8IeDH+MmUZShilYraJfbXP1ks8KiAI9/wDE82OYlpwfB1a+yJWu7PV6L8Tj1tjaYGHxCTcfxXpJGvUA/qEovjysWQDfjfxPBLpISu47SNfJJ5ybg+p9SMyZRIMTwQ55epxYK9WQjfD5GCWXBAQjZA/i2f8AbcJdNOUjMynuPe4KRB9Thy4px3YpCQ8Ync2ckMY88gP6jtfk49NGN5BM2QYk2xL8Ph2s1/T/AO/VIg+rx9RjykjHKMq/gludgbflMEJdLLdCwT7YNZo5swAlI7QTLbu/i/8AKmFSIPo/2TD6nqbI7/4trxfif4xi/Dxt+LKeIfw/+PfNH4hk6bp/Rx0JjieSXwx/9+PiT6eWQ7pGJJ5lu+JskOnpZZvxjqonMbjHzyj9iMY/7v8A8yP1z8b0ccvTz3wkIn2S+J9+P4vGNDLEg/bl/wDAnrSyRztVs9OleWH4n009BOv6gVevJdTnxZ//0sSCAImAoeBWRMzZhqOPM9BJPKu3RGFdmXqS7wP0uOSEMkt08crHte0Jq3PE1yOYZa+zJP7QB9mX0PTtZMXPEvI4JjHKO0idXu0QevgNdsg+iIrsbxHI82H4nCE9+3cRp5wjJ+JY8hJmDR+yH0vT91olgHgD8m8ScjxcuTps/wAYkaG0fv6TOWXTZQBUogaAD/40+ueniR8I+hyl00DzEfQ3iycjyPR6Q95gfv8A+UnaEsGPSE5iP8JO+P8A7rez9kx3rEN/smH+FvBk5o5Tl6aX2iFen9ixfw/eVXtsvNH/06J1oNA+DBjE9liaezOKNBomrLIl4JJLk0VXtQdGdDoQgHwclLGq34MkS7EfNz/mX2+9pDY252Y66tDepvwpoBd6uZtJmfH7mTO3SMsFW1TAIDYmPEOkZDEX3VIKtB//1J0lwLX04ns19l55c93qzkb+mBxakyHA+lxj/qeg/P5MGBnsMvY3t2jU2svm49+6YRcowJ5+9aA03UiXbhwyc9vmgdIG74ZLu2nWX3PHj57fJ6u3b/V8TQEzB+0iz73Lx4SP3pqMlX4hom+AQx37uw4/N0QmMfaqnnsqB//Z">
+          <animate attributeName="y" from="5" to="145" begin="0" dur="3" fill="freeze"/>
+        </image>
+      </defs>
+      <!-- END OF DEFS-->
+
+      <!-- ACTUAL TEST CONTENT-->
+      <use xlink:href="#lineID">
+        <animate attributeName="x" from="10" to="70" begin="0" dur="3" fill="freeze"/>
+      </use>
+
+      <use xlink:href="#rectID">
+        <animateTransform attributeName="transform" type="translate" from="0 0" to="140 0" begin="0" dur="3" fill="freeze"/>
+        <animateTransform attributeName="transform" type="scale" from="1 1" to="0.5 1" begin="0" dur="3" additive="sum" fill="freeze"/>
+      </use>
+
+      <use xlink:href="#circleID">
+        <animate attributeName="x" from="10" to="70" begin="0" dur="3" fill="freeze"/>
+      </use>
+
+      <use xlink:href="#polylineID">
+        <animateTransform attributeName="transform" type="rotate" from="0" to="15" additive="sum" begin="0" dur="3" fill="freeze"/>
+      </use>
+
+      <use x="60" y="-10" xlink:href="#polygonID">
+        <animateMotion path="M 0 0 l 0 150" begin="0" dur="3" fill="freeze"/>
+        <animateTransform attributeName="transform" type="scale" from="1 1" to="1 2" begin="0" dur="3" additive="sum" fill="freeze"/>
+      </use>
+
+      <use xlink:href="#imageID">
+        <animateTransform attributeName="transform" type="scale" from="1 .25" to="1 1" begin="0" dur="3" additive="sum" fill="freeze"/>
+      </use>
+      <!-- END OF ACTUAL TEST CONTENT-->
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-31-t.svg b/Tests/W3CTestSuite/svg/animate-elem-31-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..60ff894665fa139065bcd97f65bc83ea1b6c7758
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-31-t.svg
@@ -0,0 +1,139 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH" author="OA" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-31-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        The purpose of this test is to test animation of the display attribute.
+      </p>
+      <p>
+        The test shows two gray rectangles which are filled with colored circles during the length of the animation (8 sec). 
+        The circles in the top rectangle are displayed/hidden by animating the display attribute.
+        The circles in the bottom rectangle are serving as the reference and are displayed/hidden by animating the visibility attribute. 
+        A correct implementation should display/hide circles with the same color from the top and bottom rectangle at the same time.
+      </p>
+      <p>
+        In total there are 6 different circles (purple, green, dodgerblue, blue, yellow, cyan) in 5 positions (blue and yellow share position) that should be displayed during the test.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>While the test is running (which takes approximately 8 seconds),
+      the text "Test running" is shown.  The test passes if:</p>
+      <ul>
+        <li>While the test is running, the colored circles are variously shown and hidden.</li>
+        <li>A colored circle is shown in the top rectangle if and only if
+        the corresponding colored circle is shown in the bottom rectangle.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-31-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- GRAY TESTAREAS-->
+    <rect x="5" y="7.5" width="375" height="75" fill="silver" stroke="black" stroke-width="3"/>
+    <rect x="5" y="112.5" width="375" height="75" fill="silver" stroke="black" stroke-width="3"/>
+    <g transform="scale(1.5)" display="inline">
+
+      <!-- PURPLE CIRCLES-->
+      <circle display="inline" cx="30" cy="30" r="20" fill="purple" stroke="black" stroke-width="5"/>
+      <circle display="inline" cx="30" cy="100" r="20" fill="purple" stroke="black" stroke-width="5">
+        <animate attributeName="visibility" from="visible" to="hidden" begin="6" dur="2"/>
+      </circle>
+
+      <!-- GREEN CIRCLES-->
+      <g display="none">
+        <circle display="inline" cx="80" cy="30" r="20" fill="green" stroke="black" stroke-width="5"/>
+        <animate attributeName="display" from="none" to="inline" begin="0" dur="3" fill="freeze"/>
+      </g>
+      <circle visibility="hidden" cx="80" cy="100" r="20" fill="green" stroke="black" stroke-width="5">
+        <animate attributeName="visibility" from="hidden" to="visible" begin="0" dur="3" fill="freeze"/>
+      </circle>
+
+      <!-- DODGERBLUE CIRCLES-->
+      <circle display="none" cx="130" cy="30" r="20" fill="dodgerblue" stroke="black" stroke-width="5">
+        <set attributeName="display" to="inline" begin="2" dur="1" fill="freeze"/>
+      </circle>
+      <circle visibility="hidden" cx="130" cy="100" r="20" fill="dodgerblue" stroke="black" stroke-width="5">
+        <animate attributeName="visibility" from="hidden" to="visible" begin="1" dur="2" fill="freeze"/>
+      </circle>
+
+      <!-- BLUE CIRCLES-->
+      <g display="none">
+        <g display="inherit">
+          <circle display="inline" cx="180" cy="30" r="20" fill="blue" stroke="black" stroke-width="5"/>
+        </g>
+        <animate attributeName="display" from="inline" to="none" begin="3" dur="3" fill="freeze"/>
+      </g>
+      <circle visibility="hidden" cx="180" cy="100" r="20" fill="blue" stroke="black" stroke-width="5">
+        <animate attributeName="visibility" from="visible" to="hidden" begin="3" dur="3" fill="freeze"/>
+      </circle>
+
+      <!-- YELLOW CIRCLES-->
+      <g display="none">
+        <g display="inherit">
+          <circle display="inline" cx="180" cy="30" r="20" fill="yellow" stroke="black" stroke-width="5"/>
+        </g>
+        <animate attributeName="display" from="none" to="inherit" begin="4" dur="3" fill="freeze"/>
+      </g>
+      <circle visibility="hidden" cx="180" cy="100" r="20" fill="yellow" stroke="black" stroke-width="5">
+        <animate attributeName="visibility" from="hidden" to="visible" begin="4" dur="3" fill="freeze"/>
+      </circle>
+
+      <!-- CYAN CIRCLES-->
+      <g display="none">
+        <circle cx="230" cy="30" r="20" fill="#00ffff" stroke="black" stroke-width="5">
+          <animate attributeName="display" begin="0" dur="0.5" keyTimes="0; 0.5; 1" values="inherit; none; inherit" repeatCount="8"/>
+        </circle>
+        <animate attributeName="display" begin="0" dur="2" keyTimes="0; 0.5; 1" values="inline; none; inline" repeatCount="2" fill="freeze"/>
+      </g>
+      <g visibility="hidden">
+        <circle cx="230" cy="100" r="20" fill="#00ffff" stroke="black" stroke-width="5">
+          <animate attributeName="visibility" begin="0" dur="0.5" keyTimes="0; 0.5; 1" values="inherit; hidden; inherit" repeatCount="8"/>
+        </circle>
+        <animate attributeName="visibility" begin="0" dur="2" keyTimes="0; 0.5; 1" values="visible; hidden; visible" repeatCount="2" fill="freeze"/>
+      </g>
+      <animate attributeName="display" from="inherit" to="none" begin="6" dur="2"/>
+    </g>
+
+    <text x="385" y="40" font-size="16">display</text>
+    <text x="385" y="150" font-size="18">visibility</text>
+    <text x="5" y="235" font-size="28">Test of display attribute animation.</text>
+    <text x="5" y="265" font-size="18">Circles with same color should be visible at same time.</text>
+
+    <text x="310" y="335" display="none" fill="red">Test running...
+      <set attributeName="display" to="inline" begin="0" dur="8.5"/>
+    </text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-32-t.svg b/Tests/W3CTestSuite/svg/animate-elem-32-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..595c72dda4edf0b9e79c95b76094bdd9d6a1b0ba
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-32-t.svg
@@ -0,0 +1,146 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="SH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-32-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Tests the animation to and from the degenerate cases of the basic shapes.
+        The shapes are drawn within the black rectangles.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if within each of the 11 rectangles an animated shape
+      is shown over the first six seconds and that after the six seconds, at the
+      end of the animation, each of these rectangles is empty.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-32-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Draw the boxes to contain the shapes and the text labels for the boxes -->
+    <!-- ====================================================================== -->
+    <g fill="black" stroke="none" font-family="Arial" font-size="8">
+      <text x="5" y="90">Stroked</text>
+      <text x="5" y="195">Unstroked</text>
+      <text x="50" y="135">Zero width rect</text>
+      <text x="130" y="135">Zero height rect</text>
+      <text x="210" y="135">Zero radius circle</text>
+      <text x="315" y="135">Zero x radius ellipse</text>
+      <text x="394" y="135">Zero y radius ellipse</text>
+      <text x="210" y="290">Zero length line</text>
+    </g>
+
+    <g fill="none" stroke="#000000">
+      <!-- rects -->
+      <rect x="50" y="50" width="35" height="60"/>
+      <rect x="50" y="155" width="35" height="60"/>
+      <rect x="130" y="50" width="35" height="60"/>
+      <rect x="130" y="155" width="35" height="60"/>
+
+      <!-- circles -->
+      <rect x="210" y="50" width="60" height="60"/>
+      <rect x="210" y="155" width="60" height="60"/>
+
+      <!-- ellipses -->
+      <rect x="315" y="50" width="35" height="60"/>
+      <rect x="315" y="155" width="35" height="60"/>
+      <rect x="394" y="50" width="35" height="60"/>
+      <rect x="394" y="155" width="35" height="60"/>
+
+      <!-- line -->
+      <rect x="210" y="260" width="60" height="10"/>
+    </g>
+
+    <!-- ====================================================================== -->
+    <!-- Draw 4 rectangles, two with zero width, two with zero height           -->
+    <!-- (stroked and unstroked)                                                -->
+    <!-- ====================================================================== -->
+    <rect id="Zero-width-stroked-rect" fill="#00FF00" stroke="#000000" x="55" y="55" height="50" width="0">
+      <animate attributeName="width" from="0" to="25" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="width" from="25" to="0" begin="3" dur="3" fill="freeze"/>
+    </rect>
+    <rect id="Zero-height-stroked-rect" fill="#00FF00" stroke="#000000" x="135" y="55" width="25" height="0">
+      <animate attributeName="height" from="0" to="50" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="height" from="50" to="0" begin="3" dur="3" fill="freeze"/>
+    </rect>
+    <rect id="Zero-width-unstroked-rect" fill="#FF8000" stroke="none" x="55" y="160" height="50" width="0">
+      <animate attributeName="width" from="0" to="25" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="width" from="25" to="0" begin="3" dur="3" fill="freeze"/>
+    </rect>
+    <rect id="Zero-height-unstroked-rect" fill="#FF8000" stroke="none" x="135" y="160" width="25" height="0">
+      <animate attributeName="height" from="0" to="50" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="height" from="50" to="0" begin="3" dur="3" fill="freeze"/>
+    </rect>
+    <!-- ====================================================================== -->
+    <!-- Draw two zero radius circles (stroked and unstroked)                   -->
+    <!-- ====================================================================== -->
+    <circle id="Zero-radius-stroked-circle" fill="#00FF00" stroke="#000000" cx="240" cy="80" r="0">
+      <animate attributeName="r" from="0" to="25" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="r" from="25" to="0" begin="3" dur="3" fill="freeze"/>
+    </circle>
+    <circle id="Zero-radius-unstroked-circle" fill="#FF8000" stroke="none" cx="240" cy="185" r="0">
+      <animate attributeName="r" from="0" to="25" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="r" from="25" to="0" begin="3" dur="3" fill="freeze"/>
+    </circle>
+    <!-- ====================================================================== -->
+    <!-- Draw 4 ellipses, two with a zero x radius, two with a zero y radius    -->
+    <!-- (stroked and unstroked)                                                -->
+    <!-- ====================================================================== -->
+    <ellipse id="Zero-x-radius-stroked-ellipse" fill="#00FF00" stroke="#0000FF" cx="332" cy="80" rx="0" ry="25">
+      <animate attributeName="rx" from="0" to="12" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="rx" from="12" to="0" begin="3" dur="3" fill="freeze"/>
+    </ellipse>
+    <ellipse id="Zero-x-radius-unstroked-ellipse" fill="#FF8000" stroke="none" cx="332" cy="185" rx="0" ry="25">
+      <animate attributeName="rx" from="0" to="12" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="rx" from="12" to="0" begin="3" dur="3" fill="freeze"/>
+    </ellipse>
+    <ellipse id="Zero-y-radius-stroked-ellipse" fill="#00FF00" stroke="#0000FF" cx="411" cy="80" rx="12" ry="0">
+      <animate attributeName="ry" from="0" to="25" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="ry" from="25" to="0" begin="3" dur="3" fill="freeze"/>
+    </ellipse>
+    <ellipse id="Zero-y-radius-unstroked-ellipse" fill="#FF8000" stroke="none" cx="411" cy="185" rx="12" ry="0">
+      <animate attributeName="ry" from="0" to="25" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="ry" from="25" to="0" begin="3" dur="3" fill="freeze"/>
+    </ellipse>
+    <!-- ====================================================================== -->
+    <!-- Draw a zero-length line                                                -->
+    <!-- ====================================================================== -->
+    <line id="Zero-length-line" stroke="#0000FF" x1="240" y1="265" x2="240" y2="265">
+      <animate attributeName="x1" from="240" to="215" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="x2" from="240" to="265" begin="0" dur="3" fill="freeze"/>
+      <animate attributeName="x1" from="215" to="240" begin="3" dur="3" fill="freeze"/>
+      <animate attributeName="x2" from="265" to="240" begin="3" dur="3" fill="freeze"/>
+    </line>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-33-t.svg b/Tests/W3CTestSuite/svg/animate-elem-33-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4b50ae3d5649c9a4b7e2c199704be16a5aa869a7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-33-t.svg
@@ -0,0 +1,149 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH" author="OA" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-33-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        The purpose of this test is to test animateMotion with keyPoints and keyTimes.
+      </p>
+      <p>
+        The test consists of 4 sub-tests. Each test has a purple circle which moves along a path. The path is indicated with a dashed line and sample points where the circle should pass a certain position on the path is indicated with gray circles. On top of each gray circle is a number which indicates the passing time in seconds. In the cases where the purple circle should pass the gray circle two times the first passing time is written above the gray circle and the second passing time is written below.
+      </p>
+      <p>
+        Section 19.2.12 in the spec. states that a motion path is defined by the path attribute or by values or from/to attributes. So in the animateMotion case, values is just used for defining the motionPath and the number of values do not have to relate to the number of keyTimes.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if, for the first four seconds of the document,
+      each of the four purple circles moves along the dashed lines
+      such that they coincide with the gray circles at the times indicated
+      next to those gray circles.  The purple circles must all move continuously
+      over the four seconds, except for the top-right one, which
+      jumps discontinuously at 2s from the second grey circle to
+      the third in that subtest.</p>
+      <p>If a range of times is given next to a grey circle, then the purple
+      circle must stay stationary at that position for that duration.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-33-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- FIRST TEST-->
+    <g transform="translate(110, 50) scale(0.6)">
+      <text x="-160" y="-30" font-size="30" stroke="none" fill="#ccc">0</text>
+      <text x="-50" y="-30" font-size="30" stroke="none" fill="#ccc">0.8-3.2</text>
+      <text x="140" y="-30" font-size="30" stroke="none" fill="#ccc">4</text>
+      <g fill="none" stroke="#888" stroke-dasharray="10,6">
+        <polyline points="-150,0 0,0 150,0"/>
+      </g>
+      <g fill="#ccc" stroke="#555">
+        <circle cx="-150" r="20"/>
+        <circle r="20"/>
+        <circle cx="150" r="20"/>
+      </g>
+      <circle r="20" fill="rgb(204,0,102)" stroke="#000" stroke-width="3">
+        <animateMotion dur="4" values="-150 0; 150 0" calcMode="linear" fill="freeze" keyTimes="0; 0.2; 0.4; 0.6; 0.8; 1" keyPoints="0; 0.5; 0.5; 0.5; 0.5; 1"/>
+      </circle>
+    </g>
+    <!-- SECOND TEST-->
+    <g transform="translate(370, 50) scale(0.6)">
+      <text x="-160" y="-30" font-size="30" stroke="none" fill="#ccc">0</text>
+      <text x="-100" y="-30" font-size="30" stroke="none" fill="#ccc">2</text>
+      <text x="80" y="-30" font-size="30" stroke="none" fill="#ccc">2</text>
+      <text x="140" y="-30" font-size="30" stroke="none" fill="#ccc">4</text>
+      <g fill="none" stroke="#888" stroke-dasharray="10,6">
+        <polyline points="-150,0 -90,0"/>
+        <polyline points="90,0 150,0"/>
+      </g>
+      <g fill="#ccc" stroke="#555">
+        <circle cx="-150" r="20"/>
+        <circle cx="-90" r="20"/>
+        <circle cx="90" r="20"/>
+        <circle cx="150" r="20"/>
+      </g>
+      <circle r="20" fill="rgb(204,0,102)" stroke="#000" stroke-width="3">
+        <animateMotion dur="4" values="-150 0; 150 0" calcMode="linear" fill="freeze" keyTimes="0; 0.5; 0.5; 0.5; 0.5; 1" keyPoints="0; 0.2; 0.4; 0.6; 0.8; 1"/>
+      </circle>
+    </g>
+    <!-- THIRD TEST-->
+    <!-- The lenght of the lines in the polyline (motionpath) are 100,50 and 100.
+		 The animated circle starts at the midpoint of one of the "legs" and also pass 
+		 this point at time 1.4 since 
+		 1.4 = 4*(0.25) + (4*(0.75-0.25))*(1/5).
+		 Where 0.25 is the time at keyPoint 1 (2nd) and 1/5 since the control circle is at 
+		 1/5 of the distance between keyPoint 1 and 0 (2nd and 3rd).-->
+    <g transform="translate(110, 180) scale(0.6)">
+      <text x="-115" y="-30" font-size="30" stroke="none" fill="#ccc">3</text>
+      <text x="-85" y="-60" font-size="30" stroke="none" fill="#ccc">2.6</text>
+      <text x="60" y="-60" font-size="30" stroke="none" fill="#ccc">0</text>
+      <text x="95" y="-30" font-size="30" stroke="none" fill="#ccc">1</text>
+      <text x="-75" y="20" font-size="30" stroke="none" fill="#ccc">4</text>
+      <text x="40" y="20" font-size="30" stroke="none" fill="#ccc">1.4</text>
+      <g fill="none" stroke="#888" stroke-dasharray="10,6">
+        <polyline points="-105,0 -25,-60 25,-60 105,0"/>
+      </g>
+      <g fill="#ccc" stroke="#555">
+        <circle cx="-105" r="20"/>
+        <circle cx="-65" cy="-30" r="20"/>
+        <circle cx="65" cy="-30" r="20"/>
+        <circle cx="105" r="20"/>
+      </g>
+      <circle r="20" fill="rgb(204,0,102)" stroke="#000" stroke-width="3">
+        <animateMotion dur="4" path="M -105,0 L -25,-60 25,-60 105,0" calcMode="linear" fill="freeze" keyPoints="0.8; 1; 0; 0.2" keyTimes="0; 0.25; 0.75; 1"/>
+      </circle>
+    </g>
+    <!-- FOURTH TEST-->
+    <g transform="translate(370, 160) scale(0.6)">
+      <text x="-135" y="-30" font-size="30" stroke="none" fill="#ccc">3</text>
+      <text x="-95" y="-30" font-size="30" stroke="none" fill="#ccc">2.6</text>
+      <text x="65" y="-30" font-size="30" stroke="none" fill="#ccc">0</text>
+      <text x="115" y="-30" font-size="30" stroke="none" fill="#ccc">1</text>
+      <text x="-85" y="50" font-size="30" stroke="none" fill="#ccc">4</text>
+      <text x="50" y="50" font-size="30" stroke="none" fill="#ccc">1.4</text>
+      <g fill="none" stroke="#888" stroke-dasharray="10,6">
+        <polyline points="-125,0 125,0"/>
+      </g>
+      <g fill="#ccc" stroke="#555">
+        <circle cx="-125" r="20"/>
+        <circle cx="-75" r="20"/>
+        <circle cx="75" r="20"/>
+        <circle cx="125" r="20"/>
+      </g>
+      <circle r="20" fill="rgb(204,0,102)" stroke="#000" stroke-width="3">
+        <animateMotion dur="4" from="-125,0" to="125,0" calcMode="linear" fill="freeze" keyPoints="0.8; 1; 0; 0.2" keyTimes="0; 0.25; 0.75; 1"/>
+      </circle>
+    </g>
+    <text x="5" y="235" font-size="28">Test of keyPoints and keyTimes.</text>
+    <text x="5" y="265" font-size="18">Number indicates the circle's passing time in seconds.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-34-t.svg b/Tests/W3CTestSuite/svg/animate-elem-34-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ac7893155cf5953ee82aa1baeaa95096fefd1a72
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-34-t.svg
@@ -0,0 +1,123 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH" author="OA" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-34-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        The purpose of this test is to test animation of attributes points and fill-rule.
+      </p>
+      <p>
+        The test consists of 2 sub-tests. The first test is a polygon shaped as a digit. The polygon
+        has an animation on its vertex points which  morphs the polygon between the numbers 1, 2, 3
+        and 4. The gray outlines indicates the expected position of the polygon at 1, 2, 3 and 4s.
+        The second test is 4 paths in a u-shape. They have animated fill-rules. Their initial
+        fill-rules are, from left to right, nonzero, evenodd, nonzero (by default value, no fill-rule attribute set)
+        and nonzero (by default value, no fill-rule attribute set). This means, that the second path is
+        initially u-shaped, and all other paths are initially rect-shaped. All four animations are set to evenodd as a last stage.
+        The further expected result is that one path at a time is filled. The other three paths are not filled but have the u-shape.
+        The fourth animation from evenodd to nonzero happens by going back to the initial state,
+        because the fill attribute is not set to freeze. Which path that should be filled at
+        which time is indicated by the number above it (indicating time in seconds). To enhance the
+        difference between the filled path and the rest, the filled path should always have the
+        same color as the morphing polygon. This is achieved by a discrete color animation.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test is passed if all of the following conditions are met:</p>
+      <ul>
+        <li>The red path in the shape of the digit "1" morphs continuously over three seconds
+        (from 1s to 4s in document time) to the shape of "2", "3" and then "4".  The gray paths
+        show the four shapes and positions that the red path takes as it morphs.</li>
+        <li>Initially, when the document is loaded, of the four paths underneath each of the
+        four digits, the second one is u-shaped, while the other three are square shaped.
+        The first path is red, while the remaining three are gray.</li>
+        <li>From 1s to 2s, the path below the "1" digit is red and square-shaped and the others are gray and u-shaped.</li>
+        <li>From 2s to 3s, the path below the "2" digit is red and square-shaped and the others are gray and u-shaped.</li>
+        <li>From 3s to 4s, the path below the "3" digit is red and square-shaped and the others are gray and u-shaped.</li>
+        <li>From 4s onwards, the path below the "4" digit is red and square-shaped and the others are gray and u-shaped.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-34-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(40,0) scale(0.8)">
+      <!-- GRAY SILHOUETTES INDICATING TIME IN SECONDS-->
+      <polygon points="248.5,38.5 276.5,22.5 298.5,19.5 316.5,26.5 332.5,40.5 331.5,57.5 322.5,70.5 307.5,76.5             314.5,80.5 324.5,86.5 333.5,99.5 333.5,121.5 327.5,130.5 312.5,143.5 292.5,149.5             270.5,148.5 248.5,142.5 252.5,114.5 267.5,119.5 282.5,119.5 297.5,115.5             304.5,109.5 295.5,99.5 284.5,92.5 277.5,84.5 270.5,74.5 281.5,66.5 293.5,60.5             297.5,50.5 292.5,45.5 281.5,45.5 274.5,49.5 266.5,53.5" fill="#ccc" stroke="rgb(0,0,0)" stroke-width="1"/>
+
+      <polygon points="108.5,38.5 123.5,26.5 148.5,16.5 172.5,17.5 188.5,19.5 202.5,23.5 206.5,26.5 210.5,37.5          213.5,44.5 215.5,57.5 209.5,68.5 203.5,81.5 187.5,98.5 164.5,120.5 206.5,121.5          224.5,121.5 220.5,149.5 194.5,147.5 181.5,147.5 167.5,146.5 150.5,147.5          133.5,149.5 117.5,148.5 117.5,136.5 118.5,124.5 133.5,115.5 151.5,97.5 170.5,78.5          186.5,59.5 179.5,43.5 159.5,35.5 139.5,40.5 125.5,49.5" fill="#ccc" stroke="rgb(0,0,0)" stroke-width="1"/>
+
+      <polygon points="26.5,32.5 33.5,32.5 40.5,29.5 47.5,23.5 61.5,17.5 73.5,16.5 74.5,33.5 73.5,50.5 73.5,64.5          72.5,77.5 72.5,90.5 72.5,105.5 71.5,126.5 89.5,128.5 90.5,138.5 89.5,151.5          72.5,151.5 54.5,152.5 38.5,152.5 27.5,152.5 28.5,139.5 30.5,127.5 44.5,125.5          46.5,112.5 47.5,99.5 46.5,87.5 48.5,73.5 48.5,53.5 34.5,52.5 22.5,52.5          22.5,51.5 22.5,41.5 22.5,33.5" fill="#ccc" stroke="rgb(0,0,0)" stroke-width="1"/>
+
+      <polygon points="427.5,17.5 439.5,15.5 449.5,15.5 449.5,29.5 447.5,44.5 447.5,59.5 465.5,60.5 466.5,74.5          465.5,89.5 450.5,87.5 449.5,102.5 449.5,123.5 449.5,140.5 449.5,153.5          420.5,154.5 421.5,137.5 420.5,123.5 420.5,111.5 419.5,99.5 392.5,97.5 367.5,99.5          366.5,79.5 367.5,69.5 376.5,43.5 381.5,27.5 384.5,17.5 412.5,16.5 406.5,36.5          400.5,49.5 394.5,70.5 419.5,71.5 423.5,49.5 424.5,33.5" fill="#ccc" stroke="rgb(0,0,0)" stroke-width="1"/>
+
+      <!-- FIRST TEST, POINTS-->
+      <polygon points="26.5,32.5 33.5,32.5 40.5,29.5 47.5,23.5 61.5,17.5 73.5,16.5 74.5,33.5 73.5,50.5 73.5,64.5              72.5,77.5 72.5,90.5 72.5,105.5 71.5,126.5 89.5,128.5 90.5,138.5 89.5,151.5              72.5,151.5 54.5,152.5 38.5,152.5 27.5,152.5 28.5,139.5 30.5,127.5 44.5,125.5              46.5,112.5 47.5,99.5 46.5,87.5 48.5,73.5 48.5,53.5 34.5,52.5 22.5,52.5              22.5,51.5 22.5,41.5 22.5,33.5" fill="rgb(204,0,102)" stroke="rgb(0,0,0)" stroke-width="4">
+        <animate attributeName="points" values="26.5,32.5 33.5,32.5 40.5,29.5 47.5,23.5 61.5,17.5 73.5,16.5 74.5,33.5 73.5,50.5 73.5,64.5              72.5,77.5 72.5,90.5 72.5,105.5 71.5,126.5 89.5,128.5 90.5,138.5 89.5,151.5              72.5,151.5 54.5,152.5 38.5,152.5 27.5,152.5 28.5,139.5 30.5,127.5 44.5,125.5              46.5,112.5 47.5,99.5 46.5,87.5 48.5,73.5 48.5,53.5 34.5,52.5 22.5,52.5              22.5,51.5 22.5,41.5 22.5,33.5 ; 108.5,38.5 123.5,26.5 148.5,16.5 172.5,17.5 188.5,19.5 202.5,23.5 206.5,26.5 210.5,37.5          213.5,44.5 215.5,57.5 209.5,68.5 203.5,81.5 187.5,98.5 164.5,120.5 206.5,121.5          224.5,121.5 220.5,149.5 194.5,147.5 181.5,147.5 167.5,146.5 150.5,147.5          133.5,149.5 117.5,148.5 117.5,136.5 118.5,124.5 133.5,115.5 151.5,97.5 170.5,78.5          186.5,59.5 179.5,43.5 159.5,35.5 139.5,40.5 125.5,49.5;           248.5,38.5 276.5,22.5 298.5,19.5 316.5,26.5 332.5,40.5 331.5,57.5 322.5,70.5 307.5,76.5             314.5,80.5 324.5,86.5 333.5,99.5 333.5,121.5 327.5,130.5 312.5,143.5 292.5,149.5             270.5,148.5 248.5,142.5 252.5,114.5 267.5,119.5 282.5,119.5 297.5,115.5             304.5,109.5 295.5,99.5 284.5,92.5 277.5,84.5 270.5,74.5 281.5,66.5 293.5,60.5             297.5,50.5 292.5,45.5 281.5,45.5 274.5,49.5 266.5,53.5 ;              427.5,17.5 439.5,15.5 449.5,15.5 449.5,29.5 447.5,44.5 447.5,59.5 465.5,60.5 466.5,74.5          465.5,89.5 450.5,87.5 449.5,102.5 449.5,123.5 449.5,140.5 449.5,153.5          420.5,154.5 421.5,137.5 420.5,123.5 420.5,111.5 419.5,99.5 392.5,97.5 367.5,99.5          366.5,79.5 367.5,69.5 376.5,43.5 381.5,27.5 384.5,17.5 412.5,16.5 406.5,36.5          400.5,49.5 394.5,70.5 419.5,71.5 423.5,49.5 424.5,33.5" fill="freeze" begin="1" dur="3s"/>
+
+      </polygon>
+
+
+      <!-- SECOND TEST, FILL-RULE-->
+      <g transform="scale(0.3) translate(-450, 500)">
+        <path fill-rule="nonzero" fill="#ccc" stroke="none" d="M 500,100 L 500,300 700,300 700,100 550,100 550,250 650,250 650,100 500,100 z">
+          <animate attributeName="fill-rule" values="nonzero; evenodd; evenodd; evenodd" begin="1" dur="4" fill="freeze"/>
+          <animate attributeName="fill" from="rgb(204,0,102)" to="#ccc" begin="0" dur="4" calcMode="discrete" fill="freeze"/>
+        </path>
+      </g>
+      <g transform="scale(0.3) translate(-30, 500)">
+        <path fill-rule="evenodd" fill="#ccc" stroke="none" d="M 500,100 L 500,300 700,300 700,100 550,100 550,250 650,250 650,100 500,100 z">
+          <animate attributeName="fill-rule" values="evenodd; nonzero; evenodd; evenodd" begin="1" dur="4" fill="freeze"/>
+          <animate attributeName="fill" from="#ccc" to="rgb(204,0,102)" begin="1" dur="2" calcMode="discrete" fill="remove"/>
+        </path>
+      </g>
+      <g transform="scale(0.3) translate(390, 500)">
+        <path fill="#ccc" stroke="none" d="M 500,100 L 500,300 700,300 700,100 550,100 550,250 650,250 650,100 500,100 z">
+          <animate attributeName="fill-rule" values="evenodd; evenodd; nonzero; evenodd" begin="1" dur="4" fill="freeze"/>
+          <animate attributeName="fill" from="#ccc" to="rgb(204,0,102)" begin="2" dur="2" calcMode="discrete" fill="remove"/>
+        </path>
+      </g>
+      <g transform="scale(0.3) translate(810, 500)">
+        <path fill="#ccc" stroke="none" d="M 500,100 L 500,300 700,300 700,100 550,100 550,250 650,250 650,100 500,100 z">
+          <animate attributeName="fill-rule" values="evenodd; evenodd; evenodd" begin="1" dur="3"/>
+          <animate attributeName="fill" from="#ccc" to="rgb(204,0,102)" begin="3" dur="2" calcMode="discrete" fill="freeze"/>
+        </path>
+      </g>
+    </g>
+
+
+    <text x="5" y="225" font-size="28">Animation on: 'points' and 'fill-rule'.</text>
+    <text x="5" y="255" font-size="18">Digit should match outline at indicated time.</text>
+    <text x="5" y="275" font-size="18">Filled square should follow morphing digit discretely.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-35-t.svg b/Tests/W3CTestSuite/svg/animate-elem-35-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8ced2d9661449fd899634e065eadb6b25ea676d7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-35-t.svg
@@ -0,0 +1,150 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH" author="OA" status="issue"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-35-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        The purpose of this test is to test animation of attributes stroke-dasharray,
+        stroke-dashoffset, stroke-miterlimit, stroke-linecap and stroke-linjoin.
+      </p>
+      <!-- this test is way too complicated and requires the tester to keep an eye on many things simultaneously. It has no well-defined pass criteria. The test should be split into several subtests.
+      -->
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+
+      <p>
+        This file contains four tests, testing animation of five attributes.
+        The first test animates the stroke-dashoffset. There are seven reference polylines, all with
+        the same stroke-dasharray but with different values on their stroke-dashoffset. A red polyline
+        with the same stroke-dash array has an animation on its stroke-dasharray. The red polyline is
+        animated so that it stops by the reference polyline that has the right stroke-dashoffset at
+        that perticular time.
+        The second test animates stroke-linecap and stroke-linejoin. There are three reference
+        polylines. Comparsion is done in the same manner as in the previous test.
+        The third test animates the stroke-miterlimit. There are two sets offilled reference paths
+        (black) and two outlined paths (red) with animated stroke-miterlimit. The paths are shaped like
+        a capital A. In the upper test the animated path is drawn on top of the reference polygons and
+        in the lower test the reference path is drawn on top of the animated path. As the
+        stroke-miterlimit is animated to different values, different reference paths are used. To pass
+        the test, there should never be any part of the underlying geometry visible (black in the upper
+        or red in the lower).
+        The fourth test animates the stroke-dasharray. The initial stroke-dasharray gives a
+        short-dashed line. This pattern is animated into a pattern that on this short path gives a
+        solid line at 2 seconds.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[Describe the pass criteria of the test here. The pass criteria is what
+        should be displayed when the test is run.]]
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-35-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(0,0) scale(0.9)">
+      <g>
+        <g fill="none" stroke="gray" stroke-width="15">
+          <g stroke="black">
+            <polyline id="poly" stroke-dasharray="90,20,5,15" points="240,20,300,20,240,80,300,80">
+              <animate begin="0" dur="10" attributeName="stroke-linecap" values="butt; round; square; square" keyTimes="0; 0.33; 0.66; 1" fill="freeze"/>
+              <animate begin="0" dur="10" attributeName="stroke-linejoin" values="miter; round; bevel; bevel" keyTimes="0; 0.33; 0.66; 1" fill="freeze"/>
+            </polyline>
+            <use x="0" y="0" stroke="red" stroke-width="1" xlink:href="#poly"/>
+            <animateTransform type="translate" begin="0" dur="10" values="0 0; 0 0; 0 95; 0 95; 0 190; 0 190" keyTimes="0; 0.3; 0.35; 0.65; 0.7; 1" attributeName="transform" fill="freeze"/>
+          </g>
+          <polyline id="poly1" stroke-linecap="butt" stroke-linejoin="miter" stroke-dasharray="90,20,5,15" points="140,20,200,20,140,80,200,80"/>
+          <polyline id="poly2" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="90,20,5,15" points="140,115,200,115,140,175,200,175"/>
+          <polyline id="poly3" stroke-linecap="square" stroke-linejoin="bevel" stroke-dasharray="90,20,5,15" points="140,210,200,210,140,270,200,270"/>
+          <use x="0" y="0" stroke="red" stroke-width="1" xlink:href="#poly1"/>
+          <use x="0" y="0" stroke="red" stroke-width="1" xlink:href="#poly2"/>
+          <use x="0" y="0" stroke="red" stroke-width="1" xlink:href="#poly3"/>
+        </g>
+        <g>
+          <polyline fill="none" stroke="gray" stroke-dashoffset="-50" stroke-dasharray="5,5,20" stroke-width="5" points="10,10,50,10,10,40,50,40"/>
+          <polyline fill="none" stroke="gray" stroke-dashoffset="-30" stroke-dasharray="5,5,20" stroke-width="5" points="10,50,50,50,10,80,50,80"/>
+          <polyline fill="none" stroke="gray" stroke-dashoffset="-10" stroke-dasharray="5,5,20" stroke-width="5" points="10,90,50,90,10,120,50,120"/>
+          <polyline fill="none" stroke="gray" stroke-dashoffset="0" stroke-dasharray="5,5,20" stroke-width="5" points="10,130,50,130,10,160,50,160"/>
+          <polyline fill="none" stroke="gray" stroke-dashoffset="10" stroke-dasharray="5,5,20" stroke-width="5" points="10,170,50,170,10,200,50,200"/>
+          <polyline fill="none" stroke="gray" stroke-dashoffset="30" stroke-dasharray="5,5,20" stroke-width="5" points="10,210,50,210,10,240,50,240"/>
+          <polyline fill="none" stroke="gray" stroke-dashoffset="50" stroke-dasharray="5,5,20" stroke-width="5" points="10,250,50,250,10,280,50,280"/>
+        </g>
+        <g>
+          <polyline fill="none" stroke="red" stroke-dasharray="5,5,20" stroke-width="5" points="60,10,100,10,60,40,100,40">
+            <animate attributeName="stroke-dashoffset" begin="0" dur="10" values="-50; -50; -30; -30; -10; -10; 0; 0; 10; 10; 30; 30; 50; 50" keyTimes="0; 0.05; 0.1; 0.15; 0.2; 0.25; 0.3; 0.35; 0.4; 0.45; 0.5; 0.55; 0.6; 1" fill="freeze"/>
+          </polyline>
+          <animateTransform type="translate" begin="0" dur="10" values="0 0; 0 0; 0 40; 0 40; 0 80; 0 80; 0 120; 0 120; 0 160; 0 160; 0 200; 0 200; 0 240; 0 240" keyTimes="0; 0.05; 0.1; 0.15; 0.2; 0.25; 0.3; 0.35; 0.4; 0.45; 0.5; 0.55; 0.6; 1" attributeName="transform" fill="freeze"/>
+        </g>
+      </g>
+      <g id="miterLimit" visibility="hidden" transform="scale(2.5) translate(130 2)">
+        <g id="reference">
+          <g>
+            <path d="M16,51.1c0.8-2.9,2.5-9.2,3-11c2.1,0,8.9,0,11,0c0.5,1.7,2.5,8.2,3.3,11.1l1.9,1.4H47l1.9-2.6L33.8,1.4L31.9,0H17.5                      l-1.9,1.4L0.8,49.9l1.9,2.6h11.4L16,51.1z M15.5,37.5c-0.8,2.9-2.5,9.2-3,11c-1.7,0-4.6,0-7.1,0C6.8,44,18.2,6.5,19,4                      c2.1,0,9.3,0,11.4,0c0.8,2.5,12.5,40,13.9,44.5c-2.7,0-5.9,0-7.6,0c-0.5-1.7-2.5-8.2-3.3-11l-1.9-1.4H17.4L15.5,37.5z"/>
+            <path d="M22.3,9.8l-2.3,9.3l-2.9,10.2l1.9,2.6h10.7l1.9-2.6l-3-10.3c0,0-2.5-9.3-2.5-9.3L22.3,9.8z M23.9,20.1                      c0,0,0.2-0.8,0.4-1.8c0.1,0.5,0.5,1.8,0.5,1.8s1.4,4.9,2.3,7.8c-2,0-3.4,0-5.4,0C22.5,25,23.9,20.1,23.9,20.1z"/>
+            <set attributeName="visibility" begin="0" dur="2" to="visible"/>
+          </g>
+          <g>
+            <path d="M31.9,0H16.1L0.8,49.9l1.9,2.6h12.9c0,0,2.8-10.2,3.4-12.5c2.1,0,8.9,0,11,0c0.7,2.2,3.7,12.5,3.7,12.5H47l1.9-2.6                      L33.3,0H31.9z M30.4,4c0.8,2.5,12.5,40,13.9,44.5c-2.7,0-5.9,0-7.6,0c-0.7-2.2-3.7-12.5-3.7-12.5h-17c0,0-2.8,10.2-3.4,12.5                      c-1.7,0-4.6,0-7.1,0C6.8,44,18.2,6.5,19,4C21.1,4,28.3,4,30.4,4z"/>
+            <path d="M22.3,9.8l-2.3,9.3l-2.9,10.2l1.9,2.6h10.7l1.9-2.6l-3-10.3c0,0-2.5-9.3-2.5-9.3L22.3,9.8z M23.9,20.1                      c0,0,0.2-0.8,0.4-1.8c0.1,0.5,0.5,1.8,0.5,1.8s1.4,4.9,2.3,7.8c-2,0-3.4,0-5.4,0C22.5,25,23.9,20.1,23.9,20.1z"/>
+            <set attributeName="visibility" begin="2.5" dur="2" to="visible"/>
+          </g>
+          <g>
+            <path d="M31.9,0H16.1L0,52.5h15.6c0,0,2.8-10.2,3.4-12.5c2.1,0,8.9,0,11,0c0.7,2.2,3.7,12.5,3.7,12.5h16L33.3,0H31.9z M30.4,4                      c0.8,2.5,12.5,40,13.9,44.5c-2.7,0-5.9,0-7.6,0c-0.7-2.2-3.7-12.5-3.7-12.5h-17c0,0-2.8,10.2-3.4,12.5c-1.7,0-4.6,0-7.1,0                      C6.8,44,18.2,6.5,19,4C21.1,4,28.3,4,30.4,4z"/>
+            <path d="M22.3,9.8l-2.3,9.3l-3.7,12.8h16.1L28.7,19c0,0-2.5-9.3-2.5-9.3L22.3,9.8z M23.9,20.1c0,0,0.2-0.8,0.4-1.8                      c0.1,0.5,0.5,1.8,0.5,1.8s1.4,4.9,2.3,7.8c-2,0-3.4,0-5.4,0C22.5,25,23.9,20.1,23.9,20.1z"/>
+            <set attributeName="visibility" begin="5" dur="2" to="visible"/>
+          </g>
+          <g>
+            <path d="M31.9,0H16.1L0,52.5h15.6c0,0,2.8-10.2,3.4-12.5c2.1,0,8.9,0,11,0c0.7,2.2,3.7,12.5,3.7,12.5h16L33.3,0H31.9z M30.4,4                      c0.8,2.5,12.5,40,13.9,44.5c-2.7,0-5.9,0-7.6,0c-0.7-2.2-3.7-12.5-3.7-12.5h-17c0,0-2.8,10.2-3.4,12.5c-1.7,0-4.6,0-7.1,0                      C6.8,44,18.2,6.5,19,4C21.1,4,28.3,4,30.4,4z"/>
+            <path d="M22.3,9.8l-2.3,9.3l-3.7,12.8h16.1L28.7,19c0,0-2.5-9.3-2.5-9.3l-2-7.6L22.3,9.8z M23.9,20.1c0,0,0.2-0.8,0.4-1.8                      c0.1,0.5,0.5,1.8,0.5,1.8s1.4,4.9,2.3,7.8c-2,0-3.4,0-5.4,0C22.5,25,23.9,20.1,23.9,20.1z"/>
+            <set attributeName="visibility" begin="7.5" to="visible"/>
+          </g>
+        </g>
+        <g id="animated">
+          <path fill="none" stroke="#FF0000" stroke-width="4" stroke-miterlimit="1" d="M17.5,38.1l-3.4,12.5H2.7L17.5,2h14.3L47,50.5                   H35.2l-3.7-12.5H17.5z M29.8,29.9l-3-10.3C26,16.7,25,13,24.3,10.2c-0.6,2.9-1.5,6.6-2.3,9.4l-3,10.3H29.8z">
+            <animate attributeName="stroke-miterlimit" attributeType="CSS" begin="0" dur="10" keyTimes="0; 0.2; 0.25; 0.45; 0.5; 0.7; 0.75; 1" fill="freeze" values="1; 1; 1.5; 1.5; 2; 2; 5; 5"/>
+          </path>
+          <set attributeName="visibility" begin="0" dur="2" to="visible"/>
+          <set attributeName="visibility" begin="2.5" dur="2" to="visible"/>
+          <set attributeName="visibility" begin="5" dur="2" to="visible"/>
+          <set attributeName="visibility" begin="7.5" to="visible"/>
+        </g>
+        <use x="0" y="60" xlink:href="#animated"/>
+        <use x="0" y="60" xlink:href="#reference"/>
+      </g>
+      <path fill="none" stroke="blue" stroke-width="10" stroke-dasharray="5" transform="translate(520 20) scale(1 2) rotate(90)" d="M15.2,5.4C5.5,10.1,1.1,18.8,2,31.7c14.8,32.1,138.9-59,127.8-19.7C112.1,75.3,42.2-8.8,15.2,5.4">
+        <animate begin="1" dur="1" attributeName="stroke-dasharray" values="5; 500" keyTimes="0; 1" fill="freeze"/>
+        <animate begin="0" dur="10" attributeName="stroke-dashoffset" from="0" to="100"/>
+      </path>
+    </g>
+    <text x="5" y="280" font-size="18">Animation on: 'stroke-dasharray', 'stroke-dashoffset',</text>
+    <text x="5" y="305" font-size="18">'stroke-miterlimit', 'stroke-linecap' and 'stroke-linejoin'.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-36-t.svg b/Tests/W3CTestSuite/svg/animate-elem-36-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..460f76b82be49f4b9a6694fcc5ea44e362b095cd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-36-t.svg
@@ -0,0 +1,149 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-36-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test validates the animation of the transform attribute on structure
+        elements, hyperlinks and text elements.
+      </p>
+      <p>
+        The test applies an &lt;animateTransform&gt; on various element types: &lt;g&gt;,
+        &lt;use&gt;, &lt;image&gt;, &lt;switch&gt;, &lt;a&gt; and &lt;text&gt;. In all
+        cases, the type is a rotation and all the elements should rotate together about
+        their centers, for 3s, starting at the document's load time.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if each of the seven flower-like shapes (the four above "&lt;use>"
+      and the ones above "&lt;g>", "&lt;switch>" and "&lt;a>"), the image and
+      the text "123" rotate clockwise, then anti-clockwise, then clockwise again,
+      over the course of a few seconds.</p>
+      <p>The static reference image shows the final state of the animation.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-36-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="16">&lt;animateTransform&gt; on structure,</text>
+    <text text-anchor="middle" x="240" y="45" font-size="16">hyperlinking and text elements</text>
+
+    <g transform="translate(0,0)">
+
+      <g transform="translate(60,90)">
+        <g id="animatedG" fill="rgb(230,230,230)" stroke="rgb(255,180,0)">
+          <animateTransform attributeName="transform" type="rotate" values="0;360;180;360" dur="3s"/>
+
+          <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z"/>
+          <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z" transform="rotate(90)"/>
+          <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z" transform="rotate(180)"/>
+          <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z" transform="rotate(270)"/>
+          <rect x="-15" y="-15" width="30" height="30"/>
+        </g>
+
+        <text y="60" text-anchor="middle">&lt;g&gt;</text>
+      </g>
+
+      <g transform="translate(180,110)">
+        <g>
+          <use xlink:href="#animatedG" transform="translate(-20, -30) scale(0.4)"/>
+          <use xlink:href="#animatedG" transform="translate(-20, 0) scale(0.4)"/>
+          <use xlink:href="#animatedG" transform="translate(20, -30) scale(0.4)"/>
+          <use xlink:href="#animatedG" transform="translate(20, 0) scale(0.4)"/>
+        </g>
+
+        <text y="40" text-anchor="middle">&lt;use&gt;</text>
+      </g>
+
+      <g transform="translate(300,90)">
+        <image id="imageID" x="-30" y="-30" width="60" height="60" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/4RX+RXhpZgAASUkqAAgAAAAJAA8BAgAGAAAAegAAABABAgAXAAAAgAAAABIBAwABAAAAAQAAABoBBQABAAAAoAAAABsBBQABAAAAqAAAACgBAwABAAAAAgAAADIBAgAUAAAAsAAAABMCAwABAAAAAQAAAGmHBAABAAAAxAAAAGYFAABDYW5vbgBDYW5vbiBESUdJVEFMIElYVVMgMzAwAAAAAAAAAAAAALQAAAABAAAAtAAAAAEAAAAyMDAyOjAxOjE1IDA0OjQyOjU4ABsAmoIFAAEAAABWAwAAnYIFAAEAAABeAwAAAJAHAAQAAAAwMjEwA5ACABQAAAAOAgAABJACABQAAAAiAgAAAZEHAAQAAAABAgMAApEFAAEAAAA+AwAAAZIKAAEAAABGAwAAApIFAAEAAABOAwAABJIKAAEAAABmAwAABZIFAAEAAABuAwAABpIFAAEAAAB2AwAAB5IDAAEAAAAFAAAACZIDAAEAAAAAAAAACpIFAAEAAAB+AwAAfJIHAJoBAACGAwAAhpIHAAgBAAA2AgAAAKAHAAQAAAAwMTAwAaADAAEAAAABAAAAAqADAAEAAABABgAAA6ADAAEAAACwBAAABaAEAAEAAAAwBQAADqIFAAEAAAAgBQAAD6IFAAEAAAAoBQAAEKIDAAEAAAACAAAAF6IDAAEAAAACAAAAAKMHAAEAAAADAAAAAAAAADIwMDI6MDE6MTUgMDQ6NDI6NTgAMjAwMjowMToxNSAwNDo0Mjo1OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAPUAAAAgAAAA1QAAACAAAAABAAAAyAAAAGQAAAAKAAAAAAAAAAMAAACs3QIAAAABAP//AADoAwAAMAEAACAAAAAMAAEAAwAmAAAAHAQAAAIAAwAEAAAAaAQAAAMAAwAEAAAAcAQAAAQAAwAaAAAAeAQAAAAAAwAGAAAArAQAAAAAAwAEAAAAuAQAAAYAAgAgAAAAwAQAAAcAAgAYAAAA4AQAAAgABAABAAAAcVYQAAkAAgAgAAAA+AQAABAABAABAAAAAAAEAQ0AAwAEAAAAGAUAAAAAAABMAAIAAAADAAEAAAAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAwABAAEwAAD/////BgKtACAAdADVAP//AAAAAAAAAAAAAP//AABABkAGAgAwAdMAngAAAAAAAAAAADQAAACPAD8B1QD1AAAAAAAAAAEAAwAAAAAAAAAHMAAAAAAAAAAA//8AANUA+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAElNRzpESUdJVEFMIElYVVMgMzAwIEpQRUcAAAAAAAAARmlybXdhcmUgVmVyc2lvbiAxLjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAPQA9AD0AABqGADOAAAAgE8SAJsAAAAEAAEAAgAEAAAAUjk4AAIABwAEAAAAMDEwMAEQAwABAAAAQAYAAAIQAwABAAAAsAQAAAAAAAAGAAMBAwABAAAABgAAABoBBQABAAAAtAUAABsBBQABAAAAvAUAACgBAwABAAAAAgAAAAECBAABAAAA9AUAAAICBAABAAAA7g8AAAAAAAC0AAAAAQAAALQAAAABAAAA//////////////////////////////////////////////////9//////////////9j/2wCEAAkGBggGBQkIBwgKCQkLDRYPDQwMDRwTFRAWIR0jIiEcIB8kKTQsJCcxJx4fLT0tMTY3Ojo6Iio/RD44QjM3OTYBCQkJDAoMFAwMFA8KCgoPGhoKChoaTxoaGhoaT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT//AABEIAHgAoAMBIQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOxApcV7J5goUngDNIVweaBC80oYjvRYLseszAY60FjI3c1HLZ3L5r6DjG46jFRFjTVmJtoA5qW3j3vuIBAokuVNgnzOxpKVA5xUNyY3TB4Fc0b3Oh2sZbqAxx0pMV2pnG9xNtJincA20hWmBMBT1XJrJuxaLf7pU4wKqScuayp3vqaTtbQABjmnRJunQdiRVtuz8kQlsa0kUUg+ZFP4VVeyUNuiJB9DXn060oabx6o7Z0oy12l3I5pMDawwcVTIrupbX6PY46u9uq3ExT0kZBxWrV9DNOw4zue9MZi3U0lFIbm2NwKTFUIMUmKYgxSYoAmAFP2+9Z3NLCbaTbzRcmw9baR13KpIp8ETLcpuUjnvWcqsbNXXMk9DSNOV07aX3NInFNPTmvLO8iljWVcN19az2hZZNmMkniuzC1LXg9t0c2Ihe0lv1JZrGWEZIBX1FV8V1U6iqK6+aOacHB2fyYYorQkMUmKYgxSYoEGKTFAyYCnYrM0FCM33VJ+go8mQfwN+VS5xWjaTDlk9kzSRBHGq+gpoO6ZB6mvLk7tvuz0ErK3YlkIQVAz0hkZamhlWRXIztNCdtVuDV9zRDBlBGCCKz7uyO8NCuQeoHatqFTkld/C9zOrDnj5rYYunSn7xVfqaf/Zn/TTn/drpli4p6Lm89jnjhn1dvIo3TRWt5HbGQNNICwUdQB3NGK3pVPaR5tvIyqQ5HbfzDFJitDMMUYoAlxSgVmaGlAAkCjvjNKeTXlzd5N92ehFWSXZCHmoyQjBj2qGUMkn3GojJQA0yUKGf7ozQBbtd6x4fgZ4qxmhMGGcCsjxP4ktvDGiS39yQSPljjzy79hTEcN8P7y51mbUNd1KQGSZxGrHgDP8ACPyFdtivRw1vZ6dHqcNe/P6rQcIXPRGP4UxsLJ5bEB8Z298etbc8b2ur9jLkklezt3DFGKsRLQKzLNFJULiPeofGduecfSiR/wB4qD6mvIb/ADPSQuPWqt+3lxKfVgKT2AqmSk3E9KALUFkW+aTgelWtqhhGgx647Cj+kBI/3Pl7UwOCMijqBICGXNcj448Ax+MfLkN/NbyQqRGmA0fPcj+tMCPwz8PRpWnWcN/ePKYG83yovljL+p7nH4V1sjQWcLSyFIo0GWduAB9apSaVk7J7onlTd+q2Z5n4x+MKWxa08PKJW+610w4B/wBkd/rWr4Es7pdE/tDUpHlvb7EsjyHJ2/wj8j+tb4WN537IyxDtC3dnSYpMV6Jwkt8sktm6wSLFMynY5G7afpXkl3Y61qVyY7zVrkxkncN52kewBx+lediJuKWrSfQ76EVJvRO3Ut6zo0+p3Ed19rc3MUYRC3QADjGOhrofCGvz6bpPk61cyTXab9ryMWLDjA3f56VxKVzqcbGA/wAWdZtrly8CGLcdvm2xAx9Q2f0rc0P4lDxPKbae2t4XjXzN0UrENj/ZZRj86p/CQtzoZryKCJpZpFSNeSxPArk7z4iTC/UaMtkYUJ3SXT43n0AH86Fq7feGxq6Z8VbOWdLfVbY20zEKrwSCaMn8OR+VXbn4laFp9xLDJJcSzLkuIoSQvtk4FNiSuZU3xhtCT9i0i7nHrJIkf9TWx4Y8YxeIIpC8Is5g3+pMofH48UPa4Lsak3iTTbGyuJ7m6RI7Ztsp67T9PxqDTPG2ia7c/ZdMvBNMRu27COO55FF9ANHV9Zs9D097u+lEcSD8WPoBXhPjf4g6j4puWt4w9tYqflhBwW929aa19AMTw9aW93rlnDqEghtjMDIzdMelfREQR4lMJUxkfKV6Y9q7sK1Z9zkxKd12HbKPLrsucyRxsuuXeq25SOUKu8gPESpOPftWMblrWcLJueI/dmHI/E/1rw61R1Ja9NkevSgoR069TQVy6EoVbjiqsy3ZiO+GFXGNoEpIP47axNSgEvPNEF2trI0udqtKRkAc8bKbaaVGkpntbK383JV2W4ZcH0+7zVXttdE2vvZly4tLq8h8q5t4pIyeVN45H/oFVR4cjwB/Zdpjtm6f/wCJpKVurHy+SLFto2m7leK3iEqHBKMTtYe9OGmafcM8hgjkdnIdjzn1pOTGoortoMIkbytNsiueCzkE/wDjpp8FobWbZb2llE57JMQf/QafN5sXL5IfPo8l4jR3SoiH5iEkLZYdCQRin2tzc6FeR3S+XIkYwX+6Rn17VUZW03RMoX12Zj+JdQufEOprcXOr26LH/q4lOQtZc2keYd0uqQMQOpQZquZ9mRZdyGDRx5+WvbfAPH3Rmuy0XXLzw/A/2cG7gJ4QPuVfy71pTquDvYmcFNWbNmx+JFoqyfb4pyxclfLjXCr2H3ucetaVt4+0W4OPOkiP/TRMfrXbHFQe90zklhpLazRyMNxZ21v5K288aHPApIb3TbW0S2iSZUUbQCCePQ15soy6pps7ozj0asgtLnTbIsIXmVDzsIOF+lWDqliwO6duTkEjpUtd0ylLzRQ1KPS9TMZkvZImiyFaNtp5x/hViyfT9Ph8q3uiUzn5jk/nQ2rWBb3Lkd/bYybhT7U4X9sDj7SnHvU6FXZS8i3NvPHHqAjMzM+4EAqSe1Q6fNp+kWotZNTEzK2Q0jYNVvsTe2uyJW16yQEC+gbHvTtN8S6PaXsk1xHFdyOVKlwMIADkA571SjZ9/IHJNb2H3niawu7xpYpEgjzxGqggD65rOnbTjayQx3yqkyjOV3EHGOxH5UW12Fdd9jMtvDmhxXsdw140qoM+U0eVc+/tTNV8PWd/J5kV4kSseALfvgZ6DNac2mxHKu5WPgm23AW+qOwZQDut2Xn04zxnFT2ng9LEiSLWbm3nGdzRWz4Ht2zS5vIfL5mja2chB+33kF1nAz5Tow/HFOm0mFoSI7xAwPyoyEjHfnH9PWpv6jS80dK8cJGdwz9aiFvHnOBXqSVzzouwvkJnBVc/SnizQ/8ALMflXPKKNVJgbCIjmMflUf2C3brEpH+7kVm4ItSGtpdqRzBHj12CoG0mzbAMMeO3FR7MrmFGkWfCmEfhUM3hyykk3FXBPo5oVJBzsrt4QsHck+aPo/8A9aoz4K08E/vJP0P9Kr2fYnnI5PBViQQJZF/Af4VA3gi1B4nbp/cWj2TH7Qhk8GQAACZuneMCq0vhDYMpMufdf/r1SovuJ1UVz4WlLcNH9cH/ABqQeDLhjlZIPx3CmsPJ9SXWS6Cnwhfx/ceL8JmH9KP+Ea1ZD8s34i5Yf0p/Vp+TBYiPmd35eOgIoAJHBH511M50O29C4U47mnhQykBiT6BqxZqhwJTG4N9OtSrtY98+/Ws5eRcfMCgJzj2yKjaMZ64x6VCZTQ5VULyfxNIGRgR5gb2NUri0HeUj5GUcdhjpQzIBhlyvrkD+tUtfInReY37RbO2zcPTOajaKFXz5hI+uaaUkDcWRzRIVzge2BVaXYCBzitY/kZSsvmQmNQc5qSEAg7cH29K0iRIcSGGGcj2yKcANuA/Hck5NWQSzzKR8u/B6hRinIwAA+bH8qybNUSD/AH2A9MnFPDYXA5H51k0aIRkDMA0av6e1SCFduCij6VnJtFJJiGCI9ET64puVU4wc+oBqE2y7JApTdtXeD64OKcx6DJB9s1RIi5ZuCAMdQc0hWRELABiO3JNVdE2ZD+9UBinPcBj/AIUiXEj5DAoMd8mrsmTdr5jHBA+VcH1AzUTKyj69+laRsQ7kZXPynDe2KdHDGP8Alnj8K0RmxzBAOij0HSnxIsikMiqPUNVCHS28RxvJJ+tMEaRP8oOPUtmsWaIsIePf2pySgdT9NwrFo1TFNxs5YoR2waYssLO3mJHk9e+aVn0uO662BhCWyhUevz8flTiM/wCrOf8AgVRfv99i15fdcbmVcMUZiB0UgioJL64QkfZZAPUNVxSe1iJSa6MbHfSsQVtnXuS3FTfanYjfGoxxgfMavl8yObyHl02kLGcn/pkaYJJBn5MA+vGaSXdjv2RCbmYEqVXPs1NeUsvJXPrWkUlsQ5N76EQjycb2+meKsIDj1x6CtIoiV+o/eQvfHuKA/wAvYfhVkjC0gHVQfXFRkXDYO9GI6DFYNmthn+mZz8uP9lQamjmuVA/csffgVDsylddCdLhgp3oE79aie5lxhFWQexJqeW3Urm8vkVvt8gfbIoA/3CDVhJVxlCg+oNJx82ClforoZNdXce0pFGy/3gc5pq307H96kZB7KDQoIHN9kSf2gVOFXr2KkU7+1sAB1z9Oark8xe0EXU4n6RsD9KSd4WQFhz24zTUXHzE5KXkQOY9uMNjsNtIEj2/xfTbjNap+RnZdxu1edq7f6frT0hdlyJG/4C55ql9xLEMjxcBps/gc09LknO/cfZkH+NNaAOUTyjLsY19AaUzJHncWPrmsWro1TsC38J6tge4NONxBMAFc59FJrFprbU1Ti9HoD2sLJhmbHo3SmJZwA5Bj46dqqM7kygiVJkiB+YnPbPFMa9jfcFwSPek43dxqSSsNa7mUbvLVB7tSHUHWLcYmHtkHNCh5sXP5EB1p0TAtHx6g4/lU0OqQyLlrd93q4z+tVZ9G0LnXVCyXdw5/cBMf7uaga+uQwLxIT6gYqlHzZLl5KwNcs7ZljOT6UmYznkp+JFaIhjMRqM+ac/72aljDsR+/z9GqkTYk8uRTnex+rVIszIMfOSfamB//2apR82S5eSsDXLO2ZYzk+lJmM//Y/+0O2lBob3Rvc2hvcCAzLjAAOEJJTQPtClJlc29sdXRpb24AAAAAEABIAAAAAQACAEgAAAABAAI4QklNBA0YRlggR2xvYmFsIExpZ2h0aW5nIEFuZ2xlAAAAAAQAAAAeOEJJTQQZEkZYIEdsb2JhbCBBbHRpdHVkZQAAAAAEAAAAHjhCSU0D8wtQcmludCBGbGFncwAAAAkAAAAAAAAAAAEAOEJJTQQKDkNvcHlyaWdodCBGbGFnAAAAAAEAADhCSU0nEBRKYXBhbmVzZSBQcmludCBGbGFncwAAAAAKAAEAAAAAAAAAAjhCSU0D9RdDb2xvciBIYWxmdG9uZSBTZXR0aW5ncwAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gXQ29sb3IgVHJhbnNmZXIgU2V0dGluZ3MAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAZHdWlkZXMAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4NVVJMIG92ZXJyaWRlcwAAAAQAAAAAOEJJTQQaBlNsaWNlcwAAAAB3AAAABgAAAAAAAAAAAAAAWgAAAHgAAAALAG8AcABlAHIAYQBfAGgAbwB1AHMAZQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAeAAAAFoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOEJJTQQREUlDQyBVbnRhZ2dlZCBGbGFnAAAAAQEAOEJJTQQUF0xheWVyIElEIEdlbmVyYXRvciBCYXNlAAAABAAAAAE4QklNBAwVTmV3IFdpbmRvd3MgVGh1bWJuYWlsAAALLwAAAAEAAABwAAAAVAAAAVAAAG5AAAALEwAYAAH/2P/gABBKRklGAAECAQBIAEgAAP/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAFQAcAMBIgACEQEDEQH/3QAEAAf/xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AOmAU2VPf9ETHJSDURr7GCG6BaJJ6NMeKJzdpjwTahTMkkn5pnTGunx0SvZHdKKcoMDw0lrhIjXRRrrdZu1gjkHlX2yK2DwaPyKFjQ/nQ/vDlVvvGpsDzDY9nQUT5FoPBa6FGXcSiW1uY4h2s8HxTPrex217S13gdFZiYkDY2wGwTvo2an1VMiQh5F1VjdsSeyBCUICAu7KuM1VMITQiEJoT7WMNqbapwlCNqf/Q6sBTZW95hgkjUplZxPovI5JA+5Xck+GJLVhHikAiZjWCxu8DbMnVWbX+09/xTmAQO5/ImcNCfAKpPIZ1daNiEBG66snlrWD4D8iC53igesXAGeQITbydBr5JlrkhcJDiNxaQ4D4K48V31gO9zHag9xPcKqzGfAdZpOjWjklHawVAMBkfx5KVnTwVQa4wXk+54A7dynODW1pc63Y1oLnvdDWtaBue97ifaxjfpK0NeFx3+Md/1it6fX03peHc/DySPtmXUN8ydteJtq3W11bvfc9zP0v80pffyfvfgFnsw7Ovi5VGZQ3KxiXY9hd6NhEb2NcWNu2/mtt272fyEWFHpODlMxG0WUfZKMcMpxhbHqvrYxodfbSwv9H1Ld/p1P8A0npfzv6RR631PovQMcX9UyjW5wmrHrAddZH+ipn/AMEs2VKwM8BEXLWtdGA4ZWaGl90kJQhYN1uVh05N1P2Z17fUFBO5zGO91LbXQz9N6Wx9vt9n82jwpQbAPdjqi//R6D6xX9Qx+n+r0p9NWRuaHeqN52nT9CyW/pGrnas3602YRZZ1U15DrRcLamBpDWtLPs3t/wAE/wDnLPalaMzJqpdl0323k7R7txpDnH9J6jj9Gpuz6KakZlVjab632jtkMaQyR+bcyT6Lv/An/mJZcspHSxFOPGIjWiXSwfrP1LG6Re/qbftnWatwoZWw7Lmy30f5oNbvb+k9T+bVKr/GcW2DG6p0v7K+0hm8Pe0N3e3dtsbY13P76Fdhm1hrc/IIJgu0a4T+axzam+z+V/4IqdJtN/2V1GW2qpz2G+xrHVbBP2d9T3U/ztm36DvoKMSOui4xHd62/qfT8PGORk5NdWPUIdYXAzHthjQdz3Pj2LGx/wDGNg02usdjUuxjGwjIAytv77qXsON7/wDRttVduIwmRZYSNTLav/edK2Mf03tNl++xtRa4MhrX+19x9Khrv0aQl4JMPF23/wCMD6tsZRkOdkuGRW6yqsVDeGjcLH2TZsb/ADbm/SVGz/Gf0h5Apw7yyRNll1LC3X6fpNdY93/FrPx8pt2TkUV1PaKNgNjmQHEn3Gt30XMYpWFja33C+6QC8MYWdtdjG+kXJcfgrg8Xrx1/o7Ayx+ZWGW1WXNM/mVAWW7o+g/Z9Gt300uk/WPpfV7jX019zrGNFjvUpfUdjtGmsv/nNzv3Fy13S3041Vue4ltx/mTZVc2RB22Nqr/N3LPtycnp4fZgMymWAij7NW4hz2Wbv0mM/32VtRBO1I4eoL0H1w+u/7GZZhdJr+09Qb7brtu6nGJ/NsI9luV/wX0Kv8KvOul+n1P6wY9vX8hxquuD8vJvl5cGje2l+jttdzw2r9yqtWG4+O3Edl2dKvrq3loabbd5MbnvcyPo7js9T8+z/AItV2ZWDW8XO6blBp9zQXOLYafcR6gc16cCQQaWEWKt9iIL/AHghweNwc2C0g67mub7dqbYV5vifWTIxqaqsa+7Bqa8PrxcmpzWF8+r7bqf55tn+Eru9Nlq1/wDnn1+gzk4+PY0Qfax7ZB/PZayx9StDmY9QQ1zy8uhBf//SC/pmKPoOIJ7Ne7+9MOnVNH85aB4ixytuDWHbMHwCeAAZPPYj+KsSxw/dH2NeM5dz9rXHTTGl14/tlI4FjSP1rI8hvn8FbDARMRroSf4Byk3cCQWkjsY5CiOOPYMgnLuWj9iuDdMy6PEkEf8AUqIx8sGRnWgdx7T/AN9WkS3ktOneFGAHTB1TeCPZdxy7uZkYXUrdhZ1S1gHGgjy42qpZ0jrTy6OruI7BzT+UPW+Tydp2nvIj/NTzXzHuHiATHyThCKDOXd5odE6wyNnUmeGrXAfDlMenfWMBv+UK3bRDY3cf5hXSOuLCP0YduMl2g/6MlRc2ppLgzbPYnUf2DuR9sI9yXd5l+P8AWVp3DMa4wRydPL3M9qGLPrQ1wAu3RwHODm/9L81dHZsk7WwSBogOaOQ2T3AMpwwx8VpzScYH63kfzm4Dgeo0/wDVOSFv1tYI2jaeRLII/lAXLcZu2CA4eIOhUgNCdr4/OiSnfd4eP4f96t+8T8H/05PZkB28OboPzi7/AL6p1OJEz8Cf9qC4vBEPY13jAJj71HZlfmPZH9Uz+VWZFrC240tPmR2EGfkkHMaQBo4nUOEx+IVXfcwAWmrXncQD9wCT8qn6IDNwGo2kg/cmEWuum4TYCI2OB8AZ/wCqc1DLniR7te7SQNP5YZ7VUD73O2iljmd/T0Mf5zXf9FGDrhpWAHRoHgx83Nc5NqlwNsn5uMyA+yHd9Hc+b9j0qs3FfoHbxoZa0kT/AJqGLuonSxrXDuGz/wBUXKX2jJA1phvYOg/IJwH8rWkn+QZzjuJdIYXcgkA6eA9Ru1QYamglu93jALv836X/AFSTb8h3/aQx5QP+qTWixxaHVWb+4B0H4ohHl+SxdU7hrpI5cDz/AGoQvdOjRH3H7lElu73bh81DfXJDXAHydJ/KpAsJbQIiCSPiRP4p2BocXAy7xMfwQCS0Ai+Y/N3NEfDcFJj73HVu8eHt/wC+7U+1r//UGz0tvs/nO+6N0/20x+3bvZt2x7d0fjuXl6SsS2aw3/g+qV/bJHq7Nvlz89ym7kT6cfPn+wvKElGN/wDvWQ7f98+rH7Rr6e3nSP8AzJB/WIHr7v8Arcx5bvzti8vSTvs/7pb9v7H039N6b9vq+XO3+xv/ADkAftLc3Z9q/wCjt+Xqe1ecpIlH2vp1vrbB9t3bZ1mN3/R/QquPT3D0/V2eUxH/AFK85STo/RbL6/V9Lb638rbP50Qmd6kGfS51mV5qknrX0+v0tv5v9nd/FPp+bO3vG3/0Z7l5ekih/9kAOEJJTQQhGlZlcnNpb24gY29tcGF0aWJpbGl0eSBpbmZvAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAANgAuADAAAAABADhCSU0EBgxKUEVHIFF1YWxpdHkAAAAAB//+AAAAAQEA/+4ADkFkb2JlAGSAAAAAAf/bAIQAFBERGhIaKRgYKTMnICczJxwcHBwnIhcXFxcXIhEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEVGhohHSEiGBgiFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAWgB4AwEiAAIRAQMRAf/dAAQACP/EARsAAAMBAQEBAQEBAQEAAAAAAAEAAgMEBQYHCAkKCwEBAQEBAQEBAQEBAQEAAAAAAAECAwQFBgcICQoLEAACAgEDAgMEBwYDAwYCATUBAAIRAyESMQRBUSITYXEygZGxQqEF0cEU8FIjcjNi4YLxQzSSorIV0lMkc8JjBoOT4vKjRFRkJTVFFiZ0NlVls4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9hEAAgIABQEGBgEDAQMFAwYvAAERAiEDMUESUWFxgZEiEzLwobEEwdHh8UJSI2JyFJIzgkMkorI0U0Rjc8LSg5OjVOLyBRUlBhYmNWRFVTZ0ZbOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hv/aAAwDAQACEQMRAD8A9dIiTwoDYJi+o85BjSGibVoDGMjqFN3RdsOgbIvl5O8M6Kso5pRIYt2yRPycqd1cow8CoanV33gPMrWpCcFZCJcOdNIaiApFNUtNITSppUD/0PaSrpiGtvpbhScEpcGdF32gCmigvG1pOqrAwAAQSyZVoxucGiyWsVAEON3w6RgQbUgGTF3j9DIwyL0WrtXaRjijlnD04mUiAByw+L1f4kOt6uOCEqwYzuyS+zOWP/31ifcx/wA2InEGiLelbTqZtWNCVay7cETPJIRiO8izCQnESHBFu009DDTQqmlaQ//R9bqs8elh6kgSP8IeDH+MmUZShilYraJfbXP1ks8KiAI9/wDE82OYlpwfB1a+yJWu7PV6L8Tj1tjaYGHxCTcfxXpJGvUA/qEovjysWQDfjfxPBLpISu47SNfJJ5ybg+p9SMyZRIMTwQ55epxYK9WQjfD5GCWXBAQjZA/i2f8AbcJdNOUjMynuPe4KRB9Thy4px3YpCQ8Ync2ckMY88gP6jtfk49NGN5BM2QYk2xL8Ph2s1/T/AO/VIg+rx9RjykjHKMq/gludgbflMEJdLLdCwT7YNZo5swAlI7QTLbu/i/8AKmFSIPo/2TD6nqbI7/4trxfif4xi/Dxt+LKeIfw/+PfNH4hk6bp/Rx0JjieSXwx/9+PiT6eWQ7pGJJ5lu+JskOnpZZvxjqonMbjHzyj9iMY/7v8A8yP1z8b0ccvTz3wkIn2S+J9+P4vGNDLEg/bl/wDAnrSyRztVs9OleWH4n009BOv6gVevJdTnxZ//0sSCAImAoeBWRMzZhqOPM9BJPKu3RGFdmXqS7wP0uOSEMkt08crHte0Jq3PE1yOYZa+zJP7QB9mX0PTtZMXPEvI4JjHKO0idXu0QevgNdsg+iIrsbxHI82H4nCE9+3cRp5wjJ+JY8hJmDR+yH0vT91olgHgD8m8ScjxcuTps/wAYkaG0fv6TOWXTZQBUogaAD/40+ueniR8I+hyl00DzEfQ3iycjyPR6Q95gfv8A+UnaEsGPSE5iP8JO+P8A7rez9kx3rEN/smH+FvBk5o5Tl6aX2iFen9ixfw/eVXtsvNH/06J1oNA+DBjE9liaezOKNBomrLIl4JJLk0VXtQdGdDoQgHwclLGq34MkS7EfNz/mX2+9pDY252Y66tDepvwpoBd6uZtJmfH7mTO3SMsFW1TAIDYmPEOkZDEX3VIKtB//1J0lwLX04ns19l55c93qzkb+mBxakyHA+lxj/qeg/P5MGBnsMvY3t2jU2svm49+6YRcowJ5+9aA03UiXbhwyc9vmgdIG74ZLu2nWX3PHj57fJ6u3b/V8TQEzB+0iz73Lx4SP3pqMlX4hom+AQx37uw4/N0QmMfaqnnsqB//Z">
+          <animateTransform attributeName="transform" type="rotate" values="0;360;180;360" dur="3s"/>
+        </image>
+        <text y="60" text-anchor="middle">&lt;image&gt;</text>
+      </g>
+
+      <g transform="translate(420,90)">
+        <switch id="animatedSwitch" fill="rgb(230,230,230)" stroke="rgb(255,180,0)">
+          <g>
+            <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z"/>
+            <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z" transform="rotate(90)"/>
+            <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z" transform="rotate(180)"/>
+            <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z" transform="rotate(270)"/>
+            <rect x="-15" y="-15" width="30" height="30"/>
+          </g>
+          <g id="shouldNotShow">
+            <rect x="-200" y="-200" width="400" height="400" fill="red"/>
+          </g>
+          <animateTransform attributeName="transform" type="rotate" values="0;360;180;360" dur="3s"/>
+        </switch>
+
+        <text y="60" text-anchor="middle">&lt;switch&gt;</text>
+      </g>
+
+
+      <g transform="translate(60,220)">
+        <a id="animatedAnchor" xlink:href="" fill="rgb(230,230,230)" stroke="rgb(255,180,0)">
+          <g>
+            <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z"/>
+            <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z" transform="rotate(90)"/>
+            <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z" transform="rotate(180)"/>
+            <path d="M0 0 C 30 0 30 0 30 -30 C 0 -30 0 -30 0 0 Z" transform="rotate(270)"/>
+            <rect x="-15" y="-15" width="30" height="30"/>
+          </g>
+          <animateTransform attributeName="transform" type="rotate" values="0;360;180;360" dur="3s"/>
+        </a>
+
+        <text y="60" text-anchor="middle">&lt;a&gt;</text>
+      </g>
+
+      <g transform="translate(180,220)">
+        <defs>
+          <font id="MyDecFont" horiz-adv-x="466">
+            <font-face font-family="MyDecFont"/>
+            <missing-glyph horiz-adv-x="233" d="M 50 0 L50 700 200 700 200 0 z"/>
+            <glyph unicode="1" glyph-name="one" horiz-adv-x="558" d="M458 716L100 534V428L357 552V97H241V380L140 328V0H458V716Z"/>
+            <glyph unicode="2" glyph-name="two" horiz-adv-x="585" d="M69 509Q82 523 102 541T147 575T203 603T268 614Q311 614 342 599T392 560T421 505T430 443Q430 420 423 398T405 352L343 201H444L492 309Q508 345 519 379T531 448Q531 504 511 552T454 635T369 691T262 711Q231 711 204 704T152 684T106 655T69 623V509ZM535 97H187L309 422Q316 441 315 457T306 483T287 500T265 506Q261 506 254 505T239 499T224 485T211 461L50 0H535V97Z"/>
+            <glyph unicode="3" glyph-name="three" horiz-adv-x="542" d="M58 553Q109 588 148 601T220 614Q255 614 282 604T328 575T356 535T366 488Q366 475 364 460T355 429T336 397T302 368Q311 363 325 353T352 326T376 286T386 232Q386 203 376 177T345 130T295 98T227 86Q179 86 134 104T50 153V45Q59 38 74 29T111 10T163 -5T231 -11Q296 -11 345 8T426 58T475 131T492 218Q492 251 486 276T469 320T446 354T421 378Q438 396 454 425T470 503Q470 546 454 584T406 650T332 695T233 711Q179 711 137 696T58 655V553ZM156 255Q156         229 173 212T217 194Q243 194 260 211T278 255Q278 281 261 298T217 316Q191 316 174 299T156 255ZM161 467Q161 444 177 428T216 412Q225 412 234 415T252 425T265 442T271 467Q271 491 256 506T216 522Q202 522 192 517T174 503T164 486T161 467Z"/>
+          </font>
+        </defs>
+
+        <text id="textID" fill="rgb(230,230,230)" stroke="rgb(255,180,0)" font-family="MyDecFont" font-size="40" text-anchor="middle">123</text>
+        <animateTransform attributeName="transform" xlink:href="#textID" type="rotate" values="0;360;180;360" dur="3s"/>
+
+
+        <text y="60" text-anchor="middle">&lt;text&gt;</text>
+      </g>
+
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-37-t.svg b/Tests/W3CTestSuite/svg/animate-elem-37-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c6c6ee3fc3d8571864c901a1b8abe3e04fef4210
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-37-t.svg
@@ -0,0 +1,105 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH" author="OA" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-37-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test validates the animation of the transform attribute shape elements.
+      </p>
+      <p>
+        The test applies an &lt;animateTransform&gt; on various element
+        types: &lt;g&gt;, &lt;use&gt;, &lt;image&gt;, &lt;switch&gt;,
+        &lt;a&gt; and &lt;text&gt;.
+        In all cases the animation should run for 3s, starting at the document's load time.
+        The &lt;circle&gt; has a scale animation, and all the rest of the elements should rotate together about their centers.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if:</p>
+      <ul>
+        <li>each of the seven shapes rotates clockwise, then anti-clockwise, then clockwise again,</li>
+	<li>and the circle is scaled down, then up, then down again</li>
+      </ul>
+      <p>over the course of three seconds.</p>
+      <p>The static reference image shows the final state of the animation.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-37-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="16">&lt;animateTransform&gt; shape elements</text>
+    <g transform="translate(0,0)">
+      <g transform="translate(60,90)">
+        <path id="pathID" fill="rgb(230,230,230)" stroke="rgb(255,180,0)" d="M 0 0 Q 30 0 30 -30 Q 0 -30 0 0 Q 0 -30 -30 -30 Q -30 0 0 0 Q -30 0 -30 30 Q 0 30 0 0 Q 0 30 30 30 Q30 0 0 0 Z"/>
+        <animateTransform attributeName="transform" xlink:href="#pathID" type="rotate" values="0;360;180;360" dur="3s"/>
+        <text y="60" text-anchor="middle">&lt;path&gt;</text>
+      </g>
+
+      <g transform="translate(180,90)">
+        <rect id="rectID" fill="rgb(230,230,230)" stroke="rgb(255,180,0)" x="-30" y="-20" width="60" height="40"/>
+        <animateTransform attributeName="transform" xlink:href="#rectID" type="rotate" values="0;360;180;360" dur="3s"/>
+        <text y="60" text-anchor="middle">&lt;rect&gt;</text>
+      </g>
+
+      <g transform="translate(300,90)">
+        <circle id="circleID" fill="rgb(230,230,230)" stroke="rgb(255,180,0)" r="30"/>
+        <animateTransform attributeName="transform" xlink:href="#circleID" type="scale" values="1;0.2;1.5;1" dur="3s"/>
+        <text y="60" text-anchor="middle">&lt;circle&gt;</text>
+      </g>
+
+      <g transform="translate(420,90)">
+        <ellipse id="ellipseID" fill="rgb(230,230,230)" stroke="rgb(255,180,0)" rx="40" ry="20"/>
+        <animateTransform attributeName="transform" xlink:href="#ellipseID" type="rotate" values="0;360;180;360" dur="3s"/>
+        <text y="60" text-anchor="middle">&lt;ellipse&gt;</text>
+      </g>
+
+      <g transform="translate(60,220)">
+        <line id="lineID" stroke="rgb(255,180,0)" stroke-width="10" stroke-linecap="round" x1="-30" y1="-20" x2="30" y2="20"/>
+        <animateTransform attributeName="transform" xlink:href="#lineID" type="rotate" values="0;360;180;360" dur="3s"/>
+        <text y="60" text-anchor="middle">&lt;line&gt;</text>
+      </g>
+
+      <g transform="translate(180,220)">
+        <polyline id="polylineID" stroke="rgb(255,180,0)" stroke-width="10" stroke-linecap="round" fill="none" stroke-linejoin="round" points="-30 20 -30 -20 30 20 30 -20"/>
+        <animateTransform attributeName="transform" xlink:href="#polylineID" type="rotate" values="0;360;180;360" dur="3s"/>
+        <text y="60" text-anchor="middle">&lt;polyline&gt;</text>
+      </g>
+
+      <g transform="translate(300,220)">
+        <polygon id="polygonID" fill="rgb(230,230,230)" stroke="rgb(255,180,0)" points="-30 20 -30 -20 30 20 30 -20"/>
+        <animateTransform attributeName="transform" xlink:href="#polygonID" type="rotate" values="0;360;180;360" dur="3s"/>
+        <text y="60" text-anchor="middle">&lt;polygon&gt;</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-38-t.svg b/Tests/W3CTestSuite/svg/animate-elem-38-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f9681c685acc089b7de533fec72af34132c012b1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-38-t.svg
@@ -0,0 +1,90 @@
+<svg version="1.1" baseProfile="tiny" preserveAspectRatio="none" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH, ED" author="OA" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-38-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        The purpose of this test is to test animation of the viewBox attribute.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The viewBox changes position and size
+        several times. At each new setting, a green indicator frame will flash a couple of times.
+        This frame must only appear at the edges of the SVG element.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-38-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="elk" fill="rgb(246,255,129)" stroke="rgb(0,0,0)" transform="translate(40 5) scale(0.9 0.9)">
+      <path fill="rgb(191,48,0)" d="M39.4 149.4 C31 156.2 21.3 167 29.3 177.9 C39.6 191.8 60.5 190.6 70.3 176.5 C75.8                168.6 70.3 138.5 87.6 140.7 C101.1 142.4 97 174.9 96.6 184.7 C96.3 193.7 95.4                200.4 91.4 208.7 C88.2 215.2 82.2 221.7 81.6 228.7 C79.7 249.7 104.5 239.8                105.6 222.7 C106.7 205.9 101.8 190.2 103.6 173.7 C104.6 164.8 111 154.2 117.4                166.7 C121.5 174.8 117.1 183 115.6 190.7 C113.6 201 109 229.3 120.9 236.5                C134.1 244.5 141.3 215.2 139.7 205.7 C138.4 197.5 133.7 189.6 131.6 181.7                C130.7 178.3 126.2 161.8 128.8 158.9 C135.5 151.7 145.6 168.2 147.4 172.7 C150.5                180.4 150.3 189 147.8 196.7 C144.2 207.8 130.8 231.9 145.4 241.8 C166.7                256.2 164.8 218.6 163.4 208.7 C162.1 199.9 160.3 190.6 159.6 181.7 C158.7 169.5                163.8 167.6 175.4 167.7 C203.6 167.8 180.5 199.7 179.6 214.7 C179 224.2                183.4 236.6 194.7 237.7 C208.4 239 208.6 220.8 208.7 210.9 C208.9 189.8 197                171.5 198.9 150.8 C210.5 146.1 196.6 133.6 191.7 130.4 C182.6 124.5 172.3 122.1                161.7 120.6 C146.9 118.6 132 120.5 117.1 121 C110.5 121.2 104 121.4 97.5                120.1 C92.3 119 86.5 117.7 81.2 119.2 C77.7 120.2 71.6 122.5 68.6 124.6 C65.9                126.6 64.8 130.2 62.6 132.8 C56.4 140.2 46.8 143.3 39.5 149.3 z"/>
+      <path d="M165.2 86.7 C184 67.3 201.2 47.5 188.2 19.7 C182.1 6.5 153.5 -12.8 154.5 13.9 C154.9                24.4 160.7 29.8 165.5 37.7 C168.8 43.2 172 60.8 158.7 57.6 C150.8 55.7 152.3                40.9 139.5 47.8 C130.2 52.8 133.8 60.1 138.3 66.8 C142.2 72.8 149.3 79.3                141.5 86 C134.6 91.9 126.9 84 127.3 75.9 C111 72.5 123.3 89.9 124.3 95.8 C114.3                103.2 117.2 93.4 111.2 90 C103.8 85.6 97 92.4 97.2 98 C97.4 105.8 105.2                105.2 96.7 113 C94 115.4 90.6 116.8 87.2 117.7 C85.5 118.2 83.8 118.6 82.1                119 C81.6 119.1 77.9 119.7 79.4 120.6 C80.9 121.4 82.8 120.7 84.4 120.7 C86                120.6 87.6 120.5 89.2 120.3 C92.5 120 95.9 119.5 99.2 118.9 C106.1 117.6 113                115.9 119.6 113.6 C126.4 111.3 133 108.5 139.3 105.3 C145.4 102.2 151.3 98.5                156.7 94.3 C159.7 92 162.5 89.5 165.1 86.8 z"/>
+      <path d="M56.8 120.4 C57 120.6 57.3 120.8 57.5 121 C59.3 122.4 61.8 122.9 64.1 123.1 C65.3                123.3 66.6 123.3 67.8 123.4 C68.3 123.4 68.9 123.5 69.4 123.5 C69.7 123.5 70.5                123.3 70.8 123.6 C71.2 124.1 70.4 124.4 70.1 124.5 C68.8 125.1 67.3 124.7                66 124.9 C65.1 125 64.1 125.1 63.2 125.2 C59.5 125.5 55.8 125.8 52.1 126 C48.2                126.2 44.2 126.3 40.3 126.2 C36.4 126.1 32.5 125.8 28.6 125.3 C25 124.8                21.4 123.9 18 122.7 C14.9 121.5 11.8 120 9.2 117.9 C6.7 115.9 4.6 113.3 3.1                110.4 C1.5 107.1 0.7 103.3 0.6 99.6 C-0.1 81.8 22.3 81 17.9 99.6 C16.6 105.2                10.2 115 18.6 117.6 C28.6 120.7 26.5 109.2 24.8 104.7 C27.7 104.2 31.6 104.2                34.5 104.7 C34.3 109.3 33.6 117.7 40.6 117.6 C47.8 117.5 41.5 109.7 49.6                109.6 C57.6 109.5 53.3 116.4 56.9 120.3 z"/>
+      <path fill="rgb(255,255,255)" d="M71.5 129.8 C72.3 131.6 75.3 131.5 75.4 129.3 C75.5 126.5 70.2 126.8 71.5 129.8"/>
+      <path fill="rgb(255,255,255)" d="M80.1 130 C82.9 127.7 78.6 125 77.6 126.4 C76.6 127.9 77.6 132.1 80.1 130"/>
+    </g>
+    <g stroke-width="5" fill="none" stroke="none">
+      <rect fill="none" x="0" y="0" width="300" height="300">
+        <animateColor attributeName="stroke" values="green; white" begin="1" dur="0.2" repeatCount="5"/>
+      </rect>
+      <rect fill="none" x="100" y="100" width="100" height="100">
+        <animateColor attributeName="stroke" values="green; white" begin="3" dur="0.2" repeatCount="5"/>
+      </rect>
+      <rect fill="none" x="0" y="100" width="100" height="100">
+        <animateColor attributeName="stroke" values="green; white" begin="5" dur="0.2" repeatCount="5"/>
+      </rect>
+      <rect fill="none" x="200" y="0" width="100" height="100">
+        <animateColor attributeName="stroke" values="green; white" begin="7" dur="0.2" repeatCount="5"/>
+      </rect>
+      <rect fill="none" x="100" y="0" width="200" height="200">
+        <animateColor attributeName="stroke" values="green; white" begin="9" dur="0.2" repeatCount="5"/>
+      </rect>
+      <rect fill="none" x="0" y="100" width="200" height="200">
+        <animateColor attributeName="stroke" values="green; white" begin="11" dur="0.2" repeatCount="5"/>
+      </rect>
+      <rect fill="none" x="0" y="100" width="300" height="200">
+        <animateColor attributeName="stroke" values="green; white" begin="13" dur="0.2" repeatCount="5"/>
+      </rect>
+      <rect fill="none" x="0" y="0" width="300" height="300">
+        <animateColor attributeName="stroke" values="green; white" begin="15" dur="0.2" repeatCount="5"/>
+      </rect>
+    </g>
+    <animate attributeName="viewBox" xlink:href="#svg-root" values="0 0 300 300; 0 0 300 300; 100 100 100 100; 100 100 100 100; 0 100 100 100; 0 100 100 100; 200 0 100 100; 200 0 100 100; 100 0 200 200; 100 0 200 200; 0 100 200 200; 0 100 200 200; 0 100 300 200; 0 100 300 200; 0 0 300 300; 0 0 300 300" keyTimes="0; 0.1; 0.15; 0.2; 0.25; 0.3; 0.35; 0.4; 0.45; 0.5; 0.55; 0.6; 0.65; 0.7; 0.75; 1" begin="0" dur="20" fill="freeze"/>
+    <text x="5" y="240" font-size="14">Animation on: 'viewBox'. Flashing frame should</text>
+    <text x="5" y="260" font-size="14">only appear at the edges of the SVG element.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="298" height="298" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="298" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="'Arial Black', Arial, sans-serif" font-weight="bold" font-size="20" x="150" text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-39-t.svg b/Tests/W3CTestSuite/svg/animate-elem-39-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b2105663042bef18a06ddb14adc58b52f5710b15
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-39-t.svg
@@ -0,0 +1,158 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-39-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test validates that the xlink:href attribute can be animated on
+        the &lt;a&gt;, &lt;image&gt; and &lt;use&gt; elements, using the &lt;animate&gt;
+        or &lt;set&gt; animation elements.
+      </p>
+      <p>
+        For the &lt;a&gt; animation, showing on the left-most column, the number
+        indicates the number of the animation test currently linked by the xlink:href
+        attribute. For example, when the xlink:href animated value is "animate-elem-38-t.svg",
+        the text displays "38". When the user clicks on the displayed number, the user
+        agent should open the corresponding link. For example, if the user clicks on 38,
+        then the "animate-elem-38-t.svg" URI should be followed. If the user clicks on 02,
+        then the "animate-elem-02-t.svg" URI should be followed.
+      </p>
+      <p>
+        For the &lt;image&gt; animations, the image xlink:href attribute cycles through
+        two values showing a sun set and a picture of the sydney opera. The image should
+        change every second and the images shown by the &lt;set&gt; and &lt;animate&gt;
+        animations should always match.
+      </p>
+      <p>
+        For the &lt;use&gt; animations, the use xlink:href attribute cycles through
+        values "#useA" and "#useB" which reference text elements displaying values
+        "Use A" and "Use B". The change should happen every second and the text shown
+        for the two animations (&lt;set&gt; and &lt;animation&gt;) should always
+        match.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test.  Note each of the six subtests alternating (using animation)
+      between two states.  (The pass criteria indicate what must be shown for
+      each of these.)  Click on the top circle while it is showing "02": the
+      test animate-elem-02-t should be loaded.  Go back, then click on the circle
+      again while it is showing "38": the test animate-elem-38-t should be
+      loaded.  Go back again, then click on the bottom circle while it is showing
+      "03": the test animate-elem-03-t should be loaded.  Go back again, then
+      click on the bottom circle while it is showing "09": the test animate-elem-09-t
+      should be loaded.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>Every one second, the document alternates between two states.  In the first
+      state, the top circle shows the number "02", the bottom circle shows "03",
+      the two images show a picture of the Sydney Opera House, and the two 'use'
+      elements show the text "Use A".  In the second state, the top circle shows
+      the number "38", the bottom circle shows "09", the two images show a
+      picture of some water and land, and the two 'use' elements show the text "Use B".</p>
+      <p>The test passes if the document does alternate between these two states,
+      and that clicking on the circles produces the behavior described in the operator
+      script.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-39-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="16">&lt;animate&gt; on xlink:href</text>
+    <g>
+      <g transform="translate(60,90)">
+        <text text-anchor="middle" font-size="20" y="10">&lt;set&gt;</text>
+      </g>
+
+      <g transform="translate(180,90)">
+        <a xlink:href="animate-elem-38-t.svg" text-anchor="middle" font-size="30">
+          <circle r="30" fill="rgb(230,230,230)" stroke="rgb(255,180,0)"/>
+          <text id="initialAnchor" y="10" fill="gray" font-weight="bold">38</text>
+          <text id="anchor1sto2s" y="10" display="none" fill="gray" font-weight="bold">02</text>
+          <set id="hideInitial" xlink:href="#initialAnchor" attributeName="display" to="none" begin="1s;showAnchor.end+1s" dur="1s"/>
+          <set id="showAnchor" xlink:href="#anchor1sto2s" attributeName="display" to="inline" begin="1s;showAnchor.end+1s" dur="1s"/>
+          <set attributeName="xlink:href" to="animate-elem-02-t.svg" begin="1s;showAnchor.end+1s" dur="1s"/>
+        </a>
+        <text y="60" text-anchor="middle">&lt;a&gt;</text>
+      </g>
+
+      <g transform="translate(300,90)">
+        <image x="-30" y="-30" width="60" height="60" xlink:href="data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAPADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwCeSMqeDUDsy1YkPzHNRMFYcVZkQiQ0MA9IyEdKi3EGmBNGm1s4qfft4xUUL+tPlyTmkApYOORUDwgnNSbyKazmgCExBKjZgOKfIfeqsmexpgS5pjPimKSOvShsUAO3UhamZwaM0XAUtTC1ISaYxxQIcZKUMDVctQJMUwLOQBUbPUfm571Gz0ASmT1pPMqAvTd+eKALHmVJG/FU2bpU8bDbQIsb6XfkVXLUm+gCcmmlqhLn1qNpTQBK0mKhaQ1E0hNRlz60DPdL3wtZSJuhY7vTFc3PogiLjBG2vR2RSN2eTVeS0jlydoyaxUjSx5dLYsoJ/Kqb2slej6h4YF1h4GEZA+7jrWHL4WvwTiLOKrmQrHGEMnFKrO3Hauqk8Iakwz5OfxqhPoF5bMVeI5HpT5kKzMXGDTTkGrU1u6HlGGPaoSuTRcLEDsfTNVmOauPGeMVXMYGRRcdiNVLew9aQxndjmpFyv0p/BpXHYrMpHQcUzNWG7iq7DFFxWGsaiZqcTUT5qrisNLU0tUbEimbzRcViQsRTC5phehW5p3AC5HXikZu4NIzgnBqMnkgdKLiLAk+TFPWYYxVUA460hYgUXAuebR5lVN+B1o83FMCyZKjZ6rmamGagCdnpuc1B5tAlFAH0/DMjBdzLgjPXn8qs74UVT5sY3HjkcmvNzeloEAY7lGDk1SmuZe7H86x5DTmPWTIoH31Xd709rmOEfPnIHXHBryOLUp04ErD8a0f+EguZLI27uSOxPUUuRhzHdNqINwGS4/dsfmTris3U5YZpd0Qf8TXCNfyq4becjvmtXT9euFYKyLKvcMKfLYL3NJ0Vuqg/UVUl063kB/dKCe4FaLSxTqGjj2e2c0wKaZOqOautJ8rkDcp71Rl0wldwGBXaiHdxjNB01JBgp+VJstHnxsip6UGzbGQK71PDTSyYjbI9CtWo/Bs2QCY+ffpWUp9jWMU9zzNrZh1FV5bc+len3PgmfaTHtY+max7vwffopb7MxUegzS9o1uh+zXRnnrxY7VA0ZrqLzSJYAd0bD6isO4gKk8VaqJkODRmOBUDAVPMCCaquSK0TIcRrtUXmEUrZNRsrelO5NhTIKXzRVdgRTc+tO4rFrzeKjL5qEvSZOKdwJGkqNpsVE7EVCz0XETtNTDNVctSUXAsed70omqtS5ouB699q96YbgNxmszz885qNpiG4oEavmDGKYZSOhrPFz60puPemBdMmTyc1agvFj6dayPPFAm9DSsO508GrumMYrWj1qMoPlG761wq3BHep1uXxwamw7neW2uxo+JVA9CBWzbatp/mI0rAq3pxivMFuXPerEVy4P3qhwRopntdv9nkUSQFGB6FTmpq8r0jV57KdSrttyMgHrXo1jdG8jSVJAUI5XPIqb8ulh2vqXqKKK0IK13p9texGOeFWB74rz/WvAUxkZrRQ6H07V6GblN5VQWI64oS6jZyhO1h2asZKDejszaLmlqtDwe/8K3UDHK9KxpdIdPvDFfQ89vpVxIwljgZ26lh1rnPEPha3kjBtLYAgc44FTzOO+pVlLbQ8Re0EYORUOwHjbXa3+gyRKzPGVA9a564tthIxWsZpmUoNGHLb9TVKSMrWvMhFUpVPpV3IsZxHNDNxgVM6e1QslVcViJue9QsKsFKQx0CKpBpOlWNpz0o8lmHAoAr5pc1aSwlkPCE1bTRbggfu2NAHSp5i9cUrPgVrLaof+WfNVZbdQ+Gjz9KLisUPMphmwetbUGjwzpyShP6VI3hZGK4vVBPXK8CjmHYwhL707z/Q1sf8IlL2vIf1qGfwrfQjKFZe/wAtHMg5WUllyKk+0EVHJp97CcNA59wM1CySg4KMCPUUXFYti4NWIrk+tZYdl68VNHLzSKSN22uG3A5NdVomoXNtKkiSlVzyPauDTUbO3dUnuIo3borMBWlb6/ZRswe6jTYdp3naM/j1rOSNIux7jbXcN1CssbDB7Z5FNmvIolO7dxxxXkUHj3R4ZAqagnTqARz7cVcX4j2Hli6e4nVNwQ74zjnufb3qOaTHZI6++8SPBKwFsEHYkdaxG1xjKXEh3H3qvfeIbR0Y3N5aokgyod1H5Vz8txalfNW6iCZxneMZ+tNRT3DmZ0iX09zOziXGBkjPXFMn8S3suY2mfaOwNYEN5H9n81Z9iMSqsT9/tx696jaRVjaRpokUfeZnAA+pp8qFzM15tSMibZlDg1hXllBMxKOR7EVTk1/ToLe3nnvEWKckIxz261W/4S/SI7l4ZZoNgAKSiQMH9RgdOtJRS2G5t7kVzp7rkqcismaFgeRVi/8AG2kxyokLGQM2GZBwo/GsmfxjZeaQsO+PnnJB/LFWibkjRjPSm/Zy3RKx7vxfv/49rNU93Oaz/wDhJb8H/WAY6YGP/wBdMR1JsWxnbUJtD3WufXxRqHmFy6MD/wAs9vA/rW1Z6/ZXD26zy+SZGKvu6JgdSfQ07isXYNOMhHyHHsK0Y9EUn5GGR2NVrvxxpljA0dknnuhATPCsPXNUJfiOxjBjsU3kDq5wD34x+XNK7DlOqs7VYX+WBSR61PPkj5uPYVwM3xB1F5SYre2jQjAUqTj3zmqM/jDUpY8C4KsR8xCjg+3FGo7HrEdwv8P61YWQ9SBiqxhsIb6Kza4HnSqXUYPQf5P5VOwsbS3upLq+j/dhmVN4U4Azjmi6JsyQsxG8Y/OpIZ3m+R+Rn1xWZL4j8O2OjRXpvIp7hkVvsqSqzKSOh+nes/V/iBolvGz6ZEk86kY3h1B9ccUuYq1jsF+zFcbXVvXORWhZ2M0jYWQFOxzkV4tffEzV5XkFvHaxIRhWER3D82IqhbfEbxLbyB/t4YLkhWiXH6CpalbQtNX1PdNQENusrzybNoJztyDxxyB3rhNV8ZaRbQuFheWUj5DjaD/X9K8y1PxLrGsuTf6hcTqWLbHc7R9F6CqcZ3OM80JNIXU6q/8AFl1dogtI1typyzcNn25FZ8muapLuzd4yMfKij+QrP59KQjHWldhYa13dCYyNK5cnO7POfrSG4dslmJJPNRuwZT7VEHFVuIs+aaa0p5wTUYYnpSEHqQaVhjjKcdaDM5Xbk49M1F1oyfSmIe0zkAFiQowAT0pnmtyAxApDyM0zApgP3EjqaazcUH5elNJoAaTSFqDSUwDdTaO9GOKAD+VGaM8YpKYDqKTPvRmgB2SKaTRSHpQBoTXt5cyB57mZ2HG53JxVfcWbG+vRZNNsZUAkt0K/e+YHrVc6JpbAf6Ehz0IyKCbnCKuO5p231JruP7E0zBzbJgdfmPH601tE00/dthn/AHm/xoC5xDKvZj75FRHA9PrXbNomnA8W5HH981EdD05j/qj/AN/DQHMccM+9WrZgDgjntXS/2Dp/aJ/++zR/YtiuMI4P+8c0mrjUjDLtjOOKjZmP0rffTbNE+VXJ9N1EWkW03WORT7sKiw7nMOdoNMT5m7j1rso/C1vO3MjAZwMHOa1NP+HtvdsoW5I3gENjIpOpGO5ShJ7I4IMMYHFLgHAzz3r1uL4P2rKS2pENzgbCMn8cUyb4VWEPJ1FiMfeGCM/gay9tDuaeyn2PI5UAwV/Koeetel3ngPT4CQL0kYz82Af51jSeGLJM7Jy2O/StI1IshwaONPTJBNIsbsM4OK6d9AgDEZOKfBpVtBuDJnjjJq29NCDlXBXr+lM2n0rop9KtyxIX9TVc6dAvGz9apCuYRBHem4OO9bhsYP7lJ9hg/uUxcyMPn0o/A1tmxg/ufrQbKD+5QHMjEo4rZNjAf4f1phsYM48tvrziiwcyMmjFaxsIB/AfzNJ9jgH8P60BzIyiDTTxWr9lhx939aabWEn7v60D5jvPMLEDG9c5xtzj9aTMxxtBAPXA5FM2yDlZuOmM/wCAoInONzp7k5oIHNCXGGyfrzmkEW1cjP600RlckTAnPJ3daBIATudyTwOn5Uhjdw28cj1I61EzEMdx2jvyP6VO7K+FLLnPQn/Cojhckuvt83+NMGG3IGORjseRSFycLhgcYwf/AK1ROA+0CQY7ndmkjXYpETqc9BvJoET5kw3G/wCnaiPerYZl+h7fz/lUexmxtbkcnDEf0qaBXbA37SOSwPbtUsuJqWkjAKfMKg84GP8AP4V1ulWaTywsty5c/KcFuM9+D6etc5a217wIIl8tgAXYYAPXrg811NgbuO3dN0yuDx5TBR9STnofpXFVZ2U0bB2WiYNxwPk+8VCe5Bb+Z/KoiFETPayo8GfnbBIB6HgY7nr7VqCO4FlHI9vdGfaN0v2mNdgz6nGB+tU5hIYpJWjicsBmVJ0JI5Gdy/1zWFja5yuphoJn2Mp3ccRcj3weT/8AXrmr53OCeVJI5Qiuk1SCJpI/LkuEduVEeBz6bsA/l+NYFzatuSNRIqYyD5mc++StdFMwmY0yvkHcB6Z//VVNzKe5/E1eeHaXkEko74ZVOPpxVNuR8+T6/d/pXTE52VmLHrx7VBLnGc1LhS3Q4HrUUuMVojNkJJ9qQUE+lMzVEj80mabnPWjpmgBSaaaM5ppNAgJzTSaMnv8ApSE5NAxpNITRznGePpTT9f0pDOzbMeAsasPRmP8AQUfIGy6rgnquT/SociRM4IHokf8A9fNIpAHLOQOMYyKBFjY3O1VK+7Y/pQ3AIXH54FQiT5QAsjHrkjA/PFMkuiv3lAXPJYhR+HNAyUgqcEoAenem+WVbkHb7etVJJlL7oU3Hvtbr/jTPtJ3/ALxYoh6SOOfwoAszADHyhCOhxz/OkDcA/Mw75O0f41Cwt8h2iXI7quf5ZpAIw29Rj6gj+dAizh8kpGioT134P8quRxr5gaUEHHeXkj6nOD+FUgQcKY5H3cDbz/WrFu6RzbzPiRzjPlud3PJzzUSZpFHR6YJkkUQmZiOTHK4YBe/GMEf5wa6PT3AKpZt5sSNmRZAYmP4bea57TL6ztrp0ku/MRR8ojtmBDY/hIHXjk961LTxH5kbwqr+dsJDNHODuIP8AdHPOeCMVxTu+h2waXU68HUtryWpgYAYEUriTH0GAV+gqtcNqgjUmxtwSoD+XO6que5AQ/wBPxzWJNaC809mkURLt2YH2iLJ654znp3B7UQ2MMcI8vUb6SVU2BopC8n4EqD9M/wD1qyt3LK+qWstxGy3V3LK2MILd3Axkcnt2/KuYntoLJWtpLRmIO4FQWJP/AAIjity60+aMSKL67kBUbkkk3BjjPIMTZrMe2t1sWRJn3sG2iNN/Ab/cAwORnA5raDsZS1OflmkjY7rCTG3gJEmMe/P9apySg5PksMdeB1/CtKZGA8pzJweoTB/+vxWPKjHAjkuGDD1PP6V1ROaRFLIoJAjYc1Wdtx5B/GpHDA4eTOfUkf0qBgAfvc/jWqMmITjtgUzdz1FKSfqKYeRnFMQ7PNJmm5Pekz6/yoAcTSHmkzSZoAX6HFN6Um8HvmgmgAJPpSA0lJuOSMEUhnWpAVJCJEM8Z2AfyFVrm3cxly21ccgMeg+mKKKCRY4IvKDCNSo7Hn+eaHRbcFhCgwMkK2Pb0oooGRP5QI326sTwPnNMVLUSErbjOeh6UUUATIsTqc7wM9AelBgiWNmCbgP7x70UUDKwlt4jkxFivJJAresLkTW8twYd4jXP+sKHrjsD/k0UVEldGkXZ6F2yne5PlLugDjARX3pgezDg/nXX2HzXS2gjEkhUOqySMI24z8w57e1FFcdXex1U9rl+GDVFcNZQWUEkxJVvPkA465CBc9B61japp3jGBWVNbtTF5WXzH82D77ST+dFFTFJMJSdjBNvrJuUtry7t7kQLkFlIPQnGRjP3epqp9g1YiW6E1pDHCmfLi34OTjr17+tFFboybdzHv7y/uLl55JUl52AtuXgcDgHFZpkmkXcywj5scKT/ADooreKVjCTdyCVmJwZGAPZQAKYVZcKDRRVEkbsQeSSTTCc8UUVQCZpM0UUgAg/hTM0UUxDHlCEAg0gmDHABoopFBvyO9LuJoooEf//Z">
+          <set attributeName="xlink:href" id="imageHrefSet" to="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/4RX+RXhpZgAASUkqAAgAAAAJAA8BAgAGAAAAegAAABABAgAXAAAAgAAAABIBAwABAAAAAQAAABoBBQABAAAAoAAAABsBBQABAAAAqAAAACgBAwABAAAAAgAAADIBAgAUAAAAsAAAABMCAwABAAAAAQAAAGmHBAABAAAAxAAAAGYFAABDYW5vbgBDYW5vbiBESUdJVEFMIElYVVMgMzAwAAAAAAAAAAAAALQAAAABAAAAtAAAAAEAAAAyMDAyOjAxOjE1IDA0OjQyOjU4ABsAmoIFAAEAAABWAwAAnYIFAAEAAABeAwAAAJAHAAQAAAAwMjEwA5ACABQAAAAOAgAABJACABQAAAAiAgAAAZEHAAQAAAABAgMAApEFAAEAAAA+AwAAAZIKAAEAAABGAwAAApIFAAEAAABOAwAABJIKAAEAAABmAwAABZIFAAEAAABuAwAABpIFAAEAAAB2AwAAB5IDAAEAAAAFAAAACZIDAAEAAAAAAAAACpIFAAEAAAB+AwAAfJIHAJoBAACGAwAAhpIHAAgBAAA2AgAAAKAHAAQAAAAwMTAwAaADAAEAAAABAAAAAqADAAEAAABABgAAA6ADAAEAAACwBAAABaAEAAEAAAAwBQAADqIFAAEAAAAgBQAAD6IFAAEAAAAoBQAAEKIDAAEAAAACAAAAF6IDAAEAAAACAAAAAKMHAAEAAAADAAAAAAAAADIwMDI6MDE6MTUgMDQ6NDI6NTgAMjAwMjowMToxNSAwNDo0Mjo1OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAPUAAAAgAAAA1QAAACAAAAABAAAAyAAAAGQAAAAKAAAAAAAAAAMAAACs3QIAAAABAP//AADoAwAAMAEAACAAAAAMAAEAAwAmAAAAHAQAAAIAAwAEAAAAaAQAAAMAAwAEAAAAcAQAAAQAAwAaAAAAeAQAAAAAAwAGAAAArAQAAAAAAwAEAAAAuAQAAAYAAgAgAAAAwAQAAAcAAgAYAAAA4AQAAAgABAABAAAAcVYQAAkAAgAgAAAA+AQAABAABAABAAAAAAAEAQ0AAwAEAAAAGAUAAAAAAABMAAIAAAADAAEAAAAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAwABAAEwAAD/////BgKtACAAdADVAP//AAAAAAAAAAAAAP//AABABkAGAgAwAdMAngAAAAAAAAAAADQAAACPAD8B1QD1AAAAAAAAAAEAAwAAAAAAAAAHMAAAAAAAAAAA//8AANUA+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAElNRzpESUdJVEFMIElYVVMgMzAwIEpQRUcAAAAAAAAARmlybXdhcmUgVmVyc2lvbiAxLjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAPQA9AD0AABqGADOAAAAgE8SAJsAAAAEAAEAAgAEAAAAUjk4AAIABwAEAAAAMDEwMAEQAwABAAAAQAYAAAIQAwABAAAAsAQAAAAAAAAGAAMBAwABAAAABgAAABoBBQABAAAAtAUAABsBBQABAAAAvAUAACgBAwABAAAAAgAAAAECBAABAAAA9AUAAAICBAABAAAA7g8AAAAAAAC0AAAAAQAAALQAAAABAAAA//////////////////////////////////////////////////9//////////////9j/2wCEAAkGBggGBQkIBwgKCQkLDRYPDQwMDRwTFRAWIR0jIiEcIB8kKTQsJCcxJx4fLT0tMTY3Ojo6Iio/RD44QjM3OTYBCQkJDAoMFAwMFA8KCgoPGhoKChoaTxoaGhoaT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT//AABEIAHgAoAMBIQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOxApcV7J5goUngDNIVweaBC80oYjvRYLseszAY60FjI3c1HLZ3L5r6DjG46jFRFjTVmJtoA5qW3j3vuIBAokuVNgnzOxpKVA5xUNyY3TB4Fc0b3Oh2sZbqAxx0pMV2pnG9xNtJincA20hWmBMBT1XJrJuxaLf7pU4wKqScuayp3vqaTtbQABjmnRJunQdiRVtuz8kQlsa0kUUg+ZFP4VVeyUNuiJB9DXn060oabx6o7Z0oy12l3I5pMDawwcVTIrupbX6PY46u9uq3ExT0kZBxWrV9DNOw4zue9MZi3U0lFIbm2NwKTFUIMUmKYgxSYoAmAFP2+9Z3NLCbaTbzRcmw9baR13KpIp8ETLcpuUjnvWcqsbNXXMk9DSNOV07aX3NInFNPTmvLO8iljWVcN19az2hZZNmMkniuzC1LXg9t0c2Ihe0lv1JZrGWEZIBX1FV8V1U6iqK6+aOacHB2fyYYorQkMUmKYgxSYoEGKTFAyYCnYrM0FCM33VJ+go8mQfwN+VS5xWjaTDlk9kzSRBHGq+gpoO6ZB6mvLk7tvuz0ErK3YlkIQVAz0hkZamhlWRXIztNCdtVuDV9zRDBlBGCCKz7uyO8NCuQeoHatqFTkld/C9zOrDnj5rYYunSn7xVfqaf/Zn/TTn/drpli4p6Lm89jnjhn1dvIo3TRWt5HbGQNNICwUdQB3NGK3pVPaR5tvIyqQ5HbfzDFJitDMMUYoAlxSgVmaGlAAkCjvjNKeTXlzd5N92ehFWSXZCHmoyQjBj2qGUMkn3GojJQA0yUKGf7ozQBbtd6x4fgZ4qxmhMGGcCsjxP4ktvDGiS39yQSPljjzy79hTEcN8P7y51mbUNd1KQGSZxGrHgDP8ACPyFdtivRw1vZ6dHqcNe/P6rQcIXPRGP4UxsLJ5bEB8Z298etbc8b2ur9jLkklezt3DFGKsRLQKzLNFJULiPeofGduecfSiR/wB4qD6mvIb/ADPSQuPWqt+3lxKfVgKT2AqmSk3E9KALUFkW+aTgelWtqhhGgx647Cj+kBI/3Pl7UwOCMijqBICGXNcj448Ax+MfLkN/NbyQqRGmA0fPcj+tMCPwz8PRpWnWcN/ePKYG83yovljL+p7nH4V1sjQWcLSyFIo0GWduAB9apSaVk7J7onlTd+q2Z5n4x+MKWxa08PKJW+610w4B/wBkd/rWr4Es7pdE/tDUpHlvb7EsjyHJ2/wj8j+tb4WN537IyxDtC3dnSYpMV6Jwkt8sktm6wSLFMynY5G7afpXkl3Y61qVyY7zVrkxkncN52kewBx+lediJuKWrSfQ76EVJvRO3Ut6zo0+p3Ed19rc3MUYRC3QADjGOhrofCGvz6bpPk61cyTXab9ryMWLDjA3f56VxKVzqcbGA/wAWdZtrly8CGLcdvm2xAx9Q2f0rc0P4lDxPKbae2t4XjXzN0UrENj/ZZRj86p/CQtzoZryKCJpZpFSNeSxPArk7z4iTC/UaMtkYUJ3SXT43n0AH86Fq7feGxq6Z8VbOWdLfVbY20zEKrwSCaMn8OR+VXbn4laFp9xLDJJcSzLkuIoSQvtk4FNiSuZU3xhtCT9i0i7nHrJIkf9TWx4Y8YxeIIpC8Is5g3+pMofH48UPa4Lsak3iTTbGyuJ7m6RI7Ztsp67T9PxqDTPG2ia7c/ZdMvBNMRu27COO55FF9ANHV9Zs9D097u+lEcSD8WPoBXhPjf4g6j4puWt4w9tYqflhBwW929aa19AMTw9aW93rlnDqEghtjMDIzdMelfREQR4lMJUxkfKV6Y9q7sK1Z9zkxKd12HbKPLrsucyRxsuuXeq25SOUKu8gPESpOPftWMblrWcLJueI/dmHI/E/1rw61R1Ja9NkevSgoR069TQVy6EoVbjiqsy3ZiO+GFXGNoEpIP47axNSgEvPNEF2trI0udqtKRkAc8bKbaaVGkpntbK383JV2W4ZcH0+7zVXttdE2vvZly4tLq8h8q5t4pIyeVN45H/oFVR4cjwB/Zdpjtm6f/wCJpKVurHy+SLFto2m7leK3iEqHBKMTtYe9OGmafcM8hgjkdnIdjzn1pOTGoortoMIkbytNsiueCzkE/wDjpp8FobWbZb2llE57JMQf/QafN5sXL5IfPo8l4jR3SoiH5iEkLZYdCQRin2tzc6FeR3S+XIkYwX+6Rn17VUZW03RMoX12Zj+JdQufEOprcXOr26LH/q4lOQtZc2keYd0uqQMQOpQZquZ9mRZdyGDRx5+WvbfAPH3Rmuy0XXLzw/A/2cG7gJ4QPuVfy71pTquDvYmcFNWbNmx+JFoqyfb4pyxclfLjXCr2H3ucetaVt4+0W4OPOkiP/TRMfrXbHFQe90zklhpLazRyMNxZ21v5K288aHPApIb3TbW0S2iSZUUbQCCePQ15soy6pps7ozj0asgtLnTbIsIXmVDzsIOF+lWDqliwO6duTkEjpUtd0ylLzRQ1KPS9TMZkvZImiyFaNtp5x/hViyfT9Ph8q3uiUzn5jk/nQ2rWBb3Lkd/bYybhT7U4X9sDj7SnHvU6FXZS8i3NvPHHqAjMzM+4EAqSe1Q6fNp+kWotZNTEzK2Q0jYNVvsTe2uyJW16yQEC+gbHvTtN8S6PaXsk1xHFdyOVKlwMIADkA571SjZ9/IHJNb2H3niawu7xpYpEgjzxGqggD65rOnbTjayQx3yqkyjOV3EHGOxH5UW12Fdd9jMtvDmhxXsdw140qoM+U0eVc+/tTNV8PWd/J5kV4kSseALfvgZ6DNac2mxHKu5WPgm23AW+qOwZQDut2Xn04zxnFT2ng9LEiSLWbm3nGdzRWz4Ht2zS5vIfL5mja2chB+33kF1nAz5Tow/HFOm0mFoSI7xAwPyoyEjHfnH9PWpv6jS80dK8cJGdwz9aiFvHnOBXqSVzzouwvkJnBVc/SnizQ/8ALMflXPKKNVJgbCIjmMflUf2C3brEpH+7kVm4ItSGtpdqRzBHj12CoG0mzbAMMeO3FR7MrmFGkWfCmEfhUM3hyykk3FXBPo5oVJBzsrt4QsHck+aPo/8A9aoz4K08E/vJP0P9Kr2fYnnI5PBViQQJZF/Af4VA3gi1B4nbp/cWj2TH7Qhk8GQAACZuneMCq0vhDYMpMufdf/r1SovuJ1UVz4WlLcNH9cH/ABqQeDLhjlZIPx3CmsPJ9SXWS6Cnwhfx/ceL8JmH9KP+Ea1ZD8s34i5Yf0p/Vp+TBYiPmd35eOgIoAJHBH511M50O29C4U47mnhQykBiT6BqxZqhwJTG4N9OtSrtY98+/Ws5eRcfMCgJzj2yKjaMZ64x6VCZTQ5VULyfxNIGRgR5gb2NUri0HeUj5GUcdhjpQzIBhlyvrkD+tUtfInReY37RbO2zcPTOajaKFXz5hI+uaaUkDcWRzRIVzge2BVaXYCBzitY/kZSsvmQmNQc5qSEAg7cH29K0iRIcSGGGcj2yKcANuA/Hck5NWQSzzKR8u/B6hRinIwAA+bH8qybNUSD/AH2A9MnFPDYXA5H51k0aIRkDMA0av6e1SCFduCij6VnJtFJJiGCI9ET64puVU4wc+oBqE2y7JApTdtXeD64OKcx6DJB9s1RIi5ZuCAMdQc0hWRELABiO3JNVdE2ZD+9UBinPcBj/AIUiXEj5DAoMd8mrsmTdr5jHBA+VcH1AzUTKyj69+laRsQ7kZXPynDe2KdHDGP8Alnj8K0RmxzBAOij0HSnxIsikMiqPUNVCHS28RxvJJ+tMEaRP8oOPUtmsWaIsIePf2pySgdT9NwrFo1TFNxs5YoR2waYssLO3mJHk9e+aVn0uO662BhCWyhUevz8flTiM/wCrOf8AgVRfv99i15fdcbmVcMUZiB0UgioJL64QkfZZAPUNVxSe1iJSa6MbHfSsQVtnXuS3FTfanYjfGoxxgfMavl8yObyHl02kLGcn/pkaYJJBn5MA+vGaSXdjv2RCbmYEqVXPs1NeUsvJXPrWkUlsQ5N76EQjycb2+meKsIDj1x6CtIoiV+o/eQvfHuKA/wAvYfhVkjC0gHVQfXFRkXDYO9GI6DFYNmthn+mZz8uP9lQamjmuVA/csffgVDsylddCdLhgp3oE79aie5lxhFWQexJqeW3Urm8vkVvt8gfbIoA/3CDVhJVxlCg+oNJx82ClforoZNdXce0pFGy/3gc5pq307H96kZB7KDQoIHN9kSf2gVOFXr2KkU7+1sAB1z9Oark8xe0EXU4n6RsD9KSd4WQFhz24zTUXHzE5KXkQOY9uMNjsNtIEj2/xfTbjNap+RnZdxu1edq7f6frT0hdlyJG/4C55ql9xLEMjxcBps/gc09LknO/cfZkH+NNaAOUTyjLsY19AaUzJHncWPrmsWro1TsC38J6tge4NONxBMAFc59FJrFprbU1Ti9HoD2sLJhmbHo3SmJZwA5Bj46dqqM7kygiVJkiB+YnPbPFMa9jfcFwSPek43dxqSSsNa7mUbvLVB7tSHUHWLcYmHtkHNCh5sXP5EB1p0TAtHx6g4/lU0OqQyLlrd93q4z+tVZ9G0LnXVCyXdw5/cBMf7uaga+uQwLxIT6gYqlHzZLl5KwNcs7ZljOT6UmYznkp+JFaIhjMRqM+ac/72aljDsR+/z9GqkTYk8uRTnex+rVIszIMfOSfamB//2apR82S5eSsDXLO2ZYzk+lJmM//Y/+0O2lBob3Rvc2hvcCAzLjAAOEJJTQPtClJlc29sdXRpb24AAAAAEABIAAAAAQACAEgAAAABAAI4QklNBA0YRlggR2xvYmFsIExpZ2h0aW5nIEFuZ2xlAAAAAAQAAAAeOEJJTQQZEkZYIEdsb2JhbCBBbHRpdHVkZQAAAAAEAAAAHjhCSU0D8wtQcmludCBGbGFncwAAAAkAAAAAAAAAAAEAOEJJTQQKDkNvcHlyaWdodCBGbGFnAAAAAAEAADhCSU0nEBRKYXBhbmVzZSBQcmludCBGbGFncwAAAAAKAAEAAAAAAAAAAjhCSU0D9RdDb2xvciBIYWxmdG9uZSBTZXR0aW5ncwAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gXQ29sb3IgVHJhbnNmZXIgU2V0dGluZ3MAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAZHdWlkZXMAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4NVVJMIG92ZXJyaWRlcwAAAAQAAAAAOEJJTQQaBlNsaWNlcwAAAAB3AAAABgAAAAAAAAAAAAAAWgAAAHgAAAALAG8AcABlAHIAYQBfAGgAbwB1AHMAZQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAeAAAAFoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOEJJTQQREUlDQyBVbnRhZ2dlZCBGbGFnAAAAAQEAOEJJTQQUF0xheWVyIElEIEdlbmVyYXRvciBCYXNlAAAABAAAAAE4QklNBAwVTmV3IFdpbmRvd3MgVGh1bWJuYWlsAAALLwAAAAEAAABwAAAAVAAAAVAAAG5AAAALEwAYAAH/2P/gABBKRklGAAECAQBIAEgAAP/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAFQAcAMBIgACEQEDEQH/3QAEAAf/xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AOmAU2VPf9ETHJSDURr7GCG6BaJJ6NMeKJzdpjwTahTMkkn5pnTGunx0SvZHdKKcoMDw0lrhIjXRRrrdZu1gjkHlX2yK2DwaPyKFjQ/nQ/vDlVvvGpsDzDY9nQUT5FoPBa6FGXcSiW1uY4h2s8HxTPrex217S13gdFZiYkDY2wGwTvo2an1VMiQh5F1VjdsSeyBCUICAu7KuM1VMITQiEJoT7WMNqbapwlCNqf/Q6sBTZW95hgkjUplZxPovI5JA+5Xck+GJLVhHikAiZjWCxu8DbMnVWbX+09/xTmAQO5/ImcNCfAKpPIZ1daNiEBG66snlrWD4D8iC53igesXAGeQITbydBr5JlrkhcJDiNxaQ4D4K48V31gO9zHag9xPcKqzGfAdZpOjWjklHawVAMBkfx5KVnTwVQa4wXk+54A7dynODW1pc63Y1oLnvdDWtaBue97ifaxjfpK0NeFx3+Md/1it6fX03peHc/DySPtmXUN8ydteJtq3W11bvfc9zP0v80pffyfvfgFnsw7Ovi5VGZQ3KxiXY9hd6NhEb2NcWNu2/mtt272fyEWFHpODlMxG0WUfZKMcMpxhbHqvrYxodfbSwv9H1Ld/p1P8A0npfzv6RR631PovQMcX9UyjW5wmrHrAddZH+ipn/AMEs2VKwM8BEXLWtdGA4ZWaGl90kJQhYN1uVh05N1P2Z17fUFBO5zGO91LbXQz9N6Wx9vt9n82jwpQbAPdjqi//R6D6xX9Qx+n+r0p9NWRuaHeqN52nT9CyW/pGrnas3602YRZZ1U15DrRcLamBpDWtLPs3t/wAE/wDnLPalaMzJqpdl0323k7R7txpDnH9J6jj9Gpuz6KakZlVjab632jtkMaQyR+bcyT6Lv/An/mJZcspHSxFOPGIjWiXSwfrP1LG6Re/qbftnWatwoZWw7Lmy30f5oNbvb+k9T+bVKr/GcW2DG6p0v7K+0hm8Pe0N3e3dtsbY13P76Fdhm1hrc/IIJgu0a4T+axzam+z+V/4IqdJtN/2V1GW2qpz2G+xrHVbBP2d9T3U/ztm36DvoKMSOui4xHd62/qfT8PGORk5NdWPUIdYXAzHthjQdz3Pj2LGx/wDGNg02usdjUuxjGwjIAytv77qXsON7/wDRttVduIwmRZYSNTLav/edK2Mf03tNl++xtRa4MhrX+19x9Khrv0aQl4JMPF23/wCMD6tsZRkOdkuGRW6yqsVDeGjcLH2TZsb/ADbm/SVGz/Gf0h5Apw7yyRNll1LC3X6fpNdY93/FrPx8pt2TkUV1PaKNgNjmQHEn3Gt30XMYpWFja33C+6QC8MYWdtdjG+kXJcfgrg8Xrx1/o7Ayx+ZWGW1WXNM/mVAWW7o+g/Z9Gt300uk/WPpfV7jX019zrGNFjvUpfUdjtGmsv/nNzv3Fy13S3041Vue4ltx/mTZVc2RB22Nqr/N3LPtycnp4fZgMymWAij7NW4hz2Wbv0mM/32VtRBO1I4eoL0H1w+u/7GZZhdJr+09Qb7brtu6nGJ/NsI9luV/wX0Kv8KvOul+n1P6wY9vX8hxquuD8vJvl5cGje2l+jttdzw2r9yqtWG4+O3Edl2dKvrq3loabbd5MbnvcyPo7js9T8+z/AItV2ZWDW8XO6blBp9zQXOLYafcR6gc16cCQQaWEWKt9iIL/AHghweNwc2C0g67mub7dqbYV5vifWTIxqaqsa+7Bqa8PrxcmpzWF8+r7bqf55tn+Eru9Nlq1/wDnn1+gzk4+PY0Qfax7ZB/PZayx9StDmY9QQ1zy8uhBf//SC/pmKPoOIJ7Ne7+9MOnVNH85aB4ixytuDWHbMHwCeAAZPPYj+KsSxw/dH2NeM5dz9rXHTTGl14/tlI4FjSP1rI8hvn8FbDARMRroSf4Byk3cCQWkjsY5CiOOPYMgnLuWj9iuDdMy6PEkEf8AUqIx8sGRnWgdx7T/AN9WkS3ktOneFGAHTB1TeCPZdxy7uZkYXUrdhZ1S1gHGgjy42qpZ0jrTy6OruI7BzT+UPW+Tydp2nvIj/NTzXzHuHiATHyThCKDOXd5odE6wyNnUmeGrXAfDlMenfWMBv+UK3bRDY3cf5hXSOuLCP0YduMl2g/6MlRc2ppLgzbPYnUf2DuR9sI9yXd5l+P8AWVp3DMa4wRydPL3M9qGLPrQ1wAu3RwHODm/9L81dHZsk7WwSBogOaOQ2T3AMpwwx8VpzScYH63kfzm4Dgeo0/wDVOSFv1tYI2jaeRLII/lAXLcZu2CA4eIOhUgNCdr4/OiSnfd4eP4f96t+8T8H/05PZkB28OboPzi7/AL6p1OJEz8Cf9qC4vBEPY13jAJj71HZlfmPZH9Uz+VWZFrC240tPmR2EGfkkHMaQBo4nUOEx+IVXfcwAWmrXncQD9wCT8qn6IDNwGo2kg/cmEWuum4TYCI2OB8AZ/wCqc1DLniR7te7SQNP5YZ7VUD73O2iljmd/T0Mf5zXf9FGDrhpWAHRoHgx83Nc5NqlwNsn5uMyA+yHd9Hc+b9j0qs3FfoHbxoZa0kT/AJqGLuonSxrXDuGz/wBUXKX2jJA1phvYOg/IJwH8rWkn+QZzjuJdIYXcgkA6eA9Ru1QYamglu93jALv836X/AFSTb8h3/aQx5QP+qTWixxaHVWb+4B0H4ohHl+SxdU7hrpI5cDz/AGoQvdOjRH3H7lElu73bh81DfXJDXAHydJ/KpAsJbQIiCSPiRP4p2BocXAy7xMfwQCS0Ai+Y/N3NEfDcFJj73HVu8eHt/wC+7U+1r//UGz0tvs/nO+6N0/20x+3bvZt2x7d0fjuXl6SsS2aw3/g+qV/bJHq7Nvlz89ym7kT6cfPn+wvKElGN/wDvWQ7f98+rH7Rr6e3nSP8AzJB/WIHr7v8Arcx5bvzti8vSTvs/7pb9v7H039N6b9vq+XO3+xv/ADkAftLc3Z9q/wCjt+Xqe1ecpIlH2vp1vrbB9t3bZ1mN3/R/QquPT3D0/V2eUxH/AFK85STo/RbL6/V9Lb638rbP50Qmd6kGfS51mV5qknrX0+v0tv5v9nd/FPp+bO3vG3/0Z7l5ekih/9kAOEJJTQQhGlZlcnNpb24gY29tcGF0aWJpbGl0eSBpbmZvAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAANgAuADAAAAABADhCSU0EBgxKUEVHIFF1YWxpdHkAAAAAB//+AAAAAQEA/+4ADkFkb2JlAGSAAAAAAf/bAIQAFBERGhIaKRgYKTMnICczJxwcHBwnIhcXFxcXIhEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEVGhohHSEiGBgiFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAWgB4AwEiAAIRAQMRAf/dAAQACP/EARsAAAMBAQEBAQEBAQEAAAAAAAEAAgMEBQYHCAkKCwEBAQEBAQEBAQEBAQEAAAAAAAECAwQFBgcICQoLEAACAgEDAgMEBwYDAwYCATUBAAIRAyESMQRBUSITYXEygZGxQqEF0cEU8FIjcjNi4YLxQzSSorIV0lMkc8JjBoOT4vKjRFRkJTVFFiZ0NlVls4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9hEAAgIABQEGBgEDAQMFAwYvAAERAiEDMUESUWFxgZEiEzLwobEEwdHh8UJSI2JyFJIzgkMkorI0U0Rjc8LSg5OjVOLyBRUlBhYmNWRFVTZ0ZbOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hv/aAAwDAQACEQMRAD8A9dIiTwoDYJi+o85BjSGibVoDGMjqFN3RdsOgbIvl5O8M6Kso5pRIYt2yRPycqd1cow8CoanV33gPMrWpCcFZCJcOdNIaiApFNUtNITSppUD/0PaSrpiGtvpbhScEpcGdF32gCmigvG1pOqrAwAAQSyZVoxucGiyWsVAEON3w6RgQbUgGTF3j9DIwyL0WrtXaRjijlnD04mUiAByw+L1f4kOt6uOCEqwYzuyS+zOWP/31ifcx/wA2InEGiLelbTqZtWNCVay7cETPJIRiO8izCQnESHBFu009DDTQqmlaQ//R9bqs8elh6kgSP8IeDH+MmUZShilYraJfbXP1ks8KiAI9/wDE82OYlpwfB1a+yJWu7PV6L8Tj1tjaYGHxCTcfxXpJGvUA/qEovjysWQDfjfxPBLpISu47SNfJJ5ybg+p9SMyZRIMTwQ55epxYK9WQjfD5GCWXBAQjZA/i2f8AbcJdNOUjMynuPe4KRB9Thy4px3YpCQ8Ync2ckMY88gP6jtfk49NGN5BM2QYk2xL8Ph2s1/T/AO/VIg+rx9RjykjHKMq/gludgbflMEJdLLdCwT7YNZo5swAlI7QTLbu/i/8AKmFSIPo/2TD6nqbI7/4trxfif4xi/Dxt+LKeIfw/+PfNH4hk6bp/Rx0JjieSXwx/9+PiT6eWQ7pGJJ5lu+JskOnpZZvxjqonMbjHzyj9iMY/7v8A8yP1z8b0ccvTz3wkIn2S+J9+P4vGNDLEg/bl/wDAnrSyRztVs9OleWH4n009BOv6gVevJdTnxZ//0sSCAImAoeBWRMzZhqOPM9BJPKu3RGFdmXqS7wP0uOSEMkt08crHte0Jq3PE1yOYZa+zJP7QB9mX0PTtZMXPEvI4JjHKO0idXu0QevgNdsg+iIrsbxHI82H4nCE9+3cRp5wjJ+JY8hJmDR+yH0vT91olgHgD8m8ScjxcuTps/wAYkaG0fv6TOWXTZQBUogaAD/40+ueniR8I+hyl00DzEfQ3iycjyPR6Q95gfv8A+UnaEsGPSE5iP8JO+P8A7rez9kx3rEN/smH+FvBk5o5Tl6aX2iFen9ixfw/eVXtsvNH/06J1oNA+DBjE9liaezOKNBomrLIl4JJLk0VXtQdGdDoQgHwclLGq34MkS7EfNz/mX2+9pDY252Y66tDepvwpoBd6uZtJmfH7mTO3SMsFW1TAIDYmPEOkZDEX3VIKtB//1J0lwLX04ns19l55c93qzkb+mBxakyHA+lxj/qeg/P5MGBnsMvY3t2jU2svm49+6YRcowJ5+9aA03UiXbhwyc9vmgdIG74ZLu2nWX3PHj57fJ6u3b/V8TQEzB+0iz73Lx4SP3pqMlX4hom+AQx37uw4/N0QmMfaqnnsqB//Z" begin="1s;imageHrefSet.end+1s" dur="1s"/>
+        </image>
+        <text y="60" text-anchor="middle">&lt;image&gt;</text>
+      </g>
+
+      <g transform="translate(420,90)">
+        <defs>
+          <text id="useA">Use A</text>
+          <text id="useB">Use B</text>
+          <text id="useC">Use C</text>
+        </defs>
+
+        <use xlink:href="#useA" font-size="30" fill="rgb(230,230,230)" text-anchor="middle" stroke="rgb(255,180,0)" font-weight="bold">
+          <set id="useSet" attributeName="xlink:href" to="#useB" begin="0s;useSet.end+1s" dur="1s"/>
+        </use>
+
+        <text y="60" text-anchor="middle">&lt;use&gt;</text>
+      </g>
+
+      <g transform="translate(60,210)">
+        <text text-anchor="middle" font-size="20" y="10">&lt;animate&gt;</text>
+      </g>
+
+      <g transform="translate(180,210)">
+        <a xlink:href="animate-elem-09-t.svg" text-anchor="middle" font-size="30">
+          <circle r="30" fill="rgb(230,230,230)" stroke="rgb(255,180,0)"/>
+          <text id="initialAnchor2" y="10" fill="gray" font-weight="bold">09</text>
+          <text id="anchor1sto2s2" y="10" display="none" fill="gray" font-weight="bold">03</text>
+          <set id="hideInitial2" xlink:href="#initialAnchor2" attributeName="display" to="none" begin="1s;showAnchor2.end+1s" dur="1s"/>
+          <set id="showAnchor2" xlink:href="#anchor1sto2s2" attributeName="display" to="inline" begin="1s;showAnchor2.end+1s" dur="1s"/>
+          <animate attributeName="xlink:href" from="animate-elem-09-t.svg" to="animate-elem-03-t.svg" begin="0s;showAnchor2.end" dur="2s"/>
+        </a>
+        <text y="60" text-anchor="middle">&lt;a&gt;</text>
+      </g>
+
+      <g transform="translate(300,210)">
+        <image x="-30" y="-30" width="60" height="60" xlink:href="data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAPADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwCeSMqeDUDsy1YkPzHNRMFYcVZkQiQ0MA9IyEdKi3EGmBNGm1s4qfft4xUUL+tPlyTmkApYOORUDwgnNSbyKazmgCExBKjZgOKfIfeqsmexpgS5pjPimKSOvShsUAO3UhamZwaM0XAUtTC1ISaYxxQIcZKUMDVctQJMUwLOQBUbPUfm571Gz0ASmT1pPMqAvTd+eKALHmVJG/FU2bpU8bDbQIsb6XfkVXLUm+gCcmmlqhLn1qNpTQBK0mKhaQ1E0hNRlz60DPdL3wtZSJuhY7vTFc3PogiLjBG2vR2RSN2eTVeS0jlydoyaxUjSx5dLYsoJ/Kqb2slej6h4YF1h4GEZA+7jrWHL4WvwTiLOKrmQrHGEMnFKrO3Hauqk8Iakwz5OfxqhPoF5bMVeI5HpT5kKzMXGDTTkGrU1u6HlGGPaoSuTRcLEDsfTNVmOauPGeMVXMYGRRcdiNVLew9aQxndjmpFyv0p/BpXHYrMpHQcUzNWG7iq7DFFxWGsaiZqcTUT5qrisNLU0tUbEimbzRcViQsRTC5phehW5p3AC5HXikZu4NIzgnBqMnkgdKLiLAk+TFPWYYxVUA460hYgUXAuebR5lVN+B1o83FMCyZKjZ6rmamGagCdnpuc1B5tAlFAH0/DMjBdzLgjPXn8qs74UVT5sY3HjkcmvNzeloEAY7lGDk1SmuZe7H86x5DTmPWTIoH31Xd709rmOEfPnIHXHBryOLUp04ErD8a0f+EguZLI27uSOxPUUuRhzHdNqINwGS4/dsfmTris3U5YZpd0Qf8TXCNfyq4becjvmtXT9euFYKyLKvcMKfLYL3NJ0Vuqg/UVUl063kB/dKCe4FaLSxTqGjj2e2c0wKaZOqOautJ8rkDcp71Rl0wldwGBXaiHdxjNB01JBgp+VJstHnxsip6UGzbGQK71PDTSyYjbI9CtWo/Bs2QCY+ffpWUp9jWMU9zzNrZh1FV5bc+len3PgmfaTHtY+max7vwffopb7MxUegzS9o1uh+zXRnnrxY7VA0ZrqLzSJYAd0bD6isO4gKk8VaqJkODRmOBUDAVPMCCaquSK0TIcRrtUXmEUrZNRsrelO5NhTIKXzRVdgRTc+tO4rFrzeKjL5qEvSZOKdwJGkqNpsVE7EVCz0XETtNTDNVctSUXAsed70omqtS5ouB699q96YbgNxmszz885qNpiG4oEavmDGKYZSOhrPFz60puPemBdMmTyc1agvFj6dayPPFAm9DSsO508GrumMYrWj1qMoPlG761wq3BHep1uXxwamw7neW2uxo+JVA9CBWzbatp/mI0rAq3pxivMFuXPerEVy4P3qhwRopntdv9nkUSQFGB6FTmpq8r0jV57KdSrttyMgHrXo1jdG8jSVJAUI5XPIqb8ulh2vqXqKKK0IK13p9texGOeFWB74rz/WvAUxkZrRQ6H07V6GblN5VQWI64oS6jZyhO1h2asZKDejszaLmlqtDwe/8K3UDHK9KxpdIdPvDFfQ89vpVxIwljgZ26lh1rnPEPha3kjBtLYAgc44FTzOO+pVlLbQ8Re0EYORUOwHjbXa3+gyRKzPGVA9a564tthIxWsZpmUoNGHLb9TVKSMrWvMhFUpVPpV3IsZxHNDNxgVM6e1QslVcViJue9QsKsFKQx0CKpBpOlWNpz0o8lmHAoAr5pc1aSwlkPCE1bTRbggfu2NAHSp5i9cUrPgVrLaof+WfNVZbdQ+Gjz9KLisUPMphmwetbUGjwzpyShP6VI3hZGK4vVBPXK8CjmHYwhL707z/Q1sf8IlL2vIf1qGfwrfQjKFZe/wAtHMg5WUllyKk+0EVHJp97CcNA59wM1CySg4KMCPUUXFYti4NWIrk+tZYdl68VNHLzSKSN22uG3A5NdVomoXNtKkiSlVzyPauDTUbO3dUnuIo3borMBWlb6/ZRswe6jTYdp3naM/j1rOSNIux7jbXcN1CssbDB7Z5FNmvIolO7dxxxXkUHj3R4ZAqagnTqARz7cVcX4j2Hli6e4nVNwQ74zjnufb3qOaTHZI6++8SPBKwFsEHYkdaxG1xjKXEh3H3qvfeIbR0Y3N5aokgyod1H5Vz8txalfNW6iCZxneMZ+tNRT3DmZ0iX09zOziXGBkjPXFMn8S3suY2mfaOwNYEN5H9n81Z9iMSqsT9/tx696jaRVjaRpokUfeZnAA+pp8qFzM15tSMibZlDg1hXllBMxKOR7EVTk1/ToLe3nnvEWKckIxz261W/4S/SI7l4ZZoNgAKSiQMH9RgdOtJRS2G5t7kVzp7rkqcismaFgeRVi/8AG2kxyokLGQM2GZBwo/GsmfxjZeaQsO+PnnJB/LFWibkjRjPSm/Zy3RKx7vxfv/49rNU93Oaz/wDhJb8H/WAY6YGP/wBdMR1JsWxnbUJtD3WufXxRqHmFy6MD/wAs9vA/rW1Z6/ZXD26zy+SZGKvu6JgdSfQ07isXYNOMhHyHHsK0Y9EUn5GGR2NVrvxxpljA0dknnuhATPCsPXNUJfiOxjBjsU3kDq5wD34x+XNK7DlOqs7VYX+WBSR61PPkj5uPYVwM3xB1F5SYre2jQjAUqTj3zmqM/jDUpY8C4KsR8xCjg+3FGo7HrEdwv8P61YWQ9SBiqxhsIb6Kza4HnSqXUYPQf5P5VOwsbS3upLq+j/dhmVN4U4Azjmi6JsyQsxG8Y/OpIZ3m+R+Rn1xWZL4j8O2OjRXpvIp7hkVvsqSqzKSOh+nes/V/iBolvGz6ZEk86kY3h1B9ccUuYq1jsF+zFcbXVvXORWhZ2M0jYWQFOxzkV4tffEzV5XkFvHaxIRhWER3D82IqhbfEbxLbyB/t4YLkhWiXH6CpalbQtNX1PdNQENusrzybNoJztyDxxyB3rhNV8ZaRbQuFheWUj5DjaD/X9K8y1PxLrGsuTf6hcTqWLbHc7R9F6CqcZ3OM80JNIXU6q/8AFl1dogtI1typyzcNn25FZ8muapLuzd4yMfKij+QrP59KQjHWldhYa13dCYyNK5cnO7POfrSG4dslmJJPNRuwZT7VEHFVuIs+aaa0p5wTUYYnpSEHqQaVhjjKcdaDM5Xbk49M1F1oyfSmIe0zkAFiQowAT0pnmtyAxApDyM0zApgP3EjqaazcUH5elNJoAaTSFqDSUwDdTaO9GOKAD+VGaM8YpKYDqKTPvRmgB2SKaTRSHpQBoTXt5cyB57mZ2HG53JxVfcWbG+vRZNNsZUAkt0K/e+YHrVc6JpbAf6Ehz0IyKCbnCKuO5p231JruP7E0zBzbJgdfmPH601tE00/dthn/AHm/xoC5xDKvZj75FRHA9PrXbNomnA8W5HH981EdD05j/qj/AN/DQHMccM+9WrZgDgjntXS/2Dp/aJ/++zR/YtiuMI4P+8c0mrjUjDLtjOOKjZmP0rffTbNE+VXJ9N1EWkW03WORT7sKiw7nMOdoNMT5m7j1rso/C1vO3MjAZwMHOa1NP+HtvdsoW5I3gENjIpOpGO5ShJ7I4IMMYHFLgHAzz3r1uL4P2rKS2pENzgbCMn8cUyb4VWEPJ1FiMfeGCM/gay9tDuaeyn2PI5UAwV/Koeetel3ngPT4CQL0kYz82Af51jSeGLJM7Jy2O/StI1IshwaONPTJBNIsbsM4OK6d9AgDEZOKfBpVtBuDJnjjJq29NCDlXBXr+lM2n0rop9KtyxIX9TVc6dAvGz9apCuYRBHem4OO9bhsYP7lJ9hg/uUxcyMPn0o/A1tmxg/ufrQbKD+5QHMjEo4rZNjAf4f1phsYM48tvrziiwcyMmjFaxsIB/AfzNJ9jgH8P60BzIyiDTTxWr9lhx939aabWEn7v60D5jvPMLEDG9c5xtzj9aTMxxtBAPXA5FM2yDlZuOmM/wCAoInONzp7k5oIHNCXGGyfrzmkEW1cjP600RlckTAnPJ3daBIATudyTwOn5Uhjdw28cj1I61EzEMdx2jvyP6VO7K+FLLnPQn/Cojhckuvt83+NMGG3IGORjseRSFycLhgcYwf/AK1ROA+0CQY7ndmkjXYpETqc9BvJoET5kw3G/wCnaiPerYZl+h7fz/lUexmxtbkcnDEf0qaBXbA37SOSwPbtUsuJqWkjAKfMKg84GP8AP4V1ulWaTywsty5c/KcFuM9+D6etc5a217wIIl8tgAXYYAPXrg811NgbuO3dN0yuDx5TBR9STnofpXFVZ2U0bB2WiYNxwPk+8VCe5Bb+Z/KoiFETPayo8GfnbBIB6HgY7nr7VqCO4FlHI9vdGfaN0v2mNdgz6nGB+tU5hIYpJWjicsBmVJ0JI5Gdy/1zWFja5yuphoJn2Mp3ccRcj3weT/8AXrmr53OCeVJI5Qiuk1SCJpI/LkuEduVEeBz6bsA/l+NYFzatuSNRIqYyD5mc++StdFMwmY0yvkHcB6Z//VVNzKe5/E1eeHaXkEko74ZVOPpxVNuR8+T6/d/pXTE52VmLHrx7VBLnGc1LhS3Q4HrUUuMVojNkJJ9qQUE+lMzVEj80mabnPWjpmgBSaaaM5ppNAgJzTSaMnv8ApSE5NAxpNITRznGePpTT9f0pDOzbMeAsasPRmP8AQUfIGy6rgnquT/SociRM4IHokf8A9fNIpAHLOQOMYyKBFjY3O1VK+7Y/pQ3AIXH54FQiT5QAsjHrkjA/PFMkuiv3lAXPJYhR+HNAyUgqcEoAenem+WVbkHb7etVJJlL7oU3Hvtbr/jTPtJ3/ALxYoh6SOOfwoAszADHyhCOhxz/OkDcA/Mw75O0f41Cwt8h2iXI7quf5ZpAIw29Rj6gj+dAizh8kpGioT134P8quRxr5gaUEHHeXkj6nOD+FUgQcKY5H3cDbz/WrFu6RzbzPiRzjPlud3PJzzUSZpFHR6YJkkUQmZiOTHK4YBe/GMEf5wa6PT3AKpZt5sSNmRZAYmP4bea57TL6ztrp0ku/MRR8ojtmBDY/hIHXjk961LTxH5kbwqr+dsJDNHODuIP8AdHPOeCMVxTu+h2waXU68HUtryWpgYAYEUriTH0GAV+gqtcNqgjUmxtwSoD+XO6que5AQ/wBPxzWJNaC809mkURLt2YH2iLJ654znp3B7UQ2MMcI8vUb6SVU2BopC8n4EqD9M/wD1qyt3LK+qWstxGy3V3LK2MILd3Axkcnt2/KuYntoLJWtpLRmIO4FQWJP/AAIjity60+aMSKL67kBUbkkk3BjjPIMTZrMe2t1sWRJn3sG2iNN/Ab/cAwORnA5raDsZS1OflmkjY7rCTG3gJEmMe/P9apySg5PksMdeB1/CtKZGA8pzJweoTB/+vxWPKjHAjkuGDD1PP6V1ROaRFLIoJAjYc1Wdtx5B/GpHDA4eTOfUkf0qBgAfvc/jWqMmITjtgUzdz1FKSfqKYeRnFMQ7PNJmm5Pekz6/yoAcTSHmkzSZoAX6HFN6Um8HvmgmgAJPpSA0lJuOSMEUhnWpAVJCJEM8Z2AfyFVrm3cxly21ccgMeg+mKKKCRY4IvKDCNSo7Hn+eaHRbcFhCgwMkK2Pb0oooGRP5QI326sTwPnNMVLUSErbjOeh6UUUATIsTqc7wM9AelBgiWNmCbgP7x70UUDKwlt4jkxFivJJAresLkTW8twYd4jXP+sKHrjsD/k0UVEldGkXZ6F2yne5PlLugDjARX3pgezDg/nXX2HzXS2gjEkhUOqySMI24z8w57e1FFcdXex1U9rl+GDVFcNZQWUEkxJVvPkA465CBc9B61japp3jGBWVNbtTF5WXzH82D77ST+dFFTFJMJSdjBNvrJuUtry7t7kQLkFlIPQnGRjP3epqp9g1YiW6E1pDHCmfLi34OTjr17+tFFboybdzHv7y/uLl55JUl52AtuXgcDgHFZpkmkXcywj5scKT/ADooreKVjCTdyCVmJwZGAPZQAKYVZcKDRRVEkbsQeSSTTCc8UUVQCZpM0UUgAg/hTM0UUxDHlCEAg0gmDHABoopFBvyO9LuJoooEf//Z">
+          <animate attributeName="xlink:href" id="imageHrefAnimate" begin="1s;imageHrefAnimate.end" dur="2s" to="data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAPADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwCeSMqeDUDsy1YkPzHNRMFYcVZkQiQ0MA9IyEdKi3EGmBNGm1s4qfft4xUUL+tPlyTmkApYOORUDwgnNSbyKazmgCExBKjZgOKfIfeqsmexpgS5pjPimKSOvShsUAO3UhamZwaM0XAUtTC1ISaYxxQIcZKUMDVctQJMUwLOQBUbPUfm571Gz0ASmT1pPMqAvTd+eKALHmVJG/FU2bpU8bDbQIsb6XfkVXLUm+gCcmmlqhLn1qNpTQBK0mKhaQ1E0hNRlz60DPdL3wtZSJuhY7vTFc3PogiLjBG2vR2RSN2eTVeS0jlydoyaxUjSx5dLYsoJ/Kqb2slej6h4YF1h4GEZA+7jrWHL4WvwTiLOKrmQrHGEMnFKrO3Hauqk8Iakwz5OfxqhPoF5bMVeI5HpT5kKzMXGDTTkGrU1u6HlGGPaoSuTRcLEDsfTNVmOauPGeMVXMYGRRcdiNVLew9aQxndjmpFyv0p/BpXHYrMpHQcUzNWG7iq7DFFxWGsaiZqcTUT5qrisNLU0tUbEimbzRcViQsRTC5phehW5p3AC5HXikZu4NIzgnBqMnkgdKLiLAk+TFPWYYxVUA460hYgUXAuebR5lVN+B1o83FMCyZKjZ6rmamGagCdnpuc1B5tAlFAH0/DMjBdzLgjPXn8qs74UVT5sY3HjkcmvNzeloEAY7lGDk1SmuZe7H86x5DTmPWTIoH31Xd709rmOEfPnIHXHBryOLUp04ErD8a0f+EguZLI27uSOxPUUuRhzHdNqINwGS4/dsfmTris3U5YZpd0Qf8TXCNfyq4becjvmtXT9euFYKyLKvcMKfLYL3NJ0Vuqg/UVUl063kB/dKCe4FaLSxTqGjj2e2c0wKaZOqOautJ8rkDcp71Rl0wldwGBXaiHdxjNB01JBgp+VJstHnxsip6UGzbGQK71PDTSyYjbI9CtWo/Bs2QCY+ffpWUp9jWMU9zzNrZh1FV5bc+len3PgmfaTHtY+max7vwffopb7MxUegzS9o1uh+zXRnnrxY7VA0ZrqLzSJYAd0bD6isO4gKk8VaqJkODRmOBUDAVPMCCaquSK0TIcRrtUXmEUrZNRsrelO5NhTIKXzRVdgRTc+tO4rFrzeKjL5qEvSZOKdwJGkqNpsVE7EVCz0XETtNTDNVctSUXAsed70omqtS5ouB699q96YbgNxmszz885qNpiG4oEavmDGKYZSOhrPFz60puPemBdMmTyc1agvFj6dayPPFAm9DSsO508GrumMYrWj1qMoPlG761wq3BHep1uXxwamw7neW2uxo+JVA9CBWzbatp/mI0rAq3pxivMFuXPerEVy4P3qhwRopntdv9nkUSQFGB6FTmpq8r0jV57KdSrttyMgHrXo1jdG8jSVJAUI5XPIqb8ulh2vqXqKKK0IK13p9texGOeFWB74rz/WvAUxkZrRQ6H07V6GblN5VQWI64oS6jZyhO1h2asZKDejszaLmlqtDwe/8K3UDHK9KxpdIdPvDFfQ89vpVxIwljgZ26lh1rnPEPha3kjBtLYAgc44FTzOO+pVlLbQ8Re0EYORUOwHjbXa3+gyRKzPGVA9a564tthIxWsZpmUoNGHLb9TVKSMrWvMhFUpVPpV3IsZxHNDNxgVM6e1QslVcViJue9QsKsFKQx0CKpBpOlWNpz0o8lmHAoAr5pc1aSwlkPCE1bTRbggfu2NAHSp5i9cUrPgVrLaof+WfNVZbdQ+Gjz9KLisUPMphmwetbUGjwzpyShP6VI3hZGK4vVBPXK8CjmHYwhL707z/Q1sf8IlL2vIf1qGfwrfQjKFZe/wAtHMg5WUllyKk+0EVHJp97CcNA59wM1CySg4KMCPUUXFYti4NWIrk+tZYdl68VNHLzSKSN22uG3A5NdVomoXNtKkiSlVzyPauDTUbO3dUnuIo3borMBWlb6/ZRswe6jTYdp3naM/j1rOSNIux7jbXcN1CssbDB7Z5FNmvIolO7dxxxXkUHj3R4ZAqagnTqARz7cVcX4j2Hli6e4nVNwQ74zjnufb3qOaTHZI6++8SPBKwFsEHYkdaxG1xjKXEh3H3qvfeIbR0Y3N5aokgyod1H5Vz8txalfNW6iCZxneMZ+tNRT3DmZ0iX09zOziXGBkjPXFMn8S3suY2mfaOwNYEN5H9n81Z9iMSqsT9/tx696jaRVjaRpokUfeZnAA+pp8qFzM15tSMibZlDg1hXllBMxKOR7EVTk1/ToLe3nnvEWKckIxz261W/4S/SI7l4ZZoNgAKSiQMH9RgdOtJRS2G5t7kVzp7rkqcismaFgeRVi/8AG2kxyokLGQM2GZBwo/GsmfxjZeaQsO+PnnJB/LFWibkjRjPSm/Zy3RKx7vxfv/49rNU93Oaz/wDhJb8H/WAY6YGP/wBdMR1JsWxnbUJtD3WufXxRqHmFy6MD/wAs9vA/rW1Z6/ZXD26zy+SZGKvu6JgdSfQ07isXYNOMhHyHHsK0Y9EUn5GGR2NVrvxxpljA0dknnuhATPCsPXNUJfiOxjBjsU3kDq5wD34x+XNK7DlOqs7VYX+WBSR61PPkj5uPYVwM3xB1F5SYre2jQjAUqTj3zmqM/jDUpY8C4KsR8xCjg+3FGo7HrEdwv8P61YWQ9SBiqxhsIb6Kza4HnSqXUYPQf5P5VOwsbS3upLq+j/dhmVN4U4Azjmi6JsyQsxG8Y/OpIZ3m+R+Rn1xWZL4j8O2OjRXpvIp7hkVvsqSqzKSOh+nes/V/iBolvGz6ZEk86kY3h1B9ccUuYq1jsF+zFcbXVvXORWhZ2M0jYWQFOxzkV4tffEzV5XkFvHaxIRhWER3D82IqhbfEbxLbyB/t4YLkhWiXH6CpalbQtNX1PdNQENusrzybNoJztyDxxyB3rhNV8ZaRbQuFheWUj5DjaD/X9K8y1PxLrGsuTf6hcTqWLbHc7R9F6CqcZ3OM80JNIXU6q/8AFl1dogtI1typyzcNn25FZ8muapLuzd4yMfKij+QrP59KQjHWldhYa13dCYyNK5cnO7POfrSG4dslmJJPNRuwZT7VEHFVuIs+aaa0p5wTUYYnpSEHqQaVhjjKcdaDM5Xbk49M1F1oyfSmIe0zkAFiQowAT0pnmtyAxApDyM0zApgP3EjqaazcUH5elNJoAaTSFqDSUwDdTaO9GOKAD+VGaM8YpKYDqKTPvRmgB2SKaTRSHpQBoTXt5cyB57mZ2HG53JxVfcWbG+vRZNNsZUAkt0K/e+YHrVc6JpbAf6Ehz0IyKCbnCKuO5p231JruP7E0zBzbJgdfmPH601tE00/dthn/AHm/xoC5xDKvZj75FRHA9PrXbNomnA8W5HH981EdD05j/qj/AN/DQHMccM+9WrZgDgjntXS/2Dp/aJ/++zR/YtiuMI4P+8c0mrjUjDLtjOOKjZmP0rffTbNE+VXJ9N1EWkW03WORT7sKiw7nMOdoNMT5m7j1rso/C1vO3MjAZwMHOa1NP+HtvdsoW5I3gENjIpOpGO5ShJ7I4IMMYHFLgHAzz3r1uL4P2rKS2pENzgbCMn8cUyb4VWEPJ1FiMfeGCM/gay9tDuaeyn2PI5UAwV/Koeetel3ngPT4CQL0kYz82Af51jSeGLJM7Jy2O/StI1IshwaONPTJBNIsbsM4OK6d9AgDEZOKfBpVtBuDJnjjJq29NCDlXBXr+lM2n0rop9KtyxIX9TVc6dAvGz9apCuYRBHem4OO9bhsYP7lJ9hg/uUxcyMPn0o/A1tmxg/ufrQbKD+5QHMjEo4rZNjAf4f1phsYM48tvrziiwcyMmjFaxsIB/AfzNJ9jgH8P60BzIyiDTTxWr9lhx939aabWEn7v60D5jvPMLEDG9c5xtzj9aTMxxtBAPXA5FM2yDlZuOmM/wCAoInONzp7k5oIHNCXGGyfrzmkEW1cjP600RlckTAnPJ3daBIATudyTwOn5Uhjdw28cj1I61EzEMdx2jvyP6VO7K+FLLnPQn/Cojhckuvt83+NMGG3IGORjseRSFycLhgcYwf/AK1ROA+0CQY7ndmkjXYpETqc9BvJoET5kw3G/wCnaiPerYZl+h7fz/lUexmxtbkcnDEf0qaBXbA37SOSwPbtUsuJqWkjAKfMKg84GP8AP4V1ulWaTywsty5c/KcFuM9+D6etc5a217wIIl8tgAXYYAPXrg811NgbuO3dN0yuDx5TBR9STnofpXFVZ2U0bB2WiYNxwPk+8VCe5Bb+Z/KoiFETPayo8GfnbBIB6HgY7nr7VqCO4FlHI9vdGfaN0v2mNdgz6nGB+tU5hIYpJWjicsBmVJ0JI5Gdy/1zWFja5yuphoJn2Mp3ccRcj3weT/8AXrmr53OCeVJI5Qiuk1SCJpI/LkuEduVEeBz6bsA/l+NYFzatuSNRIqYyD5mc++StdFMwmY0yvkHcB6Z//VVNzKe5/E1eeHaXkEko74ZVOPpxVNuR8+T6/d/pXTE52VmLHrx7VBLnGc1LhS3Q4HrUUuMVojNkJJ9qQUE+lMzVEj80mabnPWjpmgBSaaaM5ppNAgJzTSaMnv8ApSE5NAxpNITRznGePpTT9f0pDOzbMeAsasPRmP8AQUfIGy6rgnquT/SociRM4IHokf8A9fNIpAHLOQOMYyKBFjY3O1VK+7Y/pQ3AIXH54FQiT5QAsjHrkjA/PFMkuiv3lAXPJYhR+HNAyUgqcEoAenem+WVbkHb7etVJJlL7oU3Hvtbr/jTPtJ3/ALxYoh6SOOfwoAszADHyhCOhxz/OkDcA/Mw75O0f41Cwt8h2iXI7quf5ZpAIw29Rj6gj+dAizh8kpGioT134P8quRxr5gaUEHHeXkj6nOD+FUgQcKY5H3cDbz/WrFu6RzbzPiRzjPlud3PJzzUSZpFHR6YJkkUQmZiOTHK4YBe/GMEf5wa6PT3AKpZt5sSNmRZAYmP4bea57TL6ztrp0ku/MRR8ojtmBDY/hIHXjk961LTxH5kbwqr+dsJDNHODuIP8AdHPOeCMVxTu+h2waXU68HUtryWpgYAYEUriTH0GAV+gqtcNqgjUmxtwSoD+XO6que5AQ/wBPxzWJNaC809mkURLt2YH2iLJ654znp3B7UQ2MMcI8vUb6SVU2BopC8n4EqD9M/wD1qyt3LK+qWstxGy3V3LK2MILd3Axkcnt2/KuYntoLJWtpLRmIO4FQWJP/AAIjity60+aMSKL67kBUbkkk3BjjPIMTZrMe2t1sWRJn3sG2iNN/Ab/cAwORnA5raDsZS1OflmkjY7rCTG3gJEmMe/P9apySg5PksMdeB1/CtKZGA8pzJweoTB/+vxWPKjHAjkuGDD1PP6V1ROaRFLIoJAjYc1Wdtx5B/GpHDA4eTOfUkf0qBgAfvc/jWqMmITjtgUzdz1FKSfqKYeRnFMQ7PNJmm5Pekz6/yoAcTSHmkzSZoAX6HFN6Um8HvmgmgAJPpSA0lJuOSMEUhnWpAVJCJEM8Z2AfyFVrm3cxly21ccgMeg+mKKKCRY4IvKDCNSo7Hn+eaHRbcFhCgwMkK2Pb0oooGRP5QI326sTwPnNMVLUSErbjOeh6UUUATIsTqc7wM9AelBgiWNmCbgP7x70UUDKwlt4jkxFivJJAresLkTW8twYd4jXP+sKHrjsD/k0UVEldGkXZ6F2yne5PlLugDjARX3pgezDg/nXX2HzXS2gjEkhUOqySMI24z8w57e1FFcdXex1U9rl+GDVFcNZQWUEkxJVvPkA465CBc9B61japp3jGBWVNbtTF5WXzH82D77ST+dFFTFJMJSdjBNvrJuUtry7t7kQLkFlIPQnGRjP3epqp9g1YiW6E1pDHCmfLi34OTjr17+tFFboybdzHv7y/uLl55JUl52AtuXgcDgHFZpkmkXcywj5scKT/ADooreKVjCTdyCVmJwZGAPZQAKYVZcKDRRVEkbsQeSSTTCc8UUVQCZpM0UUgAg/hTM0UUxDHlCEAg0gmDHABoopFBvyO9LuJoooEf//Z" from="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/4RX+RXhpZgAASUkqAAgAAAAJAA8BAgAGAAAAegAAABABAgAXAAAAgAAAABIBAwABAAAAAQAAABoBBQABAAAAoAAAABsBBQABAAAAqAAAACgBAwABAAAAAgAAADIBAgAUAAAAsAAAABMCAwABAAAAAQAAAGmHBAABAAAAxAAAAGYFAABDYW5vbgBDYW5vbiBESUdJVEFMIElYVVMgMzAwAAAAAAAAAAAAALQAAAABAAAAtAAAAAEAAAAyMDAyOjAxOjE1IDA0OjQyOjU4ABsAmoIFAAEAAABWAwAAnYIFAAEAAABeAwAAAJAHAAQAAAAwMjEwA5ACABQAAAAOAgAABJACABQAAAAiAgAAAZEHAAQAAAABAgMAApEFAAEAAAA+AwAAAZIKAAEAAABGAwAAApIFAAEAAABOAwAABJIKAAEAAABmAwAABZIFAAEAAABuAwAABpIFAAEAAAB2AwAAB5IDAAEAAAAFAAAACZIDAAEAAAAAAAAACpIFAAEAAAB+AwAAfJIHAJoBAACGAwAAhpIHAAgBAAA2AgAAAKAHAAQAAAAwMTAwAaADAAEAAAABAAAAAqADAAEAAABABgAAA6ADAAEAAACwBAAABaAEAAEAAAAwBQAADqIFAAEAAAAgBQAAD6IFAAEAAAAoBQAAEKIDAAEAAAACAAAAF6IDAAEAAAACAAAAAKMHAAEAAAADAAAAAAAAADIwMDI6MDE6MTUgMDQ6NDI6NTgAMjAwMjowMToxNSAwNDo0Mjo1OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAPUAAAAgAAAA1QAAACAAAAABAAAAyAAAAGQAAAAKAAAAAAAAAAMAAACs3QIAAAABAP//AADoAwAAMAEAACAAAAAMAAEAAwAmAAAAHAQAAAIAAwAEAAAAaAQAAAMAAwAEAAAAcAQAAAQAAwAaAAAAeAQAAAAAAwAGAAAArAQAAAAAAwAEAAAAuAQAAAYAAgAgAAAAwAQAAAcAAgAYAAAA4AQAAAgABAABAAAAcVYQAAkAAgAgAAAA+AQAABAABAABAAAAAAAEAQ0AAwAEAAAAGAUAAAAAAABMAAIAAAADAAEAAAAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAwABAAEwAAD/////BgKtACAAdADVAP//AAAAAAAAAAAAAP//AABABkAGAgAwAdMAngAAAAAAAAAAADQAAACPAD8B1QD1AAAAAAAAAAEAAwAAAAAAAAAHMAAAAAAAAAAA//8AANUA+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAElNRzpESUdJVEFMIElYVVMgMzAwIEpQRUcAAAAAAAAARmlybXdhcmUgVmVyc2lvbiAxLjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAPQA9AD0AABqGADOAAAAgE8SAJsAAAAEAAEAAgAEAAAAUjk4AAIABwAEAAAAMDEwMAEQAwABAAAAQAYAAAIQAwABAAAAsAQAAAAAAAAGAAMBAwABAAAABgAAABoBBQABAAAAtAUAABsBBQABAAAAvAUAACgBAwABAAAAAgAAAAECBAABAAAA9AUAAAICBAABAAAA7g8AAAAAAAC0AAAAAQAAALQAAAABAAAA//////////////////////////////////////////////////9//////////////9j/2wCEAAkGBggGBQkIBwgKCQkLDRYPDQwMDRwTFRAWIR0jIiEcIB8kKTQsJCcxJx4fLT0tMTY3Ojo6Iio/RD44QjM3OTYBCQkJDAoMFAwMFA8KCgoPGhoKChoaTxoaGhoaT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT//AABEIAHgAoAMBIQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AOxApcV7J5goUngDNIVweaBC80oYjvRYLseszAY60FjI3c1HLZ3L5r6DjG46jFRFjTVmJtoA5qW3j3vuIBAokuVNgnzOxpKVA5xUNyY3TB4Fc0b3Oh2sZbqAxx0pMV2pnG9xNtJincA20hWmBMBT1XJrJuxaLf7pU4wKqScuayp3vqaTtbQABjmnRJunQdiRVtuz8kQlsa0kUUg+ZFP4VVeyUNuiJB9DXn060oabx6o7Z0oy12l3I5pMDawwcVTIrupbX6PY46u9uq3ExT0kZBxWrV9DNOw4zue9MZi3U0lFIbm2NwKTFUIMUmKYgxSYoAmAFP2+9Z3NLCbaTbzRcmw9baR13KpIp8ETLcpuUjnvWcqsbNXXMk9DSNOV07aX3NInFNPTmvLO8iljWVcN19az2hZZNmMkniuzC1LXg9t0c2Ihe0lv1JZrGWEZIBX1FV8V1U6iqK6+aOacHB2fyYYorQkMUmKYgxSYoEGKTFAyYCnYrM0FCM33VJ+go8mQfwN+VS5xWjaTDlk9kzSRBHGq+gpoO6ZB6mvLk7tvuz0ErK3YlkIQVAz0hkZamhlWRXIztNCdtVuDV9zRDBlBGCCKz7uyO8NCuQeoHatqFTkld/C9zOrDnj5rYYunSn7xVfqaf/Zn/TTn/drpli4p6Lm89jnjhn1dvIo3TRWt5HbGQNNICwUdQB3NGK3pVPaR5tvIyqQ5HbfzDFJitDMMUYoAlxSgVmaGlAAkCjvjNKeTXlzd5N92ehFWSXZCHmoyQjBj2qGUMkn3GojJQA0yUKGf7ozQBbtd6x4fgZ4qxmhMGGcCsjxP4ktvDGiS39yQSPljjzy79hTEcN8P7y51mbUNd1KQGSZxGrHgDP8ACPyFdtivRw1vZ6dHqcNe/P6rQcIXPRGP4UxsLJ5bEB8Z298etbc8b2ur9jLkklezt3DFGKsRLQKzLNFJULiPeofGduecfSiR/wB4qD6mvIb/ADPSQuPWqt+3lxKfVgKT2AqmSk3E9KALUFkW+aTgelWtqhhGgx647Cj+kBI/3Pl7UwOCMijqBICGXNcj448Ax+MfLkN/NbyQqRGmA0fPcj+tMCPwz8PRpWnWcN/ePKYG83yovljL+p7nH4V1sjQWcLSyFIo0GWduAB9apSaVk7J7onlTd+q2Z5n4x+MKWxa08PKJW+610w4B/wBkd/rWr4Es7pdE/tDUpHlvb7EsjyHJ2/wj8j+tb4WN537IyxDtC3dnSYpMV6Jwkt8sktm6wSLFMynY5G7afpXkl3Y61qVyY7zVrkxkncN52kewBx+lediJuKWrSfQ76EVJvRO3Ut6zo0+p3Ed19rc3MUYRC3QADjGOhrofCGvz6bpPk61cyTXab9ryMWLDjA3f56VxKVzqcbGA/wAWdZtrly8CGLcdvm2xAx9Q2f0rc0P4lDxPKbae2t4XjXzN0UrENj/ZZRj86p/CQtzoZryKCJpZpFSNeSxPArk7z4iTC/UaMtkYUJ3SXT43n0AH86Fq7feGxq6Z8VbOWdLfVbY20zEKrwSCaMn8OR+VXbn4laFp9xLDJJcSzLkuIoSQvtk4FNiSuZU3xhtCT9i0i7nHrJIkf9TWx4Y8YxeIIpC8Is5g3+pMofH48UPa4Lsak3iTTbGyuJ7m6RI7Ztsp67T9PxqDTPG2ia7c/ZdMvBNMRu27COO55FF9ANHV9Zs9D097u+lEcSD8WPoBXhPjf4g6j4puWt4w9tYqflhBwW929aa19AMTw9aW93rlnDqEghtjMDIzdMelfREQR4lMJUxkfKV6Y9q7sK1Z9zkxKd12HbKPLrsucyRxsuuXeq25SOUKu8gPESpOPftWMblrWcLJueI/dmHI/E/1rw61R1Ja9NkevSgoR069TQVy6EoVbjiqsy3ZiO+GFXGNoEpIP47axNSgEvPNEF2trI0udqtKRkAc8bKbaaVGkpntbK383JV2W4ZcH0+7zVXttdE2vvZly4tLq8h8q5t4pIyeVN45H/oFVR4cjwB/Zdpjtm6f/wCJpKVurHy+SLFto2m7leK3iEqHBKMTtYe9OGmafcM8hgjkdnIdjzn1pOTGoortoMIkbytNsiueCzkE/wDjpp8FobWbZb2llE57JMQf/QafN5sXL5IfPo8l4jR3SoiH5iEkLZYdCQRin2tzc6FeR3S+XIkYwX+6Rn17VUZW03RMoX12Zj+JdQufEOprcXOr26LH/q4lOQtZc2keYd0uqQMQOpQZquZ9mRZdyGDRx5+WvbfAPH3Rmuy0XXLzw/A/2cG7gJ4QPuVfy71pTquDvYmcFNWbNmx+JFoqyfb4pyxclfLjXCr2H3ucetaVt4+0W4OPOkiP/TRMfrXbHFQe90zklhpLazRyMNxZ21v5K288aHPApIb3TbW0S2iSZUUbQCCePQ15soy6pps7ozj0asgtLnTbIsIXmVDzsIOF+lWDqliwO6duTkEjpUtd0ylLzRQ1KPS9TMZkvZImiyFaNtp5x/hViyfT9Ph8q3uiUzn5jk/nQ2rWBb3Lkd/bYybhT7U4X9sDj7SnHvU6FXZS8i3NvPHHqAjMzM+4EAqSe1Q6fNp+kWotZNTEzK2Q0jYNVvsTe2uyJW16yQEC+gbHvTtN8S6PaXsk1xHFdyOVKlwMIADkA571SjZ9/IHJNb2H3niawu7xpYpEgjzxGqggD65rOnbTjayQx3yqkyjOV3EHGOxH5UW12Fdd9jMtvDmhxXsdw140qoM+U0eVc+/tTNV8PWd/J5kV4kSseALfvgZ6DNac2mxHKu5WPgm23AW+qOwZQDut2Xn04zxnFT2ng9LEiSLWbm3nGdzRWz4Ht2zS5vIfL5mja2chB+33kF1nAz5Tow/HFOm0mFoSI7xAwPyoyEjHfnH9PWpv6jS80dK8cJGdwz9aiFvHnOBXqSVzzouwvkJnBVc/SnizQ/8ALMflXPKKNVJgbCIjmMflUf2C3brEpH+7kVm4ItSGtpdqRzBHj12CoG0mzbAMMeO3FR7MrmFGkWfCmEfhUM3hyykk3FXBPo5oVJBzsrt4QsHck+aPo/8A9aoz4K08E/vJP0P9Kr2fYnnI5PBViQQJZF/Af4VA3gi1B4nbp/cWj2TH7Qhk8GQAACZuneMCq0vhDYMpMufdf/r1SovuJ1UVz4WlLcNH9cH/ABqQeDLhjlZIPx3CmsPJ9SXWS6Cnwhfx/ceL8JmH9KP+Ea1ZD8s34i5Yf0p/Vp+TBYiPmd35eOgIoAJHBH511M50O29C4U47mnhQykBiT6BqxZqhwJTG4N9OtSrtY98+/Ws5eRcfMCgJzj2yKjaMZ64x6VCZTQ5VULyfxNIGRgR5gb2NUri0HeUj5GUcdhjpQzIBhlyvrkD+tUtfInReY37RbO2zcPTOajaKFXz5hI+uaaUkDcWRzRIVzge2BVaXYCBzitY/kZSsvmQmNQc5qSEAg7cH29K0iRIcSGGGcj2yKcANuA/Hck5NWQSzzKR8u/B6hRinIwAA+bH8qybNUSD/AH2A9MnFPDYXA5H51k0aIRkDMA0av6e1SCFduCij6VnJtFJJiGCI9ET64puVU4wc+oBqE2y7JApTdtXeD64OKcx6DJB9s1RIi5ZuCAMdQc0hWRELABiO3JNVdE2ZD+9UBinPcBj/AIUiXEj5DAoMd8mrsmTdr5jHBA+VcH1AzUTKyj69+laRsQ7kZXPynDe2KdHDGP8Alnj8K0RmxzBAOij0HSnxIsikMiqPUNVCHS28RxvJJ+tMEaRP8oOPUtmsWaIsIePf2pySgdT9NwrFo1TFNxs5YoR2waYssLO3mJHk9e+aVn0uO662BhCWyhUevz8flTiM/wCrOf8AgVRfv99i15fdcbmVcMUZiB0UgioJL64QkfZZAPUNVxSe1iJSa6MbHfSsQVtnXuS3FTfanYjfGoxxgfMavl8yObyHl02kLGcn/pkaYJJBn5MA+vGaSXdjv2RCbmYEqVXPs1NeUsvJXPrWkUlsQ5N76EQjycb2+meKsIDj1x6CtIoiV+o/eQvfHuKA/wAvYfhVkjC0gHVQfXFRkXDYO9GI6DFYNmthn+mZz8uP9lQamjmuVA/csffgVDsylddCdLhgp3oE79aie5lxhFWQexJqeW3Urm8vkVvt8gfbIoA/3CDVhJVxlCg+oNJx82ClforoZNdXce0pFGy/3gc5pq307H96kZB7KDQoIHN9kSf2gVOFXr2KkU7+1sAB1z9Oark8xe0EXU4n6RsD9KSd4WQFhz24zTUXHzE5KXkQOY9uMNjsNtIEj2/xfTbjNap+RnZdxu1edq7f6frT0hdlyJG/4C55ql9xLEMjxcBps/gc09LknO/cfZkH+NNaAOUTyjLsY19AaUzJHncWPrmsWro1TsC38J6tge4NONxBMAFc59FJrFprbU1Ti9HoD2sLJhmbHo3SmJZwA5Bj46dqqM7kygiVJkiB+YnPbPFMa9jfcFwSPek43dxqSSsNa7mUbvLVB7tSHUHWLcYmHtkHNCh5sXP5EB1p0TAtHx6g4/lU0OqQyLlrd93q4z+tVZ9G0LnXVCyXdw5/cBMf7uaga+uQwLxIT6gYqlHzZLl5KwNcs7ZljOT6UmYznkp+JFaIhjMRqM+ac/72aljDsR+/z9GqkTYk8uRTnex+rVIszIMfOSfamB//2apR82S5eSsDXLO2ZYzk+lJmM//Y/+0O2lBob3Rvc2hvcCAzLjAAOEJJTQPtClJlc29sdXRpb24AAAAAEABIAAAAAQACAEgAAAABAAI4QklNBA0YRlggR2xvYmFsIExpZ2h0aW5nIEFuZ2xlAAAAAAQAAAAeOEJJTQQZEkZYIEdsb2JhbCBBbHRpdHVkZQAAAAAEAAAAHjhCSU0D8wtQcmludCBGbGFncwAAAAkAAAAAAAAAAAEAOEJJTQQKDkNvcHlyaWdodCBGbGFnAAAAAAEAADhCSU0nEBRKYXBhbmVzZSBQcmludCBGbGFncwAAAAAKAAEAAAAAAAAAAjhCSU0D9RdDb2xvciBIYWxmdG9uZSBTZXR0aW5ncwAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gXQ29sb3IgVHJhbnNmZXIgU2V0dGluZ3MAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAZHdWlkZXMAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4NVVJMIG92ZXJyaWRlcwAAAAQAAAAAOEJJTQQaBlNsaWNlcwAAAAB3AAAABgAAAAAAAAAAAAAAWgAAAHgAAAALAG8AcABlAHIAYQBfAGgAbwB1AHMAZQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAeAAAAFoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOEJJTQQREUlDQyBVbnRhZ2dlZCBGbGFnAAAAAQEAOEJJTQQUF0xheWVyIElEIEdlbmVyYXRvciBCYXNlAAAABAAAAAE4QklNBAwVTmV3IFdpbmRvd3MgVGh1bWJuYWlsAAALLwAAAAEAAABwAAAAVAAAAVAAAG5AAAALEwAYAAH/2P/gABBKRklGAAECAQBIAEgAAP/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAFQAcAMBIgACEQEDEQH/3QAEAAf/xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AOmAU2VPf9ETHJSDURr7GCG6BaJJ6NMeKJzdpjwTahTMkkn5pnTGunx0SvZHdKKcoMDw0lrhIjXRRrrdZu1gjkHlX2yK2DwaPyKFjQ/nQ/vDlVvvGpsDzDY9nQUT5FoPBa6FGXcSiW1uY4h2s8HxTPrex217S13gdFZiYkDY2wGwTvo2an1VMiQh5F1VjdsSeyBCUICAu7KuM1VMITQiEJoT7WMNqbapwlCNqf/Q6sBTZW95hgkjUplZxPovI5JA+5Xck+GJLVhHikAiZjWCxu8DbMnVWbX+09/xTmAQO5/ImcNCfAKpPIZ1daNiEBG66snlrWD4D8iC53igesXAGeQITbydBr5JlrkhcJDiNxaQ4D4K48V31gO9zHag9xPcKqzGfAdZpOjWjklHawVAMBkfx5KVnTwVQa4wXk+54A7dynODW1pc63Y1oLnvdDWtaBue97ifaxjfpK0NeFx3+Md/1it6fX03peHc/DySPtmXUN8ydteJtq3W11bvfc9zP0v80pffyfvfgFnsw7Ovi5VGZQ3KxiXY9hd6NhEb2NcWNu2/mtt272fyEWFHpODlMxG0WUfZKMcMpxhbHqvrYxodfbSwv9H1Ld/p1P8A0npfzv6RR631PovQMcX9UyjW5wmrHrAddZH+ipn/AMEs2VKwM8BEXLWtdGA4ZWaGl90kJQhYN1uVh05N1P2Z17fUFBO5zGO91LbXQz9N6Wx9vt9n82jwpQbAPdjqi//R6D6xX9Qx+n+r0p9NWRuaHeqN52nT9CyW/pGrnas3602YRZZ1U15DrRcLamBpDWtLPs3t/wAE/wDnLPalaMzJqpdl0323k7R7txpDnH9J6jj9Gpuz6KakZlVjab632jtkMaQyR+bcyT6Lv/An/mJZcspHSxFOPGIjWiXSwfrP1LG6Re/qbftnWatwoZWw7Lmy30f5oNbvb+k9T+bVKr/GcW2DG6p0v7K+0hm8Pe0N3e3dtsbY13P76Fdhm1hrc/IIJgu0a4T+axzam+z+V/4IqdJtN/2V1GW2qpz2G+xrHVbBP2d9T3U/ztm36DvoKMSOui4xHd62/qfT8PGORk5NdWPUIdYXAzHthjQdz3Pj2LGx/wDGNg02usdjUuxjGwjIAytv77qXsON7/wDRttVduIwmRZYSNTLav/edK2Mf03tNl++xtRa4MhrX+19x9Khrv0aQl4JMPF23/wCMD6tsZRkOdkuGRW6yqsVDeGjcLH2TZsb/ADbm/SVGz/Gf0h5Apw7yyRNll1LC3X6fpNdY93/FrPx8pt2TkUV1PaKNgNjmQHEn3Gt30XMYpWFja33C+6QC8MYWdtdjG+kXJcfgrg8Xrx1/o7Ayx+ZWGW1WXNM/mVAWW7o+g/Z9Gt300uk/WPpfV7jX019zrGNFjvUpfUdjtGmsv/nNzv3Fy13S3041Vue4ltx/mTZVc2RB22Nqr/N3LPtycnp4fZgMymWAij7NW4hz2Wbv0mM/32VtRBO1I4eoL0H1w+u/7GZZhdJr+09Qb7brtu6nGJ/NsI9luV/wX0Kv8KvOul+n1P6wY9vX8hxquuD8vJvl5cGje2l+jttdzw2r9yqtWG4+O3Edl2dKvrq3loabbd5MbnvcyPo7js9T8+z/AItV2ZWDW8XO6blBp9zQXOLYafcR6gc16cCQQaWEWKt9iIL/AHghweNwc2C0g67mub7dqbYV5vifWTIxqaqsa+7Bqa8PrxcmpzWF8+r7bqf55tn+Eru9Nlq1/wDnn1+gzk4+PY0Qfax7ZB/PZayx9StDmY9QQ1zy8uhBf//SC/pmKPoOIJ7Ne7+9MOnVNH85aB4ixytuDWHbMHwCeAAZPPYj+KsSxw/dH2NeM5dz9rXHTTGl14/tlI4FjSP1rI8hvn8FbDARMRroSf4Byk3cCQWkjsY5CiOOPYMgnLuWj9iuDdMy6PEkEf8AUqIx8sGRnWgdx7T/AN9WkS3ktOneFGAHTB1TeCPZdxy7uZkYXUrdhZ1S1gHGgjy42qpZ0jrTy6OruI7BzT+UPW+Tydp2nvIj/NTzXzHuHiATHyThCKDOXd5odE6wyNnUmeGrXAfDlMenfWMBv+UK3bRDY3cf5hXSOuLCP0YduMl2g/6MlRc2ppLgzbPYnUf2DuR9sI9yXd5l+P8AWVp3DMa4wRydPL3M9qGLPrQ1wAu3RwHODm/9L81dHZsk7WwSBogOaOQ2T3AMpwwx8VpzScYH63kfzm4Dgeo0/wDVOSFv1tYI2jaeRLII/lAXLcZu2CA4eIOhUgNCdr4/OiSnfd4eP4f96t+8T8H/05PZkB28OboPzi7/AL6p1OJEz8Cf9qC4vBEPY13jAJj71HZlfmPZH9Uz+VWZFrC240tPmR2EGfkkHMaQBo4nUOEx+IVXfcwAWmrXncQD9wCT8qn6IDNwGo2kg/cmEWuum4TYCI2OB8AZ/wCqc1DLniR7te7SQNP5YZ7VUD73O2iljmd/T0Mf5zXf9FGDrhpWAHRoHgx83Nc5NqlwNsn5uMyA+yHd9Hc+b9j0qs3FfoHbxoZa0kT/AJqGLuonSxrXDuGz/wBUXKX2jJA1phvYOg/IJwH8rWkn+QZzjuJdIYXcgkA6eA9Ru1QYamglu93jALv836X/AFSTb8h3/aQx5QP+qTWixxaHVWb+4B0H4ohHl+SxdU7hrpI5cDz/AGoQvdOjRH3H7lElu73bh81DfXJDXAHydJ/KpAsJbQIiCSPiRP4p2BocXAy7xMfwQCS0Ai+Y/N3NEfDcFJj73HVu8eHt/wC+7U+1r//UGz0tvs/nO+6N0/20x+3bvZt2x7d0fjuXl6SsS2aw3/g+qV/bJHq7Nvlz89ym7kT6cfPn+wvKElGN/wDvWQ7f98+rH7Rr6e3nSP8AzJB/WIHr7v8Arcx5bvzti8vSTvs/7pb9v7H039N6b9vq+XO3+xv/ADkAftLc3Z9q/wCjt+Xqe1ecpIlH2vp1vrbB9t3bZ1mN3/R/QquPT3D0/V2eUxH/AFK85STo/RbL6/V9Lb638rbP50Qmd6kGfS51mV5qknrX0+v0tv5v9nd/FPp+bO3vG3/0Z7l5ekih/9kAOEJJTQQhGlZlcnNpb24gY29tcGF0aWJpbGl0eSBpbmZvAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAANgAuADAAAAABADhCSU0EBgxKUEVHIFF1YWxpdHkAAAAAB//+AAAAAQEA/+4ADkFkb2JlAGSAAAAAAf/bAIQAFBERGhIaKRgYKTMnICczJxwcHBwnIhcXFxcXIhEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEVGhohHSEiGBgiFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAWgB4AwEiAAIRAQMRAf/dAAQACP/EARsAAAMBAQEBAQEBAQEAAAAAAAEAAgMEBQYHCAkKCwEBAQEBAQEBAQEBAQEAAAAAAAECAwQFBgcICQoLEAACAgEDAgMEBwYDAwYCATUBAAIRAyESMQRBUSITYXEygZGxQqEF0cEU8FIjcjNi4YLxQzSSorIV0lMkc8JjBoOT4vKjRFRkJTVFFiZ0NlVls4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9hEAAgIABQEGBgEDAQMFAwYvAAERAiEDMUESUWFxgZEiEzLwobEEwdHh8UJSI2JyFJIzgkMkorI0U0Rjc8LSg5OjVOLyBRUlBhYmNWRFVTZ0ZbOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hv/aAAwDAQACEQMRAD8A9dIiTwoDYJi+o85BjSGibVoDGMjqFN3RdsOgbIvl5O8M6Kso5pRIYt2yRPycqd1cow8CoanV33gPMrWpCcFZCJcOdNIaiApFNUtNITSppUD/0PaSrpiGtvpbhScEpcGdF32gCmigvG1pOqrAwAAQSyZVoxucGiyWsVAEON3w6RgQbUgGTF3j9DIwyL0WrtXaRjijlnD04mUiAByw+L1f4kOt6uOCEqwYzuyS+zOWP/31ifcx/wA2InEGiLelbTqZtWNCVay7cETPJIRiO8izCQnESHBFu009DDTQqmlaQ//R9bqs8elh6kgSP8IeDH+MmUZShilYraJfbXP1ks8KiAI9/wDE82OYlpwfB1a+yJWu7PV6L8Tj1tjaYGHxCTcfxXpJGvUA/qEovjysWQDfjfxPBLpISu47SNfJJ5ybg+p9SMyZRIMTwQ55epxYK9WQjfD5GCWXBAQjZA/i2f8AbcJdNOUjMynuPe4KRB9Thy4px3YpCQ8Ync2ckMY88gP6jtfk49NGN5BM2QYk2xL8Ph2s1/T/AO/VIg+rx9RjykjHKMq/gludgbflMEJdLLdCwT7YNZo5swAlI7QTLbu/i/8AKmFSIPo/2TD6nqbI7/4trxfif4xi/Dxt+LKeIfw/+PfNH4hk6bp/Rx0JjieSXwx/9+PiT6eWQ7pGJJ5lu+JskOnpZZvxjqonMbjHzyj9iMY/7v8A8yP1z8b0ccvTz3wkIn2S+J9+P4vGNDLEg/bl/wDAnrSyRztVs9OleWH4n009BOv6gVevJdTnxZ//0sSCAImAoeBWRMzZhqOPM9BJPKu3RGFdmXqS7wP0uOSEMkt08crHte0Jq3PE1yOYZa+zJP7QB9mX0PTtZMXPEvI4JjHKO0idXu0QevgNdsg+iIrsbxHI82H4nCE9+3cRp5wjJ+JY8hJmDR+yH0vT91olgHgD8m8ScjxcuTps/wAYkaG0fv6TOWXTZQBUogaAD/40+ueniR8I+hyl00DzEfQ3iycjyPR6Q95gfv8A+UnaEsGPSE5iP8JO+P8A7rez9kx3rEN/smH+FvBk5o5Tl6aX2iFen9ixfw/eVXtsvNH/06J1oNA+DBjE9liaezOKNBomrLIl4JJLk0VXtQdGdDoQgHwclLGq34MkS7EfNz/mX2+9pDY252Y66tDepvwpoBd6uZtJmfH7mTO3SMsFW1TAIDYmPEOkZDEX3VIKtB//1J0lwLX04ns19l55c93qzkb+mBxakyHA+lxj/qeg/P5MGBnsMvY3t2jU2svm49+6YRcowJ5+9aA03UiXbhwyc9vmgdIG74ZLu2nWX3PHj57fJ6u3b/V8TQEzB+0iz73Lx4SP3pqMlX4hom+AQx37uw4/N0QmMfaqnnsqB//Z"/>
+        </image>
+        <text y="60" text-anchor="middle">&lt;image&gt;</text>
+      </g>
+
+      <g transform="translate(420,210)">
+        <use xlink:href="#useA" font-size="30" fill="rgb(230,230,230)" text-anchor="middle" stroke="rgb(255,180,0)" font-weight="bold">
+          <animate id="useAnimate" attributeName="xlink:href" from="#useB" to="#useA" begin="0s;useAnimate.end" dur="2s"/>
+        </use>
+
+        <text y="60" text-anchor="middle">&lt;use&gt;</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-40-t.svg b/Tests/W3CTestSuite/svg/animate-elem-40-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c019e9766574a42b323abf41abcae2a0f0c1aceb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-40-t.svg
@@ -0,0 +1,239 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-40-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test validates that the x and y attributes can be animated on
+        &lt;use&gt;, &lt;image&gt;, &lt;rect&gt; and &lt;text&gt; elements.
+        The test also validates that the width and height attributes can
+        be animated on &lt;image&gt; and &lt;rect&gt;
+      </p>
+      <p>
+        For x and y animation, each test shows the reference positions at
+        specific points in the animation. These markers are highlighted
+        at the time the target element's x/y position should match that of
+        the marker. For the &lt;text&gt; element, there are two tests. The
+        first one tests animating a single value on the text's x and y attributes.
+        The second one tests animating x, y values where there are values for each
+        of the text's characters. For that test (bottom left), there is a set of
+        reference markers for each of the characters ('1' and '2').
+      </p>
+      <p>
+        For width and height animation (the two tests on the bottom right), the
+        outline showing the expected width and height at given points in the animation
+        is highlighted at the time the marker's width and height should match that
+        of the target element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>Over the course of four seconds, the positions and sizes of elements
+      within the document are animated.  The test passes if the following
+      conditions are met:</p>
+      <ul>
+        <li>In the first four subtests, the shape, image or text moves clockwise once along
+        the perimeter of a square whose corners are indicated by the small grey squares.</li>
+        <li>In the fifth subtest ("x/y on &lt;text>(2)"), the number "1" moves clockwise
+        along the perimeter of a square as in the first four subtests, while the number "2"
+        does the same except in an anti-clockise direction.</li>
+        <li>In the sixth subtest, the width and height of the image are animated continously,
+        from the initial square size, to the wide and short rectangle, to the narrow and
+        tall rectangle, and back to the square.  At each point when it reaches one of these
+        key sizes, the yellow outline indicating the size is shown thicker momentarily.
+        This animation takes only three seconds.</li>
+        <li>In the seventh subtest, the gray rectangle's width and height are animated in
+        the same way as the image in the sixth subtest.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-40-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="16">&lt;animate&gt; of x/y/width/height</text>
+
+    <g font-size="14">
+      <g transform="translate(60,90)">
+        <defs>
+          <rect id="posMarker" x="-3" y="-3" width="6" height="6"/>
+
+          <g id="markerGroup" fill="rgb(230,230,230)" stroke="rgb(255,180,0)">
+            <use id="topLeft" xlink:href="#posMarker" x="-15" y="-15"/>
+            <use id="topRight" xlink:href="#posMarker" x="15" y="-15"/>
+            <use id="bottomRight" xlink:href="#posMarker" x="15" y="15"/>
+            <use id="bottomLeft" xlink:href="#posMarker" x="-15" y="15"/>
+            <set xlink:href="#topLeft" attributeName="fill" to="rgb(255,180,0)" begin="0s;4s" dur="0.2s"/>
+            <set xlink:href="#topRight" attributeName="fill" to="rgb(255,180,0)" begin="1s" dur="0.2s"/>
+            <set xlink:href="#bottomRight" attributeName="fill" to="rgb(255,180,0)" begin="2s" dur="0.2s"/>
+            <set xlink:href="#bottomLeft" attributeName="fill" to="rgb(255,180,0)" begin="3s" dur="0.2s"/>
+          </g>
+
+          <path id="pathID" d="M 0 0 Q 20 0 20 -20 Q 0 -20 0 0 Q 0 -20 -20 -20 Q -20 0 0 0 Q -20 0 -20 20 Q 0 20 0 0 Q 0 20 20 20 Q20 0 0 0 Z" fill="rgb(230,230,230)" stroke="rgb(255,180,0)"/>
+        </defs>
+
+        <use xlink:href="#pathID" x="-15" y="-15">
+          <animate attributeName="x" values="-15;15;15;-15;-15" begin="0s" dur="4s"/>
+          <animate attributeName="y" values="-15;-15;15;15;-15" begin="0s" dur="4s"/>
+        </use>
+
+        <use xlink:href="#markerGroup"/>
+
+        <text text-anchor="middle" y="60">x/y on &lt;use&gt;</text>
+      </g>
+
+      <g transform="translate(180,90)">
+        <image xlink:href="data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAPADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwCeSMqeDUDsy1YkPzHNRMFYcVZkQiQ0MA9IyEdKi3EGmBNGm1s4qfft4xUUL+tPlyTmkApYOORUDwgnNSbyKazmgCExBKjZgOKfIfeqsmexpgS5pjPimKSOvShsUAO3UhamZwaM0XAUtTC1ISaYxxQIcZKUMDVctQJMUwLOQBUbPUfm571Gz0ASmT1pPMqAvTd+eKALHmVJG/FU2bpU8bDbQIsb6XfkVXLUm+gCcmmlqhLn1qNpTQBK0mKhaQ1E0hNRlz60DPdL3wtZSJuhY7vTFc3PogiLjBG2vR2RSN2eTVeS0jlydoyaxUjSx5dLYsoJ/Kqb2slej6h4YF1h4GEZA+7jrWHL4WvwTiLOKrmQrHGEMnFKrO3Hauqk8Iakwz5OfxqhPoF5bMVeI5HpT5kKzMXGDTTkGrU1u6HlGGPaoSuTRcLEDsfTNVmOauPGeMVXMYGRRcdiNVLew9aQxndjmpFyv0p/BpXHYrMpHQcUzNWG7iq7DFFxWGsaiZqcTUT5qrisNLU0tUbEimbzRcViQsRTC5phehW5p3AC5HXikZu4NIzgnBqMnkgdKLiLAk+TFPWYYxVUA460hYgUXAuebR5lVN+B1o83FMCyZKjZ6rmamGagCdnpuc1B5tAlFAH0/DMjBdzLgjPXn8qs74UVT5sY3HjkcmvNzeloEAY7lGDk1SmuZe7H86x5DTmPWTIoH31Xd709rmOEfPnIHXHBryOLUp04ErD8a0f+EguZLI27uSOxPUUuRhzHdNqINwGS4/dsfmTris3U5YZpd0Qf8TXCNfyq4becjvmtXT9euFYKyLKvcMKfLYL3NJ0Vuqg/UVUl063kB/dKCe4FaLSxTqGjj2e2c0wKaZOqOautJ8rkDcp71Rl0wldwGBXaiHdxjNB01JBgp+VJstHnxsip6UGzbGQK71PDTSyYjbI9CtWo/Bs2QCY+ffpWUp9jWMU9zzNrZh1FV5bc+len3PgmfaTHtY+max7vwffopb7MxUegzS9o1uh+zXRnnrxY7VA0ZrqLzSJYAd0bD6isO4gKk8VaqJkODRmOBUDAVPMCCaquSK0TIcRrtUXmEUrZNRsrelO5NhTIKXzRVdgRTc+tO4r FrzeKjL5qEvSZOKdwJGkqNpsVE7EVCz0XETtNTDNVctSUXAsed70omqtS5ouB699q96YbgNxmszz885qNpiG4oEavmDGKYZSOhrPFz60puPemBdMmTyc1agvFj6dayPPFAm9DSsO508GrumMYrWj1qMoPlG761wq3BHep1uXxwamw7neW2uxo+JVA9CBWzbatp/mI0rAq3pxivMFuXPerEVy4P3qhwRopntdv9nkUSQFGB6FTmpq8r0jV57KdSrttyMgHrXo1jdG8jSVJAUI5XPIqb8ulh2vqXqKKK0IK13p9texGOeFWB74rz/WvAUxkZrRQ6H07V6GblN5VQWI64oS6jZyhO1h2asZKDejszaLmlqtDwe/8K3UDHK9KxpdIdPvDFfQ89vpVxIwljgZ26lh1rnPEPha3kjBtLYAgc44FTzOO+pVlLbQ8Re0EYORUOwHjbXa3+gyRKzPGVA9a564tthIxWsZpmUoNGHLb9TVKSMrWvMhFUpVPpV3IsZxHNDNxgVM6e1QslVcViJue9QsKsFKQx0CKpBpOlWNpz0o8lmHAoAr5pc1aSwlkPCE1bTRbggfu2NAHSp5i9cUrPgVrLaof+WfNVZbdQ+Gjz9KLisUPMphmwetbUGjwzpyShP6VI3hZGK4vVBPXK8CjmHYwhL707z/Q1sf8IlL2vIf1qGfwrfQjKFZe/wAtHMg5WUllyKk+0EVHJp97CcNA59wM1CySg4KMCPUUXFYti4NWIrk+tZYdl68VNHLzSKSN22uG3A5NdVomoXNtKkiSlVzyPauDTUbO3dUnuIo3borMBWlb6/ZRswe6jTYdp3naM/j1rOSNIux7jbXcN1CssbDB7Z5FNmvIolO7dxxxXkUHj3R4ZAqagnTqARz7cVcX4j2Hli6e4nVNwQ74zjnufb3qOaTHZI6++8SPBKwFsEHYkdaxG1xjKXEh3H3qvfeIbR0Y3N5aokgyod1H5Vz8txalfNW6iCZxneMZ+tNRT3DmZ0iX09zOziXGBkjPXFMn8S3suY2mfaOwNYEN5H9n81Z9iMSqsT9/tx696jaRVjaRpokUfeZnAA+pp8qFzM15tSMibZlDg1hXllBMxKOR7EVTk1/ToLe3nnvEWKckIxz261W/4S/SI7l4ZZoNgAKSiQMH9RgdOtJRS2G5t7kVzp7rkqcismaFgeRVi/8AG2kxyokLGQM2GZBwo/GsmfxjZeaQsO+PnnJB/LFWibkjRjPSm/Zy3RKx7vxfv/49rNU93Oaz/wDhJb8H/WAY6YGP/wBdMR1JsWxnbUJtD3WufXxRqHmFy6MD/wAs9vA/rW1Z6/ZXD26zy+SZGKvu6JgdSfQ07isXYNOMhHyHHsK0Y9EUn5GGR2NVrvxxpljA0dknnuhATPCsPXNUJfiOxjBjsU3kDq5wD34x+XNK7DlOqs7VYX+WBSR61PPkj5uPYVwM3xB1F5SYre2jQjAUqTj3zmqM/jDUpY8C4KsR8xCjg+3FGo7HrEdwv8P61YWQ9SBiqxhsIb6Kza4HnSqXUYPQf5P5VOwsbS3upLq+j/dhmVN4U4Azjmi6JsyQsxG8Y/OpIZ3m+R+Rn1xWZL4j8O2OjRXpvIp7hkVvsqSqzKSOh+nes/V/iBolvGz6ZEk86kY3h1B9ccUuYq1jsF+zFcbXVvXORWhZ2M0jYWQFOxzkV4tffEzV5XkFvHaxIRhWER3D82IqhbfEbxLbyB/t4YLkhWiXH6CpalbQtNX1PdNQENusrzybNoJztyDxxyB3rhNV8ZaRbQuFheWUj5DjaD/X9K8y1PxLrGsuTf6hcTqWLbHc7R9F6CqcZ3OM80JNIXU6q/8AFl1dogtI1typyzcNn25FZ8muapLuzd4yMfKij+QrP59KQjHWldhYa13dCYyNK5cnO7POfrSG4dslmJJPNRuwZT7VEHFVuIs+aaa0p5wTUYYnpSEHqQaVhjjKcdaDM5Xbk49M1F1oyfSmIe0zkAFiQowAT0pnmtyAxApDyM0zApgP3EjqaazcUH5elNJoAaTSFqDSUwDdTaO9GOK AD+VGaM8YpKYDqKTPvRmgB2SKaTRSHpQBoTXt5cyB57mZ2HG53JxVfcWbG+vRZNNsZUAkt0K/e+YHrVc6JpbAf6Ehz0IyKCbnCKuO5p231JruP7E0zBzbJgdfmPH601tE00/dthn/AHm/xoC5xDKvZj75FRHA9PrXbNomnA8W5HH981EdD05j/qj/AN/DQHMccM+9WrZgDgjntXS/2Dp/aJ/++zR/YtiuMI4P+8c0mrjUjDLtjOOKjZmP0rffTbNE+VXJ9N1EWkW03WORT7sKiw7nMOdoNMT5m7j1rso/C1vO3MjAZwMHOa1NP+HtvdsoW5I3gENjIpOpGO5ShJ7I4IMMYHFLgHAzz3r1uL4P2rKS2pENzgbCMn8cUyb4VWEPJ1FiMfeGCM/gay9tDuaeyn2PI5UAwV/Koeetel3ngPT4CQL0kYz82Af51jSeGLJM7Jy2O/StI1IshwaONPTJBNIsbsM4OK6d9AgDEZOKfBpVtBuDJnjjJq29NCDlXBXr+lM2n0rop9KtyxIX9TVc6dAvGz9apCuYRBHem4OO9bhsYP7lJ9hg/uUxcyMPn0o/A1tmxg/ufrQbKD+5QHMjEo4rZNjAf4f1phsYM48tvrziiwcyMmjFaxsIB/AfzNJ9jgH8P60BzIyiDTTxWr9lhx939aabWEn7v60D5jvPMLEDG9c5xtzj9aTMxxtBAPXA5FM2yDlZuOmM/wCAoInONzp7k5oIHNCXGGyfrzmkEW1cjP600RlckTAnPJ3daBIATudyTwOn5Uhjdw28cj1I61EzEMdx2jvyP6VO7K+FLLnPQn/Cojhckuvt83+NMGG3IGORjseRSFycLhgcYwf/AK1ROA+0CQY7ndmkjXYpETqc9BvJoET5kw3G/wCnaiPerYZl+h7fz/lUexmxtbkcnDEf0qaBXbA37SOSwPbtUsuJqWkjAKfMKg84GP8AP4V1ulWaTywsty5c/KcFuM9+D6etc5a217wIIl8tgAXYYAPXrg811NgbuO3dN0yuDx5TBR9STnofpXFVZ2U0bB2WiYNxwPk+8VCe5Bb+Z/KoiFETPayo8GfnbBIB6HgY7nr7VqCO4FlHI9vdGfaN0v2mNdgz6nGB+tU5hIYpJWjicsBmVJ0JI5Gdy/1zWFja5yuphoJn2Mp3ccRcj3weT/8AXrmr53OCeVJI5Qiuk1SCJpI/LkuEduVEeBz6bsA/l+NYFzatuSNRIqYyD5mc++StdFMwmY0yvkHcB6Z//VVNzKe5/E1eeHaXkEko74ZVOPpxVNuR8+T6/d/pXTE52VmLHrx7VBLnGc1LhS3Q4HrUUuMVojNkJJ9qQUE+lMzVEj80mabnPWjpmgBSaaaM5ppNAgJzTSaMnv8ApSE5NAxpNITRznGePpTT9f0pDOzbMeAsasPRmP8AQUfIGy6rgnquT/SociRM4IHokf8A9fNIpAHLOQOMYyKBFjY3O1VK+7Y/pQ3AIXH54FQiT5QAsjHrkjA/PFMkuiv3lAXPJYhR+HNAyUgqcEoAenem+WVbkHb7etVJJlL7oU3Hvtbr/jTPtJ3/ALxYoh6SOOfwoAszADHyhCOhxz/OkDcA/Mw75O0f41Cwt8h2iXI7quf5ZpAIw29Rj6gj+dAizh8kpGioT134P8quRxr5gaUEHHeXkj6nOD+FUgQcKY5H3cDbz/WrFu6RzbzPiRzjPlud3PJzzUSZpFHR6YJkkUQmZiOTHK4YBe/GMEf5wa6PT3AKpZt5sSNmRZAYmP4bea57TL6ztrp0ku/MRR8ojtmBDY/hIHXjk961LTxH5kbwqr+dsJDNHODuIP8AdHPOeCMVxTu+h2waXU68HUtryWpgYAYEUriTH0GAV+gqtcNqgjUmxtwSoD+XO6que5AQ/wBPxzWJNaC809mkURLt2YH2iLJ654znp3B7UQ2MMcI8vUb6SVU2BopC8n4EqD9M/wD1qyt3LK+qWstxGy3V3LK2MILd3Axkcnt2/KuYntoLJWtpLRmIO4FQWJP/AAIjity60+aMSKL67kBUbkkk3BjjPIMTZrM e2t1sWRJn3sG2iNN/Ab/cAwORnA5raDsZS1OflmkjY7rCTG3gJEmMe/P9apySg5PksMdeB1/CtKZGA8pzJweoTB/+vxWPKjHAjkuGDD1PP6V1ROaRFLIoJAjYc1Wdtx5B/GpHDA4eTOfUkf0qBgAfvc/jWqMmITjtgUzdz1FKSfqKYeRnFMQ7PNJmm5Pekz6/yoAcTSHmkzSZoAX6HFN6Um8HvmgmgAJPpSA0lJuOSMEUhnWpAVJCJEM8Z2AfyFVrm3cxly21ccgMeg+mKKKCRY4IvKDCNSo7Hn+eaHRbcFhCgwMkK2Pb0oooGRP5QI326sTwPnNMVLUSErbjOeh6UUUATIsTqc7wM9AelBgiWNmCbgP7x70UUDKwlt4jkxFivJJAresLkTW8twYd4jXP+sKHrjsD/k0UVEldGkXZ6F2yne5PlLugDjARX3pgezDg/nXX2HzXS2gjEkhUOqySMI24z8w57e1FFcdXex1U9rl+GDVFcNZQWUEkxJVvPkA465CBc9B61japp3jGBWVNbtTF5WXzH82D77ST+dFFTFJMJSdjBNvrJuUtry7t7kQLkFlIPQnGRjP3epqp9g1YiW6E1pDHCmfLi34OTjr17+tFFboybdzHv7y/uLl55JUl52AtuXgcDgHFZpkmkXcywj5scKT/ADooreKVjCTdyCVmJwZGAPZQAKYVZcKDRRVEkbsQeSSTTCc8UUVQCZpM0UUgAg/hTM0UUxDHlCEAg0gmDHABoopFBvyO9LuJoooEf//Z" x="-15" y="-15" width="50" height="50" preserveAspectRatio="none">
+          <animate attributeName="x" values="-15;15;15;-15;-15" begin="0s" dur="4s"/>
+          <animate attributeName="y" values="-15;-15;15;15;-15" begin="0s" dur="4s"/>
+        </image>
+
+        <use xlink:href="#markerGroup"/>
+
+        <text text-anchor="middle" y="60">x/y on &lt;image&gt;</text>
+      </g>
+
+      <g transform="translate(300,90)">
+        <rect x="-15" y="-15" width="50" height="20" fill="black" stroke="rgb(255,180,0)">
+          <animate attributeName="x" values="-15;15;15;-15;-15" begin="0s" dur="4s"/>
+          <animate attributeName="y" values="-15;-15;15;15;-15" begin="0s" dur="4s"/>
+        </rect>
+
+        <use xlink:href="#markerGroup"/>
+
+        <text text-anchor="middle" y="60">x/y on &lt;rect&gt;</text>
+      </g>
+
+
+      <g transform="translate(300,90)">
+        <rect x="-15" y="-15" width="50" height="20" fill="black" stroke="rgb(255,180,0)">
+          <animate attributeName="x" values="-15;15;15;-15;-15" begin="0s" dur="4s"/>
+          <animate attributeName="y" values="-15;-15;15;15;-15" begin="0s" dur="4s"/>
+        </rect>
+
+        <use xlink:href="#markerGroup"/>
+
+        <text text-anchor="middle" y="60">x/y on &lt;rect&gt;</text>
+      </g>
+
+      <g transform="translate(420,90)">
+        <defs>
+          <font id="MyDecFont" horiz-adv-x="466">
+            <font-face font-family="MyDecFont"/>
+            <missing-glyph horiz-adv-x="233" d="M 50 0 L50 700 200 700 200 0 z"/>
+            <glyph unicode="1" glyph-name="one" horiz-adv-x="558" d="M458 716L100 534V428L357 552V97H241V380L140 328V0H458V716Z"/>
+            <glyph unicode="2" glyph-name="two" horiz-adv-x="585" d="M69 509Q82 523 102 541T147 575T203 603T268 614Q311 614 342 599T392 560T421 505T430 443Q430 420 423 398T405 352L343 201H444L492 309Q508 345 519 379T531 448Q531 504 511 552T454 635T369 691T262 711Q231 711 204 704T152 684T106 655T69 623V509ZM535 97H187L309 422Q316 441 315 457T306 483T287 500T265 506Q261 506 254 505T239 499T224 485T211 461L50 0H535V97Z"/>
+            <glyph unicode="3" glyph-name="three" horiz-adv-x="542" d="M58 553Q109 588 148 601T220 614Q255 614 282 604T328 575T356 535T366 488Q366 475 364 460T355 429T336 397T302 368Q311 363 325 353T352 326T376 286T386 232Q386 203 376 177T345 130T295 98T227 86Q179 86 134 104T50 153V45Q59 38 74 29T111 10T163 -5T231 -11Q296 -11 345 8T426 58T475 131T492 218Q492 251 486 276T469 320T446 354T421 378Q438 396 454 425T470 503Q470 546 454 584T406 650T332 695T233 711Q179 711 137 696T58 655V553ZM156 255Q156         229 173 212T217 194Q243 194 260 211T278 255Q278 281 261 298T217 316Q191 316 174 299T156 255ZM161 467Q161 444 177 428T216 412Q225 412 234 415T252 425T265 442T271 467Q271 491 256 506T216 522Q202 522 192 517T174 503T164 486T161 467Z"/>
+          </font>
+        </defs>
+
+        <text id="textID" fill="rgb(230,230,230)" stroke="rgb(255,180,0)" font-family="MyDecFont" font-size="40" x="-15" y="-15">123</text>
+        <animate xlink:href="#textID" attributeName="x" values="-15;15;15;-15;-15" begin="0s" dur="4s"/>
+        <animate xlink:href="#textID" attributeName="y" values="-15;-15;15;15;-15" begin="0s" dur="4s"/>
+
+
+        <use xlink:href="#markerGroup"/>
+
+        <text text-anchor="middle" y="60">x/y on &lt;text&gt;</text>
+      </g>
+
+
+      <g transform="translate(60,210)">
+        <defs>
+          <g id="markerGroup2" fill="rgb(230,230,230)" stroke="rgb(255,180,0)">
+            <use id="topLeft2" xlink:href="#posMarker" x="-15" y="-15"/>
+            <use id="topRight2" xlink:href="#posMarker" x="15" y="-15"/>
+            <use id="bottomRight2" xlink:href="#posMarker" x="15" y="15"/>
+            <use id="bottomLeft2" xlink:href="#posMarker" x="-15" y="15"/>
+            <set xlink:href="#topLeft2" attributeName="fill" to="rgb(255,180,0)" begin="0s;4s" dur="0.2s"/>
+            <set xlink:href="#topRight2" attributeName="fill" to="rgb(255,180,0)" begin="3s" dur="0.2s"/>
+            <set xlink:href="#bottomRight2" attributeName="fill" to="rgb(255,180,0)" begin="2s" dur="0.2s"/>
+            <set xlink:href="#bottomLeft2" attributeName="fill" to="rgb(255,180,0)" begin="1s" dur="0.2s"/>
+          </g>
+        </defs>
+
+        <text id="text2ID" fill="rgb(230,230,230)" stroke="rgb(255,180,0)" font-family="MyDecFont" font-size="40" x="-35 5" y="-15 -15">12</text>
+        <animate xlink:href="#text2ID" attributeName="x" values="-35 5;-5 5;-5 35;-35 35;-35 5" begin="0s" dur="4s"/>
+        <animate xlink:href="#text2ID" attributeName="y" values="-15 -15;-15 15;15 15;15 -15;-15 -15" begin="0s" dur="4s"/>
+
+        <use xlink:href="#markerGroup" x="-20"/>
+        <use xlink:href="#markerGroup2" x="20"/>
+
+        <text text-anchor="middle" y="60">x/y on &lt;text&gt;(2)</text>
+      </g>
+
+      <g transform="translate(180,210)">
+        <image xlink:href="data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAPADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwCeSMqeDUDsy1YkPzHNRMFYcVZkQiQ0MA9IyEdKi3EGmBNGm1s4qfft4xUUL+tPlyTmkApYOORUDwgnNSbyKazmgCExBKjZgOKfIfeqsmexpgS5pjPimKSOvShsUAO3UhamZwaM0XAUtTC1ISaYxxQIcZKUMDVctQJMUwLOQBUbPUfm571Gz0ASmT1pPMqAvTd+eKALHmVJG/FU2bpU8bDbQIsb6XfkVXLUm+gCcmmlqhLn1qNpTQBK0mKhaQ1E0hNRlz60DPdL3wtZSJuhY7vTFc3PogiLjBG2vR2RSN2eTVeS0jlydoyaxUjSx5dLYsoJ/Kqb2slej6h4YF1h4GEZA+7jrWHL4WvwTiLOKrmQrHGEMnFKrO3Hauqk8Iakwz5OfxqhPoF5bMVeI5HpT5kKzMXGDTTkGrU1u6HlGGPaoSuTRcLEDsfTNVmOauPGeMVXMYGRRcdiNVLew9aQxndjmpFyv0p/BpXHYrMpHQcUzNWG7iq7DFFxWGsaiZqcTUT5qrisNLU0tUbEimbzRcViQsRTC5phehW5p3AC5HXikZu4NIzgnBqMnkgdKLiLAk+TFPWYYxVUA460hYgUXAuebR5lVN+B1o83FMCyZKjZ6rmamGagCdnpuc1B5tAlFAH0/DMjBdzLgjPXn8qs74UVT5sY3HjkcmvNzeloEAY7lGDk1SmuZe7H86x5DTmPWTIoH31Xd709rmOEfPnIHXHBryOLUp04ErD8a0f+EguZLI27uSOxPUUuRhzHdNqINwGS4/dsfmTris3U5YZpd0Qf8TXCNfyq4becjvmtXT9euFYKyLKvcMKfLYL3NJ0Vuqg/UVUl063kB/dKCe4FaLSxTqGjj2e2c0wKaZOqOautJ8rkDcp71Rl0wldwGBXaiHdxjNB01JBgp+VJstHnxsip6UGzbGQK71PDTSyYjbI9CtWo/Bs2QCY+ffpWUp9jWMU9zzNrZh1FV5bc+len3PgmfaTHtY+max7vwffopb7MxUegzS9o1uh+zXRnnrxY7VA0ZrqLzSJYAd0bD6isO4gKk8VaqJkODRmOBUDAVPMCCaquSK0TIcRrtUXmEUrZNRsrelO5NhTIKXzRVdgRTc+tO4r FrzeKjL5qEvSZOKdwJGkqNpsVE7EVCz0XETtNTDNVctSUXAsed70omqtS5ouB699q96YbgNxmszz885qNpiG4oEavmDGKYZSOhrPFz60puPemBdMmTyc1agvFj6dayPPFAm9DSsO508GrumMYrWj1qMoPlG761wq3BHep1uXxwamw7neW2uxo+JVA9CBWzbatp/mI0rAq3pxivMFuXPerEVy4P3qhwRopntdv9nkUSQFGB6FTmpq8r0jV57KdSrttyMgHrXo1jdG8jSVJAUI5XPIqb8ulh2vqXqKKK0IK13p9texGOeFWB74rz/WvAUxkZrRQ6H07V6GblN5VQWI64oS6jZyhO1h2asZKDejszaLmlqtDwe/8K3UDHK9KxpdIdPvDFfQ89vpVxIwljgZ26lh1rnPEPha3kjBtLYAgc44FTzOO+pVlLbQ8Re0EYORUOwHjbXa3+gyRKzPGVA9a564tthIxWsZpmUoNGHLb9TVKSMrWvMhFUpVPpV3IsZxHNDNxgVM6e1QslVcViJue9QsKsFKQx0CKpBpOlWNpz0o8lmHAoAr5pc1aSwlkPCE1bTRbggfu2NAHSp5i9cUrPgVrLaof+WfNVZbdQ+Gjz9KLisUPMphmwetbUGjwzpyShP6VI3hZGK4vVBPXK8CjmHYwhL707z/Q1sf8IlL2vIf1qGfwrfQjKFZe/wAtHMg5WUllyKk+0EVHJp97CcNA59wM1CySg4KMCPUUXFYti4NWIrk+tZYdl68VNHLzSKSN22uG3A5NdVomoXNtKkiSlVzyPauDTUbO3dUnuIo3borMBWlb6/ZRswe6jTYdp3naM/j1rOSNIux7jbXcN1CssbDB7Z5FNmvIolO7dxxxXkUHj3R4ZAqagnTqARz7cVcX4j2Hli6e4nVNwQ74zjnufb3qOaTHZI6++8SPBKwFsEHYkdaxG1xjKXEh3H3qvfeIbR0Y3N5aokgyod1H5Vz8txalfNW6iCZxneMZ+tNRT3DmZ0iX09zOziXGBkjPXFMn8S3suY2mfaOwNYEN5H9n81Z9iMSqsT9/tx696jaRVjaRpokUfeZnAA+pp8qFzM15tSMibZlDg1hXllBMxKOR7EVTk1/ToLe3nnvEWKckIxz261W/4S/SI7l4ZZoNgAKSiQMH9RgdOtJRS2G5t7kVzp7rkqcismaFgeRVi/8AG2kxyokLGQM2GZBwo/GsmfxjZeaQsO+PnnJB/LFWibkjRjPSm/Zy3RKx7vxfv/49rNU93Oaz/wDhJb8H/WAY6YGP/wBdMR1JsWxnbUJtD3WufXxRqHmFy6MD/wAs9vA/rW1Z6/ZXD26zy+SZGKvu6JgdSfQ07isXYNOMhHyHHsK0Y9EUn5GGR2NVrvxxpljA0dknnuhATPCsPXNUJfiOxjBjsU3kDq5wD34x+XNK7DlOqs7VYX+WBSR61PPkj5uPYVwM3xB1F5SYre2jQjAUqTj3zmqM/jDUpY8C4KsR8xCjg+3FGo7HrEdwv8P61YWQ9SBiqxhsIb6Kza4HnSqXUYPQf5P5VOwsbS3upLq+j/dhmVN4U4Azjmi6JsyQsxG8Y/OpIZ3m+R+Rn1xWZL4j8O2OjRXpvIp7hkVvsqSqzKSOh+nes/V/iBolvGz6ZEk86kY3h1B9ccUuYq1jsF+zFcbXVvXORWhZ2M0jYWQFOxzkV4tffEzV5XkFvHaxIRhWER3D82IqhbfEbxLbyB/t4YLkhWiXH6CpalbQtNX1PdNQENusrzybNoJztyDxxyB3rhNV8ZaRbQuFheWUj5DjaD/X9K8y1PxLrGsuTf6hcTqWLbHc7R9F6CqcZ3OM80JNIXU6q/8AFl1dogtI1typyzcNn25FZ8muapLuzd4yMfKij+QrP59KQjHWldhYa13dCYyNK5cnO7POfrSG4dslmJJPNRuwZT7VEHFVuIs+aaa0p5wTUYYnpSEHqQaVhjjKcdaDM5Xbk49M1F1oyfSmIe0zkAFiQowAT0pnmtyAxApDyM0zApgP3EjqaazcUH5elNJoAaTSFqDSUwDdTaO9GOK AD+VGaM8YpKYDqKTPvRmgB2SKaTRSHpQBoTXt5cyB57mZ2HG53JxVfcWbG+vRZNNsZUAkt0K/e+YHrVc6JpbAf6Ehz0IyKCbnCKuO5p231JruP7E0zBzbJgdfmPH601tE00/dthn/AHm/xoC5xDKvZj75FRHA9PrXbNomnA8W5HH981EdD05j/qj/AN/DQHMccM+9WrZgDgjntXS/2Dp/aJ/++zR/YtiuMI4P+8c0mrjUjDLtjOOKjZmP0rffTbNE+VXJ9N1EWkW03WORT7sKiw7nMOdoNMT5m7j1rso/C1vO3MjAZwMHOa1NP+HtvdsoW5I3gENjIpOpGO5ShJ7I4IMMYHFLgHAzz3r1uL4P2rKS2pENzgbCMn8cUyb4VWEPJ1FiMfeGCM/gay9tDuaeyn2PI5UAwV/Koeetel3ngPT4CQL0kYz82Af51jSeGLJM7Jy2O/StI1IshwaONPTJBNIsbsM4OK6d9AgDEZOKfBpVtBuDJnjjJq29NCDlXBXr+lM2n0rop9KtyxIX9TVc6dAvGz9apCuYRBHem4OO9bhsYP7lJ9hg/uUxcyMPn0o/A1tmxg/ufrQbKD+5QHMjEo4rZNjAf4f1phsYM48tvrziiwcyMmjFaxsIB/AfzNJ9jgH8P60BzIyiDTTxWr9lhx939aabWEn7v60D5jvPMLEDG9c5xtzj9aTMxxtBAPXA5FM2yDlZuOmM/wCAoInONzp7k5oIHNCXGGyfrzmkEW1cjP600RlckTAnPJ3daBIATudyTwOn5Uhjdw28cj1I61EzEMdx2jvyP6VO7K+FLLnPQn/Cojhckuvt83+NMGG3IGORjseRSFycLhgcYwf/AK1ROA+0CQY7ndmkjXYpETqc9BvJoET5kw3G/wCnaiPerYZl+h7fz/lUexmxtbkcnDEf0qaBXbA37SOSwPbtUsuJqWkjAKfMKg84GP8AP4V1ulWaTywsty5c/KcFuM9+D6etc5a217wIIl8tgAXYYAPXrg811NgbuO3dN0yuDx5TBR9STnofpXFVZ2U0bB2WiYNxwPk+8VCe5Bb+Z/KoiFETPayo8GfnbBIB6HgY7nr7VqCO4FlHI9vdGfaN0v2mNdgz6nGB+tU5hIYpJWjicsBmVJ0JI5Gdy/1zWFja5yuphoJn2Mp3ccRcj3weT/8AXrmr53OCeVJI5Qiuk1SCJpI/LkuEduVEeBz6bsA/l+NYFzatuSNRIqYyD5mc++StdFMwmY0yvkHcB6Z//VVNzKe5/E1eeHaXkEko74ZVOPpxVNuR8+T6/d/pXTE52VmLHrx7VBLnGc1LhS3Q4HrUUuMVojNkJJ9qQUE+lMzVEj80mabnPWjpmgBSaaaM5ppNAgJzTSaMnv8ApSE5NAxpNITRznGePpTT9f0pDOzbMeAsasPRmP8AQUfIGy6rgnquT/SociRM4IHokf8A9fNIpAHLOQOMYyKBFjY3O1VK+7Y/pQ3AIXH54FQiT5QAsjHrkjA/PFMkuiv3lAXPJYhR+HNAyUgqcEoAenem+WVbkHb7etVJJlL7oU3Hvtbr/jTPtJ3/ALxYoh6SOOfwoAszADHyhCOhxz/OkDcA/Mw75O0f41Cwt8h2iXI7quf5ZpAIw29Rj6gj+dAizh8kpGioT134P8quRxr5gaUEHHeXkj6nOD+FUgQcKY5H3cDbz/WrFu6RzbzPiRzjPlud3PJzzUSZpFHR6YJkkUQmZiOTHK4YBe/GMEf5wa6PT3AKpZt5sSNmRZAYmP4bea57TL6ztrp0ku/MRR8ojtmBDY/hIHXjk961LTxH5kbwqr+dsJDNHODuIP8AdHPOeCMVxTu+h2waXU68HUtryWpgYAYEUriTH0GAV+gqtcNqgjUmxtwSoD+XO6que5AQ/wBPxzWJNaC809mkURLt2YH2iLJ654znp3B7UQ2MMcI8vUb6SVU2BopC8n4EqD9M/wD1qyt3LK+qWstxGy3V3LK2MILd3Axkcnt2/KuYntoLJWtpLRmIO4FQWJP/AAIjity60+aMSKL67kBUbkkk3BjjPIMTZrM e2t1sWRJn3sG2iNN/Ab/cAwORnA5raDsZS1OflmkjY7rCTG3gJEmMe/P9apySg5PksMdeB1/CtKZGA8pzJweoTB/+vxWPKjHAjkuGDD1PP6V1ROaRFLIoJAjYc1Wdtx5B/GpHDA4eTOfUkf0qBgAfvc/jWqMmITjtgUzdz1FKSfqKYeRnFMQ7PNJmm5Pekz6/yoAcTSHmkzSZoAX6HFN6Um8HvmgmgAJPpSA0lJuOSMEUhnWpAVJCJEM8Z2AfyFVrm3cxly21ccgMeg+mKKKCRY4IvKDCNSo7Hn+eaHRbcFhCgwMkK2Pb0oooGRP5QI326sTwPnNMVLUSErbjOeh6UUUATIsTqc7wM9AelBgiWNmCbgP7x70UUDKwlt4jkxFivJJAresLkTW8twYd4jXP+sKHrjsD/k0UVEldGkXZ6F2yne5PlLugDjARX3pgezDg/nXX2HzXS2gjEkhUOqySMI24z8w57e1FFcdXex1U9rl+GDVFcNZQWUEkxJVvPkA465CBc9B61japp3jGBWVNbtTF5WXzH82D77ST+dFFTFJMJSdjBNvrJuUtry7t7kQLkFlIPQnGRjP3epqp9g1YiW6E1pDHCmfLi34OTjr17+tFFboybdzHv7y/uLl55JUl52AtuXgcDgHFZpkmkXcywj5scKT/ADooreKVjCTdyCVmJwZGAPZQAKYVZcKDRRVEkbsQeSSTTCc8UUVQCZpM0UUgAg/hTM0UUxDHlCEAg0gmDHABoopFBvyO9LuJoooEf//Z" x="-40" y="-40" width="50" height="50" preserveAspectRatio="none">
+          <animate attributeName="width" values="50;80;20;50" begin="0s" dur="3s"/>
+          <animate attributeName="height" values="50;20;80;50" begin="0s" dur="3s"/>
+        </image>
+
+        <rect x="-40" y="-40" width="50" height="50" stroke="rgb(255,180,0)" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s;3s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-40" y="-40" width="80" height="20" stroke="rgb(255,180,0)" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-40" y="-40" width="20" height="80" stroke="rgb(255,180,0)" fill="none">
+          <set attributeName="stroke-width" to="4" begin="2s" dur="0.2s"/>
+        </rect>
+
+        <text text-anchor="middle" y="60">width/height</text>
+        <text text-anchor="middle" y="75">on &lt;image&gt;</text>
+      </g>
+
+
+      <g transform="translate(300,210)">
+        <rect x="-40" y="-40" width="50" height="50" fill="gray">
+          <animate attributeName="width" values="50;80;20;50" begin="0s" dur="3s"/>
+          <animate attributeName="height" values="50;20;80;50" begin="0s" dur="3s"/>
+        </rect>
+
+        <rect x="-40" y="-40" width="50" height="50" stroke="rgb(255,180,0)" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s;3s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-40" y="-40" width="80" height="20" stroke="rgb(255,180,0)" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-40" y="-40" width="20" height="80" stroke="rgb(255,180,0)" fill="none">
+          <set attributeName="stroke-width" to="4" begin="2s" dur="0.2s"/>
+        </rect>
+
+        <text text-anchor="middle" y="60">width/height</text>
+        <text text-anchor="middle" y="75">on &lt;rect&gt;</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-41-t.svg b/Tests/W3CTestSuite/svg/animate-elem-41-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fbba0e7b653c79fe2eb006f7433e379910270079
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-41-t.svg
@@ -0,0 +1,445 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN, CM" author="VH" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-41-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test validates the operation of the animate element on the various graphics
+        properties. This test is very similar to animate-elem-78-t which uses the set element
+        instead of the animate element to modify graphics properties.
+      </p>
+      <p>
+        For each of the graphics properties, there are three tests. One animates the graphics
+        property directly on an element (such as a rect or a line) which uses the
+        property. The other two tests apply the animation on a container element (g and
+        a), and validate that the animated property is inherited by elements which
+        are child of the container.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There are 11 graphics properties that are animated, and for each of these,
+        they are animated in one of three different ways (the three columns).  The
+        three animations in each row must be the same.
+      </p>
+      <p>
+        For each animation test, the element on which the animation is applied is also
+        translated by an animation so that the various states of the animation can
+        be checked more easily:
+      </p>
+      <ul>
+        <li>For those tests that have two light gray silhouettes
+        (fill-rule, stroke-linecap, stroke-linejoin, stroke-miterlimit and stroke-dashoffset),
+        the animated element's shape must be the same as the left silouhette at the
+        start of the animation and the same as the right silhouette at the end of
+        the animation.</li>
+        <li>For the continous paint animations (fill, stroke and color),
+        three references shapes show the color that the animated element must be
+        at the start, middle and end of the animation.</li>
+        <li>For the stroke-width test, the two dark gray reference shapes show the
+        width of the short, animated horizontal line must be at the start and the end
+        of the animation.</li>
+        <li>For the display and visibility tests, the single light gray silhouette
+        shows the position the animated element must be at at the start of the animation.
+        At the end of the animation, these animated elements must not be visible.</li>
+      </ul>
+      <p>
+        The following animations must show continuous changes: fill, stroke,
+        stroke-width, stroke-dashoffset and color.
+      </p>
+      <p>
+        The following animations must show discrete animation changes: fill-rule, stroke-linecap,
+        stroke-linejoin, stroke-miterlimit, display and visibility.  The point at which
+        the change takes place must be half way through the animation, except for the
+        stroke-miter animation, which must change a quarter of the way through.
+        (Note that visually, stroke-miterlimit shows a sharp transition even though its value
+        is animated continuously, but that is because the miter is cut off when
+        the animated miter limit reaches the test sharp angle's miter value.)
+      </p>
+      <p>The test passes if all of the above criteria are met.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-41-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="20">graphics</text>
+    <g transform="translate(80, 75)">
+      <g transform="translate(30,10)" text-anchor="end" font-size="12">
+        <text>fill</text>
+        <text y="20">fill-rule</text>
+        <text y="40">stroke</text>
+        <text y="60">stroke-width</text>
+        <text y="80">stroke-linecap</text>
+        <text y="100">stroke-linejoin</text>
+        <text y="120">stroke-miterlimit</text>
+        <text y="140">stroke-dashoffset</text>
+        <text y="160">display</text>
+        <text y="180">visibility</text>
+        <text y="200">color</text>
+      </g>
+
+      <g id="type" transform="translate(90, -20)" text-anchor="middle" font-size="14">
+        <text x="20" y="3">element</text>
+        <text x="130" y="3">&lt;g&gt;</text>
+        <text x="235" y="3">&lt;a&gt;</text>
+      </g>
+
+      <g transform="translate(80,0)" fill="rgb(204,0,102)">
+        <g id="setZero">
+          <defs>
+            <g id="animateZeroRef">
+              <rect x="10" y="-6" width="8" height="4" fill="rgb(204,0,102)"/>
+              <rect x="10" y="-6" width="8" height="4" fill="rgb(230,82,51)" transform="translate(15,0)"/>
+              <rect x="10" y="-6" width="8" height="4" fill="rgb(255,165,0)" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#animateZeroRef"/>
+          <use xlink:href="#animateZeroRef" x="110"/>
+          <use xlink:href="#animateZeroRef" x="220"/>
+
+          <rect x="10" width="8" height="8" fill="rgb(204,0,102)">
+            <animate attributeName="fill" to="rgb(255,165,0)" dur="3s" fill="freeze"/>
+            <animate attributeName="x" to="40" dur="3s" fill="freeze"/>
+          </rect>
+
+          <g transform="translate(110, 0)">
+            <rect x="10" width="8" height="8"/>
+            <animate attributeName="fill" to="rgb(255,165,0)" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <rect x="10" width="8" height="8"/>
+            <animate attributeName="fill" to="rgb(255,165,0)" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </a>
+
+        </g>
+
+        <g id="setOne" transform="translate(5,15)" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setOneRef" fill="#ccc" stroke="none">
+              <polyline stroke-width="1" points="20,10,0,10,15,20,10,2,5,20,20,10"/>
+              <polyline fill-rule="evenodd" stroke-width="1" points="20,10,0,10,15,20,10,2,5,20,20,10" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setOneRef"/>
+          <use xlink:href="#setOneRef" x="110"/>
+          <use xlink:href="#setOneRef" x="220"/>
+
+          <polyline points="20,10,0,10,15,20,10,2,5,20,20,10">
+            <animate attributeName="fill-rule" from="nonzero" to="evenodd" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </polyline>
+
+          <g transform="translate(110, 0)">
+            <animate attributeName="fill-rule" from="nonzero" to="evenodd" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <polyline points="20,10,0,10,15,20,10,2,5,20,20,10"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animate attributeName="fill-rule" from="nonzero" to="evenodd" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <polyline points="20,10,0,10,15,20,10,2,5,20,20,10"/>
+          </a>
+
+        </g>
+
+        <g id="setTwo" transform="translate(0,45)" fill="none">
+          <defs>
+            <g id="setTwoRef" fill="none" stroke-width="4">
+              <rect x="10" width="8" height="8" stroke="rgb(204,0,102)"/>
+              <rect x="10" width="8" height="8" transform="translate(15,0)" stroke="rgb(230,82,51)"/>
+              <rect x="10" width="8" height="8" transform="translate(30,0)" stroke="rgb(255,165,0)"/>
+
+            </g>
+          </defs>
+          <use xlink:href="#setTwoRef"/>
+          <use xlink:href="#setTwoRef" x="110"/>
+          <use xlink:href="#setTwoRef" x="220"/>
+
+          <rect x="10" width="8" height="8" stroke-width="3">
+            <animate attributeName="stroke" from="rgb(204,0,102)" to="rgb(255,165,0)" dur="3s"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </rect>
+
+          <g transform="translate(110, 0)">
+            <animate attributeName="stroke" from="rgb(204,0,102)" to="rgb(255,165,0)" dur="3s"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <rect x="10" width="8" height="8" stroke-width="3"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animate attributeName="stroke" from="rgb(204,0,102)" to="rgb(255,165,0)" dur="3s"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <rect x="10" width="8" height="8" stroke-width="3"/>
+          </a>
+        </g>
+
+        <g id="setThree" transform="translate(0,60)">
+          <defs>
+            <g id="setThreeRef">
+              <line x1="10" y1="3" x2="20" y2="3" stroke-width="1" stroke="gray"/>
+              <line x1="10" y1="3" x2="20" y2="3" stroke-width="5" stroke="gray" transform="translate(30,0)"/>
+            </g>
+          </defs>
+
+          <use xlink:href="#setThreeRef"/>
+          <use xlink:href="#setThreeRef" x="110"/>
+          <use xlink:href="#setThreeRef" x="220"/>
+
+          <line x1="10" y1="8" x2="20" y2="8" stroke="gray">
+            <animate attributeName="stroke-width" from="1" to="5" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </line>
+
+          <g transform="translate(110, 0)">
+            <animate attributeName="stroke-width" from="1" to="5" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <line x1="10" y1="8" x2="20" y2="8" stroke="gray"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animate attributeName="stroke-width" from="1" to="5" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <line x1="10" y1="8" x2="20" y2="8" stroke="gray"/>
+          </a>
+        </g>
+
+        <g id="setFour" transform="translate(0,80)" stroke-width="4" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setFourRef" stroke-width="12">
+              <line x1="10" y1="8" x2="12" y2="8" stroke="#ccc"/>
+              <line x1="10" y1="8" x2="12" y2="8" stroke-linecap="round" stroke="#ccc" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setFourRef"/>
+          <use xlink:href="#setFourRef" x="110"/>
+          <use xlink:href="#setFourRef" x="220"/>
+
+          <line x1="10" y1="8" x2="12" y2="8" stroke-width="12">
+            <animate attributeName="stroke-linecap" from="butt" to="round" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </line>
+
+          <g transform="translate(110, 0)">
+            <animate attributeName="stroke-linecap" from="butt" to="round" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <line x1="10" y1="8" x2="12" y2="8" stroke-width="12"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animate attributeName="stroke-linecap" from="butt" to="round" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <line x1="10" y1="8" x2="12" y2="8" stroke-width="12"/>
+          </a>
+        </g>
+
+        <g id="setFive" transform="translate(5,100)" fill="none" stroke-miterlimit="10" stroke-width="3" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setFiveRef">
+              <polyline stroke="#ccc" points="5,2,20,5,5,8"/>
+              <polyline stroke="#ccc" points="5,2,20,5,5,8" stroke-linejoin="bevel" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setFiveRef"/>
+          <use xlink:href="#setFiveRef" x="110"/>
+          <use xlink:href="#setFiveRef" x="220"/>
+
+          <polyline points="5,2,20,5,5,8">
+            <animate attributeName="stroke-linejoin" from="miter" to="bevel" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </polyline>
+
+          <g transform="translate(110, 0)">
+            <animate attributeName="stroke-linejoin" from="miter" to="bevel" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <polyline points="5,2,20,5,5,8"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animate attributeName="stroke-linejoin" from="miter" to="bevel" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <polyline points="5,2,20,5,5,8"/>
+          </a>
+        </g>
+
+        <g id="setSix" transform="translate(5,120)" stroke-miterlimit="1" fill="none" stroke-width="3" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setSixRef">
+              <polyline points="5,0,20,5,5,10" stroke="#ccc"/>
+              <polyline points="5,0,20,5,5,10" stroke="#ccc" stroke-miterlimit="10" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setSixRef"/>
+          <use xlink:href="#setSixRef" x="110"/>
+          <use xlink:href="#setSixRef" x="220"/>
+
+          <polyline points="5,0,20,5,5,10">
+            <animate attributeName="stroke-miterlimit" from="1" to="10" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </polyline>
+
+          <g transform="translate(110, 0)">
+            <animate attributeName="stroke-miterlimit" from="1" to="10" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <polyline points="5,0,20,5,5,10"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animate attributeName="stroke-miterlimit" from="1" to="10" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <polyline points="5,0,20,5,5,10"/>
+          </a>
+
+        </g>
+
+        <g id="setSeven" transform="translate(-5,145)" stroke-dasharray="3,4,5" stroke-width="3" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setSevenRef">
+              <line x1="0" y1="0" x2="25" y2="0" stroke="#ccc"/>
+              <line x1="0" y1="0" x2="25" y2="0" stroke="#ccc" stroke-dashoffset="5.5" transform="translate(40,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setSevenRef"/>
+          <use xlink:href="#setSevenRef" x="110"/>
+          <use xlink:href="#setSevenRef" x="220"/>
+
+          <line x1="0" y1="0" x2="25" y2="0">
+            <animate attributeName="stroke-dashoffset" from="0" to="5.5" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="40" dur="3s" fill="freeze" additive="sum"/>
+          </line>
+
+          <g transform="translate(110, 0)">
+            <animate attributeName="stroke-dashoffset" from="0" to="5.5" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="40" dur="3s" fill="freeze" additive="sum"/>
+            <line x1="0" y1="0" x2="25" y2="0"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animate attributeName="stroke-dashoffset" from="0" to="5.5" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="40" dur="3s" fill="freeze" additive="sum"/>
+            <line x1="0" y1="0" x2="25" y2="0"/>
+          </a>
+        </g>
+
+        <g id="setEight" transform="translate(0,160)">
+          <defs>
+            <g id="setEightRef">
+              <rect x="10" width="8" height="8" fill="#ccc"/>
+              <rect x="10" width="8" height="8" fill="#ccc" transform="translate(30,0)" display="none"/>
+            </g>
+          </defs>
+          <use xlink:href="#setEightRef"/>
+          <use xlink:href="#setEightRef" x="110"/>
+          <use xlink:href="#setEightRef" x="220"/>
+          <rect x="10" width="8" height="8">
+            <animate attributeName="display" from="inline" to="none" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </rect>
+
+          <g transform="translate(110, 0)">
+            <animate attributeName="display" from="inline" to="none" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <rect x="10" width="8" height="8"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animate attributeName="display" from="inline" to="none" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <rect x="10" width="8" height="8"/>
+          </a>
+        </g>
+
+        <g id="setNine" transform="translate(0,180)">
+          <defs>
+            <g id="setNineRef">
+              <rect x="10" width="8" height="8" fill="#ccc"/>
+            </g>
+          </defs>
+          <use xlink:href="#setNineRef"/>
+          <use xlink:href="#setNineRef" x="110"/>
+          <use xlink:href="#setNineRef" x="220"/>
+
+          <rect x="10" width="8" height="8">
+            <animate attributeName="visibility" from="visible" to="hidden" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </rect>
+
+          <g transform="translate(110, 0)">
+            <animate attributeName="visibility" from="visible" to="hidden" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <rect x="10" width="8" height="8"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animate attributeName="visibility" from="visible" to="hidden" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <rect x="10" width="8" height="8"/>
+          </a>
+        </g>
+
+        <g id="setTen" color="rgb(204,0,102)" transform="translate(0,200)">
+          <defs>
+            <g id="animateTenRef">
+              <rect x="10" y="-6" width="8" height="4" fill="rgb(204,0,102)"/>
+              <rect x="10" y="-6" width="8" height="4" fill="rgb(230,82,51)" transform="translate(15,0)"/>
+              <rect x="10" y="-6" width="8" height="4" fill="rgb(255,165,0)" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#animateTenRef"/>
+          <use xlink:href="#animateTenRef" x="110"/>
+          <use xlink:href="#animateTenRef" x="220"/>
+
+          <rect x="10" width="8" height="8" fill="currentColor">
+            <animate attributeName="color" from="rgb(204,0,102)" to="rgb(255,165,0)" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+          </rect>
+
+          <g transform="translate(110, 0)" fill="currentColor">
+            <animate attributeName="color" from="rgb(204,0,102)" to="rgb(255,165,0)" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <rect x="10" width="8" height="8"/>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)" fill="currentColor">
+            <animate attributeName="color" from="rgb(204,0,102)" to="rgb(255,165,0)" dur="3s" fill="freeze"/>
+            <animateTransform type="translate" attributeName="transform" from="0" to="30" dur="3s" fill="freeze" additive="sum"/>
+            <rect x="10" width="8" height="8"/>
+          </a>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-44-t.svg b/Tests/W3CTestSuite/svg/animate-elem-44-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3c75b6d3a5f434b82df17803e608008d2a09ccec
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-44-t.svg
@@ -0,0 +1,94 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="OA" author="SH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-44-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        The purpose of this test is to test animation of the d
+        attribute of the path element.
+      </p>
+      <p>
+        This test consists of a path, specified as a series of
+        lineto commands, whose d attribute is animated.
+        The path morphs between the numbers 1, 2, 3, and 4.
+        The gray outlines indicates the expected position of the polygon at 1, 2, 3 and 4s.
+        The test contains an animated circle that indicates where
+        the path should be at a given time.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test is passed if all of the following conditions are met:</p>
+      <ul>
+        <li>The red path in the shape of the digit "1" morphs continuously over three seconds
+        (from 1s to 4s in document time) to the shape of "2", "3" and then "4".  The gray paths
+        show the four shapes and positions that the red path takes as it morphs.</li>
+        <li>From 0s to 2s, the circle below the "1" digit is red and the others are gray.</li>
+        <li>From 2s to 3s, the circle below the "2" digit is red and the others are gray.</li>
+        <li>From 3s to 4s, the circle below the "3" digit is red and the others are gray.</li>
+        <li>From 4s onwards, the circle below the "4" digit is red and the others are gray.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-44-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(40,0) scale(0.8)">
+      <!-- GRAY SILHOUETTES INDICATING TIME IN SECONDS-->
+      <path id="Number1" d="M 26.5,32.5 L 33.5,32.5 40.5,29.5 47.5,23.5 61.5,17.5 73.5,16.5              74.5,33.5 73.5,50.5 73.5,64.5 72.5,77.5 72.5,90.5 72.5,105.5 71.5,126.5 89.5,128.5              90.5,138.5 89.5,151.5 72.5,151.5 54.5,152.5 38.5,152.5 27.5,152.5 28.5,139.5 30.5,127.5              44.5,125.5 46.5,112.5 47.5,99.5 46.5,87.5 48.5,73.5 48.5,53.5 34.5,52.5 22.5,52.5             22.5,51.5 22.5,41.5 22.5,33.5 Z" fill="#ccc" stroke="rgb(0,0,0)" stroke-width="1"/>
+      <path id="Number2" d="M 108.5,38.5 L 123.5,26.5 148.5,16.5 172.5,17.5 188.5,19.5              202.5,23.5 206.5,26.5 210.5,37.5 213.5,44.5 215.5,57.5 209.5,68.5 203.5,81.5 187.5,98.5              164.5,120.5 206.5,121.5 224.5,121.5 220.5,149.5 194.5,147.5 181.5,147.5 167.5,146.5              150.5,147.5 133.5,149.5 117.5,148.5 117.5,136.5 118.5,124.5 133.5,115.5 151.5,97.5 170.5,78.5             186.5,59.5 179.5,43.5 159.5,35.5 139.5,40.5 125.5,49.5 Z" fill="#ccc" stroke="rgb(0,0,0)" stroke-width="1"/>
+      <path id="Number3" d="M 248.5,38.5 L 276.5,22.5 298.5,19.5 316.5,26.5 332.5,40.5 331.5,57.5              322.5,70.5 307.5,76.5 314.5,80.5 324.5,86.5 333.5,99.5 333.5,121.5 327.5,130.5 312.5,143.5              292.5,149.5 270.5,148.5 248.5,142.5 252.5,114.5 267.5,119.5 282.5,119.5 297.5,115.5             304.5,109.5 295.5,99.5 284.5,92.5 277.5,84.5 270.5,74.5 281.5,66.5 293.5,60.5             297.5,50.5 292.5,45.5 281.5,45.5 274.5,49.5 266.5,53.5 Z" fill="#ccc" stroke="rgb(0,0,0)" stroke-width="1"/>
+      <path id="Number4" d="M 427.5,17.5 L 439.5,15.5 449.5,15.5 449.5,29.5 447.5,44.5 447.5,59.5              465.5,60.5 466.5,74.5 465.5,89.5 450.5,87.5 449.5,102.5 449.5,123.5 449.5,140.5 449.5,153.5             420.5,154.5 421.5,137.5 420.5,123.5 420.5,111.5 419.5,99.5 392.5,97.5 367.5,99.5             366.5,79.5 367.5,69.5 376.5,43.5 381.5,27.5 384.5,17.5 412.5,16.5 406.5,36.5             400.5,49.5 394.5,70.5 419.5,71.5 423.5,49.5 424.5,33.5 Z" fill="#ccc" stroke="rgb(0,0,0)" stroke-width="1"/>
+      <!-- Gray silhouettes indicating the positions of the marker circle -->
+      <circle r="30" cx="50" cy="200" fill="#ccc"/>
+      <circle r="30" cx="173" cy="200" fill="#ccc"/>
+      <circle r="30" cx="297" cy="200" fill="#ccc"/>
+      <circle r="30" cx="420" cy="200" fill="#ccc"/>
+
+      <!-- Test the animation of the d attribute -->
+      <path id="animatedNumber" d="M 26.5,32.5 L 33.5,32.5 40.5,29.5 47.5,23.5 61.5,17.5             73.5,16.5 74.5,33.5 73.5,50.5 73.5,64.5 72.5,77.5 72.5,90.5 72.5,105.5 71.5,126.5             89.5,128.5 90.5,138.5 89.5,151.5 72.5,151.5 54.5,152.5 38.5,152.5 27.5,152.5 28.5,139.5             30.5,127.5 44.5,125.5 46.5,112.5 47.5,99.5 46.5,87.5 48.5,73.5 48.5,53.5 34.5,52.5             22.5,52.5 22.5,51.5 22.5,41.5 22.5,33.5 Z" fill="rgb(204,0,102)" stroke="rgb(0,0,0)" stroke-width="4">
+        <animate attributeName="d" values="M 26.5,32.5 L 33.5,32.5 40.5,29.5 47.5,23.5 61.5,17.5 73.5,16.5 74.5,33.5 73.5,50.5 73.5,64.5                 72.5,77.5 72.5,90.5 72.5,105.5 71.5,126.5 89.5,128.5 90.5,138.5 89.5,151.5 72.5,151.5                 54.5,152.5 38.5,152.5 27.5,152.5 28.5,139.5 30.5,127.5 44.5,125.5 46.5,112.5 47.5,99.5                 46.5,87.5 48.5,73.5 48.5,53.5 34.5,52.5 22.5,52.5 22.5,51.5 22.5,41.5 22.5,33.5 Z;                 M 108.5,38.5 L 123.5,26.5 148.5,16.5 172.5,17.5 188.5,19.5 202.5,23.5 206.5,26.5 210.5,37.5 213.5,44.5                 215.5,57.5 209.5,68.5 203.5,81.5 187.5,98.5 164.5,120.5 206.5,121.5 224.5,121.5 220.5,149.5                 194.5,147.5 181.5,147.5 167.5,146.5 150.5,147.5 133.5,149.5 117.5,148.5 117.5,136.5 118.5,124.5                 133.5,115.5 151.5,97.5 170.5,78.5 186.5,59.5 179.5,43.5 159.5,35.5 139.5,40.5 125.5,49.5 Z;                 M 248.5,38.5 L 276.5,22.5 298.5,19.5 316.5,26.5 332.5,40.5 331.5,57.5 322.5,70.5 307.5,76.5 314.5,80.5                 324.5,86.5 333.5,99.5 333.5,121.5 327.5,130.5 312.5,143.5 292.5,149.5 270.5,148.5 248.5,142.5                 252.5,114.5 267.5,119.5 282.5,119.5 297.5,115.5 304.5,109.5 295.5,99.5 284.5,92.5 277.5,84.5                 270.5,74.5 281.5,66.5 293.5,60.5 297.5,50.5 292.5,45.5 281.5,45.5 274.5,49.5 266.5,53.5 Z;                 M 427.5,17.5 L 439.5,15.5 449.5,15.5 449.5,29.5 447.5,44.5 447.5,59.5 465.5,60.5 466.5,74.5 465.5,89.5                 450.5,87.5 449.5,102.5 449.5,123.5 449.5,140.5 449.5,153.5 420.5,154.5 421.5,137.5 420.5,123.5                 420.5,111.5 419.5,99.5 392.5,97.5 367.5,99.5 366.5,79.5 367.5,69.5 376.5,43.5 381.5,27.5                 384.5,17.5 412.5,16.5 406.5,36.5 400.5,49.5 394.5,70.5 419.5,71.5 423.5,49.5 424.5,33.5 Z" fill="freeze" begin="1" dur="3s"/>
+      </path>
+
+      <!-- the "bouncing ball" circle that shows where the path should be -->
+      <circle r="30" cx="50" cy="200" fill="rgb(204,0,102)">
+        <animate attributeName="cx" values="50; 173; 297; 420" begin="1" dur="4" calcMode="discrete" fill="freeze"/>
+      </circle>
+    </g>
+    <text x="5" y="225" font-size="28">
+      Animation on the 'd'
+      attribute of path.
+    </text>
+    <text x="5" y="255" font-size="18">Digit should match outline at indicated time.</text>
+    <text x="5" y="275" font-size="18">Filled circle should follow morphing digit discretely.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-46-t.svg b/Tests/W3CTestSuite/svg/animate-elem-46-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7fc7397e224ed581fc42acd4f32b5de716b580b9
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-46-t.svg
@@ -0,0 +1,279 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: animate-elem-46-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test validates the operation of the animate element on the various
+        text and font properties. This test is very similar to animate-elem-77-t.svg
+        which uses the set element instead of the animate element to modify graphics
+        properties.
+      </p>
+      <p>
+        For each text or font properties, there are three tests. One animates the text or font
+        property directly on a text element which uses the
+        property. The other two tests apply the animation on a container element (g and
+        a), and validate that the animated property is inherited by children text elements.
+      </p>
+      <p>
+        For each animation test, the element on which the animation is applied is also
+        translated by an animation so that the various states of the animation can
+        be checked more easily. There is a gray reference marker which shows
+        the expected animation state at the begining of the animation, mid-way, or at the
+        end of the animation.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There are 5 text properties that are animated, and for each of these,
+        they are animated in one of three different ways (the three columns).  The
+        three animations in each row must be the same.
+      </p>
+      <p>
+        For each animation test, the element on which the animation is applied is also
+        translated by an animation so that the various states of the animation can
+        be checked more easily.  Each test has three gray silhouettes, showing the size
+        and shape that the "A" must have at the start, middle and end of the animation.
+      </p>
+      <p>
+        The animation of font-size must show a continuous change of the font size.
+      </p>
+      <p>
+        The following animations must animate discretely: text-anchor, font-family,
+        font-style, font-weight.
+      </p>
+      <p>
+        The test passes if all of the above conditions are met.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-46-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F" font-weight="700">
+        <font-face-src>
+          <font-face-uri xlink:href="../resources/SVGFreeSansBold.svg#ascii"/>
+        </font-face-src>
+      </font-face>
+      <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F" font-style="italic">
+        <font-face-src>
+          <font-face-uri xlink:href="../resources/SVGFreeSansItalic.svg#ascii"/>
+        </font-face-src>
+      </font-face>
+      <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F" font-weight="700" font-style="italic">
+        <font-face-src>
+          <font-face-uri xlink:href="../resources/SVGFreeSansBoldItalic.svg#ascii"/>
+        </font-face-src>
+      </font-face>
+      <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="bold">
+        <font-face-src>
+          <font-face-uri xlink:href="../resources/FreeSerifBold.svg#FreeSerifBold"/>
+        </font-face-src>
+      </font-face>
+    </defs>
+    <g transform="translate(80, 80)">
+      <g transform="translate(20,10)" text-anchor="end" font-size="14">
+        <text x="5" y="15">text-anchor</text>
+        <text x="5" y="50">font-size</text>
+        <text x="5" y="85">font-family</text>
+        <text x="5" y="120">font-style</text>
+        <text x="5" y="155">font-weight</text>
+      </g>
+
+      <g id="type" transform="translate(90, -10)" text-anchor="middle" font-size="14">
+        <text x="20" y="3">&lt;text&gt;</text>
+        <text x="135" y="3">&lt;g&gt;</text>
+        <text x="250" y="3">&lt;a&gt;</text>
+      </g>
+
+      <g transform="translate(80,5)" text-anchor="start" font-size="20" fill="rgb(204,0,102)">
+        <g id="animateZero">
+          <defs>
+            <g id="animateZeroRef" font-size="30" font-weight="bold">
+              <text x="0" y="20" fill="#aaa" text-anchor="end">A</text>
+              <rect x="-2" y="18" width="4" height="4" fill="#aaa"/>
+              <text x="0" y="20" fill="#aaa" text-anchor="middle" transform="translate(30,0)">A</text>
+              <rect x="-2" y="18" width="4" height="4" fill="#aaa" transform="translate(30,0)"/>
+              <text x="0" y="20" fill="#aaa" text-anchor="start" transform="translate(60,0)">A</text>
+              <rect x="-2" y="18" width="4" height="4" fill="#aaa" transform="translate(60,0)"/>
+              <rect x="-2" y="18" width="4" height="4">
+                <animateTransform attributeName="transform" type="translate" values="0;30;60" dur="3s" fill="freeze" calcMode="discrete"/>
+              </rect>
+            </g>
+          </defs>
+
+          <use xlink:href="#animateZeroRef"/>
+          <use xlink:href="#animateZeroRef" x="110"/>
+          <use xlink:href="#animateZeroRef" x="220"/>
+
+          <text id="textID_0" x="0" y="20" text-anchor="end" font-size="30" font-weight="bold">A</text>
+          <animate xlink:href="#textID_0" attributeName="text-anchor" values="end;middle;start" dur="3s" fill="freeze"/>
+          <animateTransform xlink:href="#textID_0" attributeName="transform" type="translate" values="0;30;60" dur="3s" fill="freeze" calcMode="discrete"/>
+
+
+          <g transform="translate(110, 0)" text-anchor="end" font-size="30" font-weight="bold">
+            <animate attributeName="text-anchor" values="end;middle;start" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20">A</text>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)" text-anchor="end" font-size="30" font-weight="bold">
+            <animate attributeName="text-anchor" values="end;middle;start" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20">A</text>
+          </a>
+        </g>
+
+        <g id="animateOne" transform="translate(0,35)">
+          <defs>
+            <g id="animateOneRef" font-weight="bold" text-anchor="start">
+              <text x="0" y="20" fill="#aaa" font-size="30">A</text>
+              <text x="0" y="20" fill="#aaa" font-size="12" transform="translate(30,0)">A</text>
+              <text x="0" y="20" fill="#aaa" font-size="30" transform="translate(60,0)">A</text>
+            </g>
+          </defs>
+
+          <use xlink:href="#animateOneRef"/>
+          <use xlink:href="#animateOneRef" x="110"/>
+          <use xlink:href="#animateOneRef" x="220"/>
+
+          <text id="textID_1" x="0" y="20" font-size="12" font-weight="bold">A</text>
+          <animate xlink:href="#textID_1" attributeName="font-size" values="30;12;30" dur="3s" fill="freeze"/>
+          <animateTransform xlink:href="#textID_1" attributeName="transform" type="translate" from="0" to="60" dur="3s" fill="freeze"/>
+
+          <g transform="translate(110, 0)" font-size="12" font-weight="bold">
+            <animate attributeName="font-size" values="30;12;30" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" from="0" to="60" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20">A</text>
+          </g>
+
+          <a xlink:href="" transform="translate(220,0)" font-size="12" font-weight="bold">
+            <animate attributeName="font-size" values="30;12;30" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" from="0" to="60" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20">A</text>
+          </a>
+        </g>
+
+        <g id="animateTwo" transform="translate(0,70)">
+          <defs>
+            <g id="animateTwoRef" font-weight="bold" font-size="30">
+              <text x="0" y="20" fill="#aaa" font-family="SVGFreeSansASCII,sans-serif">A </text>
+              <text x="30" y="20" fill="#aaa" font-family="FreeSerif,serif">A</text>
+              <text x="60" y="20" font-size="30" fill="#aaa" font-family="SVGFreeSansASCII,sans-serif">A</text>
+            </g>
+          </defs>
+          <use xlink:href="#animateTwoRef"/>
+          <use xlink:href="#animateTwoRef" x="110"/>
+          <use xlink:href="#animateTwoRef" x="220"/>
+
+          <text id="textID_2" x="0" y="20" font-weight="bold" font-size="30">A</text>
+          <animate xlink:href="#textID_2" attributeName="font-family" values="SVGFreeSansASCII,sans-serif;FreeSerif,serif;SVGFreeSansASCII,sans-serif" dur="3s" fill="freeze"/>
+          <animateTransform xlink:href="#textID_2" attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze"/>
+
+          <g font-weight="bold" font-size="30" transform="translate(110,0)">
+            <animate attributeName="font-family" values="SVGFreeSansASCII,sans-serif;FreeSerif,serif;SVGFreeSansASCII,sans-serif" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20">A</text>
+          </g>
+
+          <a xlink:href="" font-weight="bold" font-size="30" transform="translate(220,0)">
+            <animate attributeName="font-family" values="SVGFreeSansASCII,sans-serif;FreeSerif,serif;SVGFreeSansASCII,sans-serif" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20">A</text>
+          </a>
+        </g>
+
+        <g id="animateThree" transform="translate(0,105)">
+          <defs>
+            <g id="animateThreeRef" font-size="30" font-weight="bold">
+              <text x="0" y="20" font-size="30" fill="#aaa" font-style="normal">A</text>
+              <text x="30" y="20" font-size="30" fill="#aaa" font-style="italic">A</text>
+              <text x="60" y="20" font-size="30" fill="#aaa" font-style="normal">A</text>
+            </g>
+          </defs>
+          <use xlink:href="#animateThreeRef"/>
+          <use xlink:href="#animateThreeRef" x="110"/>
+          <use xlink:href="#animateThreeRef" x="220"/>
+
+          <text id="textID_3" x="0" y="20" font-size="30" font-weight="bold">A</text>
+          <animate xlink:href="#textID_3" attributeName="font-style" values="normal;italic;normal" dur="3s" fill="freeze"/>
+          <animateTransform xlink:href="#textID_3" attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze"/>
+
+          <g transform="translate(110,0)" font-size="30" font-weight="bold">
+            <animate attributeName="font-style" values="normal;italic;normal" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20" font-size="30">A</text>
+          </g>
+
+          <a xlink:href="" transform="translate(220,0)" font-size="30" font-weight="bold">
+            <animate attributeName="font-style" values="normal;italic;normal" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20" font-size="30">A</text>
+          </a>
+
+        </g>
+
+        <g id="animateFour" transform="translate(0,140)">
+          <defs>
+            <g id="animateFourRef" font-size="30">
+              <text x="0" y="20" fill="#aaa" font-weight="bold">A</text>
+              <text x="30" y="20" fill="#aaa" font-weight="normal">A</text>
+              <text x="60" y="20" fill="#aaa" font-weight="bold">A</text>
+            </g>
+          </defs>
+
+          <use xlink:href="#animateFourRef"/>
+          <use xlink:href="#animateFourRef" x="110"/>
+          <use xlink:href="#animateFourRef" x="220"/>
+
+          <text id="textID_4" x="0" y="20" font-size="30">A</text>
+          <animate xlink:href="#textID_4" attributeName="font-weight" values="bold;normal;bold" calcMode="discrete" dur="3s" fill="freeze"/>
+          <animateTransform xlink:href="#textID_4" attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze"/>
+
+          <g transform="translate(110,0)" font-size="30">
+            <animate attributeName="font-weight" values="bold;normal;bold" calcMode="discrete" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20">A</text>
+          </g>
+
+          <a xlink:href="" transform="translate(220,0)" font-size="30">
+            <animate attributeName="font-weight" values="bold;normal;bold" calcMode="discrete" dur="3s" fill="freeze"/>
+            <animateTransform attributeName="transform" type="translate" values="0;30;60" calcMode="discrete" dur="3s" fill="freeze" additive="sum"/>
+            <text x="0" y="20">A</text>
+          </a>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-52-t.svg b/Tests/W3CTestSuite/svg/animate-elem-52-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..190baa75a98d94d71982eab86503526ef9e9b3ea
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-52-t.svg
@@ -0,0 +1,112 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH" author="OA" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-52-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        The purpose of this test is to test eventbase targets.
+      </p>
+      <p>
+        The test consists of 4 rectangles named A, B, C, D. The D rectangle contains
+        three animations changing the color of the animation target.
+        Each animation applies to one of the other rectangles
+        by using xlink:href. Clicking on rect A should change it's
+        color immediately, clicking B changes its color after 2 seconds,
+        clicking C changes its color after 4 seconds and clicking D shows no visible change
+        (although D contains the animations the event target for each
+        animation is the referenced rectangle, this rectangle is also the
+        animation target.)
+      </p>
+      <p>
+        The following sections in the SMIL Animation spec (http://www.w3.org/TR/smil-animation/)
+        are relevant as confirmation of this test:
+        The SMIL spec(3.6.7 subsection "Event Values") states that "If the
+        Eventbase-element term is missing, the event-base element is defined to
+        be the target element of the animation"
+        The SMIL spec (3.1 subsection "The target element") says that the
+        animation target may be defined explicitly thru the targetElement IDREF
+        or href URI.
+        So in this test, the animation target is defined through
+        xlink:href and the event base per definition is then also this
+        referenced element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test.  Click on each of the four blue rectangles from left to right.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if all of the following conditions are met:</p>
+      <ul>
+        <li>the A rectangle turns yellow immediately when clicked</li>
+        <li>the B rectangle turns yellow two seconds after being clicked</li>
+        <li>the C rectangle turns yellow four seconds after being clicked</li>
+        <li>at the time the C rectangle turns yellow, the D rectangle is still blue</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-52-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="65" y="50" font-size="30" stroke="none" fill="black">A</text>
+    <text x="165" y="50" font-size="30" stroke="none" fill="black">B</text>
+    <text x="265" y="50" font-size="30" stroke="none" fill="black">C</text>
+    <text x="365" y="50" font-size="30" stroke="none" fill="black">D</text>
+
+    <g transform="translate(0,45)">
+      <g id="A" fill="rgb(126,143,250)">
+        <rect x="30" y="15" rx="5" ry="5" width="90" height="40" stroke="#000000" fill="inherit" stroke-width="2"/>
+        <text x="50" y="40" font-size="20" stroke="none" fill="black">click A</text>
+      </g>
+
+      <g id="B" fill="rgb(126,143,250)">
+        <rect x="130" y="15" rx="5" ry="5" width="90" height="40" stroke="#000000" fill="inherit" stroke-width="2"/>
+        <text x="135" y="40" font-size="20" stroke="none" fill="black">click B+2</text>
+      </g>
+
+      <g id="C" fill="rgb(126,143,250)">
+        <rect x="230" y="15" rx="5" ry="5" width="90" height="40" stroke="#000000" fill="inherit" stroke-width="2"/>
+        <text x="235" y="40" font-size="20" stroke="none" fill="black">click C+4</text>
+      </g>
+
+      <g fill="rgb(126,143,250)">
+        <rect x="330" y="15" rx="5" ry="5" width="90" height="40" stroke="#000000" fill="inherit" stroke-width="2"/>
+        <text x="350" y="40" font-size="20" stroke="none" fill="black">never</text>
+        <set begin="click" fill="freeze" xlink:href="#A" attributeName="fill" to="yellow"/>
+        <set begin="click+2" fill="freeze" xlink:href="#B" attributeName="fill" to="yellow"/>
+        <set begin="click+4" fill="freeze" xlink:href="#C" attributeName="fill" to="yellow"/>
+      </g>
+    </g>
+
+    <text x="15" y="175" font-size="28">Test of Eventbase targets.</text>
+    <text x="15" y="245" font-size="18">Note that clicking rect D should give no result.</text>
+    <text x="15" y="205" font-size="18">Clicking a rectangle should change its color at the </text>
+    <text x="15" y="225" font-size="18">time for the click + delay as indicated in each rect.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-53-t.svg b/Tests/W3CTestSuite/svg/animate-elem-53-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7c34d36a3d545b0c50382e6a38218a2cce34860f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-53-t.svg
@@ -0,0 +1,134 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH" author="OA" status="issue"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-53-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        The purpose of this test is to test animation of points and calcmode.
+      </p>
+      <!-- The test has no well defined pass criteria and its not clear also which of the several results produced by different implementations is correct. Think Opera 10.6 is correct; test needs to be discussed by wg. -->
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+
+      <p>
+        1. The green squares should animate together side by side. This applies
+        to the blue ones as well.
+        2. The time values indicate when the squares should reach the
+        corresponding reference square.
+        3. The total distance is 0+40+80+24.14=144.14
+        a. The "green animation" is 9 sec and linear so each interval
+        should get 3 sec.
+        b. The "blue animation" is 8 sec and paced so the intervals
+        should get 2.22, 4.44 and 1.34 sec each.
+      </p>
+      <p>
+        Here comes a more detailed description of the animation.
+
+        The left green square (LG) is animated by animating the points with
+        a value array, consisting of 4 lists of points. This is an animation
+        with calc-mode=linear so an equal amount of time should be spent on
+        all 4 intervals. The right green square (RG) is animated by a simple
+        linear motion followed by a scale to follow LG.
+        The last scale by 1.9428 correspond to a movement of the lover right
+        corner of the square by sqrt((30*0.9428)^2 + (30*0.9428)^2) which is
+        approximately 40 distance units. This is the same distance as the first
+        interval in the values array (and half the second interval).
+        The length (in terms of distance) is not really important for the
+        green squares but for the blue squares which are animated with
+        calc-mode=paced the length is used to calculate the time for each
+        interval.
+        Since the first and last interval are of the same length which
+        totals to the length of the middle interval, the interval should
+        be given time according to [27.75%(2.22sec);55.5%(4.44sec);16.75%(1.34sec)].
+
+        So the left blue square (LR) is animated just as the LG square but
+        with calc-mode=paced. The same applies to the right blue square (RR)
+        that has default calc-mode (paced for animateMotion) compablue to the
+        RG square that has calc-mode=linear.
+        The calc-mode for the scale of RR (and RG) is not important since
+        it's not a value list type of animation.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[Describe the pass criteria of the test here. The pass criteria is what
+        should be displayed when the test is run.]]
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-53-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <polygon id="p" points="0,0 30,0 30,30 0,30" fill="none" stroke="black"/>
+    </defs>
+    <g transform="translate(0,0)">
+      <use xlink:href="#p" x="10" y="10"/>
+      <text x="15" y="35" font-size="20">0s</text>
+      <use xlink:href="#p" x="10" y="50"/>
+      <text x="15" y="75" font-size="20">3s</text>
+      <use xlink:href="#p" x="10" y="130"/>
+      <text x="15" y="155" font-size="20">6s</text>
+      <rect x="10" y="130" width="58.28" height="58.28" fill="none" stroke="black"/>
+      <text x="45" y="185" font-size="20">9s</text>
+      <polygon id="LG" points="0,0 30,0 30,30 0,30" fill="none" stroke="green">
+        <animate attributeName="points" begin="0" dur="9" fill="freeze" values="10,10 40,10 40,40 10,40;                           10,50 40,50 40,80 10,80;                           10,130 40,130 40,160 10,160;                           10,130 68.28,130 68.28,188.28 10,188.28"/>
+      </polygon>
+      <g transform="translate(70,10)">
+        <polygon id="RG" points="0,0 30,0 30,30 0,30" fill="none" stroke="green">
+          <animateMotion values="0,0;0,40;0,120" begin="0" dur="6" calcMode="linear" fill="freeze"/>
+          <animateTransform attributeName="transform" type="scale" from="1" to="1.9428" begin="6" dur="3" fill="freeze"/>
+        </polygon>
+      </g>
+    </g>
+    <g transform="translate(120,0)">
+      <use xlink:href="#p" x="10" y="10"/>
+      <text x="15" y="35" font-size="20">0s</text>
+      <use xlink:href="#p" x="10" y="50"/>
+      <text x="15" y="75" font-size="20">2.22s</text>
+      <use xlink:href="#p" x="10" y="130"/>
+      <text x="15" y="155" font-size="20">6.66s</text>
+      <rect x="10" y="130" width="58.28" height="58.28" fill="none" stroke="black"/>
+      <text x="45" y="185" font-size="20">8s</text>
+      <polygon id="LR" points="10,10 40,10 40,40 10,40" fill="none" stroke="blue">
+        <animate attributeName="points" begin="0" dur="8" calcMode="paced" fill="freeze" values="10,10 40,10 40,40 10,40;                                         10,50 40,50 40,80 10,80;                                         10,130 40,130 40,160 10,160;                                         10,130 68.28,130 68.28,188.28 10,188.28"/>
+      </polygon>
+      <g transform="translate(70,10)">
+        <polygon id="RR" points="0,0 30,0 30,30 0,30" fill="none" stroke="blue">
+          <animateMotion values="0,0;0,40;0,120" begin="0" dur="6.66" fill="freeze"/>
+          <animateTransform attributeName="transform" type="scale" from="1" to="1.9428" begin="6.66" dur="1.34" fill="freeze"/>
+        </polygon>
+      </g>
+    </g>
+    <text x="5" y="225" font-size="26">Animation on: 'points' with 'calc-mode'.</text>
+    <text x="5" y="255" font-size="16">Coloblue and black squares should match at indicated time.</text>
+    <text x="5" y="275" font-size="16">Same coloblue squares (green and blue) should match at all times</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-60-t.svg b/Tests/W3CTestSuite/svg/animate-elem-60-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2b383748745b8a8e20160e757dd07668472134b7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-60-t.svg
@@ -0,0 +1,254 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-60-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test performs basic test on the begin attribute,
+        assuming support for the &lt;set&gt; element and setting the
+        fill attribute on a &lt;rect&gt; element.
+      </p>
+      <p>
+        The test validates the various possibilities for the begin attribute
+        value: no specified value, offset value, event base value, sync base
+        value, indefinite value, repeat value, accessKey value and wallclock.
+      </p>
+      <p>
+        There is one or several &lt;set&gt; elements for each of the possible begin
+        values. For each test, the &lt;set&gt; element(s) has (or have) an indefinite
+        duration and no other timing attribute specified other than begin
+        and dur.
+      </p>
+      <p>
+        There are two sets of vertical markers which help check that the test
+        is handled properly by the user agent. The first set, on the left, shows
+        markers from 0s to 8s, where the times are offset from the document's load time.
+        The rectangles in that area should turn green at the time corresponding
+        to the column they are in. From example, the first rectangle (going left to right)
+        on the "sync base" line should turn green 2 seconds after the document's load.
+        The second set of time vertical markers shows offset from a particular event.
+        For example, for the event base, the markers show an offset to the time
+        the first event base rectangle (the left-most one) is clicked on. For the
+        accessKey line, the times show offsets from the time the 'a' key is pressed
+        and the document has focus.
+      </p>
+      <p>
+        The first &lt;set&gt; has an unspecified begin attribute. That value
+        defaults to an offset of 0s so the animation should apply as soon as
+        the document is loaded.
+      </p>
+      <p>
+        The second &lt;set&gt; has its begin attribute set to '2s'. So its
+        target rectangle should turn green two seconds after the document is
+        loaded.
+      </p>
+      <p>
+        The third &lt;set&gt; has its begin attribute set to an event base
+        value 'click'. The user has to click on the left-most target red rectangle
+        to make the &lt;set&gt; target turn green. There are two rectangles
+        with associated &lt;set&gt; elements. The left most ones has a simple
+        value (no offset) and the second one is offset from the event time by 2 seconds.
+      </p>
+      <p>
+        The fourth &lt;set&gt; elements have their begin attributes set to a sync base
+        value. The first two rectangles have &lt;set&gt; elements synchronized on their sync base
+        begin. The left-most one has no offset and the following one has a 2 seconds offset.
+        The last two rectangles have &lt;set&gt; elements synchronized on their sync base end.
+        The first one (i.e., the third from left to right on that line), has a 2 seconds
+        negative offset. The second one (i.e., the last one on the line) has no offset and should
+        begin at the time its sync base ends.
+      </p>
+      <p>
+        The fifth &lt;set&gt; has its begin attribute set to indefinite and
+        should not turn red and stay green.
+      </p>
+      <p>
+        The sixth &lt;set&gt;s have their begin attributes have their begin attributes
+        based on the repeat() function. The repeat they are synchronized on happens
+        at 3s. The first &lt;set&gt;, which has no offset, should begin at 3s. The
+        second &lt;set&gt;, which has a 2 seconds offset, should start at 5s.
+      </p>
+      <p>
+        The seventh &lt;set&gt;s have their begin attributes set to 'accessKey(a)'.
+        The first one has no offset and should become active (and turn the rectangle
+        green), as soon as the key 'a' is pressed in the user agent. The second &lt;set&gt;
+        has a 2s offset and should become active 2 seconds after the 'a' key is pressed in
+        the user agent.
+      </p>
+      <p>
+        The eight's &lt;set&gt; target has its begin attribute set to
+        'wallclock()'. Therefore, the target should turn red because the
+        target wallclock time is in the past. The SMIL specification states the following about wallclock values in the past:
+        "When a begin time is resolved to be in the past (i.e., before the current presentation time), the element begins immediately,
+        but acts as though it had begun at the specified time (playing from an offset into the media)." (http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncTiming).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test.  Observe the document for at least eight seconds.
+      Then, click on the first red square in the "event base" row,
+      and observe the document for two seconds.  Then, press "a"
+      on the keyboard, and observe the document for another two seconds.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the following conditions are met:</p>
+      <ul>
+        <li>In the first eight seconds of the document, the 10 squares
+        in the left section of the test must become green at the time
+        at the top of the column they are in.  For example, the square in
+        the "offset" row must become green at 2s after the document has
+        been loaded.</li>
+        <li>Immediately once the red square in the "event base" row has been clicked,
+        it must become green.  Two seconds after the click, the second square
+        must become green.</li>
+        <li>Immediately once "a" has been pressed on the keyboard,
+        the first square in the "accessKey()" row must become green.
+        Two seconds after the keypress, the second square must become green.</li>
+        <li>No other changes occur in the document.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-60-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">begin</text>
+    <g transform="translate(100, 80)">
+      <g transform="translate(80,5)" text-anchor="end" font-size="14">
+        <text>unspecified</text>
+        <text y="25">offset</text>
+        <text y="50">event base</text>
+        <text y="75">sync base</text>
+        <text y="100">indefinite</text>
+        <text y="125">repeat()</text>
+        <text y="150">accessKey()</text>
+        <text y="175">wallclock()</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(100, -15)" text-anchor="middle" font-size="8">
+        <text>0s</text>
+        <text x="12">1s</text>
+        <text x="24">2s</text>
+        <text x="36">3s</text>
+        <text x="48">4s</text>
+        <text x="60">5s</text>
+        <text x="72">6s</text>
+        <text x="84">7s</text>
+        <text x="96">8s</text>
+        <text x="120">0s</text>
+        <text x="132">1s</text>
+        <text x="144">2s</text>
+      </g>
+
+      <g id="timeMarkers" transform="translate(94, -10) scale(1, 8)">
+        <rect width="12" height="25" fill="#eee"/>
+        <rect x="12" width="12" height="25" fill="#ddd"/>
+        <rect x="24" width="12" height="25" fill="#eee"/>
+        <rect x="36" width="12" height="25" fill="#ddd"/>
+        <rect x="48" width="12" height="25" fill="#eee"/>
+        <rect x="60" width="12" height="25" fill="#ddd"/>
+        <rect x="72" width="12" height="25" fill="#eee"/>
+        <rect x="84" width="12" height="25" fill="#ddd"/>
+        <rect x="96" width="12" height="25" fill="#eee"/>
+        <rect x="120" width="12" height="25" fill="#eee"/>
+        <rect x="132" width="12" height="25" fill="#ddd"/>
+        <rect x="144" width="12" height="25" fill="#eee"/>
+      </g>
+
+      <g transform="translate(100,0)">
+        <g id="setOne">
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33">
+            <set attributeName="fill" to="#3F3" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setTwo" transform="translate(0, 25)">
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(24,0)">
+            <set id="secondSet" attributeName="fill" to="#3F3" begin="2s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setThree" transform="translate(0, 50)">
+          <rect id="setThreeTarget" x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(120,0)">
+            <set attributeName="fill" id="thirdSet" to="#3F3" begin="setThreeTarget.click" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(144,0)">
+            <set attributeName="fill" id="thirdSetOffset" to="#3F3" begin="setThreeTarget.click + 2s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setFour" transform="translate(0, 75)">
+          <set id="endBase" attributeName="display" to="inline" begin="7s" dur="1s"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(24,0)">
+            <set attributeName="fill" to="#3F3" begin="secondSet.begin" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(48,0)">
+            <set attributeName="fill" to="#3F3" begin="secondSet.begin + 2s" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(72,0)">
+            <set attributeName="fill" to="#3F3" begin="endBase.end - 2s" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(96,0)">
+            <set attributeName="fill" to="#3F3" begin="endBase.end" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setFive" transform="translate(0, 100)">
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3">
+            <set attributeName="fill" to="#F33" begin="indefinite" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setSix" transform="translate(0, 125)">
+          <set id="repeatingSet" attributeName="display" to="inline" begin="0s" dur="1s" repeatCount="4"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(36,0)">
+            <set attributeName="fill" to="#3F3" begin="repeatingSet.repeat(3)" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(60,0)">
+            <set attributeName="fill" to="#3F3" begin="repeatingSet.repeat(3) + 2s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setSeven" transform="translate(0, 150)">
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(120,0)">
+            <set attributeName="fill" to="#3F3" begin="accessKey(a)" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(144,0)">
+            <set attributeName="fill" to="#3F3" begin="accessKey(a) + 2s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setEight" transform="translate(0, 175)">
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3">
+            <set attributeName="fill" to="#F33" begin="wallclock(2000-06-10T12:34:56Z)" dur="indefinite"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-61-t.svg b/Tests/W3CTestSuite/svg/animate-elem-61-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..08666d108c10ad91658dc905835623f07e99d2fb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-61-t.svg
@@ -0,0 +1,191 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="VH" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-61-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests validates multiple begin conditions in the begin attribute,
+        assuming support for the &lt;set&gt; element and setting the
+        fill attribute on a &lt;rect&gt; element.
+      </p>
+      <p>
+        The test validates the various possibilities for the begin attribute
+        value: multiple offset values, multiple event base values, multiple sync base
+        values, multiple repeat values, and multiple accessKey values. Finally,
+        the test validates that begin values of different kinds can be mixed.
+      </p>
+      <p>
+        The test shows 6 rows where a red rectangle' s x attribute is animated
+        with &lt;set&gt; elements.
+      </p>
+      <p>
+        On the first three rows, the red rectangles should show on the left from
+        0 to 1s. From 1 to 2s, the rectangles should show on the right. Then
+        the rectangles should show on the left from 2 to 4s, then on the right
+        again from 4 to 5s and come back to the left position and stay there
+        after 5s.
+      </p>
+      <p>
+        On the fourth row, the rectangle's begin condition is event based
+        and requires a user click. After the user clicks on the rectangle,
+        the rectangle should move to the right position for 1s, then move
+        back to the left position for 3 seconds, move again to the right
+        position for 1 second before going back to the left position.
+      </p>
+      <p>
+        On the fifth row, the rectangle's begin condition is accessKey based
+        and requires a user to press the 'a' key. After the user presses that key
+        the rectangle should move to the right position for 1s, then move
+        back to the left position for 3 seconds, move again to the right
+        position for 1 second before going back to the left position.
+      </p>
+      <p>
+        The last row's rectangle has a begin condition with two offset values
+        (1s;4s) and should behave like the rectangles of the first three
+        rows for the first 5 seconds of the document's timeline. In addition,
+        the begin condition has a click event base and thus, the rectangle
+        should move to the right position for one second every time the user
+        clicks on it. Finally, the begin condition also has an accessKey condition
+        for the 'b' character. Thus, the rectangle should move to the right
+        position every time the user presses the 'b' key.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test.  Observe the document for a least six seconds.
+      Then, click on the left square in the "2 event base" row and
+      wait for another six seconds while observing.  Then, press "a"
+      on the keyboard and wait for another six seconds while observing.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if all of the following conditions are met:</p>
+      <ul>
+        <li>The red squares in the top three rows and the bottom row are
+        in the relevant column according to the times written above the columns:
+        in left column for the first second of the document, in the
+        right column between 1s and 2s, in the left column again between
+        2s and 4s, in the right column again between 4s and 5s, and finally
+        revert to the left column at 5s.</li>
+        <li>Once the red square in the "2 event base" row is clicked, it must
+        follow the same movements as the earlier animated squares, except that
+        the times above the columns indicate offsets from the time of the click,
+        rather than from the start of the document.  Thus, the red square must
+        be in the left column in the first second after being clicked,
+        in the right column between 1s and 2s after being clicked,
+        in the left column again between 2s and 4s after being clicked,
+        in the right column again between 4s and 5s after being clicked,
+        and finally must revert to the left column 5s after being clicked.</li>
+        <li>Once the "a" key is pressed, the red square in the "2 accessKeys"
+        row must follow the same movements as the first set of animated squares, except that
+        the times above the columns indicate offsets from the time of the keypress,
+        rather than from the start of the document.  Thus, the red square must
+        be in the left column in the first second after the keypress,
+        in the right column between 1s and 2s after the keypress,
+        in the left column again between 2s and 4s after the keypress,
+        in the right column again between 4s and 5s after the keypress,
+        and finally must revert to the left column 5s after the keypress.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-61-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">multiple begin</text>
+    <g transform="translate(100, 100)">
+      <g transform="translate(80,25)" text-anchor="end" font-size="14">
+        <text>2 offsets</text>
+        <text y="25">2 sync bases</text>
+        <text y="50">2 repeat</text>
+        <text y="100">2 event base</text>
+        <text y="125">2 accessKeys</text>
+        <text y="150">misc</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(150, 5)" text-anchor="middle" font-size="14">
+        <text>0-1s</text>
+        <text y="-20">2s-4s</text>
+        <text y="-40">&gt; 5s</text>
+        <g transform="translate(40,0)">
+          <text>1-2s</text>
+          <text y="-20">4-5s</text>
+        </g>
+      </g>
+
+      <g transform="translate(150,20)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="firstSet" attributeName="x" to="34" begin="1s; 4s" dur="1s"/>
+          </rect>
+        </g>
+        <g id="setTwo" transform="translate(0, 25)">
+          <set id="syncBase" attributeName="display" to="inline" begin="0s" dur="indefinite"/>
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="syncBase.begin + 1s; syncBase.begin + 4s" dur="1s"/>
+          </rect>
+        </g>
+        <g id="setThree" transform="translate(0, 50)">
+          <set id="repeatBase" attributeName="display" to="inline" begin="0s" dur="1s" repeatDur="indefinite"/>
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="repeatBase.repeat(1);repeatBase.repeat(4)" dur="1s"/>
+          </rect>
+        </g>
+        <g id="setFour" transform="translate(0, 100)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect id="setFourTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="setFourTarget.click + 0s; setFourTarget.click+4s" dur="1s"/>
+          </rect>
+        </g>
+        <g id="setFive" transform="translate(0, 125)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect id="setFiveTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="accessKey(a) + 0s;accessKey(a)+4s" dur="1s"/>
+          </rect>
+        </g>
+        <g id="setSix" transform="translate(0, 150)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect id="setSixTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="1s;4s;setSixTarget.click;accessKey(b)" dur="1s"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-62-t.svg b/Tests/W3CTestSuite/svg/animate-elem-62-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..43590af4db18d6b7cb7c783270a0c5d7bede9a33
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-62-t.svg
@@ -0,0 +1,260 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-62-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test performs basic test on the end attribute,
+        assuming support for the &lt;set&gt; element and setting the
+        fill attribute on a &lt;rect&gt; element.
+      </p>
+      <p>
+        The test validates the various possibilities for the end attribute
+        value: no specified value, offset value, event base value, sync base
+        value, indefinite value, repeat value, accessKey value and wallclock.
+      </p>
+      <p>
+        There are one or several &lt;set&gt; elements for each of the possible end
+        values. For each test, the &lt;set&gt; element(s) has (or have) an indefinite
+        duration and no other timing attribute specified other than end
+        and dur.
+      </p>
+      <p>
+        There are two sets of vertical markers which help check that the test
+        is handled properly by the user agent. The first set, on the left, shows
+        markers from 0s to 8s, where the times are offset from the document's load time.
+        The rectangles in that area should turn green at the time corresponding
+        to the column they are in. From example, the first rectangle (going left to right)
+        on the "sync base" line should turn green 2 seconds after the document's load.
+        The second set of time vertical markers shows offset from a particular event.
+        For example, for the event base, the markers show an offset to the time
+        the first event base rectangle (the left-most one) is clicked on. For the
+        accessKey line, the times show offsets from the time the 'a' key is pressed
+        and the document has focus.
+      </p>
+      <p>
+        The first &lt;set&gt; has no end attribute and an indefinite duration.
+        Since there are no constraints on the active duration (no end attribute) the
+        active duration is the same as the simple duration (indefinite). This
+        means that the animation begins at 0s and has an indefinite end time.
+      </p>
+      <p>
+        The second &lt;set&gt; has its end attribute set to '2s'. So its
+        target rectangle should turn green two seconds after the document is
+        loaded.
+      </p>
+      <p>
+        The third &lt;set&gt; has its end attribute set to an event base
+        value 'click'. The user has to click on the left-most target red rectangle
+        to make the &lt;set&gt; target turn green. There are two rectangles
+        with associated &lt;set&gt; elements. The left most ones has a simple
+        value (no offset) and the second one is offset from the event time by 2 seconds.
+      </p>
+      <p>
+        The fourth &lt;set&gt; elements have their end attributes set to a sync base
+        value. The first two rectangles have &lt;set&gt; elements synchronized on their sync base
+        end. The left-most one has no offset and the following one has a 2 seconds offset.
+        The last two rectangles have &lt;set&gt; elements synchronized on their sync base end.
+        The first one (i.e., the third from left to right on that line), has a 2 seconds
+        negative offset. The second one (i.e., the last one on the line) has no offset and should
+        end at the time its sync base ends.
+      </p>
+      <p>
+        The fifth &lt;set&gt; has its end attribute set to indefinite and
+        should not turn red and stay green.
+      </p>
+      <p>
+        The sixth &lt;set&gt;s have their end attributes have their end attributes
+        based on the repeat() function. The repeat they are synchronized on happens
+        at 3s. The first &lt;set&gt;, which has no offset, should end at 3s. The
+        second &lt;set&gt;, which has a 2 seconds offset, should start at 5s.
+      </p>
+      <p>
+        The seventh &lt;set&gt;s have their end attributes set to 'accessKey(a)'.
+        The first one has no offset and should become active (and turn the rectangle
+        green), as soon as the key 'a' is pressed in the user agent. The second &lt;set&gt;
+        has a 2s offset and should become active 2 seconds after the 'a' key is pressed in
+        the user agent.
+      </p>
+      <p>
+        The eight's &lt;set&gt; target has its end attribute set to
+        'wallclock()'. The result depends on the presentation time.
+        If the document is viewed completely before 2200-06-10T12:34:56Z,
+        the rectangle has to be always green. begin is not explicitely set, therefore
+        it is zero, dur is indefinite and end is in the future.
+        If the document is viewed completely after 2200-06-10T12:34:56Z, the only end
+        value is before the implicitely given only begin value and therefore the set
+        does not start, the rectangle remains red. If the document is viewed in a time interval started before
+        2200-06-10T12:34:56Z and ended after this date, the rectangle will start green at the beginning, change to red at
+        2200-06-10T12:34:56Z and will remain red until the end of presentation.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test.  Observe the document for at least eight seconds.
+      Then, click on the first red square in the "event base" row,
+      and observe the document for two seconds.  Then, press "a"
+      on the keyboard, and observe the document for another two seconds.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the following conditions are met:</p>
+      <ul>
+        <li>In the first eight seconds of the document, the 10 squares
+        in the left section of the test must become green at the time
+        at the top of the column they are in.  For example, the square in
+        the "offset" row must become green at 2s after the document has
+        been loaded.</li>
+        <li>Immediately once the red square in the "event base" row has been clicked,
+        it must become green.  Two seconds after the click, the second square
+        must become green.</li>
+        <li>Immediately once "a" has been pressed on the keyboard,
+        the first square in the "accessKey()" row must become green.
+        Two seconds after the keypress, the second square must become green.</li>
+        <li>No other changes occur in the document.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-62-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">end</text>
+    <g transform="translate(100, 80)">
+      <g transform="translate(80,5)" text-anchor="end" font-size="14">
+        <text>unspecified</text>
+        <text y="25">offset</text>
+        <text y="50">event base</text>
+        <text y="75">sync base</text>
+        <text y="100">indefinite</text>
+        <text y="125">repeat()</text>
+        <text y="150">accessKey()</text>
+        <text y="175">wallclock()</text>
+      </g>
+      
+      <g id="timeMarkersText" transform="translate(100, -15)" text-anchor="middle" font-size="8">
+        <text>0s</text>
+        <text x="12">1s</text>
+        <text x="24">2s</text>
+        <text x="36">3s</text>
+        <text x="48">4s</text>
+        <text x="60">5s</text>
+        <text x="72">6s</text>
+        <text x="84">7s</text>
+        <text x="96">8s</text>
+        <text x="120">0s</text>
+        <text x="132">1s</text>
+        <text x="144">2s</text>
+      </g>
+
+      <g id="timeMarkers" transform="translate(94, -10) scale(1, 8)">
+        <rect width="12" height="25" fill="#eee"/>
+        <rect x="12" width="12" height="25" fill="#ddd"/>
+        <rect x="24" width="12" height="25" fill="#eee"/>
+        <rect x="36" width="12" height="25" fill="#ddd"/>
+        <rect x="48" width="12" height="25" fill="#eee"/>
+        <rect x="60" width="12" height="25" fill="#ddd"/>
+        <rect x="72" width="12" height="25" fill="#eee"/>
+        <rect x="84" width="12" height="25" fill="#ddd"/>
+        <rect x="96" width="12" height="25" fill="#eee"/>
+        <rect x="120" width="12" height="25" fill="#eee"/>
+        <rect x="132" width="12" height="25" fill="#ddd"/>
+        <rect x="144" width="12" height="25" fill="#eee"/>
+      </g>
+
+      <g transform="translate(100,0)">
+        <g id="setOne">
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33">
+            <set attributeName="fill" to="#3F3" begin="0s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setTwo" transform="translate(0, 25)">
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(24,0)">
+            <set id="secondSet" attributeName="fill" to="#F33" begin="0s" end="2s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setThree" transform="translate(0, 50)">
+          <rect id="setThreeTarget" x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(120,0)">
+            <set attributeName="fill" id="thirdSet" to="#F33" end="setThreeTarget.click" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33" transform="translate(144,0)">
+            <set attributeName="fill" id="thirdSetOffset" to="#3F3" begin="setThreeTarget.click + 2s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setFour" transform="translate(0, 75)">
+          <set id="endBase" attributeName="display" to="inline" begin="7s" dur="1s"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(24,0)">
+            <set attributeName="fill" to="#F33" end="secondSet.begin + 2s" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(48,0)">
+            <set attributeName="fill" to="#F33" end="secondSet.begin + 4s" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(72,0)">
+            <set attributeName="fill" to="#F33" end="endBase.end - 2s" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(96,0)">
+            <set attributeName="fill" to="#F33" end="endBase.end" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setFive" transform="translate(0, 100)">
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33">
+            <set attributeName="fill" to="#3F3" end="indefinite" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setSix" transform="translate(0, 125)">
+          <set id="repeatingSet" attributeName="display" to="inline" begin="0s" dur="1s" repeatCount="4"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(36,0)">
+            <set attributeName="fill" to="#F33" end="repeatingSet.repeat(3)" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(60,0)">
+            <set attributeName="fill" to="#F33" end="repeatingSet.repeat(3) + 2s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setSeven" transform="translate(0, 150)">
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(120,0)">
+            <set attributeName="fill" to="#F33" end="accessKey(a)" dur="indefinite"/>
+          </rect>
+          <rect x="-6" y="-6" width="12" height="12" fill="#3F3" transform="translate(144,0)">
+            <set attributeName="fill" to="#F33" end="accessKey(a) + 2s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setEight" transform="translate(0, 175)">
+          <rect x="-6" y="-6" width="12" height="12" fill="#F33">
+            <set attributeName="fill" to="#3F3" end="wallclock(2200-06-10T12:34:56Z)" dur="indefinite"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-63-t.svg b/Tests/W3CTestSuite/svg/animate-elem-63-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..63cfc7a61684a60ae4686785c89c33ec79f2fe5f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-63-t.svg
@@ -0,0 +1,200 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-63-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests validates multiple end conditions in the end attribute,
+        assuming support for the &lt;set&gt; element and setting the
+        dur attribute to 'indefinite'.
+      </p>
+      <p>
+        The test validates the various possibilities for the end attribute
+        value: multiple offset values, multiple event base values, multiple sync base
+        values, multiple repeat values, and multiple accessKey values. Finally,
+        the test validates that end values of different kinds can be mixed.
+      </p>
+      <p>
+        The test shows 6 rows where a red rectangle's  x attribute is animated
+        with &lt;set&gt; elements.
+      </p>
+      <p>
+        On the first three rows, the red rectangles should show on the left from
+        0 to 1s. From 1 to 2s, the rectangles should show on the right. Then
+        the rectangles should show on the left from 2 to 4s, then on the right
+        again from 4 to 5s and come back to the left position and stay there
+        after 5s.
+      </p>
+      <p>
+        On the fourth row, the rectangle's end condition is event based
+        and requires a user click. One of the end condition is defined
+        to be 5 seconds prior to the click and one is defined to be 5
+        seconds after the click. If the user clicks on the rectangle
+        before 5 seconds (in document time), the red rectangle we move
+        to the left position 5 seconds after the click (because the
+        'click - 5s' end time resolves to a time prior to the begin
+        time). If the user clicks after 5 seconds (in document time),
+        then the red rectangle moves to the left position immediately because
+        the 'click - 5s' time resolves to a time after the begin time.
+      </p>
+      <p>
+        On the fifth row, the rectangle's end condition is accessKey based
+        and requires a user to press the 'a' key. The behavior is exactly the
+        same as for the previous row, except that the triggering event
+        is the 'a' key press.
+      </p>
+      <p>
+        The last row's rectangle has a end condition with two offset values
+        (1s;4s) and should behave like the rectangles of the first three
+        rows for the first 5 seconds of the document's timeline. In addition,
+        the end condition has a click event base and thus, the rectangle
+        should immediately move to the left position if the user everytime the user
+        clicks clicks on the rectangle when it is on the right position.
+        Finally, the end condition also has an accessKey condition
+        for the 'b' character. Thus, the rectangle should move to the left
+        position every time the user presses the 'b' key and the rectangle is
+        on the right position.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test.  Observe the document for six seconds.
+      Then, click the red square in the "2 event base" row
+      and then press "a" on the keyboard.</p>
+      <p>Next, reload the test.  Before five seconds have elapsed,
+      click the red square in the "2 event base" row and then
+      press "a" on the keyboard.  Observe the document for another six seconds.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the following conditions are met:</p>
+      <ul>
+        <li>In the first load of the document, the red squares in the top three
+        rows and the bottom row are in the relevant column according to the
+        times written above the columns: in left column for the first second
+        of the document, in the right column between 1s and 2s, in the left
+        column again between 2s and 4s, in the right column again between 4s
+        and 5s, and finally revert to the left column at 5s.  During this
+        whole time, the red squares on the "2 event base" and "2 accessKeys"
+        rows must be in the right column.</li>
+        <li>In the first load of the document, immediately once the red
+        square is clicked, it must move to the left column.</li>
+        <li>In the first load of the document, immediately once "a" is pressed
+        on the keyboard, the red square in the "2 accessKeys" row must move
+        to the left column.</li>
+        <li>In the second load of the document, five seconds after the red
+        square is clicked, it must move to the left column.</li>
+        <li>In the second load of the document, five seconds after "a" is pressed
+        on the keyboard, the red square in the "2 accessKeys" row must move
+        to the left column.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-63-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">multiple end</text>
+    <g transform="translate(100, 100)">
+      <g transform="translate(80,25)" text-anchor="end" font-size="14">
+        <text>2 offsets</text>
+        <text y="25">2 sync bases</text>
+        <text y="50">2 repeat</text>
+        <text y="100">2 event base</text>
+        <text y="125">2 accessKeys</text>
+        <text y="150">misc</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(150, 5)" text-anchor="middle" font-size="14">
+        <text>0-1s</text>
+        <text y="-20">2s-4s</text>
+        <text y="-40">&gt; 5s</text>
+        <g transform="translate(40,0)">
+          <text>1-2s</text>
+          <text y="-20">4-5s</text>
+        </g>
+      </g>
+
+      <g transform="translate(150,20)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="firstSet" attributeName="x" to="34" begin="1s; 4s" end="2s; 5s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setTwo" transform="translate(0, 25)">
+          <set id="syncBase" attributeName="display" to="inline" begin="0s" dur="indefinite"/>
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="1s; 4s" end="syncBase.begin+2s;syncBase.begin + 5s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setThree" transform="translate(0, 50)">
+          <set id="repeatBase" attributeName="display" to="inline" begin="0s" dur="1s" repeatDur="indefinite"/>
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="1s; 4s" end="repeatBase.repeat(2);repeatBase.repeat(5)" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setFour" transform="translate(0, 100)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+
+          <rect id="setFourTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="0s" end="setFourTarget.click -5s; setFourTarget.click + 5s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setFive" transform="translate(0, 125)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect id="setFiveTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="0s" end="accessKey(a) - 5s;accessKey(a)+5s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setSix" transform="translate(0, 150)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="40"/>
+          <rect id="setSixTarget" x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="34" begin="1s;4s" end="2s;5s;setSixTarget.click;accessKey(b)" dur="indefinite"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-64-t.svg b/Tests/W3CTestSuite/svg/animate-elem-64-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f13a1e9d3bf049f0a4fe8703e54c8f21e06ce4c1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-64-t.svg
@@ -0,0 +1,132 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-64-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests performs basic tests on the dur attribute.
+      </p>
+      <p>
+        The first row shows a red rectangle subject to a &lt;set&gt; animation
+        with no begin attribute, no end attribute and a dur attribute set to
+        '2s'. Therefore, the animation should be active from 0 to 2 seconds and
+        then terminate. Consequently, the rectangle should show on the right
+        for the first two seconds, and then move to the left position.
+      </p>
+      <p>
+        The second row shows a red rectangle subject to a &lt;set&gt; animation
+        with no begin attribute, no end attribute and a dur attribute set to
+        'indefinite'. Therefore, the animation should stay active indefinitely
+        and the rectangle should always be on the right position, never on the
+        left position.
+      </p>
+      <p>
+        Finally, the third row shows red rectangle subject to a &lt;set&gt; animation
+        with no begin attribute, no end attribute and a dur attribute set to
+        'media'. In the context of SVG 1.1, this is equivalent to an 'indefinite'
+        value. Therefore, the animation should stay active indefinitely
+        and the rectangle should always be on the right position, never on the
+        left position.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if after three seconds, in each of the three rows,
+      the red rectangle is in the column at the times indicated.
+      Thus, from the document load until 2s afterwards, the red
+      square in the first row must be in the right column, 
+      and after the 2s it must be in the left column.  In the
+      other two rows, the red square must remain in the
+      right column.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-64-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">dur</text>
+    <g transform="translate(100, 100)">
+      <g transform="translate(80,25)" text-anchor="end" font-size="14">
+        <text>clock value</text>
+        <text y="65">indefinite</text>
+        <text y="130">media</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(150, 5)" text-anchor="middle" font-size="14">
+        <text>&gt; 2s</text>
+        <text x="80">0s-2s</text>
+
+        <g transform="translate(0, 65)">
+          <text>never</text>
+          <text x="80">&gt; 0s</text>
+        </g>
+
+        <g transform="translate(0, 130)">
+          <text>never</text>
+          <text x="80">&gt; 0s</text>
+        </g>
+      </g>
+
+      <g transform="translate(150,20)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="firstSet" attributeName="x" to="74" dur="2s"/>
+          </rect>
+        </g>
+
+        <g id="setTwo" transform="translate(0, 65)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setThree" transform="translate(0, 130)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="media"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-65-t.svg b/Tests/W3CTestSuite/svg/animate-elem-65-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6c51f3f6b651fe061139655f5547c430e135afcd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-65-t.svg
@@ -0,0 +1,223 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-65-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests performs basic tests on the min attribute. The test is based
+        on the SMIL specification at:
+        http://www.w3.org/TR/smil20/smil-timing.html#Timing-MinMax.
+      </p>
+      <p>
+        Each row in the test shows different rectangles subject to &lt;set&gt;
+        animations with different configurations with regards to the min
+        attribute. For each row but the last one, the animation should be active
+        during the first 5 seconds of the animations where the red rectangle
+        should show in the right column. At five seconds into the animation,
+        all the rectangles should move to their left position.
+      </p>
+      <p>
+        On the first row, the first &lt;set&gt; animation (left rectangle) has an end value of 5s,
+        and no min attribute. The active duration resulting from the end attribute is 5s.
+        The first row shows a second rectangle with a &lt;set&gt; animation with
+        the same configuration except that the min attribute value is set to
+        'media'. Because the &lt;set&gt; element does not define a media, the
+        behavior should be as if the attribute was not specified. The active duration (5s)
+        of the second &lt;set&gt; animation is therefore not constrained.
+      </p>
+      <p>
+        On the second row, the &lt;set&gt; animation has an end value of 5s,
+        and a -6s min attribute. The active duration resulting from the end attribute is 5s.
+        The negative min value is invalid and, as per the specification, the behavior should be
+        as if the attribute was not specified. The active duration (5s) is therefore not constrained.
+      </p>
+      <p>
+        On the third row, the &lt;set&gt; animation has an end value of 5s,
+        and a 3s min attribute. The active duration resulting from the end attribute is 5s.
+        The min value is less than the active duration, so the min attribute does not actually
+        constrain the active duration.
+      </p>
+      <p>
+        On the fourth row, the &lt;set&gt; animation has a dur value of indefinite, an end value of 2s,
+        and a 5s min attribute. The active duration resulting from the end attribute would be 2s.
+        Because this is less than the min value (2s &lt; 5s) the (min constrained) active duration
+        has to be corrected to 5s, despite a simple duration (indefinite) that is greater than the min value.
+      </p>
+      <p>
+        On the fifth row, the &lt;set&gt; animation has a dur value of 1s, an end value of 2s,
+        a repeatCount of 7 and a 5s min attribute. The active duration resulting from dur, end and repeatCount
+        would be 2s. Because this is less than the min value (2s &lt; 5s)
+        the (min constrained) active duration has to be corrected to 5s.
+      </p>
+      <p>
+        On the sixth row, the &lt;set&gt; animation has a dur value of 1s, an end
+        value of 2s, a repeatCount of 5 and a 8s min attribute value.
+        The active duration resulting from dur, end and repeatCount
+        would be 2s, because this is less than the min value (2s &lt; 8s)
+        the active duration has to be corrected to 8s. As the
+        fill attribute is set to 'remove' on the &lt;set&gt; animation, this
+        remove is applied at 5s, the end of the repeatCount.
+        Note, that if the end of active duration would have been used as a
+        syncbase-value for another animation, the corrected end event at
+        (begin + min) = 8s has to be used.
+      </p>
+      <p>
+        On the seventh row, the &lt;set&gt; animation has a dur value of 1s, an end
+        value of 2s, a repeatCount of 5 and a 8s min attribute value.
+        The active duration resulting from dur, end and repeatCount
+        would be 2s, because this is less than the min value (2s &lt; 8s)
+        the active duration has to be corrected to 8s. As the fill attribute
+        is set to 'freeze' on the &lt;set&gt; animation, the animation is frozen at
+        5s, the end of the repeatCount, the &lt;set&gt; applies indefinitely.
+        Note, that if the end of active duration would have been used as a
+        syncbase-value for another animation, the corrected end event at
+        (begin + min) = 8s has to be used.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test and observe it for at least six seconds. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the following conditions are met:</p>
+      <ul>
+        <li>For the first five seconds after the document loads,
+        all of the red squares in the top six rows are in the right column, and
+        after five seconds, they all move to the left column.</li>
+        <li>The red square in the last row is always in the right column.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-65-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">min</text>
+
+    <g transform="translate(100, 50)">
+
+      <g transform="translate(120,45)" text-anchor="end" font-size="14">
+        <text>no min / media</text>
+        <text y="25">invalid min</text>
+        <text y="50">min &lt; active dur</text>
+        <text y="75">min &gt; active dur</text>
+        <text y="100">min &lt; repeat dur</text>
+        <text y="125">min &gt; repeat dur, remove</text>
+        <text y="180">min &gt; repeat dur, freeze</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(150, 25)" text-anchor="middle" font-size="14">
+        <text>&gt; 5s</text>
+        <text x="80">0s-5s</text>
+
+        <g transform="translate(0, 180)">
+          <text>never</text>
+          <text x="80">&gt; 0s</text>
+        </g>
+      </g>
+
+      <g transform="translate(150,40)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="firstSet" attributeName="x" to="74" end="5s"/>
+          </rect>
+
+          <g transform="translate(20, 0)">
+            <use xlink:href="#shadow" x="0"/>
+            <use xlink:href="#shadow" x="80"/>
+
+            <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+              <set attributeName="x" to="74" end="5s" min="media"/>
+            </rect>
+          </g>
+        </g>
+
+        <g id="setTwo" transform="translate(0, 25)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" min="-6s" end="5s"/>
+          </rect>
+        </g>
+
+        <g id="setThree" transform="translate(0, 50)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" min="3s" end="5s"/>
+          </rect>
+        </g>
+
+        <g id="setFour" transform="translate(0, 75)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" min="5s" dur="indefinite" end="2s"/>
+          </rect>
+        </g>
+
+        <g id="setFive" transform="translate(0, 100)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" min="5s" end="2s" dur="1s" repeatCount="7"/>
+          </rect>
+        </g>
+
+        <g id="setSix" transform="translate(0, 125)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" min="8s" end="2s" dur="1s" repeatCount="5" fill="remove"/>
+          </rect>
+        </g>
+
+        <g id="setSeven" transform="translate(0, 180)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" min="8s" end="2s" dur="1s" repeatCount="5" fill="freeze"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-66-t.svg b/Tests/W3CTestSuite/svg/animate-elem-66-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ed11acd506dd9186bf6a58b7b6143d8d0799581c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-66-t.svg
@@ -0,0 +1,199 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-66-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests performs basic tests on the max attribute and on
+        combinations of the min and max attributes. The test is based
+        on the SMIL specification at:
+        http://www.w3.org/TR/smil20/smil-timing.html#Timing-MinMax.
+      </p>
+      <p>
+        Each row in the test shows different rectangles subject to &lt;set&gt;
+        animations with different configurations with regards to the max and min
+        attributes. For each row, the animation should be active
+        during the first 5 seconds of the animations where the red rectangle
+        should show in the right column. At five seconds into the animation,
+        all the rectangles should move to their left position.
+      </p>
+      <p>
+        On the first row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 5s) active duration
+        and no max attribute so the actual active duration is (0s &lt;= t &lt; 5s).
+        The first row shows a second rectangle with a &lt;set&gt; animation with
+        the same configuration except that the max attribute value is set to
+        'media'. Because the &lt;set&gt; element does not define a media, the
+        behavior should be as if the attribute was not specified.
+      </p>
+      <p>
+        On the second row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 5s) active duration
+        and a min attribute set to '-6s' for the first rectangle and to 'foo' for the
+        second one. These values are invalid for max and, as
+        per the specification, the behavior should be as if the attribute was not
+        specified. Consequently, the behavior is as for the previous row and
+        the actual active duration is (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the third row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 8s) initial active duration
+        and a max attribute set to '5s'. The max value is less than the active
+        duration, so the max attribute constrains the active duration to (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the fourth row, the &lt;set&gt; animation has a (0s &lt;= t &lt; 5s) initial active duration,
+        an indefinite simple duration (dur is set to indefinite) and a max attribute set to '8s'.
+        Because the initial active duration is less than the max attribute the active
+        duration is not constrained and is unchanged at (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the fifth row, the &lt;set&gt; animation has a (0s &lt;= t &lt; indefinite) initial active duration,
+        a min of 2s and a max of 5s. Because the min value is less than the max value, both apply
+        and the computed active duration is (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the sixth row, the &lt;set&gt; animation has a (0s &lt;= t &lt; indefinite) initial active duration,
+        a min of 5s and a max of 5s. Because the min value is equal to the max value, both apply
+        and the computed active duration is (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the seventh row, the &lt;set&gt; animation has a [0s, 5s[[ initial active duration,
+        a min of 8s and a max of 2s. Because the min value is greater than the max value, both are
+        ignored and the computed active duration is [0s, 5s[.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test and observe it for at least six seconds. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if for the first five seconds after the document loads,
+      the red squares in each row (two in the first two rows, and one each in the
+      remaining rows) are in the right column, and after the five seconds,
+      they all move to the left column.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-66-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">max</text>
+    <text text-anchor="middle" x="240" y="190" font-size="20">min &amp; max</text>
+    <g transform="translate(100, 30)">
+      <g transform="translate(120,45)" text-anchor="end" font-size="14">
+        <text>no max / media</text>
+        <text y="25">invalid max values</text>
+        <text y="50">max &lt; active dur</text>
+        <text y="75">max &gt; active dur</text>
+        <text y="150">min &lt; max</text>
+        <text y="175">min = max</text>
+        <text y="200">min &gt; max (both ignored)</text>
+      </g>
+      <g id="timeMarkersText" transform="translate(150, 25)" text-anchor="middle" font-size="14">
+        <text>&gt; 5s</text>
+        <text x="80">0s-5s</text>
+      </g>
+      
+      <g transform="translate(150,40)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="firstSet" attributeName="x" to="74" end="5s"/>
+          </rect>
+
+          <g transform="translate(20, 0)">
+            <use xlink:href="#shadow" x="0"/>
+            <use xlink:href="#shadow" x="80"/>
+            <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+              <set attributeName="x" to="74" end="5s" max="media"/>
+            </rect>
+          </g>
+        </g>
+
+        <g id="setTwo" transform="translate(0, 25)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" max="-6s" end="5s"/>
+          </rect>
+
+          <g transform="translate(20, 0)">
+            <use xlink:href="#shadow" x="0"/>
+            <use xlink:href="#shadow" x="80"/>
+            <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+              <set attributeName="x" to="74" end="5s" max="foo"/>
+            </rect>
+          </g>
+        </g>
+
+        <g id="setThree" transform="translate(0, 50)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" max="5s" end="8s"/>
+          </rect>
+        </g>
+
+        <g id="setFour" transform="translate(0, 75)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" max="8s" dur="indefinite" end="5s"/>
+          </rect>
+        </g>
+
+        <g id="setFive" transform="translate(0, 150)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" min="2s" max="5s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setSix" transform="translate(0, 175)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" min="5s" max="5s" dur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setSeven" transform="translate(0, 200)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" min="8s" max="2s" end="5s"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-67-t.svg b/Tests/W3CTestSuite/svg/animate-elem-67-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4de7227332430bd5390a499c2710bd22a5ef30f6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-67-t.svg
@@ -0,0 +1,176 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-67-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests performs basic tests on restart attribute.
+      </p>
+      <p>
+        Each row in the test shows different rectangles subject to &lt;set&gt;
+        animations with different configurations with regards to the restart
+        attribute. For each row, the animation should be active
+        during the first 5 seconds of the animations where the red rectangle
+        should show in the right column. At five seconds into the animation,
+        all the rectangles should move to their left position.
+      </p>
+      <p>
+        On the first row, the &lt;set&gt; animation has a begin attribute set to
+        '0s;1s' and a dur attribute set to 4s. This should result in a first
+        interval of (0s &lt;= t &lt; 4s) which should be superceeded, at 1s, by a new interval
+        of (1s &lt;= t &lt; 5s) because the default restart behavior is 'always'.
+        Consequently, the rectangle should be in the right position during the
+        (0s &lt;= t &lt; 5s) interval and move to the left position at 5s.
+      </p>
+      <p>
+        On the second row, the &lt;set&gt; animation has a begin attribute set to
+        '0s;1s', a dur attribute set to 4s and a restart attribute set to always.
+        The behavior should be the same as for the first row.
+      </p>
+      <p>
+        On the third row, the first (left most) rectangle's &lt;set&gt; animation
+        has a begin attribute set to '0s;1s', a dur set to 5s and a restart attribute
+        set to whenNotActive. Because of the rules for computing intervals, the
+        animation's interval is (0s &lt;= t &lt; 5s) and is not superseded by a (1s &lt;= t &lt; 6s) interval
+        because of the restart value.
+
+        The second (right most) red rectangle's &lt;set&gt; animation has a begin
+        attribute set to '0s;2.5s' and a dur attribute set to 2.5s. This results in
+        a first interval (0s &lt;= t &lt; 2.5s) which is followed by a (2.5s &lt;= t &lt; 5s) interval. Consequently,
+        the rectangle stays on its right position for the first five seconds before it definitively
+        moves to the left position.
+      </p>
+      <p>
+        On the fourth row, the &lt;set&gt; animation has a begin attribute set to
+        '0s;5s' and a dur attribute set to 5s. This results in a first interval of (0s &lt;= t &lt; 5s).
+        Because the restart attribute is set to 'never', the following possible interval,
+        (5s &lt;= t &lt; 10s) does not apply and the animation is only active for the first 5 seconds.
+      </p>
+      <p>
+        The fifth row shows a simple animated red rectangle which lasts for 5 seconds. It shows
+        a reference of how the other animations should behave visually: all red rectangles should
+        have the same horizontal position as the one on the reference row, at any time during the
+        animation.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test and observe it for at least six seconds. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if for the first five seconds after the document loads,
+      the red squares in each row (two in the third row, and one each in the
+      remaining rows) are in the right column, and after the five seconds,
+      they all move to the left column.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-67-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">restart</text>
+
+    <g transform="translate(130, 80)">
+
+      <g transform="translate(120,45)" text-anchor="end" font-size="14">
+        <text>no restart (defaults to always)</text>
+        <text y="25">restart="always"</text>
+        <text y="50">restart="whenNotActive"</text>
+        <text y="75">restart="never"</text>
+        <text y="100">reference</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(180, 25)" text-anchor="middle" font-size="14">
+        <text>&gt; 5s</text>
+        <text x="80">0s-5s</text>
+      </g>
+
+      <g transform="translate(180,40)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="firstSet" attributeName="x" to="74" begin="0s;1s" dur="4s"/>
+          </rect>
+
+        </g>
+
+        <g id="setTwo" transform="translate(0, 25)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" begin="0s;1s" dur="4s" restart="always"/>
+          </rect>
+
+        </g>
+
+        <g id="setThree" transform="translate(0, 50)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" begin="0s;1s" dur="5s" restart="whenNotActive"/>
+          </rect>
+
+          <g transform="translate(20,0)">
+            <use xlink:href="#shadow" x="0"/>
+            <use xlink:href="#shadow" x="80"/>
+
+            <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+              <set attributeName="x" to="74" begin="0s;2.5s" dur="2.5s" restart="whenNotActive"/>
+            </rect>
+          </g>
+        </g>
+
+        <g id="setFour" transform="translate(0, 75)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" begin="0s;5s" dur="5s" restart="never"/>
+          </rect>
+        </g>
+
+        <g id="reference" transform="translate(0, 100)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="5s"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-68-t.svg b/Tests/W3CTestSuite/svg/animate-elem-68-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a8919530a7375a79ae97b8bbc143dc1753832f2c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-68-t.svg
@@ -0,0 +1,137 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-68-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests performs basic tests on the repeatCount attribute.
+      </p>
+      <p>
+        Each row in the test shows different rectangles subject to &lt;set&gt;
+        animations with different configurations with regards to the repeatCount
+        attribute. For each row, the animation should be active
+        during the first 5 seconds of the animations where the red rectangle
+        should show in the right column. At five seconds into the animation,
+        all the rectangles should move to their left position.
+      </p>
+      <p>
+        On the first row, the &lt;set&gt; animation has its dur attribute set to
+        '5s' and its repeatCount unspecified. Consequently, its only interval
+        is (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the second row, the &lt;set&gt; animation has its dur attribute set to
+        1s and its repeatCount set to 5. Consequently, its only interval is
+        (0s &lt;= t &lt; 5s (1s*5)).
+      </p>
+      <p>
+        On the third row, the &lt;set&gt; animation has its dur attribute set to
+        10s and its repeatCount set to 0.5. Consequently, its only interval is
+        (0s &lt;= t &lt; 5s (10s*0.5))
+      </p>
+      <p>
+        On the fourth row, the &lt;set&gt; animation has its dur attribute set to
+        1s and its repeatCount set to indefinite. It also has an end attribute
+        set to 5s. Consequently, the repeat duration is indefinite, but the active
+        duration is limited by the end attribute and the active interval is (0s &lt;= t &lt; 5s).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test and observe it for at least six seconds. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if for the first five seconds after the document loads,
+      the red squares in each row are in the right column, and after the five seconds,
+      they all move to the left column.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-68-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">repeatCount</text>
+    <g transform="translate(130, 80)">
+      <g transform="translate(120,45)" text-anchor="end" font-size="14">
+        <text>dur=5s repeatCount unspecified</text>
+        <text y="25">dur=1s repeatCount=5</text>
+        <text y="50">dur=10s repeatCount=0.5</text>
+        <text y="75">dur=1s repeatCount=indefinite</text>
+        <text y="90">end=5s</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(180, 25)" text-anchor="middle" font-size="14">
+        <text>&gt; 5s</text>
+        <text x="80">0s-5s</text>
+      </g>
+      <g transform="translate(180,40)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="firstSet" attributeName="x" to="74" dur="5s"/>
+          </rect>
+
+        </g>
+
+        <g id="setTwo" transform="translate(0, 25)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="1s" repeatCount="5"/>
+          </rect>
+
+        </g>
+
+        <g id="setThree" transform="translate(0, 50)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="10s" repeatCount="0.5"/>
+          </rect>
+        </g>
+
+        <g id="setFour" transform="translate(0, 75)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="1s" end="5s" repeatCount="indefinite"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-69-t.svg b/Tests/W3CTestSuite/svg/animate-elem-69-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..01d4284bbfa80549bdfeb2265ca2c19f3ba6c90f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-69-t.svg
@@ -0,0 +1,155 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-69-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests performs basic tests on the repeatDur attribute.
+      </p>
+      <p>
+        Each row in the test shows different rectangles subject to &lt;set&gt;
+        animations with different configurations with regards to the repeatDur
+        attribute. For each row, the animation should be active
+        during the first 5 seconds of the animations where the red rectangle
+        should show in the right column. At five seconds into the animation,
+        all the rectangles should move to their left position.
+      </p>
+      <p>
+        On the first row, the &lt;set&gt; animation has its dur attribute set to
+        '5s' and its repeatDur unspecified. Consequently, its only interval
+        is (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the second row, the &lt;set&gt; animation has its dur attribute set to
+        1s and its repeatDur set to 5s. Consequently, its only interval is
+        (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the third row, the &lt;set&gt; animation has its dur attribute set to
+        0.5s and its repeatDur set to 5s. Consequently, its only interval is
+        (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the fourth row, the &lt;set&gt; animation has its dur attribute set to
+        1s and its repeatDur set to indefinite. It also has an end attribute
+        set to 5s. Consequently, the repeat duration is indefinite, but the active
+        duration is limited by the end attribute and the active interval is (0s &lt;= t &lt; 5s).
+      </p>
+      <p>
+        On the fifth row, the &lt;set&gt; animation has its dur attribute set to
+        0.7s and its repeatDur set to 5s. Consequently, its only interval is
+        (0s &lt;= t &lt; 5s). The difference with the 3rd row is that there is a fractional
+        number of simple durations in the active duration (7.1428) where there
+        is a whole number of simple durations in the third row (10).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test and observe it for at least six seconds. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if for the first five seconds after the document loads,
+      the red squares in each row are in the right column, and after the five seconds,
+      they all move to the left column.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-69-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">repeatDur</text>
+    <g transform="translate(130, 80)">
+      <g transform="translate(120,45)" text-anchor="end" font-size="14">
+        <text>dur=5s repeatDur unspecified</text>
+        <text y="25">dur=1s repeatDur=5s</text>
+        <text y="50">dur=0.5s repeatDur=5s</text>
+        <text y="75">dur=1s repeatDur=indefinite</text>
+        <text y="90">end=5s</text>
+        <text y="125">dur=0.7s repeatDur=5s</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(180, 25)" text-anchor="middle" font-size="14">
+        <text>&gt; 5s</text>
+        <text x="80">0s-5s</text>
+      </g>
+
+      <g transform="translate(180,40)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="firstSet" attributeName="x" to="74" dur="5s"/>
+          </rect>
+
+        </g>
+
+        <g id="setTwo" transform="translate(0, 25)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="1s" repeatDur="5s"/>
+          </rect>
+
+        </g>
+
+        <g id="setThree" transform="translate(0, 50)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="0.5s" repeatDur="5s"/>
+          </rect>
+        </g>
+
+        <g id="setFour" transform="translate(0, 75)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="1s" end="5s" repeatDur="indefinite"/>
+          </rect>
+        </g>
+
+        <g id="setFive" transform="translate(0, 125)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set attributeName="x" to="74" dur="0.7s" repeatDur="5s"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-70-t.svg b/Tests/W3CTestSuite/svg/animate-elem-70-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7941ae594078543b3617308c758d65963dfa37d6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-70-t.svg
@@ -0,0 +1,152 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-70-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests the animation's SMIL fill attribute.
+      </p>
+      <p>
+        On the first row, the &lt;set&gt; animation has its dur
+        attribute set to '1s' and its begin attribute set to '0s;
+        firstSet.end + 1s'. The fill attribute is unspecified, so
+        the effect is as if it was set to 'remove', because 'remove' is
+        the default value for fill.
+
+        Consequently, the first interval is (0s &lt;= t &lt; 1s), the second is
+        (2s &lt;= t &lt; 3s), the third, (4s &lt;= t &lt; 5s) etc.. The red rectangle starts on the
+        right position, moves to the left position for one second, moves
+        to the right for 1 second, and so on.
+      </p>
+      <p>
+        On the second row, the &lt;set&gt; animation
+        with the identifier 'firstSet' has its dur attribute
+        set to 1s and its begin attribute set to '0s; firstSet.end'. The fill attribute
+        is set to 'remove'. The behavior should be exactly the same as for the previous
+        row, and the rectangle moves from the right position to the left position
+        every second.
+      </p>
+      <p>
+        On the third row, the &lt;set&gt; animation has its dur attribute set to
+        1s and its begin attribute set to '0s; firstSet.end'. The fill attribute
+        is set to 'freeze'. The first interval should be (0s &lt;= t &lt; 1s), the second (2s &lt;= t &lt; 3s),
+        the third, (4s &lt;= t &lt; 5s), etc. Between interval, the fill behavior should be applied,
+        so the red rectangle should stay on the right position and never go to the
+        left position.
+      </p>
+      <p>
+        On the fourth row, the &lt;set&gt; animation has its dur  attribute set to
+        1s and its begin attribute set to '0s'. The fill attribute
+        is set to 'freeze'. The first interval should be (0s &lt;= t &lt; 1s) and there is no
+        following interval. Because of the fill behavior, the &lt;set&gt; should
+        apply the last (and only) animation value after 1s. Consequently, the
+        red rectangle should stay on the right position and never go to the
+        left position.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test and observe it for at least 5 seconds. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if for the duration of the test the following conditions are met:</p>
+      <ul>
+        <li>The red squares in the top two rows alternate between the left and the right column
+        at a rate of one movement per second.  They must also be in the same column
+        at any given time.</li>
+        <li>The red squares in the bottom two rows stay in the right column.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-70-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">fill</text>
+    <g transform="translate(130, 60)">
+      <g transform="translate(120,45)" text-anchor="end" font-size="14">
+        <text>fill unspecified (remove)</text>
+        <text y="25">fill=remove</text>
+        <text y="100">fill=freeze (with restart)</text>
+        <text y="125">fill=freeze (no restart)</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(180, 125)" text-anchor="middle" font-size="14">
+        <text y="-15">never</text>
+        <text>here</text>
+        <text y="-15" x="80">always</text>
+        <text x="80">here</text>
+      </g>
+
+      <g transform="translate(180,40)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="firstSet" attributeName="x" to="74" begin="0s; firstSet.end + 1s" dur="1s"/>
+          </rect>
+
+        </g>
+
+        <g id="setTwo" transform="translate(0, 25)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="secondSet" attributeName="x" to="74" begin="0s; secondSet.end + 1s" dur="1s" fill="remove"/>
+          </rect>
+
+        </g>
+
+        <g id="setThree" transform="translate(0, 100)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="thirdSet" attributeName="x" to="74" begin="0s; thirdSet.end + 1s" dur="1s" fill="freeze"/>
+          </rect>
+        </g>
+
+
+        <g id="setFour" transform="translate(0, 125)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <set id="fourthSet" attributeName="x" to="74" begin="0s" dur="1s" fill="freeze"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-77-t.svg b/Tests/W3CTestSuite/svg/animate-elem-77-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f71a033ca44ee99e9bdc6086d01cd700690477de
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-77-t.svg
@@ -0,0 +1,357 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="NR" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-77-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        Tests the inheritance of animated values on text.
+      </p>
+      <p>
+        This test demonstrates how &lt;set&gt; elements change
+        text properties on a &lt;text&gt; element. For
+        each of the text properties being tested, 3
+        &lt;set&gt; elements are set. The first &lt;set&gt;
+        element acts directly on the &lt;text&gt; element. The
+        second &lt;set&gt; element acts on a &lt;g&gt; containing
+        children. The third &lt;set&gt; element acts on an &lt;a&gt;
+        containing children. In each case the test validates that
+        the animated value set on the &lt;g&gt; and &lt;a&gt;
+        elements is inherited by the &lt;text&gt; element.
+        All the &lt;set&gt; elements have a begin attribute
+        set to 0s with an offset of 1s after end.
+        So, the animation will apply 1s after the document is loaded
+        and will repeat every 1s after the animation ends.
+      </p>
+      <p>
+        The first &lt;set&gt; validates the transform property. When
+        applied to the &lt;text&gt; element, the letter A will be
+        translated to the right every 1s, in the &lt;text&gt; column.
+        When applied to the &lt;g&gt; element, the letter A inherits the
+        transform value and is translated to the right every 1s, as
+        seen in the &lt;g&gt; column. When applied to the &lt;a&gt;
+        element, the letter A inherits the transform value and is
+        translated to the right every 1s, as seen in &lt;a&gt; column.
+      </p>
+      <p>
+        The second &lt;set&gt; validates the text-anchor attribute.
+        When applied to the &lt;text&gt; element, the anchor position
+        of letter A is moved from start to end. When applied to the
+        &lt;g&gt; and &lt;a&gt; element, the property is inherited
+        and hence the anchor position of letter A is moved from start
+        to end in the second row.
+      </p>
+      <p>
+        The third &lt;set&gt; validates the font-size attribute.
+        The font size of letter A is changed from 20 to 30.
+        When applied to &lt;g&gt; and &lt;a&gt; elements, the letter
+        A inherits the font-size and hence in row 3, letter A has a
+        font-size of 30 in all 3 right columns of row 3.
+      </p>
+      <p>
+        The fourth &lt;set&gt; validates the font-family attribute.
+        The font-family is changed from default to serif.
+        When applied to &lt;g&gt; and &lt;a&gt; elements, the letter
+        A inherits the font-family attribute and hence in row 4,
+        letter A has serif font-family in all 3 columns.
+      </p>
+      <p>
+        The fifth &lt;set&gt; validates the font-style attribute.
+        The font-style is changed from normal to italic.
+        When applied to &lt;g&gt; and &lt;a&gt; elements, the letter
+        A inherits the font-style attribute and hence in row 5,
+        letter A is animated to italic in all 3 columns.
+      </p>
+      <p>
+        The sixth &lt;set&gt; validates the font-weight attribute.
+        The font-weight is changed from normal to bold.
+        When applied to &lt;g&gt; and &lt;a&gt; elements, the letter
+        A inherits the font-weight attribute and hence in row 6,
+        letter A is changed to bold on the right.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The document is animated such that it alternates between two states, an alternation occurring every second. 
+        For the test to pass each row must show a colored letter A that alternates between the two exact shapes and positions shown
+        by the gray silhouettes.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-77-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="400">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/FreeSerif.svg#FreeSerif"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="700">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/FreeSerifBold.svg#FreeSerifBold"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="400" font-style="italic">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/FreeSerifItalic.svg#FreeSerifItalic"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="700"  font-style="italic">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/FreeSerifBoldItalic.svg#FreeSerifBoldItalic"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="FreeSerif, serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">text</text>
+    <g transform="translate(80, 80)">
+      <g transform="translate(20,10)" text-anchor="end" font-size="14">
+        <text x="5" y="15">transform</text>
+        <text x="5" y="50">text-anchor</text>
+        <text x="5" y="85">font-size</text>
+        <text x="5" y="120">font-family</text>
+        <text x="5" y="155">font-style</text>
+        <text x="5" y="190">font-weight</text>
+      </g>
+
+      <g id="type" transform="translate(90, -10)" text-anchor="middle" font-size="14">
+        <text x="20" y="3">&lt;text&gt;</text>
+        <text x="135" y="3">&lt;g&gt;</text>
+        <text x="250" y="3">&lt;a&gt;</text>
+      </g>
+
+      <g transform="translate(80,5)" text-anchor="start" font-size="20" fill="rgb(204,0,102)">
+        <text id="one" x="10" y="20" fill="#aaa">A </text>
+
+        <g id="setOne">
+          <defs>
+            <g id="setOneRef">
+              <text x="10" y="20" fill="#aaa">A </text>
+              <text x="10" y="20" fill="#aaa" transform="translate(30,0)">A </text>
+            </g>
+          </defs>
+
+          <use xlink:href="#setOneRef"/>
+          <use xlink:href="#setOneRef" x="110"/>
+          <use xlink:href="#setOneRef" x="220"/>
+
+          <text x="10" y="20">
+            A
+            <animateTransform attributeName="transform" id="firstSet" type="translate" from="30,0" to="30,0" begin="0s; firstSet.end + 1s" dur="1s"/>
+          </text>
+
+          <g transform="translate(110, 0)">
+            <animateTransform attributeName="transform" id="secondSet" type="translate" from="140,0" to="140,0" begin="0s; secondSet.end + 1s" dur="1s"/>
+            <text x="10" y="20">A</text>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <animateTransform attributeName="transform" id="thirdSet" type="translate" from="250,0" to="250,0" begin="0s; thirdSet.end + 1s" dur="1s"/>
+            <text x="10" y="20">A</text>
+          </a>
+        </g>
+
+        <g id="setTwo" transform="translate(0,35)">
+          <defs>
+            <g id="setTwoRef">
+              <text x="10" y="20" fill="#aaa">A </text>
+              <text x="10" y="20" fill="#aaa" transform="translate(40,0)" text-anchor="end">A</text>
+            </g>
+          </defs>
+
+          <use xlink:href="#setTwoRef"/>
+          <use xlink:href="#setTwoRef" x="110"/>
+          <use xlink:href="#setTwoRef" x="220"/>
+
+          <text x="10" y="20">
+            A
+            <set id="secondSet1" attributeName="text-anchor" to="end" begin="0s; secondSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="secondSet1_1" type="translate" from="40,0" to="40,0" begin="0s; secondSet1_1.end + 1s" dur="1s"/>
+          </text>
+
+          <g>
+            <set id="secondSet2" attributeName="text-anchor" to="end" begin="0s; secondSet2.end + 1s" dur="1s"/>
+            <text x="120" y="20">
+              A
+              <animateTransform attributeName="transform" id="secondSet2_1" type="translate" from="40,0" to="40,0" begin="0s; secondSet2_1.end + 1s" dur="1s"/>
+            </text>
+          </g>
+
+          <a>
+            <set id="secondSet3" attributeName="text-anchor" to="end" begin="0s; secondSet3.end + 1s" dur="1s"/>
+            <text x="230" y="20">
+              A
+              <animateTransform attributeName="transform" id="secondSet3_1" type="translate" from="40,0" to="40,0" begin="0s; secondSet3_1.end + 1s" dur="1s"/>
+            </text>
+          </a>
+        </g>
+
+        <g id="setThree" transform="translate(0,70)">
+          <defs>
+            <g id="setThreeRef">
+              <text x="10" y="20" fill="#aaa">A </text>
+              <text x="40" y="20" font-size="30" fill="#aaa">A</text>
+            </g>
+          </defs>
+          <use xlink:href="#setThreeRef"/>
+          <use xlink:href="#setThreeRef" x="110"/>
+          <use xlink:href="#setThreeRef" x="220"/>
+
+          <text x="10" y="20">
+            A
+            <set id="thirdSet1" attributeName="font-size" to="30" begin="0s; thirdSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="thirdSet1_1" type="translate" from="30,0" to="30,0" begin="0s; thirdSet1_1.end + 1s" dur="1s"/>
+          </text>
+
+          <g>
+            <set id="thirdSet2" attributeName="font-size" to="30" begin="0s; thirdSet2.end + 1s" dur="1s"/>
+            <text x="120" y="20">
+              A
+              <animateTransform attributeName="transform" id="thirdSet2_1" type="translate" from="30,0" to="30,0" begin="0s; thirdSet2_1.end + 1s" dur="1s"/>
+            </text>
+          </g>
+
+          <a>
+            <set id="thirdSet3" attributeName="font-size" to="30" begin="0s; thirdSet3.end + 1s" dur="1s"/>
+            <text x="230" y="20">
+              A
+              <animateTransform attributeName="transform" id="thirdSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; thirdSet3_1.end + 1s" dur="1s"/>
+            </text>
+          </a>
+        </g>
+
+        <g id="setFour" transform="translate(0,105)">
+          <defs>
+            <g id="setFourRef">
+              <text x="10" y="20" font-size="30" fill="#aaa" font-family="sans-serif">A</text>
+              <text x="40" y="20" font-size="30" fill="#aaa" font-family="serif">A</text>
+            </g>
+          </defs>
+          <use xlink:href="#setFourRef"/>
+          <use xlink:href="#setFourRef" x="110"/>
+          <use xlink:href="#setFourRef" x="220"/>
+
+          <text x="10" y="20" font-size="30" font-family="sans-serif">
+            A
+            <set id="fourthSet1" attributeName="font-family" to="serif" begin="0s; fourthSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="fourthSet1_1" type="translate" from="30,0" to="30,0" begin="0s; fourthSet1_1.end + 1s" dur="1s"/>
+          </text>
+
+          <g transform="translate(110,0)" font-family="sans-serif">
+            <set id="fourthSet2" attributeName="font-family" to="serif" begin="0s; fourthSet2.end + 1s" dur="1s"/>
+            <text x="10" y="20" font-size="30">
+              A
+              <animateTransform attributeName="transform" id="fourthSet2_1" type="translate" from="30,0" to="30,0" begin="0s; fourthSet2_1.end + 1s" dur="1s"/>
+            </text>
+          </g>
+
+          <a xlink:href="" transform="translate(220,0)" font-family="sans-serif">
+            <set id="fourthSet3" attributeName="font-family" to="serif" begin="0s; fourthSet3.end + 1s" dur="1s"/>
+            <text x="10" y="20" font-size="30">
+              A
+              <animateTransform attributeName="transform" id="fourthSet3_1" type="translate" from="30,0" to="30,0" begin="0s; fourthSet2_1.end + 1s" dur="1s"/>
+            </text>
+          </a>
+
+        </g>
+
+        <g id="setFive" transform="translate(0,140)">
+          <defs>
+            <g id="setFiveRef">
+              <text x="10" y="20" fill="#aaa">A</text>
+              <text x="40" y="20" fill="#aaa" font-style="italic">A</text>
+            </g>
+          </defs>
+
+          <use xlink:href="#setFiveRef"/>
+          <use xlink:href="#setFiveRef" x="110"/>
+          <use xlink:href="#setFiveRef" x="220"/>
+
+          <text x="10" y="20">
+            A
+            <set id="fifthSet1" attributeName="font-style" to="italic" begin="0s; fifthSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="fifthSet1_1" type="translate" from="30,0" to="30,0" begin="0s; fifthSet1_1.end + 1s" dur="1s"/>
+          </text>
+
+          <g transform="translate(110,0)">
+            <set id="fifthSet2" attributeName="font-style" to="italic" begin="0s; fifthSet2.end + 1s" dur="1s"/>
+            <text x="10" y="20">
+              A
+              <animateTransform attributeName="transform" id="fifthSet2_1" type="translate" from="30,0" to="30,0" begin="0s; fifthSet2_1.end + 1s" dur="1s"/>
+            </text>
+          </g>
+
+          <a xlink:href="" transform="translate(220,0)">
+            <set id="fifthSet3" attributeName="font-style" to="italic" begin="0s; fifthSet3.end + 1s" dur="1s"/>
+            <text x="10" y="20">
+              A
+              <animateTransform attributeName="transform" id="fifthSet3_1" type="translate" from="30,0" to="30,0" begin="0s; fifthSet3_1.end + 1s" dur="1s"/>
+            </text>
+          </a>
+        </g>
+
+        <g id="setSix" transform="translate(0,175)">
+          <defs>
+            <g id="setSixRef">
+              <text x="10" y="20" fill="#aaa">A</text>
+              <text x="40" y="20" fill="#aaa" font-weight="bold">A</text>
+            </g>
+          </defs>
+
+          <use xlink:href="#setSixRef"/>
+          <use xlink:href="#setSixRef" x="110"/>
+          <use xlink:href="#setSixRef" x="220"/>
+
+          <text x="10" y="20">
+            A
+            <set id="sixthSet1" attributeName="font-weight" to="bold" begin="0s; sixthSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="sixthSet1_1" type="translate" from="30,0" to="30,0" begin="0s; sixthSet1_1.end + 1s" dur="1s"/>
+          </text>
+
+          <g transform="translate(110,0)">
+            <set id="sixthSet2" attributeName="font-weight" to="bold" begin="0s; sixthSet2.end + 1s" dur="1s"/>
+            <text x="10" y="20">
+              A
+              <animateTransform attributeName="transform" id="sixthSet2_1" type="translate" from="30,0" to="30,0" begin="0s; sixthSet2_1.end + 1s" dur="1s"/>
+            </text>
+          </g>
+
+          <a xlink:href="" transform="translate(220,0)">
+            <set id="sixthSet3" attributeName="font-weight" to="bold" begin="0s; sixthSet3.end + 1s" dur="1s"/>
+            <text x="10" y="20">
+              A
+              <animateTransform attributeName="transform" id="sixthSet3_1" type="translate" from="30,0" to="30,0" begin="0s; sixthSet3_1.end + 1s" dur="1s"/>
+            </text>
+          </a>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-78-t.svg b/Tests/W3CTestSuite/svg/animate-elem-78-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..31aceb503ad8b77f369bbc30fc743105e55f98bd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-78-t.svg
@@ -0,0 +1,563 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="NR" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-78-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test demonstrates how &lt;set&gt; elements change
+        graphics properties on elements from the 'Basic Shapes' chapter. For
+        each of the graphics properties being tested, 3
+        &lt;set&gt; elements are set. The first &lt;set&gt;
+        element acts directly on the 'Basic Shape' element. The
+        &lt;set&gt; element acts on a &lt;g&gt; containing
+        children. The third &lt;set&gt; element acts on an &lt;a&gt;
+        containing children. In each case the test validates that
+        the animated value set on the &lt;g&gt; and &lt;a&gt;
+        elements is inherited by the 'Basic Shape' element.
+        All the &lt;set&gt; elements have a begin attribute
+        set to 0s with an offset of 1s after end.
+        So, the animation will apply 1s after the document is loaded
+        and will repeat every 1s after the animation ends.
+      </p>
+      <p>
+        The first &lt;set&gt; validates the fill property, with
+        fill set to orange. When applied directly to the 'Basic Shape'
+        element, the &lt;rect&gt; fill value will change to orange
+        when it is translated to the right every 1s. When applied
+        to the &lt;g&gt; and &lt;a&gt; elements, the &lt;rect&gt;
+        inherits the fill value and is orange.
+      </p>
+      <p>
+        The second &lt;set&gt; validates the fill-style property,
+        with fill-style set to evenodd. When applied to the
+        'Basic Shape' element, the &lt;polyline&gt; fill-style is
+        changed from nonzero to evenodd. When applied to the
+        &lt;g&gt; and &lt;a&gt; elements, the &lt;polyline&gt; inherits
+        the evenodd fill-style.
+      </p>
+      <p>
+        the third &lt;set&gt; validates the stroke property.
+        In this case fill is set to none. When stroke is applied
+        to the 'Basic Shape' element, the &lt;rect&gt; on the right
+        appears with the stroke color. When applied to the &lt;g&gt; and
+        &lt;a&gt; elements, the &lt;rect&gt; inherits the stroke property.
+      </p>
+      <p>
+        the fourth &lt;set&gt; validates the stroke-width property,
+        with stroke-width set to 4. When stroke-width is applied
+        to the 'Basic Shape' element, the &lt;line&gt; on the right
+        has a width of 4. When applied to the &lt;g&gt; and
+        &lt;a&gt; elements, the &lt;line&gt; inherits the stroke-width.
+      </p>
+      <p>
+        the fifth &lt;set&gt; validates the stroke-linecap property,
+        with stroke-linecap set to round. When stroke-linecap is applied
+        to the 'Basic Shape' element, the &lt;line&gt; stroke-linecap
+        value switches from butt to round. When applied to the &lt;g&gt;
+        and &lt;a&gt; elements, the &lt;line&gt; inherits the
+        square stroke-linecap.
+      </p>
+      <p>
+        the sixth &lt;set&gt; validates the stroke-linejoin property,
+        with stroke-linejoin set to bevel. When stroke-linejoin is applied
+        to the 'Basic Shape' element, the &lt;line&gt; stroke-linejoin
+        value switches from miter to bevel. When applied to the &lt;g&gt;
+        and &lt;a&gt; elements, the &lt;line&gt; inherits the
+        bevel stroke-linejoin.
+      </p>
+      <p>
+        the seventh &lt;set&gt; validates the stroke-miterlimit property,
+        with stroke-miterlimit set to 10. When stroke-miterlimit
+        is applied to the 'Basic Shape' element, the miter-length to
+        stroke-width ratio exceeds the miter-limit and the
+        &lt;polyline&gt; switches from bevel to miter.When applied
+        to the &lt;g&gt; and &lt;a&gt; elements,the &lt;line&gt;
+        inherits the stroke-miterlimit.
+      </p>
+      <p>
+        the eighth &lt;set&gt; validates the stroke-dashoffset property,
+        with stroke-dashoffset set to 5.5. When stroke-dashoffset is applied
+        to the 'Basic Shape' element, the &lt;line&gt; has a different
+        dashing pattern. When applied to the &lt;g&gt; and &lt;a&gt;
+        elements, the &lt;line&gt; inherits the property.
+      </p>
+      <p>
+        the ninth &lt;set&gt; validates the display property,
+        with display set to none. When display is applied
+        to the 'Basic Shape' element, the &lt;rect&gt; does not
+        appear on the right. When applied to the &lt;g&gt; and &lt;a&gt;
+        elements, the &lt;line&gt; inherits the display property and
+        hence is not seen.
+      </p>
+      <p>
+        the tenth &lt;set&gt; validates the visibility property,
+        with visibility set to hidden. When visibility is applied
+        to the 'Basic Shape' element, the &lt;rect&gt; is hidden
+        on the right. When applied to the &lt;g&gt; and &lt;a&gt;
+        elements, the &lt;line&gt; inherits the visibility property
+        and hence is not seen.
+      </p>
+      <p>
+        the eleventh &lt;set&gt; validates the color property,
+        with color set to blue. When color is applied to the
+        'Basic Shape' element, the &lt;rect&gt; on the right
+        switches from default color of black to blue. When
+        applied to the &lt;g&gt; and &lt;a&gt;
+        elements, the &lt;line&gt; inherits the color property.
+      </p>
+      <p>
+        The eleventh &lt;set&gt; validates the color property, with
+        color set to orange. When applied directly to the 'Basic Shape'
+        element, the &lt;rect&gt; fill value will change to orange
+        when it is translated to the right every 1s. When applied
+        to the &lt;g&gt; and &lt;a&gt; elements, the &lt;rect&gt;
+        inherits the color value, and via its fill="currentColor"
+        becomes orange.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The document is animated such that it alternates between two states,
+      an alternation occurring every second.  In each row there are three
+      sub-tests, which must behave identically except for any differences
+      noted below.  Each sub-test consists of a colored shape that in one
+      state appears in the left column and in the second state appears in
+      the right column.  The test is passed if the following conditions are
+      met:</p>
+      <ul>
+        <li>For the fill-rule, stroke-width, stroke-linecap, stroke-linejoin,
+        stroke-miterlimit and stroke-dashoffset rows, the red shape must
+        take the exact shape and position of the two gray silhouettes
+        when animating between the two states.</li>
+        <li>For the fill row, the colored square must take the exact
+        shape and position of the two gray silhouettes when animating
+        between the two states.  When in the left column, it must be red,
+        and when in the right column, it must be orange.</li>
+        <li>For the color row, the colored square must take the exact
+        shape and position of the two gray silhouettes when animating
+        between the two states.  When in the left column, it must be
+        red, and when in the right column, it must be orange.</li>
+        <li>For the stroke row, the shape must be invisible when in the
+        left column, and must be a red-stroked, empty-filled square
+        matching the size and position of the gray silhouette when
+        in the right column.</li>
+        <li>For the display and visibility rows, the shape must be a red
+        square matching the size and position of the gray silhouette
+        when in the left column, and must be invisible when in the right
+        column.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-78-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="20">graphics</text>
+    <g transform="translate(80, 75)">
+      <g transform="translate(30,10)" text-anchor="end" font-size="12">
+        <text>fill</text>
+        <text y="20">fill-rule</text>
+        <text y="40">stroke</text>
+        <text y="60">stroke-width</text>
+        <text y="80">stroke-linecap</text>
+        <text y="100">stroke-linejoin</text>
+        <text y="120">stroke-miterlimit</text>
+        <text y="140">stroke-dashoffset</text>
+        <text y="160">display</text>
+        <text y="180">visibility</text>
+        <text y="200">color</text>
+      </g>
+
+      <g id="type" transform="translate(90, -20)" text-anchor="middle" font-size="14">
+        <text x="20" y="3">'Basic Shape'</text>
+        <text x="130" y="3">&lt;g&gt;</text>
+        <text x="235" y="3">&lt;a&gt;</text>
+      </g>
+
+      <g transform="translate(80,0)" fill="rgb(204,0,102)">
+        <rect x="10" width="8" height="8" fill="#ccc"/>
+
+        <g id="setOne">
+          <defs>
+            <g id="setOneRef">
+              <rect x="10" width="8" height="8" fill="#ccc"/>
+              <rect x="10" width="8" height="8" fill="#ccc" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setOneRef"/>
+          <use xlink:href="#setOneRef" x="110"/>
+          <use xlink:href="#setOneRef" x="220"/>
+
+          <rect x="10" width="8" height="8">
+            <set id="firstSet1" attributeName="fill" to="rgb(255, 165, 0)" begin="0s; firstSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="firstSet1_1" type="translate" from="30,0" to="30,0" begin="0s; firstSet1_1.end + 1s" dur="1s"/>
+          </rect>
+
+          <g transform="translate(110, 0)">
+            <set id="firstSet2" attributeName="fill" to="rgb(255, 165, 0)" begin="0s; firstSet2.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="firstSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; firstSet2_1.end + 1s" dur="1s"/>
+            </rect>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="firstSet3" attributeName="fill" to="rgb(255, 165, 0)" begin="0s; firstSet3.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="firstSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; firstSet3_1.end + 1s" dur="1s"/>
+            </rect>
+          </a>
+
+        </g>
+        <g id="setTwo" transform="translate(5,15)" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setTwoRef">
+              <polyline fill="#ccc" stroke="#ccc" stroke-width="1" points="20,10,0,10,15,20,10,2,5,20,20,10">
+              </polyline>
+              <polyline fill="#ccc" stroke="#ccc" fill-rule="evenodd" stroke-width="1" points="20,10,0,10,15,20,10,2,5,20,20,10" transform="translate(30,0)">
+              </polyline>
+            </g>
+          </defs>
+          <use xlink:href="#setTwoRef"/>
+          <use xlink:href="#setTwoRef" x="110"/>
+          <use xlink:href="#setTwoRef" x="220"/>
+
+          <polyline points="20,10,0,10,15,20,10,2,5,20,20,10">
+            <set id="secondSet1" attributeName="fill-rule" to="evenodd" begin="0s; secondSet1_1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="secondSet1_1" type="translate" from="30, 0" to="30,0" begin="0s; secondSet1_1.end + 1s" dur="1s"/>
+          </polyline>
+
+          <g transform="translate(110, 0)">
+            <set id="secondSet2" attributeName="fill-rule" to="evenodd" begin="0s; secondSet2_1.end + 1s" dur="1s"/>
+            <polyline points="20,10,0,10,15,20,10,2,5,20,20,10">
+              <animateTransform attributeName="transform" id="secondSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; secondSet2_1.end + 1s" dur="1s"/>
+            </polyline>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="secondSet3" attributeName="fill-rule" to="evenodd" begin="0s; secondSet3_1.end + 1s" dur="1s"/>
+            <polyline points="20,10,0,10,15,20,10,2,5,20,20,10">
+              <animateTransform attributeName="transform" id="secondSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; secondSet3_1.end + 1s" dur="1s"/>
+            </polyline>
+          </a>
+
+        </g>
+
+        <g id="setThree" transform="translate(0,45)" fill="none">
+          <defs>
+            <g id="setThreeRef">
+              <rect x="10" width="8" height="8" fill="#ccc"/>
+              <rect x="10" width="8" height="8" fill="#ccc" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setThreeRef"/>
+          <use xlink:href="#setThreeRef" x="110"/>
+          <use xlink:href="#setThreeRef" x="220"/>
+
+          <rect x="10" width="8" height="8">
+            <set id="thirdSet1" attributeName="stroke" to="rgb(204,0,102)" begin="0s; thirdSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="thirdSet1_1" type="translate" from="30, 0" to="30,0" begin="0s; thirdSet1_1.end + 1s" dur="1s"/>
+          </rect>
+
+          <g transform="translate(110, 0)">
+            <set id="thirdSet2" attributeName="stroke" to="rgb(204,0,102)" begin="0s; thirdSet2.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="thirdSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; thirdSet2_1.end + 1s" dur="1s"/>
+            </rect>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="thirdSet3" attributeName="stroke" to="rgb(204,0,102)" begin="0s; thirdSet3.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="thirdSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; thirdSet3_1.end + 1s" dur="1s"/>
+            </rect>
+          </a>
+        </g>
+
+        <g id="setFour" transform="translate(0,60)" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setFourRef">
+              <line x1="10" y1="8" x2="20" y2="0" stroke="#ccc">
+              </line>
+              <line x1="10" y1="8" x2="20" y2="0" stroke-width="4" stroke="#ccc" transform="translate(30,0)">
+              </line>
+            </g>
+          </defs>
+          <use xlink:href="#setFourRef"/>
+          <use xlink:href="#setFourRef" x="110"/>
+          <use xlink:href="#setFourRef" x="220"/>
+
+          <line x1="10" y1="8" x2="20" y2="0">
+            <set id="fourthSet1" attributeName="stroke-width" to="4" begin="0s; fourthSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="fourthSet1_1" type="translate" from="30, 0" to="30,0" begin="0s; fourthSet1_1.end + 1s" dur="1s"/>
+          </line>
+
+          <g transform="translate(110, 0)">
+            <set id="fourthSet2" attributeName="stroke-width" to="4" begin="0s; fourthSet2.end + 1s" dur="1s"/>
+            <line x1="10" y1="8" x2="20" y2="0">
+              <animateTransform attributeName="transform" id="fourthSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; fourthSet2_1.end + 1s" dur="1s"/>
+            </line>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="fourthSet3" attributeName="stroke-width" to="4" begin="0s; fourthSet3.end + 1s" dur="1s"/>
+            <line x1="10" y1="8" x2="20" y2="0">
+              <animateTransform attributeName="transform" id="fourthSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; fourthSet3_1.end + 1s" dur="1s"/>
+            </line>
+          </a>
+        </g>
+
+        <g id="setFive" transform="translate(0,80)" stroke-width="4" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setFiveRef">
+              <line x1="10" y1="8" x2="20" y2="0" stroke="#ccc">
+              </line>
+              <line x1="10" y1="8" x2="20" y2="0" stroke-linecap="round" stroke="#ccc" transform="translate(30,0)">
+              </line>
+            </g>
+          </defs>
+          <use xlink:href="#setFiveRef"/>
+          <use xlink:href="#setFiveRef" x="110"/>
+          <use xlink:href="#setFiveRef" x="220"/>
+
+          <line x1="10" y1="8" x2="20" y2="0">
+            <set id="fifthSet1" attributeName="stroke-linecap" to="round" begin="0s; fifthSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="fifthSet1_1" type="translate" from="30, 0" to="30,0" begin="0s; fifthSet1_1.end + 1s" dur="1s"/>
+          </line>
+
+          <g transform="translate(110, 0)">
+            <set id="fifthSet2" attributeName="stroke-linecap" to="round" begin="0s; fifthSet2.end + 1s" dur="1s"/>
+            <line x1="10" y1="8" x2="20" y2="0">
+              <animateTransform attributeName="transform" id="fifthSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; fifthSet2_1.end + 1s" dur="1s"/>
+            </line>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="fifthSet3" attributeName="stroke-linecap" to="round" begin="0s; fifthSet3.end + 1s" dur="1s"/>
+            <line x1="10" y1="8" x2="20" y2="0">
+              <animateTransform attributeName="transform" id="fifthSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; fifthSet3_1.end + 1s" dur="1s"/>
+            </line>
+          </a>
+        </g>
+
+        <g id="setSix" transform="translate(5,100)" fill="none" stroke-miterlimit="10" stroke-width="3" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setSixRef">
+              <polyline stroke="#ccc" points="5,2,20,5,5,8">
+              </polyline>
+              <polyline stroke="#ccc" points="5,2,20,5,5,8" stroke-linejoin="bevel" transform="translate(30,0)">
+              </polyline>
+            </g>
+          </defs>
+          <use xlink:href="#setSixRef"/>
+          <use xlink:href="#setSixRef" x="110"/>
+          <use xlink:href="#setSixRef" x="220"/>
+
+          <polyline points="5,2,20,5,5,8">
+            <set id="sixthSet1" attributeName="stroke-linejoin" to="bevel" begin="0s; sixthSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="sixthSet1_1" type="translate" from="30, 0" to="30,0" begin="0s; sixthSet1_1.end + 1s" dur="1s"/>
+          </polyline>
+
+          <g transform="translate(110, 0)">
+            <set id="sixthSet2" attributeName="stroke-linejoin" to="bevel" begin="0s; sixthSet2.end + 1s" dur="1s"/>
+            <polyline points="5,2,20,5,5,8">
+              <animateTransform attributeName="transform" id="sixthSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; sixthSet2_1.end + 1s" dur="1s"/>
+            </polyline>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="sixthSet3" attributeName="stroke-linejoin" to="bevel" begin="0s; sixthSet3.end + 1s" dur="1s"/>
+            <polyline points="5,2,20,5,5,8">
+              <animateTransform attributeName="transform" id="sixthSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; sixthSet3_1.end + 1s" dur="1s"/>
+            </polyline>
+          </a>
+        </g>
+
+        <g id="setSeven" transform="translate(5,120)" stroke-miterlimit="1" fill="none" stroke-width="3" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setSevenRef">
+              <polyline points="5,0,20,5,5,10" stroke="#ccc"/>
+              <polyline points="5,0,20,5,5,10" stroke="#ccc" stroke-miterlimit="10" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setSevenRef"/>
+          <use xlink:href="#setSevenRef" x="110"/>
+          <use xlink:href="#setSevenRef" x="220"/>
+
+          <polyline points="5,0,20,5,5,10">
+            <set id="seventhSet1" attributeName="stroke-miterlimit" to="10" begin="0s; seventhSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="seventhSet1_1" type="translate" from="30, 0" to="30,0" begin="0s; seventhSet1_1.end + 1s" dur="1s"/>
+          </polyline>
+
+          <g transform="translate(110, 0)">
+            <set id="seventhSet2" attributeName="stroke-miterlimit" to="10" begin="0s; seventhSet2.end + 1s" dur="1s"/>
+            <polyline points="5,0,20,5,5,10">
+              <animateTransform attributeName="transform" id="seventhSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; seventhSet2_1.end + 1s" dur="1s"/>
+            </polyline>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="seventhSet3" attributeName="stroke-miterlimit" to="10" begin="0s; seventhSet3.end + 1s" dur="1s"/>
+            <polyline points="5,0,20,5,5,10">
+              <animateTransform attributeName="transform" id="seventhSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; seventhSet3_1.end + 1s" dur="1s"/>
+            </polyline>
+          </a>
+
+        </g>
+
+        <g id="setEight" transform="translate(-5,145)" stroke-dasharray="3,4,5" stroke-width="3" stroke="rgb(204,0,102)">
+          <defs>
+            <g id="setEightRef">
+              <line x1="0" y1="0" x2="25" y2="0" stroke="#ccc"/>
+              <line x1="0" y1="0" x2="25" y2="0" stroke="#ccc" stroke-dashoffset="5.5" transform="translate(40,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setEightRef"/>
+          <use xlink:href="#setEightRef" x="110"/>
+          <use xlink:href="#setEightRef" x="220"/>
+
+          <line x1="0" y1="0" x2="25" y2="0">
+            <set id="eighthSet1" attributeName="stroke-dashoffset" to="5.5" begin="0s; eighthSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="eighthSet1_1" type="translate" from="40, 0" to="40,0" begin="0s; eighthSet1_1.end + 1s" dur="1s"/>
+          </line>
+
+          <g transform="translate(110, 0)">
+            <set id="eighthSet2" attributeName="stroke-dashoffset" to="5.5" begin="0s; eighthSet2.end + 1s" dur="1s"/>
+            <line x1="0" y1="0" x2="25" y2="0">
+              <animateTransform attributeName="transform" id="eighthSet2_1" type="translate" from="40, 0" to="40,0" begin="0s; eighthSet2_1.end + 1s" dur="1s"/>
+            </line>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="eighthSet3" attributeName="stroke-dashoffset" to="5.5" begin="0s; eighthSet3.end + 1s" dur="1s"/>
+            <line x1="0" y1="0" x2="25" y2="0">
+              <animateTransform attributeName="transform" id="eighthSet3_1" type="translate" from="40, 0" to="40,0" begin="0s; eighthSet3_1.end + 1s" dur="1s"/>
+            </line>
+          </a>
+        </g>
+
+        <g id="setNine" transform="translate(0,160)">
+          <defs>
+            <g id="setNineRef">
+              <rect x="10" width="8" height="8" fill="#ccc"/>
+              <rect x="10" width="8" height="8" fill="#ccc" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setNineRef"/>
+          <use xlink:href="#setNineRef" x="110"/>
+          <use xlink:href="#setNineRef" x="220"/>
+          <rect x="10" width="8" height="8">
+            <set id="ninthSet1" attributeName="display" to="none" begin="0s; ninthSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="ninthSet1_1" type="translate" from="30, 0" to="30,0" begin="0s; ninthSet1_1.end + 1s" dur="1s"/>
+          </rect>
+
+          <g transform="translate(110, 0)">
+            <set id="ninthSet2" attributeName="display" to="none" begin="0s; ninthSet2.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="ninthSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; ninthSet2_1.end + 1s" dur="1s"/>
+            </rect>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="ninthSet3" attributeName="display" to="none" begin="0s; ninthSet3.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="ninthSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; ninthSet3_1.end + 1s" dur="1s"/>
+            </rect>
+          </a>
+        </g>
+
+        <g id="setTen" transform="translate(0,180)">
+          <defs>
+            <g id="setTenRef">
+              <rect x="10" width="8" height="8" fill="#ccc"/>
+              <rect x="10" width="8" height="8" fill="#ccc" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setTenRef"/>
+          <use xlink:href="#setTenRef" x="110"/>
+          <use xlink:href="#setTenRef" x="220"/>
+
+          <rect x="10" width="8" height="8">
+            <set id="tenthSet1" attributeName="visibility" to="hidden" begin="0s; tenthSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="tenthSet1_1" type="translate" from="30, 0" to="30,0" begin="0s; tenthSet1_1.end + 1s" dur="1s"/>
+          </rect>
+
+          <g transform="translate(110, 0)">
+            <set id="tenthSet2" attributeName="visibility" to="hidden" begin="0s; tenthSet2.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="tenthSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; tenthSet2_1.end + 1s" dur="1s"/>
+            </rect>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)">
+            <set id="tenthSet3" attributeName="visibility" to="hidden" begin="0s; tenthSet3.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="tenthSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; tenthSet3_1.end + 1s" dur="1s"/>
+            </rect>
+          </a>
+        </g>
+
+        <g id="setEleven" color="rgb(204,0,102)" transform="translate(0,200)">
+          <defs>
+            <g id="setElevenRef">
+              <rect x="10" width="8" height="8" fill="#ccc"/>
+              <rect x="10" width="8" height="8" fill="#ccc" transform="translate(30,0)"/>
+            </g>
+          </defs>
+          <use xlink:href="#setElevenRef"/>
+          <use xlink:href="#setElevenRef" x="110"/>
+          <use xlink:href="#setTenRef" x="220"/>
+
+          <rect x="10" width="8" height="8" fill="currentColor">
+            <set id="eleventhSet1" attributeName="color" to="rgb(255, 165, 0)" begin="0s; eleventhSet1.end + 1s" dur="1s"/>
+            <animateTransform attributeName="transform" id="eleventhSet1_1" type="translate" from="30, 0" to="30,0" begin="0s; eleventhSet1_1.end + 1s" dur="1s"/>
+          </rect>
+
+          <g transform="translate(110, 0)" fill="currentColor">
+            <set id="eleventhSet2" attributeName="color" to="rgb(255, 165, 0)" begin="0s; eleventhSet2.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="eleventhSet2_1" type="translate" from="30, 0" to="30,0" begin="0s; eleventhSet2_1.end + 1s" dur="1s"/>
+            </rect>
+          </g>
+
+          <a xlink:href="" transform="translate(220, 0)" fill="currentColor">
+            <!-- This first 'set' is because 'color' on the 'a' might well be a different color from that
+                 inherited from its parent, due to UA style sheet ":visited { color: something }" rules. -->
+            <set attributeName="color" to="rgb(204,0,102)"/>
+            <set id="eleventhSet3" attributeName="color" to="rgb(255, 165, 0)" begin="0s; eleventhSet3.end + 1s" dur="1s"/>
+            <rect x="10" width="8" height="8">
+              <animateTransform attributeName="transform" id="eleventhSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; eleventhSet3_1.end + 1s" dur="1s"/>
+            </rect>
+          </a>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-80-t.svg b/Tests/W3CTestSuite/svg/animate-elem-80-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba831cb72683939561a556a1183821523ee45b15
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-80-t.svg
@@ -0,0 +1,312 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-80-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test demonstrates validates the operation of the
+        animateTransform element and validates the operation
+        of the different type attribute values.
+      </p>
+      <p>
+        There are 5 possible values for the type attribute and
+        there is one animateTransform for each type and two for
+        the translate type.
+      </p>
+      <p>
+        For each transform type, the test has a corresponding animateTransform.
+        The test uses references to show what the expected transform should be
+        at different points in the animation. For example, the top left
+        animateTransform, for type=rotate, shows circular markers which turn
+        orange at the time of corresponding transform value should be set by the
+        animateTransform.
+        The marker elements show the expected transform value on reference
+        markers in the test.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test has eight sub-tests, each of which consists of a brown
+      shape being animated in some way with the animation starting two
+      seconds after the document is loaded.  Gray shapes are used
+      to indicate points along the animation.  The test passes if
+      the brown shape in each of the sub-tests is animated correctly,
+      according to the following descriptions:</p>
+      <ul>
+        <li>In the two "type=rotate" sub-tests, the brown line is rotated
+        clockwise about one of its end points for one complete revolution,
+        and then immediately performs the reverse animation where it is
+        rotated anti-clockwise for one complete revolution.  During the
+        animation, whenever the other end point of the line coincides
+        with one of the gray filled circles, the circle briefly glows yellow.</li>
+        <li>In the "type=skewX" sub-test, the brown line continuously skewed.
+        It starts off coinciding with the middle gray silhouette, and then
+        over the course of the animation coincides with the left gray silhouette,
+        the middle one, the right one and finally the middle one again.
+        During the animation, whenever the brown line coincides with one of the gray silhouettes,
+        the silhouette briefly glows yellow.</li>
+        <li>In the "type=skewY" sub-test, the brown line continuously skewed.
+        It starts off coinciding with the middle gray silhouette, and then
+        over the course of the animation coincides with the top gray silhouette,
+        the middle one, the bottom one and finally the middle one again.
+        During the animation, whenever the brown line coincides with one of the gray silhouettes,
+        the silhouette briefly glows yellow.</li>
+        <li>In the two "type=translate" sub-tests, the brown circle is continuously
+        translated.  It starts off coinciding with the left-most gray circle, and
+        over the course of the animation coincides each of the other gray circles
+        from left to right.  During the animation, whenever the brown circle coincides with one of the
+        gray circles, the circle briefly glows yellow.</li>
+        <li>In the two "type=scale" sub-tests, the brown circle is continuously
+        scaled.  There are four concentric gray stroked circles indicating the
+        sizes the brown circle will take during the animation, although they
+        are only all visible at the end of the animation.  (Initially only the
+        largest one is visible.)  The brown circle
+        starts off with a size coinciding with the largest gray circle, and
+        over the course of the animation coincides each of the other gray circles
+        from outside in.  During the animation, whenever the brown circle coincides with one of the
+        gray circles, the circle briefly glows yellow.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-80-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="16">&lt;animateTransform&gt;</text>
+    <defs>
+      <g id="ref" stroke="rgb(192,192,192)" fill="none">
+        <circle stroke-width="2" r="40"/>
+        <line x1="-45" x2="45"/>
+        <line y1="-45" y2="45"/>
+      </g>
+    </defs>
+    <g transform="translate(0,0)" font-size="14">
+      <g transform="translate(60,90)">
+        <use xlink:href="#ref"/>
+
+        <line x1="40" x2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(0)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="2s;4s;6s" dur="0.2s"/>
+        </line>
+
+        <line x1="40" x2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(90)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="2.5s;5.5s" dur="0.2s"/>
+        </line>
+
+        <line x1="40" x2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(180)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="3s;5s" dur="0.2s"/>
+        </line>
+
+        <line x1="40" x2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(270)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="3.5s;4.5s" dur="0.2s"/>
+        </line>
+
+        <line x2="40" stroke-width="10" stroke-linecap="round" stroke="rgb(200,80,80)">
+          <animateTransform attributeName="transform" type="rotate" values="0;360;0" begin="2s" dur="4s"/>
+        </line>
+
+        <text y="60" text-anchor="middle">type=rotate</text>
+      </g>
+
+      <g transform="translate(180,110)">
+        <line y2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewX(0)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="2s;4s;6s" dur="0.2s"/>
+        </line>
+
+        <line y2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewX(45)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="3.333s" dur="0.2s"/>
+        </line>
+
+        <line y2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewX(-45)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="4.666s" dur="0.2s"/>
+        </line>
+
+        <line y2="-40" stroke-width="10" stroke-linecap="round" stroke="rgb(200,80,80)">
+          <animateTransform attributeName="transform" type="skewX" values="0;45;-45;0" begin="2s" dur="4s"/>
+        </line>
+        <text y="40" text-anchor="middle">type=skewX</text>
+      </g>
+
+      <g transform="translate(300,90)">
+        <g transform="translate(15,0)">
+          <line x2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewY(0)">
+            <set attributeName="stroke" to="rgb(250,200,30)" begin="2s;4s;6s" dur="0.2s"/>
+          </line>
+
+          <line x2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewY(30)">
+            <set attributeName="stroke" to="rgb(250,200,30)" begin="3.333s" dur="0.2s"/>
+          </line>
+
+          <line x2="-40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="skewY(-30)">
+            <set attributeName="stroke" to="rgb(250,200,30)" begin="4.666s" dur="0.2s"/>
+          </line>
+
+          <line x2="-40" stroke-width="10" stroke-linecap="round" stroke="rgb(200,80,80)">
+            <animateTransform attributeName="transform" type="skewY" values="0;30;-30;0" begin="2s" dur="4s"/>
+          </line>
+        </g>
+
+        <text y="60" text-anchor="middle">type=skewY</text>
+      </g>
+
+      <g transform="translate(420,90)">
+        <circle stroke="rgb(192,192,192)" stroke-width="4" r="40" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="2s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" r="30" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="3s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" r="20" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="4s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="5s" dur="0.2s"/>
+        </circle>
+
+        <circle fill="rgb(200,80,80)" r="10" transform="scale(4)">
+          <animateTransform attributeName="transform" type="scale" values="4,4;3,3;2,2;1,1" begin="2s" dur="3s" fill="freeze"/>
+        </circle>
+        <text y="60" text-anchor="middle">type=scale</text>
+        <text y="75" text-anchor="middle">(sx and sy)</text>
+      </g>
+
+
+      <g transform="translate(20,180)">
+        <use xlink:href="#ref" x="40" y="40"/>
+
+        <line x1="80" y1="40" x2="80" y2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(0,40,40)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="2s;4s;6s" dur="0.2s"/>
+        </line>
+
+        <line x1="80" y1="40" x2="80" y2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(90,40,40)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="2.5s;5.5s" dur="0.2s"/>
+        </line>
+
+        <line x1="80" y1="40" x2="80" y2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(180,40,40)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="3s;5s" dur="0.2s"/>
+        </line>
+
+        <line x1="80" y1="40" x2="80" y2="40" stroke-width="15" stroke-linecap="round" stroke="rgb(192,192,192)" transform="rotate(270,40,40)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="3.5s;4.5s" dur="0.2s"/>
+        </line>
+
+        <line x1="40" y1="40" x2="80" y2="40" stroke-width="10" stroke-linecap="round" stroke="rgb(200,80,80)">
+          <animateTransform attributeName="transform" type="rotate" values="0 40 40;360 40 40;0 40 40" begin="2s" dur="4s"/>
+        </line>
+
+        <text y="100" x="40" text-anchor="middle">type=rotate</text>
+        <text y="115" x="40" text-anchor="middle">(with cx/cy)</text>
+      </g>
+
+      <g transform="translate(180,220)">
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="-40" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="2s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="-20" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="3s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="0" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="4s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="20" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="5s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="40" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="6s" dur="0.2s"/>
+        </circle>
+
+        <circle fill="rgb(200,80,80)" r="6" transform="translate(-40,0)">
+          <animateTransform attributeName="transform" type="translate" values="-40;-20;0;20;40" begin="2s" dur="4s" fill="freeze"/>
+        </circle>
+        <text y="60" text-anchor="middle">type=translate</text>
+        <text y="75" text-anchor="middle">(tx only)</text>
+      </g>
+
+      <g transform="translate(300,220)">
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="-40" cy="30" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="2s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="-20" cy="15" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="3s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="0" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="4s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="20" cy="-15" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="5s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" cx="40" cy="-30" r="10" fill="none">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="6s" dur="0.2s"/>
+        </circle>
+
+        <circle fill="rgb(200,80,80)" r="6" transform="translate(-40,30)">
+          <animateTransform attributeName="transform" type="translate" values="-40,30;-20,15;0,0;20,-15;40,-30" begin="2s" dur="4s" fill="freeze"/>
+        </circle>
+        <text y="60" text-anchor="middle">type=translate</text>
+        <text y="75" text-anchor="middle">(tx and ty)</text>
+      </g>
+
+      <g transform="translate(420,220)">
+        <circle stroke="rgb(192,192,192)" stroke-width="1" r="10" fill="none" transform="scale(4,4)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="2s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="1.3333" r="10" fill="none" transform="scale(3,3)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="3s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="2" r="10" fill="none" transform="scale(2,2)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="4s" dur="0.2s"/>
+        </circle>
+
+        <circle stroke="rgb(192,192,192)" stroke-width="4" r="10" fill="none" transform="scale(1,1)">
+          <set attributeName="stroke" to="rgb(250,200,30)" begin="5s" dur="0.2s"/>
+        </circle>
+
+        <circle fill="rgb(200,80,80)" r="10" transform="scale(4,4)">
+          <animateTransform attributeName="transform" type="scale" values="4;3;2;1" begin="2s" dur="3s" fill="freeze"/>
+        </circle>
+        <text y="60" text-anchor="middle">type=scale</text>
+        <text y="75" text-anchor="middle">(sx only)</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-81-t.svg b/Tests/W3CTestSuite/svg/animate-elem-81-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e6fd01c0d0e78d8e938b47ae85a80b2b52d90cad
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-81-t.svg
@@ -0,0 +1,162 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-81-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test tests the operation of the animateTransform's
+        additive behavior.
+      </p>
+      <p>
+        The first two rectangles, on the top row, show the effect of the
+        additive attribute on animateTransform. The left-most
+        animateTransforms have their additive attribute set to replace,
+        so the effect of the two transform animation is as if only the
+        highest priority one applied because it replaces the underlying
+        value. The second animateTransforms (from left to right) have
+        their additive attribute set to sum, which means the transforms
+        they produce are concatenated.
+      </p>
+      <p>
+        The last two rectangles, on the top row, show the effect of the
+        accumulate attribute on animateTransform. For the left one
+        (third on the row, from left to right), the accumulate attribute
+        is set to none. There are two repeats for the
+        animateTransform. Therefore, the transform goes twice from a
+        scale(1,1) to a scale(2,2). For the right-most animateTransform,
+        the accumulate attribute is set to sum. There are two repeats
+        and the animation goes from scale(0,0) to scale(2,2) for the
+        first iteration and then from scale(2,2) to scale(4,4) (because
+        the result of the second iteration is added to the
+        scale(2,2) result of the previous, first iteration).
+      </p>
+      <p>
+        The rectangles on the bottom row show the combination of
+        additive and cumulative behavior. The left rectangle's
+        animateTransform accumulate behavior is set to none but its
+        additive behavior is set to sum. Therefore, the transform's
+        underlying value (skewX(30)) is always pre-concatenated to the
+        animateTransform's result, which goes from "skewX(30)
+        scale(1,1)" to "skewX(30) scale(2,2)" in each of its two
+        iterations.  The right rectangle's animateTransform accumulate
+        behavior is set to sum and the additive behavior is also set to
+        sum. Therefore, the transform's underlying value is always
+        pre-concatenated, and repetitions of the scale animation
+        get added together. Consequently, the transform goes from "skewX(30)
+        scale(0,0)" to "skewX(30) scale(2,2)" for the first iteration
+        and then from "skewX(30) scale(2,2)" to "skewX(30)
+        scale(4,4)" for the second iteration.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    	<p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test is passed if:</p>
+      <ul>
+      	<li>the scale of the upper leftmost grey rectangle is smoothly animated over the course of 5 seconds to completely fill the upper leftmost yellow rectangle</li>
+      	<li>the scale and rotation of the second upper grey rectangle from the left is smoothly animated over the course of 5 seconds to fill the second upper yellow rectangle from the left</li>
+      	<li>the scale of the upper third grey rectangle from the left is smoothly animated over the course of 2.5 seconds to completely fill the upper third yellow rectangle from the left, and then repeated once so that at time t=5 seconds it completely fills the same yellow rectangle</li>
+      	<li>the scale of the upper rightmost grey rectangle is smoothly animated over the course of 5 seconds to completely fill the upper rightmost yellow rectangle</li>
+      	<li>the scale of the lower leftmost grey rectangle is smoothly animated over the course of 2.5 seconds to completely fill the lower leftmost yellow rectangle, and then repeated once so that at time t=5 seconds it completely fills the same yellow rectangle</li>
+      	<li>the scale of the lower rightmost grey rectangle is smoothly animated over the course of 5 seconds to completely fill the lower rightmost yellow rectangle</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-81-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="16">&lt;animateTransform&gt;</text>
+    <defs>
+      <g id="ref" stroke="rgb(192,192,192)" fill="none">
+        <circle stroke-width="2" r="40"/>
+        <line x1="-45" x2="45"/>
+        <line y1="-45" y2="45"/>
+      </g>
+    </defs>
+    <g transform="translate(0,0)" font-size="14">
+      <g transform="translate(60,90)">
+        <rect x="-15" y="-15" width="30" height="30" transform="skewX(30)" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0" to="90" dur="5s" additive="replace" fill="freeze"/>
+          <animateTransform attributeName="transform" attributeType="XML" type="scale" from="1,1" to="2,2" dur="5s" additive="replace" fill="freeze"/>
+        </rect>
+        <rect x="-15" y="-15" width="30" height="30" transform="scale(2,2)" stroke="rgb(255,180,0)" stroke-width="4" fill="none"/>
+        <text y="60" text-anchor="middle">additive=replace</text>
+      </g>
+
+      <g transform="translate(180,90)">
+        <rect x="-15" y="-15" width="30" height="30" transform="skewX(30)" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0" to="90" dur="5s" additive="sum" fill="freeze"/>
+          <animateTransform attributeName="transform" attributeType="XML" type="scale" from="1,1" to="2,2" dur="5s" additive="sum" fill="freeze"/>
+        </rect>
+        <rect x="-15" y="-15" width="30" height="30" transform="skewX(30) rotate(90) scale(2,2)" stroke="rgb(255,180,0)" stroke-width="4" fill="none"/>
+        <text y="60" text-anchor="middle">additive=sum</text>
+      </g>
+
+      <g transform="translate(300,90)">
+        <rect x="-15" y="-15" width="30" height="30" transform="skewX(30)" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="scale" from="1,1" to="2,2" dur="2.5s" repeatCount="2" accumulate="none" fill="freeze" additive="replace"/>
+        </rect>
+        <rect x="-15" y="-15" width="30" height="30" transform="scale(2,2)" stroke="rgb(255,180,0)" stroke-width="4" fill="none"/>
+        <text y="60" text-anchor="middle">accumulate=none</text>
+        <text y="75" text-anchor="middle">additive=replace</text>
+      </g>
+
+      <g transform="translate(420,90)">
+        <rect x="-7.5" y="-7.5" width="15" height="15" transform="skewX(30)" stroke="gray" stroke-width="2" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="scale" from="0,0" to="2,2" dur="2.5s" repeatCount="2" accumulate="sum" fill="freeze" additive="replace"/>
+        </rect>
+        <rect x="-7.5" y="-7.5" width="15" height="15" transform="scale(4,4)" stroke="rgb(255,180,0)" stroke-width="2" fill="none"/>
+        <text y="60" text-anchor="middle">accumulate=sum</text>
+        <text y="75" text-anchor="middle">additive=replace</text>
+      </g>
+
+      <g transform="translate(300,220)">
+        <rect x="-15" y="-15" width="30" height="30" transform="skewX(30)" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="scale" from="1,1" to="2,2" dur="2.5s" repeatCount="2" accumulate="none" fill="freeze" additive="sum"/>
+        </rect>
+        <rect x="-15" y="-15" width="30" height="30" transform="skewX(30) scale(2,2)" stroke="rgb(255,180,0)" stroke-width="4" fill="none"/>
+        <text y="60" text-anchor="middle">accumulate=none</text>
+        <text y="75" text-anchor="middle">additive=sum</text>
+      </g>
+
+      <g transform="translate(420,220)">
+        <rect x="-7.5" y="-7.5" width="15" height="15" transform="skewX(30)" stroke="gray" stroke-width="2" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="scale" from="0,0" to="2,2" dur="2.5s" repeatCount="2" accumulate="sum" fill="freeze" additive="sum"/>
+        </rect>
+        <rect x="-7.5" y="-7.5" width="15" height="15" transform="skewX(30) scale(4,4)" stroke="rgb(255,180,0)" stroke-width="2" fill="none"/>
+        <text y="60" text-anchor="middle">accumulate=sum</text>
+        <text y="75" text-anchor="middle">additive=sum</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-82-t.svg b/Tests/W3CTestSuite/svg/animate-elem-82-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b0c29a8797a1ec021ac0c5f3d7c9ece90e81b742
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-82-t.svg
@@ -0,0 +1,301 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-82-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test demonstrates validates the operation of
+        animateTransform with regards to the rotation center
+        and with regards to paced animation.
+      </p>
+      <p>
+        The following descriptions describe the various animations,
+        going top bottom, left to right. For each animation, orange
+        rectangle markers show the expected position for the animated rectangle
+        halfway through the animation. The markers are drawn with a thick
+        stroke for 0.2s, starting at the time when they reflect the
+        expected position.
+      </p>
+      <p>
+        The first animateTransform has type='rotate' and goes from
+        45 degrees to 90 degrees over a period of 3s. The rotation
+        center for the from and to values is 0, 0. At 0 seconds, the
+        expected transform should be rotate(45). At 1.5 seconds, the
+        expected transform is rotate(0.5 * (90 + 45)) = rotate(67.5).
+        At 3s, the expected transform is rotate(90).
+      </p>
+      <p>
+        The second animateTransform has type='rotate' but has a
+        rotation center that varies between the from and to values.
+        The rotation goes from rotate(45,0,0) to rotate(90,-15,-15).
+        At 0s, the expected transform is rotate(45,0,0).
+        At 1.5s, the expected transform is rotate(67.5, -7.5, -7.5).
+        At 3s, the expected transform is rotate(90, -15, -15).
+      </p>
+      <p>
+        The third animateTransform has type='translate' and calcMode='paced'.
+        The animation goes from translate(-40,40) to translate(-20,20) to
+        translate(40,-40).
+        At 0s, the expected transform is translate(-40,40).
+        At 1.5s, the expected transform is translate(0,0).
+        At 3s, the expected transform is translate(40,-40).
+      </p>
+      <p>
+        The fourth animateTransform has type='translate' and calcMode='linear'.
+        The animation goes from translate(-40,40) to translate(-20,-20) to
+        translate(40,-40).
+        At 0s, the expected transform is translate(-40,40).
+        At 1.5s, the expected transform is translate(-20,-20).
+        At 3s, the expected transform is translate(40,-40).
+      </p>
+      <p>
+        The fifth animateTransform has type='scale' and calcMode='paced'.
+        The animation goes from scale(1,2) to scale(3,2) to
+        scale(1,1).
+        At 0s, the expected transform is scale(1,2).
+        At 1.5s, the expected transform is scale(3,2).
+        At 3s, the expected transform is scale(1,1).
+      </p>
+      <p>
+        The sixth animateTransform has type='scale' and calcMode='linear'.
+        The animation goes from scale(1,2) to scale(3,2) to
+        scale(1,1).
+        At 0s, the expected transform is scale(1,2).
+        At 1.5s, the expected transform is scale(3,2).
+        At 3s, the expected transform is scale(1,1).
+      </p>
+      <p>
+        The seventh animateTransform has type="rotate" and calcMode='paced'.
+        The animation goes from rotate(0,0,0) to rotate(45,-15,-20) to
+        rotate(180,30,50). The total length along the rotation angle component
+        is (45 - 0) + (180 - 45) = 180. The total length along the rotation
+        center along the x axis is (0 - (-15)) + (30 - (-15)) = 45 + 15 = 60.
+        The total length along the rotation center along the y axis is
+        (0 - (-20)) + (50 - (-20)) = 20 + 70 = 90.
+        At 0s, the expected transform is rotate(45,-15,-20).
+        At 1.5s, the expected transform is rotate(90,0,5) to achieve constant
+        velocity along the rotation angle component, the x-axis rotation center
+        component and the y-axis rotation center component. At 1.5s, half the
+        distance has been run on each component. For the rotation angle, this
+        means that 45 has been reached and that 45 more degrees in the (45 &lt;= r &lt; 180)
+        interval have been consumed. For the x-axis rotation center, this means
+        that 30 units have been run: the (0 &gt;= x &gt; -15) interval has been fully consumed
+        (15 units long) and 15 units on the (-15 &lt;= x &lt; 30) interval have been consumed,
+        which explains the computed 0 value. For the y-axis rotation center, this
+        means that 45 units have been run: the (0 &gt;= y &gt; -20) interval has been fully
+        consumed and 25 units have been consumed in the (-20 &lt;= y &lt; 50) interval, which
+        explains the computed 5 value.
+        At 3s, the expected transform is rotate(180,30,50).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      Run the test. No interaction required.
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the lightgray rectangles are exactly in the positions indicated by each of the orange rectangles when they are shown with a thick stroke. If any part of the lightgray
+        rectangles are outside the thick stroked orange rectangles then the test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-82-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="16">&lt;animateTransform&gt;</text>
+    <defs>
+      <g id="ref" stroke="rgb(192,192,192)" fill="none">
+        <circle stroke-width="2" r="40"/>
+        <line x1="-45" x2="45"/>
+        <line y1="-45" y2="45"/>
+      </g>
+    </defs>
+    <g transform="translate(0,0)" font-size="14">
+      <g transform="translate(60,90)">
+        <rect x="-15" y="-15" width="30" height="30" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="45" to="90" dur="3s" additive="replace" fill="freeze"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(45)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(67.5)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1.5s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(90)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="3s" dur="0.2s"/>
+        </rect>
+
+        <text y="60" text-anchor="middle">same rotation</text>
+        <text y="75" text-anchor="middle">center</text>
+      </g>
+
+      <g transform="translate(180,90)">
+        <rect x="-15" y="-15" width="30" height="30" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="45,0,0" to="90,-15,-15" dur="3s" additive="replace" fill="freeze"/>
+        </rect>
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(45,0,0)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(67.5,-7.5,-7.5)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1.5s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(90,-15,-15)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="3s" dur="0.2s"/>
+        </rect>
+
+        <text y="60" text-anchor="middle">different rotation</text>
+        <text y="75" text-anchor="middle">centers</text>
+      </g>
+
+      <g transform="translate(300,90)">
+        <rect x="-15" y="-15" width="30" height="30" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="translate" values="-40,40;-20,20;40,-40" dur="3s" calcMode="paced" additive="replace" fill="freeze"/>
+        </rect>
+        <rect x="-15" y="-15" width="30" height="30" transform="translate(-40,40)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="translate(0,0)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1.5s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="translate(40,-40)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="3s" dur="0.2s"/>
+        </rect>
+
+        <text y="75" text-anchor="middle">paced translation</text>
+      </g>
+
+      <g transform="translate(415,90)">
+        <rect x="-15" y="-15" width="30" height="30" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="translate" values="-40,40;-20,-20;40,-40" dur="3s" calcMode="linear" additive="replace" fill="freeze"/>
+        </rect>
+        <rect x="-15" y="-15" width="30" height="30" transform="translate(-40,40)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="translate(-20,-20)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1.5s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="translate(40,-40)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="3s" dur="0.2s"/>
+        </rect>
+
+        <text y="75" text-anchor="middle">linear translation</text>
+
+      </g>
+      
+      <g transform="translate(60,220)">
+        <rect x="-15" y="-15" width="30" height="30" stroke="none" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="scale" values="1,2;3,2;1,1" dur="3s" calcMode="paced" fill="freeze"/>
+        </rect>
+
+        <rect x="-15" y="-30" width="30" height="60" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-45" y="-30" width="90" height="60" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1.5s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="3s" dur="0.2s"/>
+        </rect>
+
+        <text y="60" text-anchor="middle">paced scale</text>
+      </g>
+
+      <g transform="translate(180,220)">
+        <rect x="-15" y="-15" width="30" height="30" stroke="none" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="scale" values="1,2;3,2;1,1" dur="3s" calcMode="linear" fill="freeze"/>
+        </rect>
+
+        <rect x="-15" y="-30" width="30" height="60" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-45" y="-30" width="90" height="60" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1.5s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="scale(1,1)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="3s" dur="0.2s"/>
+        </rect>
+
+        <text y="60" text-anchor="middle">linear scale</text>
+      </g>
+
+      <g transform="translate(275,220)">
+        <rect x="-15" y="-15" width="30" height="30" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="rotate" values="0,0,0;45,-15,-20;180,30,50" dur="3s" calcMode="paced" additive="replace" fill="freeze"/>
+        </rect>
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(0,0,0)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(90,0,5)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1.5s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(180,30,50)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="3s" dur="0.2s"/>
+        </rect>
+
+        <text y="75" text-anchor="middle">paced rotation</text>
+      </g>
+
+      <g transform="translate(395,220)">
+        <rect x="-15" y="-15" width="30" height="30" stroke="gray" stroke-width="4" fill="rgb(230,230,230)">
+          <animateTransform attributeName="transform" attributeType="XML" type="rotate" values="0,0,0;45,-15,-20;180,30,50" dur="3s" calcMode="linear" additive="replace" fill="freeze"/>
+        </rect>
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(0,0,0)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="0s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(45,-15,-20)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1.5s" dur="0.2s"/>
+        </rect>
+
+        <rect x="-15" y="-15" width="30" height="30" transform="rotate(180,30,50)" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="3s" dur="0.2s"/>
+        </rect>
+
+        <text y="75" text-anchor="middle">linear rotation</text>
+      </g>
+
+
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-83-t.svg b/Tests/W3CTestSuite/svg/animate-elem-83-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b64a7c6504d72be9378dec5761eb99d21cf7f4a1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-83-t.svg
@@ -0,0 +1,229 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-83-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This test validates the operation of the animate element
+        on the &lt;path&gt; element's d attribute.
+      </p>
+      <p>
+        The following descriptions references to the tests by number. The first test
+        is the one showing on the top left. The last, sixth test is the one showing
+        at the bottom right. Test numbers are alocated from left to right and from
+        top to bottom.
+
+        For each test, there are reference outline markers which show the expected
+        animated shape at different times in the animation. At the time of the expected
+        shape, the outline of the expected shape is drawn with a thick stroke for 0.2s
+        so the test user can visually check that the shapes are matching at the
+        expected times.
+      </p>
+      <p>
+        The first test validates a simple from-to animation on a path's d attribute
+        made of M, C and Z commands where both the from and to attributes are specified.
+        The attributes are compatible with the path element's d attribute.
+      </p>
+      <p>
+        The second test validates a simple to-animation on a path's d attribute
+        made of M, C and Z commands where the to attribute is specified.
+        The attribute is compatible with the path element's d attribute.
+      </p>
+      <p>
+        The third test validates a simple values-animation on a path's d attribute
+        made of M, C and Z commands where the values attribute is specified and
+        specifies three seperate values.
+        The attribute is compatible with the path element's d attribute.
+      </p>
+      <p>
+        The fourth, fifth and sixth tests validate that interpolation between compatible
+        path values (i.e., path values which normalize to the compatible values) is
+        supported.
+      </p>
+      <p>
+        The fourth tests interpolation between a path value containing H, V and L commands
+        (in the from value) and a path value containing compatible h, v and l commands
+        (in the to value).
+      </p>
+      <p>
+        The fifth tests interpolation between a path value containing C and S commands
+        (in the from value) and a path value containing compatible c and s commands
+        (in the to value).
+      </p>
+      <p>
+        The sixth tests interpolation between a path value containing Q, T and A commands
+        (in the from value) and a path value containing compatible q, t and a commands
+        (in the to value).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test consists of six sub-tests.  In each sub-test, the light gray filled
+      path must continously morph its shape, starting one second after the document
+      load and continuing for three seconds.  In all sub-tests except for #3, there are
+      two orange reference shape outlines between which the gray path must morph.
+      In sub-test #3, there are three reference shapes.  The test passes if each of the
+      gray shapes morphs appropriately according to the following descriptions:</p>
+      <ol>
+        <li>The gray shape must morph from the diamond to the flower-like shape.</li>
+	<li>The gray shape must morph just like sub-test #1, from the diamond to the flower-like shape.</li>
+	<li>The gray shape must morph from the diamond, to the flower-like shape, and then to the large, rounded diamond shape.</li>
+	<li>The gray shape must morph from the lower-right pointing kite shape to the upper-left pointing kite shape.</li>
+	<li>The gray shape must morph from the tall shape to the wide shape.</li>
+	<li>The gray shape must morph from the wide "D" shape to the narrow "D" shape.</li>
+      </ol>
+      <p>In addition, during the animations whenever the gray shape has the same shape as
+      a reference shape, the stroke of the reference shape must be shown thicker momentarily.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-83-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="25" font-size="16">&lt;animate&gt; on &lt;path&gt;'s d attribute</text>
+
+    <defs>
+      <g id="ref" stroke="rgb(192,192,192)" fill="none">
+        <circle stroke-width="2" r="40"/>
+        <line x1="-45" x2="45"/>
+        <line y1="-45" y2="45"/>
+      </g>
+    </defs>
+
+    <g transform="translate(0,0)" font-size="12">
+      <g id="test_1" transform="translate(120,90)">
+        <path d="M -15 0 C -15 0 0 -15 0 -15 C 0 -15 15 0 15 0 C 15 0 0 15 0 15 C 0 15 -15 0 -15 0 Z" stroke="none" stroke-width="4" fill="rgb(230,230,230)">
+          <animate attributeName="d" from="M -15 0 C -15 0 0 -15 0 -15 C 0 -15 15 0 15 0 C 15 0 0 15 0 15 C 0 15 -15 0 -15 0 Z" to="M 0 0 C -50 -15 -15 -50 0 0 C 15 -50 50 -15 0 0 C 50 15 15 50 0 0 C -15 50 -50 15 0 0 Z" dur="3s" fill="freeze" begin="1s"/>
+        </path>
+
+        <path d="M -15 0 C -15 0 0 -15 0 -15 C 0 -15 15 0 15 0 C 15 0 0 15 0 15 C 0 15 -15 0 -15 0 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1s" dur="0.2s"/>
+        </path>
+
+        <path d="M 0 0 C -50 -15 -15 -50 0 0 C 15 -50 50 -15 0 0 C 50 15 15 50 0 0 C -15 50 -50 15 0 0 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="4s" dur="0.2s"/>
+        </path>
+
+        <text y="60" text-anchor="middle">#1: from-to animation</text>
+      </g>
+
+      <g id="test_2" transform="translate(240,90)">
+        <path d="M -15 0 C -15 0 0 -15 0 -15 C 0 -15 15 0 15 0 C 15 0 0 15 0 15 C 0 15 -15 0 -15 0 Z" stroke="none" stroke-width="4" fill="rgb(230,230,230)">
+          <animate attributeName="d" to="M 0 0 C -50 -15 -15 -50 0 0 C 15 -50 50 -15 0 0 C 50 15 15 50 0 0 C -15 50 -50 15 0 0 Z" dur="3s" fill="freeze" begin="1s"/>
+        </path>
+
+        <path d="M -15 0 C -15 0 0 -15 0 -15 C 0 -15 15 0 15 0 C 15 0 0 15 0 15 C 0 15 -15 0 -15 0 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1s" dur="0.2s"/>
+        </path>
+
+        <path d="M 0 0 C -50 -15 -15 -50 0 0 C 15 -50 50 -15 0 0 C 50 15 15 50 0 0 C -15 50 -50 15 0 0 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="4s" dur="0.2s"/>
+        </path>
+
+        <text y="60" text-anchor="middle">#2: to animation</text>
+      </g>
+
+      <g id="test_3" transform="translate(360,90)">
+        <path d="M -15 0 C -15 0 0 -15 0 -15 C 0 -15 15 0 15 0 C 15 0 0 15 0 15 C 0 15 -15 0 -15 0 Z" stroke="none" stroke-width="4" fill="rgb(230,230,230)">
+          <animate attributeName="d" values="M -15 0 C -15 0 0 -15 0 -15 C 0 -15 15 0 15 0 C 15 0 0 15 0 15 C 0 15 -15 0 -15 0 Z;                                  M 0 0 C -50 -15 -15 -50 0 0 C 15 -50 50 -15 0 0 C 50 15 15 50 0 0 C -15 50 -50 15 0 0 Z;                                  M -45 0 C -15 0 0 -15 0 -45 C 0 -15 15 0 45 0 C 15 0 0 15 0 45 C 0 15 -15 0 -45 0 Z" dur="3s" fill="freeze" begin="1s"/>
+        </path>
+
+        <path d="M -15 0 C -15 0 0 -15 0 -15 C 0 -15 15 0 15 0 C 15 0 0 15 0 15 C 0 15 -15 0 -15 0 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1s" dur="0.2s"/>
+        </path>
+
+        <path d="M 0 0 C -50 -15 -15 -50 0 0 C 15 -50 50 -15 0 0 C 50 15 15 50 0 0 C -15 50 -50 15 0 0 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="2.5s" dur="0.2s"/>
+        </path>
+
+        <path d="M -45 0 C -15 0 0 -15 0 -45 C 0 -15 15 0 45 0 C 15 0 0 15 0 45 C 0 15 -15 0 -45 0 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="4s" dur="0.2s"/>
+        </path>
+
+        <text y="60" text-anchor="middle">#3: values animation</text>
+      </g>
+
+      <g id="test_4" transform="translate(120,200)">
+        <path d="M -30 -30 L 30 0 V 30 H 0 Z" stroke="none" stroke-width="4" fill="rgb(230,230,230)">
+          <animate attributeName="d" from="M -30 -30 L 30 0 V 30 H 0 Z" to="M 30 30 l -60 -30 v -30 h 30 Z" dur="3s" fill="freeze" begin="1s"/>
+        </path>
+
+        <path d="M -30 -30 L 30 0 V 30 H 0 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1s" dur="0.2s"/>
+        </path>
+
+        <path d="M 30 30 l -60 -30 v -30 h 30 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="4s" dur="0.2s"/>
+        </path>
+
+        <text y="60" text-anchor="middle">#4: from-to animation</text>
+        <text y="75" text-anchor="middle">compatible H/h, V/v,</text>
+        <text y="90" text-anchor="middle">L/l segments</text>
+      </g>
+
+      <g id="test_5" transform="translate(240,200)">
+        <path d="M -20 -20 C 20 -20 20 -20 20 20 S 20 40 -20 20 Z" stroke="none" stroke-width="4" fill="rgb(230,230,230)">
+          <animate attributeName="d" from="M -20 -20 C 20 -20 20 -20 20 20 S 20 40 -20 20 Z" to="M -20 -20 c 0 40 0 40 40 40 s 40 0 0 -40 z" dur="3s" fill="freeze" begin="1s"/>
+        </path>
+
+        <path d="M -20 -20 C 20 -20 20 -20 20 20 S 20 40 -20 20 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1s" dur="0.2s"/>
+        </path>
+
+        <path d="M -20 -20 c 0 40 0 40 40 40 s 40 0 0 -40 z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="4s" dur="0.2s"/>
+        </path>
+
+        <text y="60" text-anchor="middle">#5: from-to animation</text>
+        <text y="75" text-anchor="middle">compatible C/c</text>
+        <text y="90" text-anchor="middle">s/S segments</text>
+      </g>
+
+      <g id="test_6" transform="translate(360,200)">
+        <path d="M -30 -30 Q 30 -30 30 0 T -30 30 Z" stroke="none" stroke-width="4" fill="rgb(230,230,230)">
+          <animate attributeName="d" from="M -30 -30 Q 30 -30 30 0 T -30 30 Z" to="M -30 -30 q 30 0 30 30 t -30 30 z" dur="3s" fill="freeze" begin="1s"/>
+        </path>
+
+        <path d="M -30 -30 Q 30 -30 30 0 T -30 30 Z" stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="1s" dur="0.2s"/>
+        </path>
+
+        <path d="M -30 -30 q 30 0 30 30 t -30 30 " stroke="rgb(255,180,0)" stroke-width="1" fill="none">
+          <set attributeName="stroke-width" to="4" begin="4s" dur="0.2s"/>
+        </path>
+
+        <text y="60" text-anchor="middle">#6: from-to animation</text>
+        <text y="75" text-anchor="middle">compatible Q/q, T/t</text>
+        <text y="90" text-anchor="middle">segments</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-84-t.svg b/Tests/W3CTestSuite/svg/animate-elem-84-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cdf35fb3700144e9d24fba47a0920df019757d1b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-84-t.svg
@@ -0,0 +1,80 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CC" author="CL" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-84-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+        <p>
+	Test animation of color keywords that resolve to animatable RGB values.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required. 
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+	The test is passed if five
+        black squares are shown, after two seconds, all five squares  turn red and
+        then smoothly animate the fill color to green over the next five seconds.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-84-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(1.1) translate (50,20)">
+      <rect color="green" fill="#000000" height="100" width="100">
+        <animateColor attributeName="fill" from="#f00" to="currentColor" begin="2s" dur="5s" fill="freeze"/>
+      </rect>
+      <rect color="red" fill="#000000" height="100" width="100" y="150">
+        <animateColor attributeName="fill" from="currentColor" to="green" begin="2s" dur="5s" fill="freeze"/>
+      </rect>
+      <rect color="green" fill="#000000" x="120" height="100" width="100" y="75">
+        <animateColor attributeName="fill" from="#f00" to="green" begin="2s" dur="5s" fill="freeze"/>
+      </rect>
+      <g fill="#070">
+        <rect color="green" fill="#000000" x="240" height="100" width="100">
+          <animateColor attributeName="fill" from="#f00" to="inherit" begin="2s" dur="5s" fill="freeze"/>
+        </rect>
+      </g>
+      <g fill="#F00">
+        <rect color="green" fill="#000000" x="240" height="100" width="100" y="150">
+          <animateColor attributeName="fill" from="inherit" to="green" begin="2s" dur="5s" fill="freeze"/>
+        </rect>
+      </g>
+      <g text-anchor="middle" font-size="14">
+        <text x="50" y="130">currentColor</text>
+        <text x="170" y="55">green</text>
+        <text x="290" y="130">inherit</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-85-t.svg b/Tests/W3CTestSuite/svg/animate-elem-85-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cecac6a8fd6fed8912e8d225c697a7205f5fd6f3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-85-t.svg
@@ -0,0 +1,100 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DJ" author="CL" status="issue"
+    version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-85-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+        <p>
+          The first subtest tests animateColor with 'to' and 'from' values including 
+          currentColor. The second subtest checks that the value of currentColor is the
+           current animated value of the color property, by animating the color property 
+           at the same time as animating fill with a 'from' or 'to' value of currentColor.
+        </p>
+        <!-- moved from accepted to issue pending verification of correct behaviour for lower rect on second subtest -->
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+<p>Run the test. No interaction required.
+</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first subtest is passed if all
+         four  rectangles at the top  smoothly animate from black to green over 5 seconds.
+        During this time the bottom two rectangles must be blue.</p>
+        <p>The second subtest, which starts after the first one completes,  is passed if 
+        the bottom two rectangles  smoothly animate from green (at five seconds), through 
+        dark cyan (at 7.5 seconds), to cyan (at 10 seconds and above). Colored circles 
+        indicate the appropriate colors at these times.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-85-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  <g id="subtest_1">
+    <rect fill="#f00" x="30" y="50" height="100" width="90">
+    <!-- basic test from two numeric hex values -->
+      <animateColor attributeName="fill" from="#000000" to="#008000" begin="0s" dur="5s" fill="freeze"/>
+    </rect>
+    <rect fill="#f00" x="140" y="50" height="100" width="90">
+    <!-- same, check color keywords accepted in animations -->
+      <animateColor attributeName="fill" from="#000000" to="green" begin="0s" dur="5s" fill="freeze"/>
+    </rect>
+    <rect color="green" fill="#f00" x="250" y="50" height="100" width="90">
+    <!-- same, static value of currentColor in 'to' -->
+      <animateColor attributeName="fill" from="#000000" to="currentColor" begin="0s" dur="5s" fill="freeze"/>
+    </rect>
+    <rect color="black" fill="#f00" x="360" y="50" height="100" width="90">
+    <!-- same, static value of currentColor in 'from' -->
+      <animateColor attributeName="fill" to="#008000" from="currentColor" begin="0s" dur="5s" fill="freeze"/>
+    </rect>
+    </g>
+    <g id="subtest_2">
+    <rect color="black" fill="blue" x="100" y="180" height="60" width="280">
+      <animateColor attributeName="color" to="cyan" from="blue" begin="5s" dur="5s" fill="freeze"/>
+      <animateColor attributeName="fill" from="#008000" to="currentColor" begin="5s" dur="5s" fill="freeze"/>
+    </rect>
+    <rect color="black" fill="blue" x="100" y="245" height="60" width="280">
+      <animateColor attributeName="fill" from="#008000" to="currentColor" begin="5s" dur="5s" fill="freeze"/>
+      <animateColor attributeName="color" to="cyan" from="blue" begin="5s" dur="5s" fill="freeze"/>
+    </rect>
+    <!--
+            color     fill      
+      4s    #000000   #0000ff   
+      5s    #0000ff   #008000
+      7.5s  #0080ff   #008080
+      10s   #00ffff   #00ffff
+      -->
+    <circle r="30" cx="100" cy="240" fill="#0000ff"/>
+    <circle r="30" cx="193" cy="240" fill="#008000"/>
+    <circle r="30" cx="287" cy="240" fill="#008080"/>
+    <circle r="30" cx="380" cy="240" fill="#00ffff"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-86-t.svg b/Tests/W3CTestSuite/svg/animate-elem-86-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7ef5eb8f9d629f5dc63bb9920b09971b1b014626
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-86-t.svg
@@ -0,0 +1,92 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[empty]" author="ED" status="created"
+    version="$Revision: 1.5 $" testname="$RCSfile: animate-elem-86-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+        <p>
+          [[Describe which section and what specific assertion is being tested
+          by the test. If the test has a number of sub tests, multiple
+          "testComponent" elements can be specified within the "testDescription"
+          element.]]
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This tests performs tests on fill="freeze" values.
+      </p>
+      <p>
+        Currently, this test does not claim to show correct
+        behaviour in SVG 1.1. The reason is only to show the
+        difference between current viewers at this point.
+      </p>
+      <p>
+        When the correct behaviour has been defined, this test
+        can be adjusted to reflect that.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[Describe the pass criteria of the test here. The pass criteria is what
+        should be displayed when the test is run.]]
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-86-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">fill="freeze" with discrete calcMode</text>
+
+    <g transform="translate(100, 100)">
+      <g transform="translate(80,25)" text-anchor="end" font-size="14">
+        <text>discrete</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(150, 5)" text-anchor="middle" font-size="14">
+        <text>&gt; 2s</text>
+        <text x="80">0s-2s</text>
+      </g>
+
+      <g transform="translate(150,20)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g id="setOne">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <animate id="firstSet" calcMode="discrete" attributeName="x" values="74;-6" dur="4s" end="2s" fill="freeze"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-87-t.svg b/Tests/W3CTestSuite/svg/animate-elem-87-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..812c98e1c5e16dc2c1383644d5a6617f5dd95fa5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-87-t.svg
@@ -0,0 +1,89 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="CM" status="created"
+    version="$Revision: 1.5 $" testname="$RCSfile: animate-elem-87-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#AnimateTransformElement">
+        <p>
+          This tests that the underlying value of a scale transformation
+          is 0.  Since SMIL defines a <em>by animation</em> as being equivalent
+          to an additive <em>values animation</em> where the first value is zero and
+          the second value is the <em>by</em> value, such an animation would
+          begin by post-multiplying a <code>scale(0)</code> transformation to
+          the element's underlying transform list.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test consists of two circles: an orange circle on the left,
+        which serves as a reference, and a blue circle on the right,
+        whose <code>transform</code> attribute is animated.  Animation of
+        the circles begins at t=1s and lasts for 3s.
+      </p>
+      <p>
+        The transform animation that applies to the blue circle is of type
+        "scale", and specifies <code>by="1"</code>.  Since the animation is
+        considered to be equivalent to one that specifies <code>from="0" to="1"</code>,
+        when the animation begins the circle will be scaled down to a point,
+        and then will be scaled up until it reaches its original size at
+        t=4s.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the blue circle on the right is always the same
+        size as the orange circle on the left.  The test runs from t=0s until
+        t=4s.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-87-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    
+    <text x='10' y='40'>Test zero value of a scale transform animation</text>
+
+    <g transform='translate(150,150)'>
+      <circle r='80' fill='#ccc'/>
+      <circle r='80' fill='orange'>
+        <animate attributeName='r' values='0; 80' begin='1s' dur='3s' fill='freeze'/>
+      </circle>
+      <text y='100' text-anchor='middle' font-size='12'>Reference</text>
+    </g>
+    <g transform='translate(350,150)'>
+      <circle r='80' fill='#ccc'/>
+      <circle r='80' fill='blue'>
+        <animateTransform attributeName='transform' type='scale' begin='1s' dur='3s' by='1' fill='freeze'/>
+      </circle>
+      <text y='100' text-anchor='middle' font-size='12'>&lt;animateTransform type='scale' by='1'/&gt;</text>
+    </g>
+    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-88-t.svg b/Tests/W3CTestSuite/svg/animate-elem-88-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d523f7704e128eff5502c8b81a020f6bc34bc1bf
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-88-t.svg
@@ -0,0 +1,67 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-88-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#ValuesAttribute">
+      <p>
+        This tests that any which space before semicolon separators in
+        a <code>values=""</code> attribute on an animation element is ignored.
+      </p>
+    	<p>
+        The test consists of a single rectangle whose height is animated
+        with a <code>values=" 0 ; 50 "</code> attribute.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the rectangle is animated from a height of
+        0 to a height of 50 over four seconds, starting from when the
+        test is loaded.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-88-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    
+    <text x='10' y='40'>Test values attribute list syntax</text>
+
+    <rect x='10' y='50' width='50' height='0'>
+      <animate attributeName='height' values=' 0 ; 50 ' dur='4s' fill='freeze'/>
+    </rect>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-89-t.svg b/Tests/W3CTestSuite/svg/animate-elem-89-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..07aee20f910bad02857246fc9c00d276667e9e58
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-89-t.svg
@@ -0,0 +1,110 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="CL" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: animate-elem-89-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/errata/errata.html#value_spacing_of_keySpline_syntax">
+      <p>
+        Tests clarification of value spacing of keySpline syntax; whitespace, or commas with optional whitespace, are allowed.
+      </p>
+      <p>
+        Test possible values for 'calcMode="spline"', with both commas, whitespace, and mixed separators
+      </p>
+      <p>
+        Six animations (three sets of two) have been defined. The three green ones on the left show rectangles which get smaller. The three orange ones on the right show rectangles of constant size, which move. 
+        The black text and grey ruler lines help show the sizes and movement of the rectangles over time.
+<!-- derived from animate-elem-12-t.svg: by duplicating the animated rectangles, then changing the list separators -->
+      </p>
+  	</d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+			<p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the bottom edge of all six animated rectangles move together in sync.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-89-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="SVGFreeSansASCII" font-size="20">
+
+<!-- guide lines and labelling -->
+      <g transform="translate(10,50)">
+        <text x="0" y="203">0 sec.</text>
+        <text x="0" y="170">3 sec. </text>
+        <text x="0" y="114">6 sec. </text>
+        <text x="3" y="3">9+ sec. </text>
+        <g stroke="#AAA" stroke-width="4">
+          <line x1="70" y1="200" x2="450" y2="200"/>
+          <line x1="70" y1="167" x2="450" y2="167"/>
+          <line x1="70" y1="111" x2="450" y2="111"/>
+          <line x1="70" y1="0" x2="450" y2="0"/>
+        </g>
+	</g>
+
+<!-- first set of three subtests, keySplines on animation element -->
+      <g transform="translate(60,50)">
+       
+        <rect x="140" y="-10" width="50" height="210" fill="rgb(34, 139, 34)" stroke="#555" stroke-width="4">
+          <animate attributeName="height" calcMode="spline" keySplines="0,0,1,1;0,0,1,1;.75,0,0,.75" values="210;177;121;10" begin="0s" dur="9s" fill="freeze"/>
+<!-- commas -->
+        </rect>
+        <rect x="90" y="-10" width="50" height="210" fill="rgb(50, 205, 50)" stroke="#555" stroke-width="4">
+          <animate attributeName="height" calcMode="spline" keySplines="0 0 1 1;0 0 1 1;.75 0 0 .75" values="210;177;121;10" begin="0s" dur="9s" fill="freeze"/>
+<!-- spaces -->
+        </rect>
+        <rect x="40" y="-10" width="50" height="210" fill="rgb(154, 205, 50)" stroke="#555" stroke-width="4">
+          <animate attributeName="height" calcMode="spline" keySplines="0 , 0 , 1 , 1;0 , 0 , 1 , 1;.75 ,  0 , 0 , .75" values="210;177;121;10" begin="0s" dur="9s" fill="freeze"/>
+<!-- commas and spaces -->
+        </rect>
+      </g>
+      
+<!-- second set of three subtests, keySplines on animateMotion element -->
+      <g transform="translate(250,50)">
+
+        <rect x="140" y="-10" width="60" height="10" fill="rgb(235, 110, 0)" stroke="#555" stroke-width="4">
+          <animateMotion calcMode="spline" keySplines="0,0,1,1;0,0,1,1;.75,0,0,.75" values="0,200; 0,167; 0,111; 0,0" begin="0s" dur="9s" fill="freeze"/>
+<!-- commas -->
+        </rect>
+        <rect x="90" y="-10" width="60" height="10" fill="rgb(255, 180, 30)" stroke="#555" stroke-width="4">
+          <animateMotion calcMode="spline" keySplines="0 0 1 1;0 0 1 1;.75 0 0 .75" values="0,200; 0 167; 0 111; 0 0" begin="0s" dur="9s" fill="freeze"/>
+<!-- spaces -->
+        </rect>
+        <rect x="40" y="-10" width="60" height="10" fill="rgb(255, 220, 60)" stroke="#555" stroke-width="4">
+          <animateMotion calcMode="spline" keySplines="0 , 0 , 1 , 1;0 , 0 , 1 , 1;.75 , 0 , 0 , .75" values="0 , 200; 0 , 167; 0 , 111; 0 , 0" begin="0s" dur="9s" fill="freeze"/>
+<!-- commas and spaces -->
+        </rect>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-90-b.svg b/Tests/W3CTestSuite/svg/animate-elem-90-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1d0d1b08e79b5fe68cd8eac01a5a195707e0280e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-90-b.svg
@@ -0,0 +1,104 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2010 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: animate-elem-90-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+        <p>
+          Test that the class attribute is animatable and that style 
+	sheets select on the animated value.
+<!-- not clear whether to link to dev.w3.org or to /TR
+http://dev.w3.org/SVG/profiles/1.1F2/publish/styling.html#ClassAttribute
+-->
+
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test uses the following elements : 'set',
+        and 'animate'. It requires that CSS style sheets are supported.
+      </p>
+      <p>
+        The test shows a circle which is initially hidden, becomes visible and blue at 
+	3s, abruptly changing to dark red at 5s. Two overlapping animations both animate the 
+	class attribute. The class attribute, as a string value, does not support 
+	linear interpolation so a discrete animation is produced, changing from the 
+	start to the end value midway through the animation duration.
+      </p>
+      <p>
+	The first animation starts at 2s and lasts for 4s so  the mid point is at 3s.
+	The second animation starts at 3s and lasts for 4s so the midpoint is at 5s.
+        The file includes various guides that can be used to verify the
+        correctness of the animation. The value of the class attribute
+	at 02 is "start" so the first CSS rule matches. At 3s it becomes "midway" 
+	so the second rule matches. At 5s it becomes "final midway" so the second and 
+	third rules match; the third rule has higher specificity so determines the fill color.
+        
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The color of the large circle must match the colour of the smaller guide 
+	boxes on the left  at times 0s, 3s and 5s. If the text "CSS not supported"
+	is visible, the test does not apply.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-90-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+    <style type="text/css">
+	.start {visibility: hidden }
+	.midway {visibility: visible; fill: rgb(0,0,255); }
+	#test-body-content .final {fill: rgb(128,0,0); }
+	.hideme {display: none;}
+    </style>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Guide objects to show where the animation elements belong at which time -->
+    <g font-family="Verdana" font-size="12">
+      <text x="15" y="55">Color at start</text>
+      <rect x="15" y="60" width="30" height="30"/>
+      <circle cx="30" cy="75" r="10" fill="#000"/>
+      <text x="15" y="145">Color at 3s</text>
+      <rect x="15" y="150" width="30" height="30"/>
+      <circle cx="30" cy="165" r="10" fill="rgb(0,0,255)"/>
+      <text x="15" y="235">Color at 5s</text>
+      <rect x="15" y="240" width="30" height="30"/>
+      <circle cx="30" cy="255" r="10" fill="rgb(128,0,0)"/>
+    </g>
+
+    <g>
+      <rect x="150" y="50" width="240" height="240" stroke="black" fill="black"/>
+      <circle cx="270" cy="170" r="110" class="start">
+        <set attributeName="class" attributeType="XML" to="midway" begin="2s" dur="2s" fill="freeze"/>
+        <animate attributeName="class" attributeType="XML" from="midway" to="final midway" begin="3s" dur="4s" fill="freeze"/>
+      </circle>
+    </g>
+    <text x="270" y="170" text-anchor="middle" font-size="40" fill="#F69" class="hideme">CSS not supported</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-91-t.svg b/Tests/W3CTestSuite/svg/animate-elem-91-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a3b0a67f86ad5af83e43ba64815aa84b3791b1b4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-91-t.svg
@@ -0,0 +1,198 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="CM" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: animate-elem-91-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#ValueAttributes">
+      <p>
+        This tests that to-animations on attributes whose values cannot be
+        interpolated are treated as discrete animations.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if there initially eight red squares in the
+        left column when the document is loaded and the all move
+        at the same time to the right column two seconds after the
+        document is loaded.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-91-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x="10" y="40">Testing &lt;animate to=""&gt; with non-interpolable attributes</text>
+
+    <g font-size="16">
+
+      <text x="207.5" y="75" text-anchor="middle">0s-2s</text>
+      <text x="307.5" y="75" text-anchor="middle">> 2s</text>
+
+      <!-- Reference: using <set> -->
+      <g transform="translate(0,85)">
+        <text x="30" y="12">(reference)</text>
+        <rect x="200" width="12" height="12" stroke="black" fill="rgb(204,0,102)">
+          <set attributeName="fill" to="#ccc" begin="2s" dur="2s" fill="freeze"/>
+        </rect>
+        <rect x="300" width="12" height="12" stroke="black" fill="#ccc">
+          <set attributeName="fill" to="rgb(204,0,102)" begin="2s" dur="2s" fill="freeze"/>
+        </rect>
+      </g>
+
+      <!-- Sub-test 1: class on <rect> -->
+      <g transform="translate(0,110)">
+        <style type="text/css">.on { fill: rgb(204,0,102) } .off { fill: #ccc }</style>
+        <text x="30" y="12">class</text>
+        <rect x="200" width="12" height="12" stroke="black" class="on">
+          <animate attributeName="class" to="off" begin="2s" dur="2s" fill="freeze"/>
+        </rect>
+        <rect x="300" width="12" height="12" stroke="black" class="off">
+          <animate attributeName="class" to="on" begin="2s" dur="2s" fill="freeze"/>
+        </rect>
+      </g>
+
+      <!-- Sub-test 2: clipPathUnits on <clipPath> -->
+      <g transform="translate(0,135)">
+        <text x="30" y="12">clipPathUnits</text>
+        <clipPath id="c1" clipPathUnits="objectBoundingBox">
+          <rect width="1" height="1"/>
+          <animate attributeName="clipPathUnits" to="userSpaceOnUse" begin="2s" dur="2s" fill="freeze"/>
+        </clipPath>
+        <rect x="200" width="12" height="12" stroke="black" fill="#ccc"/>
+        <rect x="200" width="12" height="12" stroke="black" fill="rgb(204,0,102)" clip-path="url(#c1)"/>
+        <rect x="300" width="12" height="12" stroke="black" fill="rgb(204,0,102)"/>
+        <rect x="300" width="12" height="12" stroke="black" fill="#ccc" clip-path="url(#c1)"/>
+      </g>
+
+      <!-- Sub-test 3: in on <feComposite> -->
+      <g transform="translate(0,160)">
+        <text x="30" y="12">in</text>
+        <filter id="f1" x="0" y="0" width="1" height="1">
+          <feFlood flood-color="#ccc" result="off"/>
+          <feFlood flood-color="rgb(204,0,102)" result="on"/>
+          <feComposite in="on" in2="SourceGraphic">
+            <animate attributeName="in" to="off" begin="2s" dur="2s" fill="freeze"/>
+          </feComposite>
+        </filter>
+        <filter id="f2" x="0" y="0" width="1" height="1">
+          <feFlood flood-color="#ccc" result="off"/>
+          <feFlood flood-color="rgb(204,0,102)" result="on"/>
+          <feComposite in="off" in2="SourceGraphic">
+            <animate attributeName="in" to="on" begin="2s" dur="2s" fill="freeze"/>
+          </feComposite>
+        </filter>
+        <rect x="200" width="12" height="12" fill="none" filter="url(#f1)"/>
+        <rect x="200" width="12" height="12" stroke="black" fill="none"/>
+        <rect x="300" width="12" height="12" fill="none" filter="url(#f2)"/>
+        <rect x="300" width="12" height="12" stroke="black" fill="none"/>
+      </g>
+
+      <!-- Sub-test 4: preserveAspectRatio on <svg> -->
+      <g transform="translate(0,185)">
+        <text x="30" y="12">preserveAspectRatio</text>
+        <rect x="200" width="12" height="12" fill="#ccc"/>
+        <rect x="300" width="12" height="12" fill="rgb(204,0,102)"/>
+        <clipPath id="c2" clipPathUnits="userSpaceOnUse">
+          <rect x="200" y="0" width="112" height="12"/>
+        </clipPath>
+        <g clip-path="url(#c2)">
+          <svg width="200" height="100" viewBox="0 0 400 400" preserveAspectRatio="none" overflow="visible">
+            <rect x="400" width="24" height="48" fill="rgb(204,0,102)"/>
+            <rect x="600" width="24" height="48" fill="#ccc"/>
+            <animate attributeName="preserveAspectRatio" to="xMinYMin" begin="2s" dur="2s" fill="freeze"/>
+          </svg>
+        </g>
+        <rect x="200" width="12" height="12" stroke="black" fill="none"/>
+        <rect x="300" width="12" height="12" stroke="black" fill="none"/>
+      </g>
+
+      <!-- Sub-test 5: spreadMethod on <linearGradient> -->
+      <g transform="translate(0,210)">
+        <text x="30" y="12">spreadMethod</text>
+        <linearGradient id="g1" gradientUnits="objectBoundingBox" x1="1" y1="0" x2="2" y2="0" spreadMethod="reflect">
+          <stop offset="0" stop-color="rgb(204,0,102)" stop-opacity="0"/>
+          <stop offset="0" stop-color="rgb(204,0,102)"/>
+          <stop offset="1" stop-color="rgb(204,0,102)"/>
+          <stop offset="1" stop-color="rgb(204,0,102)" stop-opacity="0"/>
+          <animate attributeName="spreadMethod" to="pad" begin="2s" dur="2s" fill="freeze"/>
+        </linearGradient>
+        <linearGradient id="g2" gradientUnits="objectBoundingBox" x1="1" y1="0" x2="2" y2="0" spreadMethod="reflect">
+          <stop offset="0" stop-color="#ccc" stop-opacity="0"/>
+          <stop offset="0" stop-color="#ccc"/>
+          <stop offset="1" stop-color="#ccc"/>
+          <stop offset="1" stop-color="#ccc" stop-opacity="0"/>
+          <animate attributeName="spreadMethod" to="pad" begin="2s" dur="2s" fill="freeze"/>
+        </linearGradient>
+        <rect x="200" width="12" height="12" fill="#ccc"/>
+        <rect x="300" width="12" height="12" fill="rgb(204,0,102)"/>
+        <rect x="200" width="12" height="12" stroke="black" fill="url(#g1)"/>
+        <rect x="300" width="12" height="12" stroke="black" fill="url(#g2)"/>
+      </g>
+
+      <!-- Sub-test 6: xlink:href on <use> -->
+      <g transform="translate(0,235)">
+        <text x="30" y="12">xlink:href</text>
+        <g display="none">
+          <rect id="r1" width="12" height="12" fill="rgb(204,0,102)" stroke="black"/>
+          <rect id="r2" width="12" height="12" fill="#ccc" stroke="black"/>
+        </g>
+        <use xlink:href="#r1" x="200">
+          <animate attributeName="xlink:href" to="#r2" begin="2s" dur="2s" fill="freeze"/>
+        </use>
+        <use xlink:href="#r2" x="300">
+          <animate attributeName="xlink:href" to="#r1" begin="2s" dur="2s" fill="freeze"/>
+        </use>
+      </g>
+
+      <!-- Sub-test 7: display on <rect> -->
+      <g transform="translate(0,260)">
+        <text x="30" y="12">display</text>
+        <g>
+          <rect x="200" width="12" height="12" fill="rgb(204,0,102)" stroke="black"/>
+          <rect x="300" width="12" height="12" fill="#ccc" stroke="black"/>
+          <animate attributeName="display" to="none" begin="2s" dur="2s" fill="freeze"/>
+        </g>
+        <g display="none">
+          <rect x="200" width="12" height="12" fill="#ccc" stroke="black"/>
+          <rect x="300" width="12" height="12" fill="rgb(204,0,102)" stroke="black"/>
+          <animate attributeName="display" to="inline" begin="2s" dur="2s" fill="freeze"/>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-elem-92-t.svg b/Tests/W3CTestSuite/svg/animate-elem-92-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..95b5f07034c0f5f4f41efac4032df4b1895362fb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-elem-92-t.svg
@@ -0,0 +1,113 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CM" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-92-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#Animation">
+      <p>
+        This tests checks the behavior of discrete to-animations.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if after five seconds, in each of the three rows,
+      the red rectangle is in the column at the times indicated.
+      Thus, from the document load until 2s afterwards, the red
+      square in all three rows must be in the left column.  At 2s,
+      all three red squares must move to the right column.  At 4s,
+      the red square in the first row must move to the left column
+      and the other two red squares must remain in the right column.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-elem-92-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text text-anchor="middle" x="240" y="30" font-size="20">discrete to-animation</text>
+    <g transform="translate(100, 70)">
+      <g transform="translate(80,25)" text-anchor="end" font-size="14">
+        <text>without freezing</text>
+        <text y="55">with freezing</text>
+        <text y="110">with keyTimes</text>
+      </g>
+
+      <g id="timeMarkersText" transform="translate(150, 5)" text-anchor="middle" font-size="14">
+        <text>0s-2s</text>
+        <text y="-16">&gt; 4s</text>
+        <text x="80">2s-4s</text>
+
+        <g transform="translate(0, 55)">
+          <text>0s-2s</text>
+          <text x="80">&gt; 2s</text>
+        </g>
+
+        <g transform="translate(0, 110)">
+          <text>0s-2s</text>
+          <text x="80">&gt; 2s</text>
+        </g>
+      </g>
+
+      <g transform="translate(150,20)" stroke="black">
+        <defs>
+          <rect id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1"/>
+        </defs>
+
+        <g>
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <animate attributeName="x" calcMode="discrete" to="74" dur="4s"/>
+          </rect>
+        </g>
+
+        <g transform="translate(0, 55)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <animate attributeName="x" calcMode="discrete" to="74" dur="4s" fill="freeze"/>
+          </rect>
+        </g>
+
+        <g transform="translate(0, 110)">
+          <use xlink:href="#shadow" x="0"/>
+          <use xlink:href="#shadow" x="80"/>
+
+          <rect x="-6" y="-6" width="12" height="12" fill="rgb(204,0,102)">
+            <animate attributeName="x" calcMode="discrete" to="74" dur="8s" keyTimes="0; 0.25" fill="freeze"/>
+          </rect>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-interact-events-01-t.svg b/Tests/W3CTestSuite/svg/animate-interact-events-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a0014c5de988788758508bf1eba79a4eff25b92e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-interact-events-01-t.svg
@@ -0,0 +1,116 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AE" author="ASl" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: animate-interact-events-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#SVGEvents">
+      <p>Tests 'mouseover' event on SVGElementInstance</p>
+      <p>
+        What each case tests is as follows.
+        Case 1: mouseover event on SVGElementInstance. Referenceing an element that contains an event.
+        Case 2: mouseover event on referencing element. Event bubbling from SVGElementInstance to referencing element.
+        Case 3: mouseover event on parent of referencing element. Event bubbling from SVGElementInstance to referencing element ancestors.
+        Case 4: mousedown event on referencing element. SVGElementInstance is not effected by event listener on referencing element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    	<p>
+    		Mouseover each of the red rectangles, and then click on the bottommost rectangle.
+    	</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test contains four cases. The cases must produce the following results for the test to pass.
+      </p>
+      <ul>
+        <li>Case 1: On a mouseover event on the top square, all four squares must turn blue.</li>
+        <li>Case 2: On a mouseover event on the top middle square, all four squares must turn blue and a black stroke
+        must appear on the referencing square (element).</li>
+        <li>Case 3: On a mouseover event on the bottom middle square, all four squares must turn blue and a black
+        stroke must appear on the referencing square (element).</li>
+        <li>Case 4: On a mouseover event on the bottom square, all four squares must turn blue, and on a mousedown event
+        a black stroke must appear on the referencing square (element).</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-interact-events-01-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+	
+		<defs>
+			<!-- SVGElementInstance animates fill on mouseover -->
+			<rect id="rect" width="50" height="50" fill="red">
+				<set attributeName="fill" begin="mouseover" end="mouseout" to="blue"/>
+			</rect>
+		</defs>
+
+    <text x="120" y="20" font-size="15">Shadow tree event listener chain</text>
+
+    <!--basic event dispatch - all rectangles turn blue -->
+    <use fill="red" x="30" y="30" xlink:href="#rect"/>
+    <text x="95" y="45" font-size="12">Case 1: on mouseover all squares must turn blue</text>
+
+    <!-- event bubbling from SVGElementInstance to referencing element -->
+    <!-- all rectangles turn blue and second rectangle displays black stroke  -->
+    <use id="use2" fill="red" x="30" y="100" xlink:href="#rect"/>
+    <rect pointer-events="none" x="30" y="100" width="50" height="50" fill="none" stroke-width="5" stroke="none" >
+      <set attributeName="stroke" begin="use2.mouseover" end="use2.mouseout" to="black"/>
+    </rect>
+    <g font-size="12">
+      <text x="95" y="115">Case 2: on mouseover all squares must turn blue</text>
+      <text x="95" y="130">and a black stroke must appear on reference square</text>
+    </g>
+
+    <!-- event bubbling from SVGElementInstance to referencing element ancestors-->
+    <!-- all rectangles turn blue and third rectangle displays black stroke  -->
+    <g id="g1">
+      <use fill="red" x="30" y="170" xlink:href="#rect"/>
+      <rect pointer-events="none" x="30" y="170" width="50" height="50" fill="none" stroke-width="5" stroke="none" >
+        <set attributeName="stroke" begin="g1.mouseover" end="g1.mouseout" to="black"/>
+      </rect>
+    </g>
+    <g font-size="12">
+      <text x="95" y="185">Case 3: on mouseover all squares must turn blue</text>
+      <text x="95" y="200">and a black stroke must appear on reference square</text>
+    </g>
+
+    <!--SVGElementInstance is not effected by event listener on referencing element   -->
+    <!-- all rectangles turn blue and displays black stroke only on mouse down  -->
+    <use id="use3" fill="red" x="30" y="240" xlink:href="#rect"/>
+    <rect pointer-events="none" x="30" y="240" width="50" height="50" fill="none" stroke-width="5" stroke="none" >
+      <set attributeName="stroke" begin="use3.mousedown" end="use3.mouseup" to="black"/>
+    </rect>
+    <g font-size="12">
+      <text x="95" y="255">Case 4: on mouseover all squares must turn blue</text>
+      <text x="95" y="270">and on mousedown a black stroke must appear on reference square</text>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-interact-pevents-01-t.svg b/Tests/W3CTestSuite/svg/animate-interact-pevents-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9d51b7ea6eb097412eb846392ff435348061d192
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-interact-pevents-01-t.svg
@@ -0,0 +1,285 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: animate-interact-pevents-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>
+        This test tests 'pointer-events' on text. Initially you should see four big rects with black stroke.
+        In the uppermost rect there should be 10 'O':s with black fill.
+        In the second rect from the top there should be 10 'O':s with no fill but with black stroke.
+        In the third and fourth rects there should be no visible 'O':s at all.
+        In the fourth rect there should be two green rects, and in each of the other three rects there should be one green rect.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Using the pointer device move the cursor over each of the four black-stroked rectangles from left to right.
+        As the mouseover event triggers, the 'O':s will become visible and marked
+        in either green (a pass) or red (an immediate fail).  Some 'O':s will not
+        change when the pointer is moved over them.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if after moving the cursor over all the rects:
+      </p>
+      <ol>
+        <li>all the 'O':s in the green rects have green fill</li>
+        <li>there are no red 'O':s visible</li>
+        <li>there are 9 green 'O':s in the first and second rect, 4 in the third rect and 6 in the fourth rect</li>
+      </ol>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-interact-pevents-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="sans-serif" font-size="40" text-rendering="geometricPrecision">
+      <text x="240" y="40" text-anchor="middle" font-size="20">Test pointer-events on text</text>
+      <g transform="translate(40, -10)">
+        <g id="first-line">
+          <text x="50" y="100">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="80" y="100" pointer-events="visiblePainted">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="110" y="100" pointer-events="visibleFill">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="140" y="100" pointer-events="visibleStroke">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="170" y="100" pointer-events="visible">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="200" y="100" pointer-events="painted">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="230" y="100" pointer-events="fill">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="260" y="100" pointer-events="stroke">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="290" y="100" pointer-events="all">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="320" y="100" pointer-events="none">
+            O
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+
+          <g pointer-events="none">
+            <rect x="50" y="65" height="40" width="270" fill="green" fill-opacity="0.5" visibility="visible"/>
+
+            <rect x="50" y="65" height="40" width="300" fill="none" stroke="black" visibility="visible"/>
+          </g>
+        </g>
+
+        <g id="second-line" transform="translate(0 60)" fill="none" stroke="black">
+          <text x="50" y="100">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="80" y="100" pointer-events="visiblePainted">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="110" y="100" pointer-events="visibleFill">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="140" y="100" pointer-events="visibleStroke">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="170" y="100" pointer-events="visible">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="200" y="100" pointer-events="painted">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="230" y="100" pointer-events="fill">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="260" y="100" pointer-events="stroke">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="290" y="100" pointer-events="all">
+            O
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="320" y="100" pointer-events="none">
+            O
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+
+          <g pointer-events="none">
+            <rect x="50" y="65" height="40" width="270" fill="green" fill-opacity="0.5" visibility="visible" stroke="none"/>
+
+            <rect x="50" y="65" height="40" width="300" fill="none" stroke="black" visibility="visible"/>
+          </g>
+        </g>
+
+        <g id="third-line" transform="translate(0 120)" visibility="hidden">
+          <text x="50" y="100">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="80" y="100" pointer-events="visiblePainted">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="110" y="100" pointer-events="visibleFill">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="140" y="100" pointer-events="visibleStroke">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="170" y="100" pointer-events="visible">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="200" y="100" pointer-events="painted">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="230" y="100" pointer-events="fill">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="260" y="100" pointer-events="stroke">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="290" y="100" pointer-events="all">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="320" y="100" pointer-events="none">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+
+          <g pointer-events="none">
+            <rect x="200" y="65" height="40" width="120" fill="green" fill-opacity="0.5" visibility="visible"/>
+
+            <rect x="50" y="65" height="40" width="300" fill="none" stroke="black" visibility="visible"/>
+          </g>
+        </g>
+
+        <g id="fourth-line" transform="translate(0 180)" fill="none" stroke="none">
+          <text x="50" y="100">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="80" y="100" pointer-events="visiblePainted">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="110" y="100" pointer-events="visibleFill">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="140" y="100" pointer-events="visibleStroke">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="170" y="100" pointer-events="visible">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="200" y="100" pointer-events="painted">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="230" y="100" pointer-events="fill">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="260" y="100" pointer-events="stroke">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="290" y="100" pointer-events="all">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="green" begin="mouseover" dur="indefinite"/>
+          </text>
+          <text x="320" y="100" pointer-events="none">
+            O
+            <set attributeName="visibility" to="visible" begin="mouseover" dur="indefinite"/>
+            <set attributeName="fill" to="red" begin="mouseover" dur="indefinite"/>
+          </text>
+
+          <g pointer-events="none">
+            <rect x="110" y="65" height="40" width="90" fill="green" fill-opacity="0.5" visibility="visible"/>
+            <rect x="230" y="65" height="40" width="90" fill="green" fill-opacity="0.5" visibility="visible"/>
+
+            <rect x="50" y="65" height="40" width="300" fill="none" stroke="black" visibility="visible"/>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-interact-pevents-02-t.svg b/Tests/W3CTestSuite/svg/animate-interact-pevents-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9993ec6eb0805274472accc07cdaba47082856df
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-interact-pevents-02-t.svg
@@ -0,0 +1,116 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DOH" author="AE" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: animate-interact-pevents-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>Testing pointer-events and rendering order</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Move the mouse over the blue and purple shapes. Click the pink circle at the top right of the page. Move the mouse over the blue and purple shapes again.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For the test to pass the blue rectangles must always turn pink on mouseover, and the ovals must turn pink on mouseover only if pointer-events are set to "ALL".
+        If a shape other than the one currently hovered turns pink then the test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-interact-pevents-02-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect x="15" y="15" height="280" width="450" fill="none" stroke="black" stroke-width="0.25"/>
+    <g text-anchor="middle">
+      <text x="240" y="30" fill="black" font-size="15">Testing pointer-events and rendering order</text>
+      <text x="240" y="42" fill="#555" font-size="10">Rectangles should turn RED on mouseover </text>
+      <text x="240" y="54" fill="#555" font-size="10">Ovals should turn RED if Pointer-Events are set to "ALL"</text>
+    </g>
+    <g id="buttons">
+      <g text-anchor="middle" font-size="8" fill="#555" transform="translate(0,10)">
+        <text x="400" y="85">Change "Pointer-Events" of </text>
+        <text x="400" y="95">ovals from "ALL" to "NONE"</text>
+        <circle id="on" cx="385" cy="65" r="10" fill-opacity="1" fill="#3c5" stroke="black" stroke-width="3"/>
+        <circle id="off" cx="415" cy="65" r="10" fill-opacity="1" fill="#f35" stroke="black"/>
+      </g>
+      <g text-anchor="middle" font-size="12" fill="#555">
+        <text id="all" x="240" y="285" fill="#555" visibility="visible">Purple ovals have "Pointer-Events" set to "ALL".</text>
+        <text id="none" x="240" y="285" fill="#555" visibility="hidden">Purple ovals have Pointer-Events set to "NONE".</text>
+      </g>
+      <set xlink:href="#all" attributeName="visibility" to="visible" begin="on.mousedown" fill="freeze"/>
+      <set xlink:href="#all" attributeName="visibility" to="hidden" begin="off.mousedown" fill="freeze"/>
+      <set xlink:href="#none" attributeName="visibility" to="hidden" begin="on.mousedown" fill="freeze"/>
+      <set xlink:href="#none" attributeName="visibility" to="visible" begin="off.mousedown" fill="freeze"/>
+      <set xlink:href="#on" attributeName="stroke-width" to="3" begin="on.mousedown" fill="freeze"/>
+      <set xlink:href="#on" attributeName="stroke-width" to="1" begin="off.mousedown" fill="freeze"/>
+      <set xlink:href="#off" attributeName="stroke-width" to="3" begin="off.mousedown" fill="freeze"/>
+      <set xlink:href="#off" attributeName="stroke-width" to="1" begin="on.mousedown" fill="freeze"/>
+      <set xlink:href="#c10" attributeName="pointer-events" to="all" begin="on.mousedown" fill="freeze"/>
+      <set xlink:href="#c10" attributeName="pointer-events" to="none" begin="off.mousedown" fill="freeze"/>
+      <set xlink:href="#c11" attributeName="pointer-events" to="all" begin="on.mousedown" fill="freeze"/>
+      <set xlink:href="#c11" attributeName="pointer-events" to="none" begin="off.mousedown" fill="freeze"/>
+      <set xlink:href="#c12" attributeName="pointer-events" to="all" begin="on.mousedown" fill="freeze"/>
+      <set xlink:href="#c12" attributeName="pointer-events" to="none" begin="off.mousedown" fill="freeze"/>
+    </g>
+    <g transform="scale(0.75, 0.5) translate(100, 85)">
+      <circle id="c10" cx="160" cy="350" r="100" fill-opacity="1" fill="#53f" stroke="black" pointer-events="all">
+        <set attributeName="fill" to="#F55" begin="c10.mouseover"/>
+        <set attributeName="fill" to="#53f" begin="c10.mouseout"/>
+      </circle>
+      <rect id="r10" x="10" y="50" width="300" height="300" fill-opacity="1" fill="#35f" stroke="black">
+        <set attributeName="fill" to="#F55" begin="r10.mouseover"/>
+        <set attributeName="fill" to="#35f" begin="r10.mouseout"/>
+      </rect>
+      <circle id="c11" cx="310" cy="350" r="90" fill-opacity="1" fill="#75f" stroke="black" pointer-events="all">
+        <set attributeName="fill" to="#F55" begin="c11.mouseover"/>
+        <set attributeName="fill" to="#75f" begin="c11.mouseout"/>
+      </circle>
+      <rect id="r11" x="60" y="100" width="200" height="200" fill-opacity="1" fill="#57f" stroke="black">
+        <set attributeName="fill" to="#F55" begin="r11.mouseover"/>
+        <set attributeName="fill" to="#57f" begin="r11.mouseout"/>
+      </rect>
+      <circle id="c12" cx="310" cy="200" r="75" fill-opacity="1" fill="#97f" stroke="black" pointer-events="all">
+        <set attributeName="fill" to="#F55" begin="c12.mouseover"/>
+        <set attributeName="fill" to="#97f" begin="c12.mouseout"/>
+      </circle>
+      <rect id="r12" x="110" y="150" width="100" height="100" fill-opacity="1" fill="#79f" stroke="black">
+        <set attributeName="fill" to="#F55" begin="r12.mouseover"/>
+        <set attributeName="fill" to="#79f" begin="r12.mouseout"/>
+      </rect>
+      <g id="dasharray-rectangles" stroke-width="0.5" stroke-dasharray="4, 4">
+        <rect id="r-dash10" x="10" y="50" width="300" height="300" fill-opacity="0" fill="none" stroke="black" pointer-events="none"/>
+        <rect id="r-dash11" x="60" y="100" width="200" height="200" fill-opacity="0" fill="none" stroke="black" pointer-events="none"/>
+        <rect id="r-dash12" x="110" y="150" width="100" height="100" fill-opacity="0" fill="none" stroke="black" pointer-events="none"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-interact-pevents-03-t.svg b/Tests/W3CTestSuite/svg/animate-interact-pevents-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6fff4f9bf89ca2d46d266a7b13a33e7c6d80f2a1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-interact-pevents-03-t.svg
@@ -0,0 +1,219 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DOH" author="AE" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: animate-interact-pevents-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>Tests the pointer-events attribute with different 'visible' values</p>
+      <p>
+        The 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke.
+        The 4th column (most right column) has a non activatable pointer event as the visibility of the column
+        is set to hidden.
+      </p>
+      <p>
+        The first row tests the default value for pointer-event, i.e. visible fill and stroke will trigger an event.
+        The second row tests pointer-events="visiblePainted", i.e. visible fill and stroke will trigger an event.
+        The third row tests pointer-events="visibleFill", i.e. visible fill only an event.
+        The fourth row tests pointer-events="visibleStroke", i.e. visible stroke only an event.
+        The fifth row tests pointer-events="visible", i.e. visible fill and stroke will trigger an event.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Slowly move the mouse over the rectangles in each row while checking the pass criteria.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the following conditions are met
+      </p>
+      <ul>
+        <li>In the first row of squares, the fill and stroke of squares 1 and 3 only must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the second row of squares, the fill and stroke of squares 1 and 3 only must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the third row of squares, the fill only of squares 1, 2 and 3 must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the fourth row of squares, the stroke only of squares 1, 2 and 3 must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the fifth row of squares, the fill and stroke of squares 1, 2 and 3 must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-interact-pevents-03-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g text-anchor="middle">
+      <text id="display-title" x="240" y="25" fill="#555" font-size="12">
+        <tspan fill="black" font-size="10">Testing pointer-events</tspan> - pale RED rect should appear on mouseover.
+      </text>
+      <text id="comment-1" x="240" y="37" fill="#555" font-size="10">
+        2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke
+      </text>
+    </g>
+    <g transform="translate(0, 5)">
+      <g transform="translate(25, 50)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r10.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r10.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r11.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r11.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r12.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r12.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r13.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r13.mouseout"/>
+        </rect>
+        <rect id="r10" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r11" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r12" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r13" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden"/>
+        <g font-size="12">
+          <text x="200" y="15">default : </text>
+          <text x="200" y="30" fill="#777">fill and stroke of rects 1 and 3 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 100)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r20.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r20.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r21.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r21.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r22.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r22.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r23.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r23.mouseout"/>
+        </rect>
+        <rect id="r20" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="visiblePainted"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r21" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="visiblePainted"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r22" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="visiblePainted"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r23" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="visiblePainted"/>
+        <g font-size="12">
+          <text x="200" y="15">visiblePainted : </text>
+          <text x="200" y="30" fill="#777">fill and stroke of rects 1 and 3 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 150)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r30.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r30.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r31.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r31.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r32.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r32.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r33.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r33.mouseout"/>
+        </rect>
+        <rect id="r30" width="30" height="30" fill="blue" stroke-width="10" stroke="black" fill-opacity=".3" stroke-opacity=".3" pointer-events="visibleFill"/>
+
+        <rect x="50" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r31" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="visibleFill"/>
+
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r32" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="black" fill-opacity="0" stroke-opacity="0" pointer-events="visibleFill"/>
+
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r33" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="visibleFill"/>
+        <g font-size="12">
+          <text x="200" y="15">visibleFill : </text>
+          <text x="200" y="30" fill="#777">only fill of rects 1, 2 and 3 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 200)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r40.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r40.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r41.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r41.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r42.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r42.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r43.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r43.mouseout"/>
+        </rect>
+        <rect id="r40" width="30" height="30" fill="black" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="visibleStroke"/>
+
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r41" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="visibleStroke"/>
+
+        <rect x="100" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r42" x="100" width="30" height="30" fill="black" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="visibleStroke"/>
+
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r43" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="visibleStroke"/>
+        <g font-size="12">
+          <text x="200" y="15">visibleStroke : </text>
+          <text x="200" y="30" fill="#777">only stroke of rects 1, 2 and 3 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 250)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r50.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r50.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r51.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r51.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r52.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r52.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r53.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r53.mouseout"/>
+        </rect>
+        <rect id="r50" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="visible"/>
+
+        <rect x="50" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r51" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="visible"/>
+
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r52" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="visible"/>
+
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r53" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="visible"/>
+        <g font-size="12">
+          <text x="200" y="15">visible : </text>
+          <text x="200" y="30" fill="#777">fill and stroke of rects 1, 2 and 3 must trigger</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-interact-pevents-04-t.svg b/Tests/W3CTestSuite/svg/animate-interact-pevents-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c0a45e813f989072f4504c491438a164d21bc44c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-interact-pevents-04-t.svg
@@ -0,0 +1,208 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DOH" author="AE" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: animate-interact-pevents-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>Tests the pointer-events attribute with different painting values</p>
+      <p>
+        The 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke.
+        The 4th column has visibility set to hidden.
+      </p>
+      <p>
+        The first row tests pointer-events="painted", i.e. event on fill and stroke that are set.
+        The second row tests pointer-events="fill", i.e. event on a fill that is set.
+        The third row tests pointer-events="stroke", i.e. even on a stroke that is et.
+        The fourth row tests pointer-events="all", i.e. event on fill and stroke that are set.
+        The fifth row tests pointer-events="none", i.e. no event.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Slowly move the mouse over the rectangles in each row while checking the pass criteria.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the following conditions are met:
+      </p>
+      <ul>
+        <li>In the first row of squares, the fill and stroke of squares 1, 3 and 4 only must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the second row of squares, the fill only of all squares must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the third row of squares, the stroke only of all must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the fourth row of squares, the fill and stroke of all squares must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the fifth row of squares, nothing is to trigger on mouseover.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-interact-pevents-04-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g text-anchor="middle">
+      <text id="display-title" x="240" y="25" fill="#555" font-size="12">
+        <tspan fill="black" font-size="10">Testing pointer-events</tspan> - pale RED rect should appear on mouseover.
+      </text>
+      <text id="comment-1" x="240" y="37" fill="#555" font-size="10">
+        2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke
+      </text>
+    </g>
+    <g transform="translate(0, 5)">
+      <g transform="translate(25, 50)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r60.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r60.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r61.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r61.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r62.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r62.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r63.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r63.mouseout"/>
+        </rect>
+        <rect id="r60" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="painted"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r61" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="painted"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r62" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="painted"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r63" x="150" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" visibility="hidden" pointer-events="painted"/>
+        <g font-size="12">
+          <text x="200" y="15">painted : </text>
+          <text x="200" y="30" fill="#777">fill and stroke of rects 1, 3 and 4 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 100)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r70.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r70.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r71.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r71.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r72.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r72.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r73.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r73.mouseout"/>
+        </rect>
+        <rect id="r70" width="30" height="30" fill="blue" stroke-width="10" stroke="black" fill-opacity=".3" stroke-opacity=".3" pointer-events="fill"/>
+        <rect x="50" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r71" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="fill"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r72" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="black" fill-opacity="0" stroke-opacity="0" pointer-events="fill"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r73" x="150" width="30" height="30" fill="blue" stroke-width="10" stroke="black" visibility="hidden" pointer-events="fill"/>
+        <g font-size="12">
+          <text x="200" y="15">fill : </text>
+          <text x="200" y="30" fill="#777">fill of rects 1 to 4 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 150)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r80.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r80.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r81.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r81.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r82.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r82.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r83.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r83.mouseout"/>
+        </rect>
+        <rect id="r80" width="30" height="30" fill="black" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="stroke"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r81" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="stroke"/>
+        <rect x="100" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r82" x="100" width="30" height="30" fill="black" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="stroke"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r83" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="blue" visibility="hidden" pointer-events="stroke"/>
+        <g font-size="12">
+          <text x="200" y="15">stroke : </text>
+          <text x="200" y="30" fill="#777">stroke of rects 1 to 4 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 200)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r90.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r90.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r91.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r91.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r92.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r92.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r93.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r93.mouseout"/>
+        </rect>
+        <rect id="r90" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="all"/>
+        <rect x="50" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r91" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="all"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r92" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="all"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r93" x="150" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" visibility="hidden" pointer-events="all"/>
+        <g font-size="12">
+          <text x="200" y="15">all : </text>
+          <text x="200" y="30" fill="#777">stroke and fill of rects 1 to 4 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 250)">
+        <rect x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0">
+          <set attributeName="fill-opacity" to="0.4" begin="r00.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r00.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r01.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r01.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r02.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r02.mouseout"/>
+          <set attributeName="fill-opacity" to="0.4" begin="r03.mouseover"/>
+          <set attributeName="fill-opacity" to="0" begin="r03.mouseout"/>
+        </rect>
+        <rect id="r00" width="30" height="30" fill="black" stroke-width="10" stroke="black" fill-opacity=".3" stroke-opacity=".3" pointer-events="none"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r01" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="none"/>
+        <rect x="100" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r02" x="100" width="30" height="30" fill="black" stroke-width="10" stroke="black" fill-opacity="0" stroke-opacity="0" pointer-events="none"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r03" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="none"/>
+        <g font-size="12">
+          <text x="200" y="15">none : </text>
+          <text x="200" y="30" fill="#777">nothing is to trigger</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-pservers-grad-01-b.svg b/Tests/W3CTestSuite/svg/animate-pservers-grad-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8f0fdb9a92a9964b5a5a5f460e206b5b70d75405
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-pservers-grad-01-b.svg
@@ -0,0 +1,103 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CC" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: animate-pservers-grad-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+        <p>
+          This test shows rectangles filled with animated gradient which inherits some of their properties: stop-color, stop-opacity.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Load the svg and wait 5 seconds for the animation to run, then compare the image to the reference.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The correct result should show:
+      </p>
+      <ul>
+        <li>the top-left rectangle filled initially with a linear green-to-red gradient and turning into a solid green color after 5s.</li>
+        <li>the top-right rectangle filled initially with a green gradient fully opaque on the left and half transparent on the right, but after 5s the rectangle should be filled with a fully opaque solid green.</li>
+        <li>the bottom-left rectangle filled with a static green-to-black opaque gradient.</li>
+        <li>the bottom-right rectangle initially filled with a green-to-yellow fully-opaque gradient animated and turning into a fully-opaque green solid color.</li>
+        <!--<li>Animations numbered a4 to a7 should have no impact.</li>-->
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-pservers-grad-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <g id="g0" stop-color="yellow" stop-opacity="0" color="yellow">
+        <animateColor id="a1" attributeName="stop-color" from="red" to="green" dur="5" fill="freeze"/>
+        <animateColor id="a2" attributeName="color" from="yellow" to="green" dur="5" fill="freeze"/>
+        <animate id="a3" attributeName="stop-opacity" from="0.5" to="1" dur="5" fill="freeze"/>
+
+        <linearGradient id="MyGradient1" stop-color="inherit">
+          <stop offset="0" stop-color="green" stop-opacity="1"/>
+          <stop offset="1" stop-color="inherit" stop-opacity="1"/>
+        </linearGradient>
+        <linearGradient id="MyGradient2" stop-opacity="inherit">
+          <stop offset="0" stop-color="green" stop-opacity="1"/>
+          <stop offset="1" stop-color="green" stop-opacity="inherit"/>
+        </linearGradient>
+
+        <g id="g01">
+          <linearGradient id="MyGradient3">
+            <stop offset="0" stop-color="green" stop-opacity="1"/>
+            <stop offset="1"/>
+          </linearGradient>
+          <linearGradient id="MyGradient4">
+            <stop offset="0" stop-color="green" stop-opacity="1"/>
+            <stop offset="1" stop-color="currentColor" stop-opacity="1"/>
+          </linearGradient>
+        </g>
+      </g>
+    </defs>
+    <g id="g1" stop-color="blue">
+      <animateColor id="a4" attributeName="stop-color" from="blue" to="red" dur="5" fill="freeze"/>
+      <rect id="r1" fill="url(#MyGradient1)" width="100" height="100" x="50" y="50"/>
+    </g>
+    <g id="g2" stop-opacity="1">
+      <animate id="a5" attributeName="stop-opacity" from="1" to="0" dur="5" fill="freeze"/>
+      <rect id="r2" fill="url(#MyGradient2)" width="100" height="100" x="200" y="50"/>
+    </g>
+    <g id="g3" stop-opacity="1" stop-color="blue">
+      <animateColor id="a6" attributeName="stop-color" from="blue" to="red" dur="5" fill="freeze"/>
+      <animate id="a7" attributeName="stop-opacity" from="1" to="0" dur="5" fill="freeze"/>
+      <rect id="r3" fill="url(#MyGradient3)" width="100" height="100" x="50" y="200"/>
+    </g>
+    <g id="g4" color="blue">
+      <animateColor id="a7" attributeName="color" from="blue" to="red" dur="5" fill="freeze"/>
+      <rect id="r4" fill="url(#MyGradient4)" width="100" height="100" x="200" y="200"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-script-elem-01-b.svg b/Tests/W3CTestSuite/svg/animate-script-elem-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c6da8c51bfa074789a4d2fff3bf103a9cdac8d00
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-script-elem-01-b.svg
@@ -0,0 +1,90 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.1 $" testname="$RCSfile: animate-script-elem-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/script.html#ScriptElement">
+      <p>
+        This tests that the 'xlink:href' attribute on the 'script' element is not animatable.
+      </p>
+      <p>
+        After loading the test and waiting one second, two rectangles
+        will appear, indicating the result of two sub-tests.  The
+        upper rectangle reflects the result of testing that an
+        attempt to animate 'xlink:href' on 'script' does not affect
+        the .href.animVal of the element.  The lower rectangle reflects
+        the result of testing that the animation attempt does not
+        cause a new script to be loaded and executed.  Black indicates
+        that the sub-test did not run, red that it failed and green
+        that it passed.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    	<p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if both rectangles are green once they
+        appear one second after loading the test.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-script-elem-01-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='30'>Test that &lt;script xlink:href=""> is not animatable</text>
+
+    <g>
+      <rect id='r1' x='10' y='50' width='30' height='30' fill='black'/>
+      <rect id='r2' x='10' y='90' width='30' height='30' fill='green'/>
+      <g font-size='15'>
+        <text x='50' y='70'>Test script.href.animVal does not change</text>
+        <text x='50' y='110'>Test animating xlink:href="" does not load a script</text>
+      </g>
+
+      <script id='s' xlink:href='../images/empty.js'/>
+      <script>
+        function f() {
+          document.getElementById('r2').setAttribute('fill', 'red');
+        }
+
+        function g() {
+          document.getElementById('r1').setAttribute('fill', document.getElementById('s').href.animVal.indexOf('empty') >= 0 ? 'green' : 'red');
+        }
+      </script>
+      <set xlink:href='#s' attributeName='xlink:href' to='../images/f.js' dur='100s'/>
+      <set attributeName='visibility' to='hidden' dur='1s' onend='g()'/>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/animate-struct-dom-01-b.svg b/Tests/W3CTestSuite/svg/animate-struct-dom-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3181b620fa0c33fdda205e1eb36bb999a4fae4f5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/animate-struct-dom-01-b.svg
@@ -0,0 +1,93 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: animate-struct-dom-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGSVGElement">
+        <p>
+          This tests that calling SVGSVGElement.getCurrentTime() before the
+          document timeline has begun returns 0, and that
+          calling SVGSVGElement.setCurrentTime() before the document timeline
+          has begun will queue a seek to that time once the timeline
+          does begin.
+          After loading the test, two rectangles will be shown.
+          The left rectangle indicates whether SVGSVGElement.getCurrentTime()
+          correctly returned 0 before the document timeline had begun.
+          The right rectangles indicates whether a call to
+          SVGSVGElement.setCurrentTime() was acted upon once the timeline
+          did begin.  For each rectangle, red indicates that the sub-test
+          failed and green indicates that the sub-test passed.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if both rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: animate-struct-dom-01-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='30'>Test getCurrentTime() and setCurrentTime() before timeline begin</text>
+    <rect id='r' x='10' y='50' width='50' height='50' fill='red'/>
+    <rect x='210' y='50' width='50' height='50' fill='red'>
+      <set attributeName='fill' to='green' begin='36000'/> <!-- 10h -->
+      <set attributeName='fill' to='red' begin='72000'/>   <!-- 20h -->
+    </rect>
+
+    <g font-size='15'>
+      <text x='10' y='120'>getCurrentTime</text>
+      <text x='210' y='120'>setCurrentTime</text>
+    </g>
+
+    <script>
+      try {
+        document.documentElement.setCurrentTime(90000); // 25h
+        document.documentElement.setCurrentTime(54000); // 15h
+      } catch (e) {
+      }
+
+      try {
+        if (document.documentElement.getCurrentTime() == 0) {
+          document.getElementById('r').setAttribute('fill', 'green');
+        }
+      } catch (e) {
+      }
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+<!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/color-prof-01-f.svg b/Tests/W3CTestSuite/svg/color-prof-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7211dd0b2339b8e78a290841ded97d9bdfc0bcd7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/color-prof-01-f.svg
@@ -0,0 +1,76 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Tim Thompson" status="issue"
+    version="$Revision: 1.9 $" testname="$RCSfile: color-prof-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/color.html#ColorProfileDescriptions">
+        <p>
+          The purpose of this test is to determine if an application can apply ICC
+        color profiles to raster images. The same image is displayed twice; a color profile
+        is applied to one by the SVG, so that the colors change.
+        </p>
+        <!-- the issue is that SVG 1.1 does not require ICC color profile support, it is optional.
+        So the pass criteria are incorrect. In fact, this is untestable as the feature is purely
+        optional and does not correspond to a named conformance class. 
+        Fixed in the SVG Color module.
+        -->
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        
+      </p>
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        If the two images (each of 9 colored squares) look identical, the test fails.
+	If the colours in the lower right image are more saturated, brighter versions of 
+	those in the top left image, as shown by the reference image, the test is passed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: color-prof-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <color-profile id="changeColor" name="changeColor" xlink:href="../images/changeColor.ICM"/>
+    </defs>
+    <g>
+      <image id="image1PNG" x="30" y="0" width="190" height="190" xlink:href="../images/colorprof.png"/>
+    </g>
+    <g>
+      <image color-profile="changeColor" id="image2" x="260" y="90" width="190" height="190" xlink:href="../images/colorprof.png"/>
+    </g>
+    <text font-family="Arial" font-size="12" x="250" y="20">
+      Basic test of ICC profile with an image.
+    </text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/color-prop-01-b.svg b/Tests/W3CTestSuite/svg/color-prop-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5b7366a3bc3552e100e5df567b778a1ae1d8dd19
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/color-prop-01-b.svg
@@ -0,0 +1,81 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: color-prop-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/color.html#ColorProperty">
+        <p>
+          This tests the 'color' property and the 'currentColor' value on fill, stroke, and stop-color properties.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+         There are three subtests. The first subtest, to the top left, is passed if the circle has a green fill. The second subtest,
+        to the top right, is passed if the circle has a green stroke. The third subtest shows a rectangle
+        with a gradient fill, which has three stops. The subtest is passed if central stop is green,
+        fading off to blue to the left and pale 	yellow to the right.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: color-prop-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="grad" color="green">
+        <stop offset="5%" stop-color="#60F"/>
+        <stop offset="50%" stop-color="currentColor"/>
+        <stop offset="95%" stop-color="#FF6"/>
+      </linearGradient>
+    </defs>
+    <g color="green">
+      <g color="inherit" fill="none" stroke="none">
+        <!-- inherit to check the property value, not the string, is being used -->
+        <circle cx="130" cy="80" r="60" fill="currentColor"/>
+        <circle cx="350" cy="80" r="60" stroke="currentColor" stroke-width="4"/>
+      </g>
+    </g>
+    <g color="blue">
+      <g color="inherit" fill="none" stroke="none">
+        <!-- blue color used to check color being scoped and inherited correctly -->
+        <rect x="60" y="215" width="360" height="80" fill="url(#grad)"/>
+      </g>
+    </g>
+    <g font-size="30" fill="black">
+      <text x="120" y="170">fill</text>
+      <text x="310" y="170">stroke</text>
+      <text x="180" y="205">stop-color</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/color-prop-02-f.svg b/Tests/W3CTestSuite/svg/color-prop-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3fcc04d56fe1cea25ee8439d51e29d2c32f0c09e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/color-prop-02-f.svg
@@ -0,0 +1,113 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: color-prop-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/color.html#ColorProperty">
+        <p>
+          Tests if the color datatype is supported. There are multiple syntaxes for
+        specifying the same color, such as #37F and #3377FF. This test is focussed on the 
+	X11 color names, which are not part of the tiny profile.
+	Each group of circles uses four forms - 6-digit hex, rbg() integer form, rgb() percentage form,
+        and named ('X11') colors. It does not use 3-digit hex, because the colors used in this test
+        cannot be represented in three digit form.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For each of the nine groups of circles shown here, all circles must
+        be identical in color, and the same color as in the reference image. 
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: color-prop-02-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- groups of five colors  -->
+    <g>
+      <circle cx="75" cy="40" r="20" fill="crimson"/>
+      <circle cx="115" cy="40" r="20" fill="#DC143C"/>
+      <circle cx="75" cy="80" r="20" fill="rgb(220,20,60)"/>
+      <circle cx="115" cy="80" r="20" fill="rgb(86.274509803921568627450980392157%,7.8431372549019607843137254901961%,23.529411764705882352941176470588%)"/>
+    </g>
+    <g>
+      <circle cx="200" cy="40" r="20" fill="palegreen"/>
+      <circle cx="240" cy="40" r="20" fill="#98FB98"/>
+      <circle cx="200" cy="80" r="20" fill="rgb(152, 251, 152)"/>
+      <circle cx="240" cy="80" r="20" fill="rgb(59.60784313725490196078431372549%,98.431372549019607843137254901961%,59.60784313725490196078431372549%)"/>
+    </g>
+    <g>
+      <circle cx="325" cy="40" r="20" fill="royalblue"/>
+      <circle cx="365" cy="40" r="20" fill="#4169E1"/>
+      <circle cx="325" cy="80" r="20" fill="rgb(65, 105, 225)"/>
+      <circle cx="365" cy="80" r="20" fill="rgb(25.490196078431372549019607843137%,41.176470588235294117647058823529%,88.235294117647058823529411764706%)"/>
+    </g>
+    <g>
+      <circle cx="75" cy="135" r="20" fill="firebrick"/>
+      <circle cx="115" cy="135" r="20" fill="#B22222"/>
+      <circle cx="75" cy="175" r="20" fill="rgb(178,34,34)"/>
+      <circle cx="115" cy="175" r="20" fill="rgb(69.803921568627450980392156862745%,13.333333333333333333333333333333%,13.333333333333333333333333333333%)"/>
+    </g>
+    <g>
+      <circle cx="200" cy="135" r="20" fill="seagreen"/>
+      <circle cx="240" cy="135" r="20" fill="#2E8B57"/>
+      <circle cx="200" cy="175" r="20" fill="rgb(46, 139, 87)"/>
+      <circle cx="240" cy="175" r="20" fill="rgb(18.039215686274509803921568627451%,54.509803921568627450980392156863%,34.117647058823529411764705882353%)"/>
+    </g>
+    <g>
+      <circle cx="325" cy="135" r="20" fill="mediumblue"/>
+      <circle cx="365" cy="135" r="20" fill="#0000CD"/>
+      <circle cx="325" cy="175" r="20" fill="rgb(0, 0, 205)"/>
+      <circle cx="365" cy="175" r="20" fill="rgb(0%,0%,80.39215686274509803921568627451%)"/>
+    </g>
+    <g>
+      <circle cx="75" cy="230" r="20" fill="indianred"/>
+      <circle cx="115" cy="230" r="20" fill="#CD5C5C"/>
+      <circle cx="75" cy="270" r="20" fill="rgb(205, 92, 92)"/>
+      <circle cx="115" cy="270" r="20" fill="rgb(80.39215686274509803921568627451%,36.078431372549019607843137254902%,36.078431372549019607843137254902%)"/>
+    </g>
+    <g>
+      <circle cx="200" cy="230" r="20" fill="lawngreen"/>
+      <circle cx="240" cy="230" r="20" fill="#7CFC00"/>
+      <circle cx="200" cy="270" r="20" fill="rgb(124, 252, 0)"/>
+      <circle cx="240" cy="270" r="20" fill="rgb(48.627450980392156862745098039216%,98.823529411764705882352941176471%,0%)"/>
+    </g>
+    <g>
+      <circle cx="325" cy="230" r="20" fill="mediumturquoise"/>
+      <circle cx="365" cy="230" r="20" fill="#48D1CC"/>
+      <circle cx="325" cy="270" r="20" fill="rgb(72, 209, 204)"/>
+      <circle cx="365" cy="270" r="20" fill="rgb(28.235294117647058823529411764706%,81.960784313725490196078431372549%,80%)"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/color-prop-03-t.svg b/Tests/W3CTestSuite/svg/color-prop-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..466542ef87fd9ee26c1553928a30d6b2c1b7231d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/color-prop-03-t.svg
@@ -0,0 +1,109 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: color-prop-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/color.html#ColorProperty">
+        <p>
+          Tests if the color datatype is supported. There are multiple syntaxes for
+        specifying the same color, such as #37F and #3377FF.
+For each of the six groups shown here,
+        each of the circles in the group uses one of the syntactical forms 
+        </p>
+ <p>
+        The first row uses five forms - 3-digit hex, 6-digit hex, rbg() integer form, rgb() percentage form,
+        and the 'HTML' subset of the name ('X11') colors.
+      </p>
+      <p>
+        The second row uses only four forms - 3-digit hex, 6-digit hex, rbg() integer form, rgb() percentage form -
+        as there are no HTML or X11 names for those colors.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+     
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For each of the six groups of circles shown here, all circles must
+        be identical in color, and the same color as in the reference image. 
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: color-prop-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- groups of five colors  -->
+    <g>
+      <circle cx="75" cy="40" r="20" fill="#f00"/>
+      <circle cx="115" cy="40" r="20" fill="#ff0000"/>
+      <circle cx="75" cy="80" r="20" fill="rgb(255,0,0)"/>
+      <circle cx="115" cy="80" r="20" fill="rgb(100%,0%,0%)"/>
+      <polygon points="95,40 115,60 95,80 75,60" fill="red"/>
+    </g>
+    <g>
+      <circle cx="200" cy="40" r="20" fill="#0f0"/>
+      <circle cx="240" cy="40" r="20" fill="#00ff00"/>
+      <circle cx="200" cy="80" r="20" fill="rgb(0,255,0)"/>
+      <circle cx="240" cy="80" r="20" fill="rgb(0%,100%,0%)"/>
+      <!-- 'lime' (full intensity green) NOT 'green' (half intensity green) -->
+      <polygon points="220,40 240,60 220,80 200,60" fill="lime"/>
+    </g>
+    <g>
+      <circle cx="325" cy="40" r="20" fill="#00f"/>
+      <circle cx="365" cy="40" r="20" fill="#0000ff"/>
+      <circle cx="325" cy="80" r="20" fill="rgb(0,0,255)"/>
+      <circle cx="365" cy="80" r="20" fill="rgb(0%,0%,100%)"/>
+      <polygon points="345,40 365,60 345,80 325,60" fill="blue"/>
+    </g>
+    <!-- no names for three digit colors except for 00 and ff -->
+    <!-- 11=17 22=34 33=51 44=68 55=85 66=102 77=119 
+     88=136 99=153 aa=170 bb=187 cc=204 dd=221 ee=238 -->
+    <g>
+      <circle cx="75" cy="135" r="20" fill="#a01"/>
+      <circle cx="115" cy="135" r="20" fill="#aa0011"/>
+      <circle cx="75" cy="175" r="20" fill="rgb(170,0,17)"/>
+      <circle cx="115" cy="175" r="20" fill="rgb(66.667%,0%,6.667%)"/>
+    </g>
+    <g>
+      <circle cx="200" cy="135" r="20" fill="#3b3"/>
+      <circle cx="240" cy="135" r="20" fill="#33bb33"/>
+      <circle cx="200" cy="175" r="20" fill="rgb(51,187,51)"/>
+      <circle cx="240" cy="175" r="20" fill="rgb(20%,73.333%,20%)"/>
+    </g>
+    <g>
+      <circle cx="325" cy="135" r="20" fill="#57e"/>
+      <circle cx="365" cy="135" r="20" fill="#5577ee"/>
+      <circle cx="325" cy="175" r="20" fill="rgb(85,119,238)"/>
+      <circle cx="365" cy="175" r="20" fill="rgb(33.333%,46.666%,93.333%)"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/color-prop-04-t.svg b/Tests/W3CTestSuite/svg/color-prop-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e481fc992693f63468198fb0df875761dfce7c9e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/color-prop-04-t.svg
@@ -0,0 +1,96 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="CL" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: color-prop-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/color.html#ColorProperty">
+      <p>
+        This tests the 'system' colors.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+	<p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test has no specific pass criteria, except that no error must be indicated.
+      </p>
+      <p>
+        The colors on your screen might not match the reference
+        image at all, but they should at minimum be legible and should
+        preferably resemble the colors used on menus and other user interface
+        elements on your computer, pda or phone.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: color-prop-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="Scene_1" transform="translate(240, 180)">
+      <rect x="-230" y="-170" width="460" height="300" fill="Background"/>
+      <rect x="-220" y="-160" width="440" height="280" fill="AppWorkspace"/>
+      <rect x="-152" y="-108" width="317" height="221" fill="Window"/>
+      <rect x="-152" y="-108" width="317" height="221" fill="none" stroke-width="3" stroke="WindowFrame"/>
+      <g id="contents" font-size="12" fill="WindowText">
+        <text x="-148" y="0">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  </text>
+        <text x="-148" y="20">Vestibulum pulvinar. Duis laoreet, nunc vitae facilisis </text>
+        <text x="-148" y="40">tristique, pede sem iaculis mi, non consectetuer lorem </text>
+        <text x="-148" y="60">libero et est. Donec imperdiet purus sed odio. Duis </text>
+        <text x="-148" y="80">venenatis tortor eu lectus. Suspendisse sed metus at </text>
+        <text x="-148" y="100">metus viverra ultricies. Mauris porttitor, justo a vulputate</text>
+      </g>
+      <g id="dropdown" transform="translate(2,0)">
+        <rect x="-150" y="-107" width="118" height="190" fill="ThreeDFace" id="drop-bg"/>
+        <rect x="-143" y="0" width="102" height="34" fill="Menu"/>
+        <text x="-138" y="24" font-size="20" font-weight="bold" fill="MenuText">Load</text>
+        <rect x="-143" y="40" width="102" height="34" fill="Menu"/>
+        <text x="-138" y="64" font-size="20" font-weight="bold" fill="MenuText">Save</text>
+        <path d="M-149 83 h114 v-94" stroke-width="4" stroke="ThreeDDarkShadow" fill="none"/>
+        <path d="M-149 83 v-94 h114" stroke-width="4" stroke="ThreeDLightShadow" fill="none"/>
+      </g>
+      <g id="menubar">
+        <rect x="-148" y="-62" width="310" height="46" fill="ThreeDLightShadow"/>
+        <path d="M152 -52 l 10 -10 v 46 h -311 l10-10 z" fill="ThreeDDarkShadow"/>
+        <rect x="-144" y="-58" width="302" height="37" fill="ThreeDFace"/>
+        <text x="-141" y="-32" font-size="20" font-weight="bold" fill="HighlightText">File</text>
+        <text x="-90" y="-32" font-size="20" font-weight="bold" fill="MenuText">Edit</text>
+      </g>
+      <g id="windowdecoration">
+        <rect x="-149" y="-106" width="311" height="42" fill="ActiveCaption" stroke-width="4" stroke="ActiveBorder" id="windowbar"/>
+        <text x="5" y="-78" text-anchor="middle" font-size="24" font-weight="bold" fill="CaptionText">Lorem</text>
+        <g id="button">
+          <rect x="120" y="-99" rx="8" width="26" height="26" fill="ButtonFace"/>
+          <rect x="120" y="-99" rx="8" width="24" height="24" fill="ButtonHighlight"/>
+          <rect x="122" y="-97" rx="8" width="24" height="24" fill="ButtonShadow"/>
+          <rect x="122" y="-97" rx="8" width="22" height="22" fill="ButtonFace"/>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/color-prop-05-t.svg b/Tests/W3CTestSuite/svg/color-prop-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..466dcda5f11c41b5f4cb5e5f389d6af3ab32d8a0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/color-prop-05-t.svg
@@ -0,0 +1,60 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: color-prop-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/color.html#ColorProperty">
+      <p>
+        Tests the color that is used for the currentColor value in the fill
+        attribute when more than one color is specified.
+      </p>
+      <p>
+        This is illustrated using a single rectangle that is a child of a group
+        element. A fill is specified for the group element but not the
+        rectangle. Colour is specifed for the rectangle and the group element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the user agent renders the rectangle with a green
+        fill.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: color-prop-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g fill="currentColor" color="lime">
+      <rect x="120" y="60" width="150" height="150" color="red"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/conform-viewers-01-t.svgz b/Tests/W3CTestSuite/svg/conform-viewers-01-t.svgz
new file mode 100644
index 0000000000000000000000000000000000000000..a4f1d0338c7b5c1a523a56e7b0bbcf0e1e0193e0
Binary files /dev/null and b/Tests/W3CTestSuite/svg/conform-viewers-01-t.svgz differ
diff --git a/Tests/W3CTestSuite/svg/conform-viewers-02-f.svg b/Tests/W3CTestSuite/svg/conform-viewers-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..53e570e77fc0d9d42f6c9b9ba41b7d5312a02561
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/conform-viewers-02-f.svg
@@ -0,0 +1,79 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="issue"
+    version="$Revision: 1.6 $" testname="$RCSfile: conform-viewers-02-f.svg,v $">
+    <!--
+      XXX The issue with this test is that data: URIs shouldn't contain
+          gzipped content, since there's no way to identify the
+          content encoding in data: URIs.  See:
+            * http://www.w3.org/mid/20101217190531.GB31176@wok.mcc.id.au
+            * http://www.w3.org/mid/1801756505.20110119200752@w3.org
+      -->
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/conform.html#ConformingSVGViewers">
+      <p>
+        Test that the viewer can read gzipped content in data uri.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Open the test in any SVG player.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if you see a star in the middle of the test frame.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: conform-viewers-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+		<text x="240" y="40" text-anchor="middle">Test data uri with svgz content</text>
+		
+		<text fill="black" x="50%" y="200" text-anchor="middle">FAILED</text>
+    <image xlink:href="data:image/svg+xml;base64,H4sICA/BlksCA3N0YXIuc3ZnAMVUwW7bMAw9d8D+QVAvLeDIkiha0mDn0A7oZcMO
+Wz/Aa+zUgGsHttq0+/pRTtwkwLBuwIAhcPRIihT5RCofn9bsqam2V/1zwSWTTGfT
+x9nzQ9uNBb8PYfMhTbfbrdiC6Id1qqWUKfnx5ft3jOWrqh4nRLhu2lANrFkV/Hv7
+OPC9Plqqm/JxHJuyuyIDG8PqY/XUlKHpu4IrkfF0jpHugsxi23RVOdwM5aqpujCF
+bteKs/Ve820ou7Huh4eCP5RhaJ4vQKDJtLOQSPodpIWzVmgrHUGPWhhvrLmkQlXB
+wdM+q4zh7CWKTgqtPABZdRRRAJmRrCQaBULazLhDFrddE4isx7Eavm7Ku+pLdztW
+fDlXP4Z+w+Lf4q5v+6Hg53Vd852mp/1NeCH2BQXs63qsAgmvhPyx+8FZTc5nZ3l6
+yt7MaRTL9oTTIXJKkUELjd4hvFXbby5gIYWVkkh3iRaZMtZpopw4M2i0NQnZncqk
+8okymROgVZYstEbhNRpPN3JHvQgS6AqM9iRSdaA0OTnLWX1qrI+NO8LPfkmY/Aty
+5Rvk7jv1lMfdOKSv85CvWThwM8G2DNXFAoynZqNuJFKoJS1ljpfzrOSbMtwfO77V
+1YhOKGk8Rct8JjJEE7ua7vQzAyIeaKA/Me19AggRUf+D1RPSCRgXEZIV3KyDycOZ
+BCTOvjoi0KRTPiJFScCE9mf8oLuYJpdaZWgvzuMDcHkY639UFh3R7g+glv0/dZ7W
+dJRRe8jIoErAWfIzBhN6aCJSNjEO2TXpdGK8ZsYqWpGh3K3XDGkqJg1ktBqGGHcq
+8kZPeyBmh5IiYhYj7k+Zc8rTNa15fJ2XPwFubI+E2wUAAA==" width="200" height="200" x="130" y="70"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/conform-viewers-03-f.svg b/Tests/W3CTestSuite/svg/conform-viewers-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4cfb4e7ca69ced551b87d38798ee3a23667777ec
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/conform-viewers-03-f.svg
@@ -0,0 +1,123 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" onload="test()">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DS" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: conform-viewers-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/conform.html#ConformingSVGViewers">
+      <p>
+        This test checks that namespace prefixes are handled correctly.
+      </p>
+      <p>
+        First, a random 20-character string is generated. The string only contains characters that are valid NCName letters.
+        This string is then used as a custom prefix for an 'href' attribute in the XLink namespace.
+        An 'image' element is created and two image references are added, one is in the "http://www.this.is.not.an/xlink" namespace,
+        and one is in the XLink namespace. Only the attribute with the 20-character prefix is actually in the XLink namespace,
+        which means that that link should be the one that is used when rendering the 'image' element. This first subtest is
+        using the setAttributeNS method.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The testcase has passed if after the script execution has taken place these conditions are met:
+      </p>
+      <ul>
+        <li>There is one pink image visible.</li>
+        <li>The image doesn't show the word "Fail"</li>
+        <li>The status message says "No exceptions"</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: conform-viewers-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <script>
+      <![CDATA[
+      /**
+       * Generates a 20 character string consisting of characters from the inchars parameter.
+       * The output string will have no repetitions of a character.
+       */	 
+      function generatePrefix(inchars)
+      {
+        var ncNameStart = "_abcdefghijklmnopqrstuvwxyzåäöQWERTYUIOPÅÄÖLKJHGFDSAZXCVBNM";
+
+        var prefix = ncNameStart[Math.floor(Math.random()*ncNameStart.length)];
+        var leftchars = inchars;
+        var char;
+        for(var i = 0; i < 19; i++)
+        {
+          char = leftchars[Math.floor(Math.random()*leftchars.length)];
+          leftchars = leftchars.replace(char, '');
+          prefix += char;
+        }
+        return prefix;
+      }
+
+      /** 
+       * The main body of the test.
+       */
+      function test()
+      {
+        var letters = "abcdefghijklmnopqrstuvwxyzåäö_-.QWERTYUIOPÅÄÖLKJHGFDSAZXCVBNM0123456789";
+        var prefix = generatePrefix(letters);
+        var g = document.getElementById("test-body-content");
+        var t = document.getElementById("prefix");
+        t.textContent = prefix;
+
+        var elm = document.createElementNS("http://www.w3.org/2000/svg", "image");
+        elm.setAttributeNS(null, "width", 100);
+        elm.setAttributeNS(null, "height", 100);
+        elm.setAttributeNS(null, "x", 100);
+        elm.setAttributeNS(null, "y", 100);
+        elm.setAttributeNS("http://www.w3.org/1999/xlink", prefix+":href", "../images/pinksquidj.png");
+        elm.setAttributeNS("http://www.this.is.not.an/xlink", "xlink:href", "../images/purplesquidj.png");
+        g.appendChild(elm);
+      }
+      ]]>
+    </script>
+
+    <text y="100" x="50" display="none">
+      Generated prefix 1: <tspan id="prefix">...</tspan>
+    </text>
+    <text y="220" x="50">
+      Status: <tspan id="status">No exceptions.</tspan>
+    </text>
+
+    <g xmlns:xlink="http://example.net/bar">
+      <image id="image2" width="100" height="100" x="210" y="100" xlink:href="../images/purplesquidj.png"/>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-coord-01-t.svg b/Tests/W3CTestSuite/svg/coords-coord-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0019667ca18f5972d768c2452692c1110a006b62
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-coord-01-t.svg
@@ -0,0 +1,83 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DJ" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-coord-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#InitialCoordinateSystem">
+      <p>
+        Tests the default initial coordinate system used by renderer.
+      </p>
+      <p>Should be 0,0 if not specified. This is illustrated by comparing blue boxes that are
+        missing a coordinate or all coordinates with yellow boxes that have the
+        correct coordinates specified.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are three blue boxes,
+        with small yellow boxes rendered on top of them. These boxes should be
+        placed along the origin, and x and y axis.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-coord-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <!-- Content of Test Case follows. -->
+
+    <g stroke="black" stroke-width="5">
+
+      <line x1="0" y1="0" x2="150" y2="0"/>
+
+      <line x1="0" y1="0" x2="0" y2="150"/>
+    </g>
+
+    <g fill="blue">
+      <rect width="15" height="15"/>
+
+      <rect x="150" width="15" height="15"/>
+
+      <rect y="150" width="15" height="15"/>
+    </g>
+
+    <g fill="yellow">
+      <rect x="0" y="0" width="10" height="10"/>
+
+      <rect x="150" y="0" width="10" height="10"/>
+
+      <rect x="0" y="150" width="10" height="10"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-coord-02-t.svg b/Tests/W3CTestSuite/svg/coords-coord-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a6b0a55c56e3f9128f20ceaa7e1d9fadc76a4cff
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-coord-02-t.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DJ" author="CN" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: coords-coord-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#InitialCoordinateSystem">
+      <p>
+        Tests the default units used for the initial coordinate system. This is
+        illustrated by comparing blue boxes that have no units specified for their
+        coordinates, with yellow boxes that have px units specified for their
+        coordinates.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test should produce three blue boxes, with small yellow
+        boxes rendered on top of them. These boxes should be placed along the
+        origin, x and y axis.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-coord-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <!-- Content of Test Case follows. -->
+
+    <g stroke="black" stroke-width="5">
+
+      <line x1="0px" y1="0px" x2="150px" y2="0px"/>
+
+      <line x1="0px" y1="0px" x2="0px" y2="150px"/>
+    </g>
+
+    <g fill="blue">
+      <rect x="0" y="0" width="15" height="15"/>
+
+      <rect x="150" y="0" width="15" height="15"/>
+
+      <rect x="0" y="150" width="15" height="15"/>
+    </g>
+
+    <g fill="yellow">
+      <rect x="0px" y="0px" width="10" height="10"/>
+
+      <rect x="150px" y="0px" width="10" height="10"/>
+
+      <rect x="0px" y="150px" width="10" height="10"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-dom-01-f.svg b/Tests/W3CTestSuite/svg/coords-dom-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c254ae7a2ec5ed683d4b984f6a84d828dad2de8b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-dom-01-f.svg
@@ -0,0 +1,115 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: coords-dom-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#DOMInterfaces">
+      <p>
+        Tests the liveness of SVGTransform.matrix.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Load the svg, you should see a green circle.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>There is no red visible</li>
+        <li>There is a green circle visible</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-dom-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    
+    
+    <g transform="translate(240 180)">
+      <g id="reference">
+        <circle r="40" fill="red"/>
+      </g>
+    
+      <g id="g" transform="translate(20 20)">
+        <circle id="c" r="41" fill="blue"/>
+      </g>
+    </g>   
+    
+    <script type="text/ecmascript"><![CDATA[
+      var eps = 1 / 65535; // 16.16 fixpoint epsilon
+      var passed = false;
+      
+      function isequal( value, expected, epsilon )
+      {
+        return(Math.abs(value - expected) < epsilon);
+      }
+ 
+      try
+      {
+        var g = document.getElementById("g");
+        var c = document.getElementById("c");
+        var tfm = g.transform.baseVal.getItem(0);
+        var mtx = tfm.matrix;
+        tfm.setTranslate(300,200);
+        if(tfm.type == SVGTransform.SVG_TRANSFORM_TRANSLATE &&
+           isequal(mtx.e, 300, eps) && isequal(mtx.f, 200, eps))
+        {
+          tfm.setScale(4,4);
+          if(tfm.type == SVGTransform.SVG_TRANSFORM_SCALE &&
+             isequal(mtx.a, 4, eps) && isequal(mtx.d, 4, eps))
+          {
+            tfm.setRotate(90,0,0);
+            if(tfm.type == SVGTransform.SVG_TRANSFORM_ROTATE &&
+               isequal(mtx.a, Math.cos(Math.PI/2), eps) && isequal(mtx.b, Math.sin(Math.PI/2), eps) &&
+               isequal(mtx.c, -Math.sin(Math.PI/2), eps) && isequal(mtx.d, Math.cos(Math.PI/2), eps) &&
+               isequal(mtx.e, 0, eps) && isequal(mtx.f, 0, eps))
+            {
+              passed = true;
+            }
+          }
+        }
+      }
+      catch(e) {}
+      
+      if(passed)
+      {
+        c.setAttribute("fill", "lime");
+      }
+      else
+      {
+        c.setAttribute("fill", "red");
+      }
+    ]]></script>
+        
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect xml:id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-dom-02-f.svg b/Tests/W3CTestSuite/svg/coords-dom-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..42cac3b3f7a78c0ac02d31bfcd220841303b9f84
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-dom-02-f.svg
@@ -0,0 +1,96 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: coords-dom-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#InterfaceSVGTransform">
+        <p>
+          Tests the liveness of SVGTransform.matrix, that the SVGTransform object is updated when the SVGTransform.matrix object is changed.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>There is no red visible</li>
+        <li>There is a green ellipse visible</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-dom-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    
+    
+    <g transform="translate(220 160)">
+      <g id="reference">
+        <circle r="41" fill="red" transform="translate(20 20) scale(2 1)"/>
+      </g>
+    
+      <g id="g" transform="translate(20 20)">
+        <circle id="c" r="41" fill="blue"/>
+      </g>
+    </g>   
+    
+    <script type="text/ecmascript"><![CDATA[
+      var passed = false;
+      
+      try
+      {
+        var g = document.getElementById("g");
+        var c = document.getElementById("c");
+        var tfm = g.transform.baseVal.getItem(0);
+        var mtx = tfm.matrix;
+        mtx.a = 2;
+        if(tfm.type == SVGTransform.SVG_TRANSFORM_MATRIX)
+        {
+          passed = true;
+        }
+      }
+      catch(e) {}
+      
+      if(passed)
+      {
+        c.setAttribute("fill", "lime");
+      }
+      else
+      {
+        c.setAttribute("fill", "red");
+      }
+    ]]></script>
+        
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect xml:id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-dom-03-f.svg b/Tests/W3CTestSuite/svg/coords-dom-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b44d16c6bbefdf962f7126a61d36b9ab4c000e76
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-dom-03-f.svg
@@ -0,0 +1,116 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="ED" author="CM" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: coords-dom-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#InterfaceSVGTransformList">
+        <p>
+          This tests that SVGTransformList.createSVGTransformFromMatrix(),
+          SVGSVGElement.createSVGTransformFromMatrix() and SVGTransform.setMatrix()
+          all do not track changes to the SVGMatrix passed to them.
+        </p>
+        <p>
+        After loading the test, three rectangles will be presented.  The
+        upper rectangle indicates the result of testing whether
+        SVGTransformList.createSVGTransformFromMatrix() behaved correctly,
+        the middle rectangle indicates the status for SVGSVGElement.createSVGTransformFromMatrix(),
+        and the bottom rectangle for SVGTransform.setMatrix().
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the three rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-dom-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='30' font-size='14'>Test that some methods taking an SVGMatrix take a copy of it</text>
+
+    <rect id='r1' x='10' y='50' width='50' height='50'/>
+    <rect id='r2' x='10' y='110' width='50' height='50'/>
+    <rect id='r3' x='10' y='170' width='50' height='50'/>
+    <g font-size='10'>
+      <text x='70' y='80'>SVGTransformList.createSVGTransformFromMatrix()</text>
+      <text x='70' y='140'>SVGSVGElement.createSVGTransformFromMatrix()</text>
+      <text x='70' y='200'>SVGTransform.setMatrix()</text>
+    </g>
+
+    <g id='g' transform='scale(5)'/>
+
+    <script><![CDATA[
+      var svg = document.documentElement,
+          g = document.getElementById('g'),
+          r1 = document.getElementById('r1'),
+          r2 = document.getElementById('r2'),
+          r3 = document.getElementById('r3');
+
+      var m1 = svg.createSVGMatrix(),
+          m2 = svg.createSVGMatrix(),
+          m3 = svg.createSVGMatrix();
+
+      var t;
+
+      m1.a = 3; m1.b = 0; m1.c = 0; m1.d = 1; m1.e = 0; m1.f = 0;
+      m2.a = 3; m2.b = 0; m2.c = 0; m2.d = 1; m2.e = 0; m2.f = 0;
+      m3.a = 3; m3.b = 0; m3.c = 0; m3.d = 1; m3.e = 0; m3.f = 0;
+
+      try {
+        t = g.transform.baseVal.createSVGTransformFromMatrix(m1);
+        m1.a = 2;
+        r1.setAttribute('fill', t.matrix != m1 && t.matrix.a == 3 ? 'lime' : 'red');
+      } catch (e) {
+      }
+
+      try {
+        t = svg.createSVGTransformFromMatrix(m2);
+        m2.a = 2;
+        r2.setAttribute('fill', t.matrix != m2 && t.matrix.a == 3 ? 'lime' : 'red');
+      } catch (e) {
+      }
+
+      try {
+        t = g.transform.baseVal.getItem(0);
+        t.setMatrix(m3);
+        m3.a = 2;
+        r3.setAttribute('fill', t.matrix != m3 && t.matrix.a == 3 ? 'lime' : 'red');
+      } catch (e) {
+      }
+    ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-dom-04-f.svg b/Tests/W3CTestSuite/svg/coords-dom-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9e620bc689afa09b13595a59b8d4c1c223ee4187
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-dom-04-f.svg
@@ -0,0 +1,166 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" onload="test()">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: coords-dom-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#InterfaceSVGTransformList">
+      <p>
+	  	The test checks the SVGTransformList.consolidate method.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+		There must be 13 green rectangles visible. 
+		The text next to the first rectangle must say "Scripting enabled".
+		The other 12 lines must each say "Passed subtest #n" where n is the subtest number 1..12.
+		If anything red shows, the test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-dom-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+	<defs>
+		<style>
+			#test-body-content rect { stroke: black; }
+		</style>
+		<script type="text/ecmascript"><![CDATA[
+		var pos = { "x": 20, "y": 40 };
+		var subtestCounter = 1;
+		var passed = true;
+		
+		function toString(m)
+		{	
+			var decimals = 0;
+			return m.a.toFixed(decimals) + "," + 
+				   m.b.toFixed(decimals) + "," + 
+				   m.c.toFixed(decimals) + "," + 
+				   m.d.toFixed(decimals) + "," + 
+				   m.e.toFixed(decimals) + "," + 
+				   m.f.toFixed(decimals);
+		}
+
+		function referenceEqual(m1,ref,eps)
+		{
+			return (Math.abs(m1.a-ref[0]) < eps &&
+					Math.abs(m1.b-ref[1]) < eps &&
+					Math.abs(m1.c-ref[2]) < eps &&
+					Math.abs(m1.d-ref[3]) < eps &&
+					Math.abs(m1.e-ref[4]) < eps &&
+					Math.abs(m1.f-ref[5]) < eps);
+		}
+
+		function assertEquals(m, ref, eps)
+		{
+			var result = document.createElementNS("http://www.w3.org/2000/svg", "text");
+			var resultrect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+			result.setAttribute("x", pos.x);
+			result.setAttribute("y", pos.y);
+			resultrect.setAttribute("fill", "lime");
+			resultrect.setAttribute("width", 15);
+			resultrect.setAttribute("height", 15);
+			resultrect.setAttribute("y", pos.y-15);
+			
+			if(referenceEqual(m, ref, eps))
+			{	
+				result.textContent = "Passed subtest #" + subtestCounter;
+			}
+			else
+			{
+				passed = false;
+				result.textContent = "Failed subtest #" + subtestCounter + ". Expected " + ref + " but got " + toString(m);
+			}
+			pos.y += 20;
+			subtestCounter++;
+			var results = document.getElementById("subteststatus");
+			results.appendChild(resultrect)
+			results.appendChild(result);
+		}
+		
+		function test()
+		{
+			eps = 0.005; // "close enough"
+			r = document.getElementById("r");
+
+			t1 = r.transform.baseVal.getItem(0);
+			t2 = r.transform.baseVal.getItem(1);
+			
+			// check that matrices are as specified in the markup
+			assertEquals(t1.matrix, [1, 0, 0, 1, 10, 10], eps);
+			assertEquals(t2.matrix, [0, 1, -1, 0, 0, 0], eps);
+
+			// consolidate
+			tfm = r.transform.baseVal.consolidate();
+			
+			// check that the consolidation is ok
+			assertEquals(tfm.matrix, [0, 1, -1, 0, 10, 10], eps);
+			
+			// check that t1 and t2 were not affected by the consolidation
+			assertEquals(t1.matrix, [1, 0, 0, 1, 10, 10], eps);
+			assertEquals(t2.matrix, [0, 1, -1, 0, 0, 0], eps);
+			
+			// check that modifying t1 has no effect on the consolidated transform
+			t1.setTranslate(10,200);
+			assertEquals(t1.matrix, [1, 0, 0, 1, 10, 200], eps);
+			assertEquals(tfm.matrix, [0, 1, -1, 0, 10, 10], eps);
+			
+			// check that modifying t2 has no effect on the consolidated transform
+			t2.setRotate(-90, 0, 0);
+			assertEquals(t2.matrix, [0, -1, 1, 0, 0, 0], eps);
+			assertEquals(tfm.matrix, [0, 1, -1, 0, 10, 10], eps);
+			
+			// check that modifying the consolidated transform has no effect on the t1 and t2 transforms
+			tfm.matrix.f = 400;
+			assertEquals(tfm.matrix, [0, 1, -1, 0, 10, 400], eps);
+			assertEquals(t1.matrix, [1, 0, 0, 1, 10, 200], eps);
+			assertEquals(t2.matrix, [0, -1, 1, 0, 0, 0], eps);
+		
+			document.getElementById("status").setAttributeNS(null, "fill", passed ? "lime" : "red");
+			document.getElementById("scriptstatus").textContent = "Scripting enabled";
+		}
+	
+	]]></script>
+	</defs>
+
+	<g transform="translate(20 -10)">
+		<g id="subteststatus" transform="translate(0,40)">
+			<rect id="status" y="5" width="15" height="15" fill="red"/>
+			<text id="scriptstatus" y="20" x="20" >Scripting disabled</text>
+		</g>
+	
+		<polyline id="r" fill="none" stroke="green" display="none" transform="translate(10 10) rotate(90)" points="0 0 30 40 80 -20" stroke-width="10"/>
+	</g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-01-b.svg b/Tests/W3CTestSuite/svg/coords-trans-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..19431e0fe657ddc645673d3561b944a05338f55c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-01-b.svg
@@ -0,0 +1,239 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(0, 30)" font-size="13">
+      <!-- ====================================================================== -->
+      <!-- First, draw a test grid ============================================== -->
+      <!-- ====================================================================== -->
+      <g id="test-grid" stroke="#cccccc" stroke-width="1">
+        <line x1="10" y1="10.5" x2="470" y2="10.5"/>
+        <line x1="10" y1="20.5" x2="470" y2="20.5"/>
+        <line x1="10" y1="30.5" x2="470" y2="30.5"/>
+        <line x1="10" y1="40.5" x2="470" y2="40.5"/>
+        <line x1="10" y1="50.5" x2="470" y2="50.5"/>
+        <line x1="10" y1="60.5" x2="470" y2="60.5"/>
+        <line x1="10" y1="70.5" x2="470" y2="70.5"/>
+        <line x1="10" y1="80.5" x2="470" y2="80.5"/>
+        <line x1="10" y1="90.5" x2="470" y2="90.5"/>
+        <line x1="10" y1="100.5" x2="470" y2="100.5"/>
+        <line x1="10" y1="110.5" x2="470" y2="110.5"/>
+        <line x1="10" y1="120.5" x2="470" y2="120.5"/>
+        <line x1="10" y1="130.5" x2="470" y2="130.5"/>
+        <line x1="10" y1="140.5" x2="470" y2="140.5"/>
+        <line x1="10" y1="150.5" x2="470" y2="150.5"/>
+        <line x1="10" y1="160.5" x2="470" y2="160.5"/>
+        <line x1="10" y1="170.5" x2="470" y2="170.5"/>
+        <line x1="10" y1="180.5" x2="470" y2="180.5"/>
+        <line x1="10" y1="190.5" x2="470" y2="190.5"/>
+        <line x1="10" y1="200.5" x2="470" y2="200.5"/>
+        <line x1="10" y1="210.5" x2="470" y2="210.5"/>
+        <line x1="10" y1="220.5" x2="470" y2="220.5"/>
+        <line x1="10" y1="230.5" x2="470" y2="230.5"/>
+        <line x1="10" y1="240.5" x2="470" y2="240.5"/>
+        <line x1="10" y1="250.5" x2="470" y2="250.5"/>
+        <line x1="10" y1="260.5" x2="470" y2="260.5"/>
+        <line y1="10" x1="10.5" y2="260.5" x2="10.5"/>
+        <line y1="10" x1="20.5" y2="260.5" x2="20.5"/>
+        <line y1="10" x1="30.5" y2="260.5" x2="30.5"/>
+        <line y1="10" x1="40.5" y2="260.5" x2="40.5"/>
+        <line y1="10" x1="50.5" y2="260.5" x2="50.5"/>
+        <line y1="10" x1="60.5" y2="260.5" x2="60.5"/>
+        <line y1="10" x1="70.5" y2="260.5" x2="70.5"/>
+        <line y1="10" x1="80.5" y2="260.5" x2="80.5"/>
+        <line y1="10" x1="90.5" y2="260.5" x2="90.5"/>
+        <line y1="10" x1="100.5" y2="260.5" x2="100.5"/>
+        <line y1="10" x1="110.5" y2="260.5" x2="110.5"/>
+        <line y1="10" x1="120.5" y2="260.5" x2="120.5"/>
+        <line y1="10" x1="130.5" y2="260.5" x2="130.5"/>
+        <line y1="10" x1="140.5" y2="260.5" x2="140.5"/>
+        <line y1="10" x1="150.5" y2="260.5" x2="150.5"/>
+        <line y1="10" x1="160.5" y2="260.5" x2="160.5"/>
+        <line y1="10" x1="170.5" y2="260.5" x2="170.5"/>
+        <line y1="10" x1="180.5" y2="260.5" x2="180.5"/>
+        <line y1="10" x1="190.5" y2="260.5" x2="190.5"/>
+        <line y1="10" x1="200.5" y2="260.5" x2="200.5"/>
+        <line y1="10" x1="210.5" y2="260.5" x2="210.5"/>
+        <line y1="10" x1="220.5" y2="260.5" x2="220.5"/>
+        <line y1="10" x1="230.5" y2="260.5" x2="230.5"/>
+        <line y1="10" x1="240.5" y2="260.5" x2="240.5"/>
+        <line y1="10" x1="250.5" y2="260.5" x2="250.5"/>
+        <line y1="10" x1="260.5" y2="260.5" x2="260.5"/>
+        <line y1="10" x1="270.5" y2="260.5" x2="270.5"/>
+        <line y1="10" x1="280.5" y2="260.5" x2="280.5"/>
+        <line y1="10" x1="290.5" y2="260.5" x2="290.5"/>
+        <line y1="10" x1="300.5" y2="260.5" x2="300.5"/>
+        <line y1="10" x1="310.5" y2="260.5" x2="310.5"/>
+        <line y1="10" x1="320.5" y2="260.5" x2="320.5"/>
+        <line y1="10" x1="330.5" y2="260.5" x2="330.5"/>
+        <line y1="10" x1="340.5" y2="260.5" x2="340.5"/>
+        <line y1="10" x1="350.5" y2="260.5" x2="350.5"/>
+        <line y1="10" x1="360.5" y2="260.5" x2="360.5"/>
+        <line y1="10" x1="370.5" y2="260.5" x2="370.5"/>
+        <line y1="10" x1="380.5" y2="260.5" x2="380.5"/>
+        <line y1="10" x1="390.5" y2="260.5" x2="390.5"/>
+        <line y1="10" x1="400.5" y2="260.5" x2="400.5"/>
+        <line y1="10" x1="410.5" y2="260.5" x2="410.5"/>
+        <line y1="10" x1="420.5" y2="260.5" x2="420.5"/>
+        <line y1="10" x1="430.5" y2="260.5" x2="430.5"/>
+        <line y1="10" x1="440.5" y2="260.5" x2="440.5"/>
+        <line y1="10" x1="450.5" y2="260.5" x2="450.5"/>
+        <line y1="10" x1="460.5" y2="260.5" x2="460.5"/>
+        <line y1="10" x1="470.5" y2="260.5" x2="470.5"/>
+      </g>
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="elementary-transforms-test" transform="translate(0, 10)">
+        <g id="elementary-transforms">
+          <!-- Translate -->
+          <g transform="translate(50, 50)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Rotate -90 deg about (150, 70) -->
+          <g transform="translate(150, 70) rotate(-90)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Skew X -->
+          <g transform="translate(250, 50) skewX(45)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Skew Y -->
+          <g transform="translate(350, 50) skewY(45)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Scale 2 -->
+          <g transform="translate(210, 120) scale(2)">
+            <rect x="0" y="0" width="20" height="1" fill="blue"/>
+            <rect x="0" y="0" width="1" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- elementary-transforms -->
+        <!-- Draw all the markers -->
+        <g id="elementary-transforms-test-markers">
+          <!-- Translate -->
+          <text x="40" y="40">translate (50, 50)</text>
+          <rect x="48" y="48" width="5" height="5" fill="black"/>
+          <rect x="68" y="48" width="5" height="5" fill="blue"/>
+          <rect x="48" y="68" width="5" height="5" fill="red"/>
+          <!-- Rotate -90 deg about (150, 70) -->
+          <text x="140" y="40">rotate(-90)</text>
+          <rect x="148" y="68" width="5" height="5" fill="black"/>
+          <rect x="148" y="48" width="5" height="5" fill="blue"/>
+          <rect x="168" y="68" width="5" height="5" fill="red"/>
+          <!-- Skew X -->
+          <text x="240" y="40">skew x (45)</text>
+          <rect x="248" y="48" width="5" height="5" fill="black"/>
+          <rect x="268" y="48" width="5" height="5" fill="blue"/>
+          <rect x="268" y="68" width="5" height="5" fill="red"/>
+          <!-- Skew Y -->
+          <text x="340" y="40">skew y (45)</text>
+          <rect x="348" y="48" width="5" height="5" fill="black"/>
+          <rect x="368" y="68" width="5" height="5" fill="blue"/>
+          <rect x="348" y="68" width="5" height="5" fill="red"/>
+          <!-- Scale 2 -->
+          <text x="200" y="110">scale (2)</text>
+          <rect x="208" y="118" width="5" height="5" fill="black"/>
+          <rect x="248" y="118" width="5" height="5" fill="blue"/>
+          <rect x="208" y="158" width="5" height="5" fill="red"/>
+        </g>
+        <!-- elementary-transforms-test-markers -->
+      </g>
+      <g id="nested-transforms-test">
+        <g id="nested-transforms">
+          <!-- scale/translate in transform attribute -->
+          <g transform="scale(3, 2) translate(16.666667, 105)">
+            <rect x="0" y="0" width="20" height="1" fill="blue"/>
+            <rect x="0" y="0" width="0.67" height="20" fill="red"/>
+          </g>
+          <!-- scale/translate in successive elements -->
+          <g transform="translate(200, 0)">
+            <g transform="scale(3, 2)">
+              <g transform="translate(16.666667, 105)">
+                <rect x="0" y="0" width="20" height="1" fill="blue"/>
+                <rect x="0" y="0" width="0.67" height="20" fill="red"/>
+              </g>
+            </g>
+          </g>
+        </g>
+        <!-- nested-transforms -->
+        <g id="nested-transforms-test-markers">
+          <!-- scale and translate -->
+          <text x="40" y="200">scale(25, 95) and translate(2, 2)</text>
+          <rect x="48" y="208" width="5" height="5" fill="black"/>
+          <rect x="108" y="208" width="5" height="5" fill="blue"/>
+          <rect x="48" y="248" width="5" height="5" fill="red"/>
+          <!-- scale then translate -->
+          <text x="240" y="200">scale(25, 95) then translate(2, 2)</text>
+          <rect x="248" y="208" width="5" height="5" fill="black"/>
+          <rect x="308" y="208" width="5" height="5" fill="blue"/>
+          <rect x="248" y="248" width="5" height="5" fill="red"/>
+        </g>
+        <!-- nested-transforms-test-markers -->
+      </g>
+      <!-- nested-transforms test -->
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-02-t.svg b/Tests/W3CTestSuite/svg/coords-trans-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ef3ab1a88e29216407eaf94045d5038f10781041
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-02-t.svg
@@ -0,0 +1,176 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(0, 30)" font-size="12">
+      <!-- ====================================================================== -->
+      <!-- First, draw a test grid ============================================== -->
+      <!-- ====================================================================== -->
+      <!--g id="test-grid" stroke="#cccccc" stroke-width="1" >
+         <line x1="10" y1="10.5" x2="470" y2="10.5"/>
+         <line x1="10" y1="20.5" x2="470" y2="20.5"/>
+         <line x1="10" y1="30.5" x2="470" y2="30.5"/>
+         <line x1="10" y1="40.5" x2="470" y2="40.5"/>
+         <line x1="10" y1="50.5" x2="470" y2="50.5"/>
+         <line x1="10" y1="60.5" x2="470" y2="60.5"/>
+         <line x1="10" y1="70.5" x2="470" y2="70.5"/>
+         <line x1="10" y1="80.5" x2="470" y2="80.5"/>
+         <line x1="10" y1="90.5" x2="470" y2="90.5"/>
+         <line x1="10" y1="100.5" x2="470" y2="100.5"/>
+         <line x1="10" y1="110.5" x2="470" y2="110.5"/>
+         <line x1="10" y1="120.5" x2="470" y2="120.5"/>
+         <line x1="10" y1="130.5" x2="470" y2="130.5"/>
+         <line x1="10" y1="140.5" x2="470" y2="140.5"/>
+         <line x1="10" y1="150.5" x2="470" y2="150.5"/>
+         <line x1="10" y1="160.5" x2="470" y2="160.5"/>
+         <line x1="10" y1="170.5" x2="470" y2="170.5"/>
+         <line x1="10" y1="180.5" x2="470" y2="180.5"/>
+         <line x1="10" y1="190.5" x2="470" y2="190.5"/>
+         <line x1="10" y1="200.5" x2="470" y2="200.5"/>
+         <line x1="10" y1="210.5" x2="470" y2="210.5"/>
+         <line x1="10" y1="220.5" x2="470" y2="220.5"/>
+         <line x1="10" y1="230.5" x2="470" y2="230.5"/>
+         <line x1="10" y1="240.5" x2="470" y2="240.5"/>
+         <line x1="10" y1="250.5" x2="470" y2="250.5"/>
+         <line x1="10" y1="260.5" x2="470" y2="260.5"/>
+         <line y1="10" x1="10.5" y2="260.5" x2="10.5"/>
+         <line y1="10" x1="20.5" y2="260.5" x2="20.5"/>
+         <line y1="10" x1="30.5" y2="260.5" x2="30.5"/>
+         <line y1="10" x1="40.5" y2="260.5" x2="40.5"/>
+         <line y1="10" x1="50.5" y2="260.5" x2="50.5"/>
+         <line y1="10" x1="60.5" y2="260.5" x2="60.5"/>
+         <line y1="10" x1="70.5" y2="260.5" x2="70.5"/>
+         <line y1="10" x1="80.5" y2="260.5" x2="80.5"/>
+         <line y1="10" x1="90.5" y2="260.5" x2="90.5"/>
+         <line y1="10" x1="100.5" y2="260.5" x2="100.5"/>
+         <line y1="10" x1="110.5" y2="260.5" x2="110.5"/>
+         <line y1="10" x1="120.5" y2="260.5" x2="120.5"/>
+         <line y1="10" x1="130.5" y2="260.5" x2="130.5"/>
+         <line y1="10" x1="140.5" y2="260.5" x2="140.5"/>
+         <line y1="10" x1="150.5" y2="260.5" x2="150.5"/>
+         <line y1="10" x1="160.5" y2="260.5" x2="160.5"/>
+         <line y1="10" x1="170.5" y2="260.5" x2="170.5"/>
+         <line y1="10" x1="180.5" y2="260.5" x2="180.5"/>
+         <line y1="10" x1="190.5" y2="260.5" x2="190.5"/>
+         <line y1="10" x1="200.5" y2="260.5" x2="200.5"/>
+         <line y1="10" x1="210.5" y2="260.5" x2="210.5"/>
+         <line y1="10" x1="220.5" y2="260.5" x2="220.5"/>
+         <line y1="10" x1="230.5" y2="260.5" x2="230.5"/>
+         <line y1="10" x1="240.5" y2="260.5" x2="240.5"/>
+         <line y1="10" x1="250.5" y2="260.5" x2="250.5"/>
+         <line y1="10" x1="260.5" y2="260.5" x2="260.5"/>
+         <line y1="10" x1="270.5" y2="260.5" x2="270.5"/>
+         <line y1="10" x1="280.5" y2="260.5" x2="280.5"/>
+         <line y1="10" x1="290.5" y2="260.5" x2="290.5"/>
+         <line y1="10" x1="300.5" y2="260.5" x2="300.5"/>
+         <line y1="10" x1="310.5" y2="260.5" x2="310.5"/>
+         <line y1="10" x1="320.5" y2="260.5" x2="320.5"/>
+         <line y1="10" x1="330.5" y2="260.5" x2="330.5"/>
+         <line y1="10" x1="340.5" y2="260.5" x2="340.5"/>
+         <line y1="10" x1="350.5" y2="260.5" x2="350.5"/>
+         <line y1="10" x1="360.5" y2="260.5" x2="360.5"/>
+         <line y1="10" x1="370.5" y2="260.5" x2="370.5"/>
+         <line y1="10" x1="380.5" y2="260.5" x2="380.5"/>
+         <line y1="10" x1="390.5" y2="260.5" x2="390.5"/>
+         <line y1="10" x1="400.5" y2="260.5" x2="400.5"/>
+         <line y1="10" x1="410.5" y2="260.5" x2="410.5"/>
+         <line y1="10" x1="420.5" y2="260.5" x2="420.5"/>
+         <line y1="10" x1="430.5" y2="260.5" x2="430.5"/>
+         <line y1="10" x1="440.5" y2="260.5" x2="440.5"/>
+         <line y1="10" x1="450.5" y2="260.5" x2="450.5"/>
+         <line y1="10" x1="460.5" y2="260.5" x2="460.5"/>
+         <line y1="10" x1="470.5" y2="260.5" x2="470.5"/>
+      </g-->
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="elementary-transforms-test" transform="translate(0, 10)">
+        <g id="elementary-transforms" transform="translate(-30, 0) scale(2.5, 2.5)">
+          <!-- Translate -->
+          <g transform="translate(50, 50)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Rotate -90 deg about (150, 70) -->
+          <g transform="translate(150, 70) rotate(-90)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- elementary-transforms -->
+        <!-- Draw all the markers -->
+        <g id="elementary-transforms-test-markers" transform="translate(-30, 0) scale(2.5, 2.5)">
+          <!-- Translate -->
+          <text x="40" y="40">translate (50, 50)</text>
+          <rect x="48" y="48" width="5" height="5" fill="black"/>
+          <rect x="68" y="48" width="5" height="5" fill="blue"/>
+          <rect x="48" y="68" width="5" height="5" fill="red"/>
+          <!-- Rotate -90 deg about (150, 70) -->
+          <text x="140" y="40">rotate(-90)</text>
+          <rect x="148" y="68" width="5" height="5" fill="black"/>
+          <rect x="148" y="48" width="5" height="5" fill="blue"/>
+          <rect x="168" y="68" width="5" height="5" fill="red"/>
+        </g>
+        <!-- elementary-transforms-test-markers -->
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-03-t.svg b/Tests/W3CTestSuite/svg/coords-trans-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b1c507c959f9fc9c9f6ac3034fedd46995e6ebbd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-03-t.svg
@@ -0,0 +1,99 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(0, 30)" font-size="12">
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="elementary-transforms-test" transform="translate(0, 10)">
+        <g id="elementary-transforms" transform="translate(-560, 0) scale(2.5, 2.5)">
+          <!-- Skew X -->
+          <g transform="translate(250, 50) skewX(45)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+          <!-- Skew Y -->
+          <g transform="translate(350, 50) skewY(45)">
+            <rect x="0" y="0" width="20" height="2" fill="blue"/>
+            <rect x="0" y="0" width="2" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- elementary-transforms -->
+        <!-- Draw all the markers -->
+        <g id="elementary-transforms-test-markers" transform="translate(-560, 0) scale(2.5, 2.5)">
+          <!-- Skew X -->
+          <text x="240" y="40">skew x (45)</text>
+          <rect x="248" y="48" width="5" height="5" fill="black"/>
+          <rect x="268" y="48" width="5" height="5" fill="blue"/>
+          <rect x="268" y="68" width="5" height="5" fill="red"/>
+          <!-- Skew Y -->
+          <text x="340" y="40">skew y (45)</text>
+          <rect x="348" y="48" width="5" height="5" fill="black"/>
+          <rect x="368" y="68" width="5" height="5" fill="blue"/>
+          <rect x="348" y="68" width="5" height="5" fill="red"/>
+        </g>
+        <!-- elementary-transforms-test-markers -->
+      </g>
+      <!-- nested-transforms test -->
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-04-t.svg b/Tests/W3CTestSuite/svg/coords-trans-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3ca3630878ba8ae312f20d28278fd0e01c213013
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-04-t.svg
@@ -0,0 +1,88 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(0, 30)" font-size="12">
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="elementary-transforms-test">
+        <g id="elementary-transforms" transform="translate(60, 45) scale(2.5, 2.5)">
+          <!-- Scale 2 -->
+          <g transform="translate(40, 10) scale(2)">
+            <rect x="0" y="0" width="20" height="1" fill="blue"/>
+            <rect x="0" y="0" width="1" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- elementary-transforms -->
+        <!-- Draw all the markers -->
+        <g id="elementary-transforms-test-markers" transform="translate(-364, -230) scale(2.5, 2.5)">
+          <!-- Scale 2 -->
+          <text x="200" y="110">scale (2)</text>
+          <rect x="208" y="118" width="5" height="5" fill="black"/>
+          <rect x="248" y="118" width="5" height="5" fill="blue"/>
+          <rect x="208" y="158" width="5" height="5" fill="red"/>
+        </g>
+        <!-- elementary-transforms-test-markers -->
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-05-t.svg b/Tests/W3CTestSuite/svg/coords-trans-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d0d78bf432e905fa5ff04010af207a5e886939a5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-05-t.svg
@@ -0,0 +1,88 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: coords-trans-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(0, 30)" font-size="12">
+      <!-- ====================================================================== -->
+      <!-- Now, test elementary transforms. For each transform, 3 markers are     -->
+      <!-- placed where the user space is expected after transformations for the  -->
+      <!-- origin (black) and the points in (20, 0) (blue) and (0, 20) (red).     -->
+      <!-- Then, a blue line going from (0, 0) to (20, 0) is drawn and a red line -->
+      <!-- going from (0, 0) to (0, 20), after applying the elementary            -->
+      <!-- transformation. If the test succeeds, the red line should join the     -->
+      <!-- black marker to the red marker and the blue line the black marker to   -->
+      <!-- the blue marker.                                                       -->
+      <!-- ====================================================================== -->
+      <g id="nested-transforms-test">
+        <g id="nested-transforms" transform="translate(-90, -450)">
+          <!-- scale/translate in transform attribute -->
+          <g transform="scale(7.5, 5) translate(16.666667, 105)">
+            <rect x="0" y="0" width="20" height="1" fill="blue"/>
+            <rect x="0" y="0" width="0.67" height="20" fill="red"/>
+          </g>
+        </g>
+        <!-- nested-transforms -->
+        <g id="nested-transforms-test-markers" transform="translate(-90, -450) scale(2.5, 2.5)">
+          <!-- scale and translate -->
+          <text x="40" y="200">scale(25, 95) - translate(2, 2)</text>
+          <rect x="48" y="208" width="5" height="5" fill="black"/>
+          <rect x="108" y="208" width="5" height="5" fill="blue"/>
+          <rect x="48" y="248" width="5" height="5" fill="red"/>
+        </g>
+        <!-- nested-transforms-test-markers -->
+      </g>
+      <!-- nested-transforms test -->
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-06-t.svg b/Tests/W3CTestSuite/svg/coords-trans-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9b845b2316b93d59298cf7cb2c4f48da4e6806ac
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-06-t.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-06-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(0, 30)" font-size="12">
+      <g id="nested-transforms-test">
+        <g id="nested-transforms">
+          <!-- scale/translate in successive elements -->
+          <g transform="translate(-102, -450)">
+            <g transform="scale(7.5, 5)">
+              <g transform="translate(16.666667, 105)">
+                <rect x="0" y="0" width="20" height="1" fill="blue"/>
+                <rect x="0" y="0" width="0.67" height="20" fill="red"/>
+              </g>
+            </g>
+          </g>
+        </g>
+        <!-- nested-transforms -->
+        <g id="nested-transforms-test-markers" transform="translate(-600, -450) scale(2.5, 2.5)">
+          <!-- scale then translate -->
+          <text x="248" y="200">scale(25, 95) then translate(2, 2)</text>
+          <rect x="248" y="208" width="5" height="5" fill="black"/>
+          <rect x="308" y="208" width="5" height="5" fill="blue"/>
+          <rect x="248" y="248" width="5" height="5" fill="red"/>
+        </g>
+        <!-- nested-transforms-test-markers -->
+      </g>
+      <!-- nested-transforms test -->
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-07-t.svg b/Tests/W3CTestSuite/svg/coords-trans-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f9cb6c44ca3f193a77d7920dc0085dd1e15ec6cc
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-07-t.svg
@@ -0,0 +1,70 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="OA" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        The test uses the rect element, the fill color (solid primary colors) and transforms.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text - a long blue line at four o'clock and a short red line at seven o'clock below the text "translate+rotate", and, below and to the left of that, a long green line at four o'clock and a short red line at seven o'clock below the text "rotate+translate".
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-07-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="elementary-transforms-test">
+      <g id="object_1" transform="rotate(30) translate(200, 100)">
+        <rect x="0" y="0" width="150" height="5" fill="green"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="65" y="185" font-size="20">rotate+translate</text>
+
+      <g id="object_2" transform="translate(200,100) rotate(30)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="150" y="100" font-size="20">translate+rotate</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-08-t.svg b/Tests/W3CTestSuite/svg/coords-trans-08-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d1cbf594ade663c62c5437327be0fce12591862b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-08-t.svg
@@ -0,0 +1,76 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="OA" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-08-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        This test will check if the transfomations performed are carried out in the proper order. The result should differ depending on which transformation comes first.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-08-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="elementary-transforms-test">
+      <g id="object_1" transform="skewX(45) skewY(45)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+        <rect x="150" y="0" width="5" height="50" fill="black"/>
+        <rect x="0" y="50" width="150" height="5" fill="black"/>
+        <ellipse rx="40" ry="15" cx="75" cy="25" fill="purple"/>
+      </g>
+      <text x="30" y="16" font-size="12">skewX(45)+skewY(45)</text>
+
+      <g id="object_2" transform="translate(200,0) skewY(45) skewX(45)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+        <rect x="150" y="0" width="5" height="50" fill="black"/>
+        <rect x="0" y="50" width="150" height="5" fill="black"/>
+        <ellipse rx="40" ry="15" cx="75" cy="25" fill="purple"/>
+      </g>
+      <text x="230" y="16" font-size="12">skewY(45)+skewX(45)</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-09-t.svg b/Tests/W3CTestSuite/svg/coords-trans-09-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d37ef9cce0122f819b98b9e845aec1afc16609b8
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-09-t.svg
@@ -0,0 +1,102 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="OA" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-09-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        This test verifies the implementation of transforms. It tests elementary transforms
+        and transform nesting.
+        Note that for layout purposes, this test uses nesting of translation with the elementary  transforms.
+      </p>
+      <p>
+        This test will check if the various matrix operations work
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-09-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="elementary-transforms-test">
+
+      <g transform="matrix(0 0 0 0 0 0)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="6" y="20" font-size="20">matrix(0 0 0 0 0 0)</text>
+
+      <g transform="matrix(1 0 0 1 100 100)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="100" y="100" font-size="20">matrix(1 0 0 1 100 100)</text>
+
+      <g transform="matrix(1.5 0 0 1.5 70 60)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="70" y="60" font-size="20">matrix(1.5 0 0 1.5 70 60)</text>
+
+      <g transform="matrix(1 0 0.5 1 30 170)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="30" y="170" font-size="20">matrix(1 0 0.5 1 30 170)</text>
+
+      <g transform="matrix(1 0.5 0 1 100 200)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="100" y="200" font-size="20">matrix(1 0.5 0 1 100 200)</text>
+
+      <g transform="matrix(0 1 -1 0 450 0)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="275" y="30" font-size="20">matrix(0 1 -1 0 450 0)</text>
+
+      <g transform="matrix(1 0.8 0.8 1 300 220)">
+        <rect x="0" y="0" width="150" height="5" fill="blue"/>
+        <rect x="0" y="0" width="5" height="50" fill="red"/>
+      </g>
+      <text x="230" y="220" font-size="20">matrix(1 0.8 0.8 1 300 220)</text>
+
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-10-f.svg b/Tests/W3CTestSuite/svg/coords-trans-10-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b50b4c3faf0b2c89bffccb09b9d400f941b76486
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-10-f.svg
@@ -0,0 +1,90 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: coords-trans-10-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        Translation is equivalent to the matrix [1 0 0 1 tx ty], where 'tx'
+        and 'ty' are the distances to translate coordinates in X and Y
+        respectively.  The test overlays a group of black graphics elements
+        with a 'translate' transform specified on top of an identical group
+        of red elements with the equivalent 'matrix' transform and vice
+        versa.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+         Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-10-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="translate(40 20)" fill="red">
+        <path d="M 20 20 L 70 20 L 45 60 z" /> 
+        <ellipse cx="120" cy="35" rx="30" ry="10" />
+        <text x="160" y="40">Filler Text</text>
+        <rect x="250" y="20" width="30" height="50" />
+        <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+    </g>
+    <g transform="matrix(1 0 0 1 40 20)" fill="black" stroke="black">
+        <path d="M 20 20 L 70 20 L 45 60 z" /> 
+        <ellipse cx="120" cy="35" rx="30" ry="10" />
+        <text x="160" y="40">Filler Text</text>
+        <rect x="250" y="20" width="30" height="50" />
+        <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+    </g>
+    <g transform="translate(0 100)">
+        <g transform="matrix(1 0 0 1 40 20)" fill="red">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+        <g transform="translate(40 20)" fill="black" stroke="black">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-11-f.svg b/Tests/W3CTestSuite/svg/coords-trans-11-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a5ed7d51887bb5fbe98cf55da5a429cd21f254df
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-11-f.svg
@@ -0,0 +1,86 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: coords-trans-11-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        Scaling is equivalent to the matrix [sx 0 0 xy 0 0], where one unit in the X and Y directions in the new coordinate system equals 'sx' and 'sy' units in the previous coordinate system respectively.The test  overlays a group of black graphics elements with a 'scale' transform specified on top of an identical group of red elements
+        with the equivalent 'matrix' transform and vice versa. 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-11-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="scale(1.2 2.5)" fill="red">
+        <path d="M 20 20 L 70 20 L 45 60 z" /> 
+        <ellipse cx="120" cy="35" rx="30" ry="10" />
+        <text x="160" y="40">Filler Text</text>
+        <rect x="250" y="20" width="30" height="50" />
+        <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+    </g>
+    <g transform="matrix(1.2 0 0 2.5 0 0)" fill="black" stroke="black">
+        <path d="M 20 20 L 70 20 L 45 60 z" /> 
+        <ellipse cx="120" cy="35" rx="30" ry="10" />
+        <text x="160" y="40">Filler Text</text>
+        <rect x="250" y="20" width="30" height="50" />
+        <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+    </g>
+    <g transform="translate(0 150)">
+        <g transform="matrix(1.2 0 0 2.5 0 0)" fill="red">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+        <g transform="scale(1.2 2.5)" fill="black" stroke="black">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-12-f.svg b/Tests/W3CTestSuite/svg/coords-trans-12-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b2f9b90378151b4481f07d252afabfea93244478
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-12-f.svg
@@ -0,0 +1,88 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-12-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        Rotation about the origin is equivalent to the matrix [cos(a) sin(a) -sin(a) cos(a) 0 0], which has the effect of rotating the coordinate system axes by angle 'a'. The test overlays a group of black graphics elements with a 'rotate' transform specified on top of an identical group of red elements
+        with the equivalent 'matrix' transform and vice versa.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-12-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="translate(200)">
+        <g transform="rotate(90)" fill="red">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+        <g transform="matrix(0 1 -1 0 0 0)" fill="black" stroke="black">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+    </g>
+    <g transform="translate(310)">
+        <g transform="matrix(0 1 -1 0 0 0)" fill="red">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+        <g transform="rotate(90)" fill="black" stroke="black">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-13-f.svg b/Tests/W3CTestSuite/svg/coords-trans-13-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0dba07346e59a4090c63697a15e17a0502ca9d78
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-13-f.svg
@@ -0,0 +1,87 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-13-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        A skew transformation along the x-axis is equivalent to the matrix [1 0 tan(a) 1 0 0], which has the effect of skewing X coordinates by angle 'a'.
+The test overlays a group of black graphics elements with a 'skewX' transform specified on top of an identical group of red elements
+        with the equivalent 'matrix' transform and vice versa. 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-13-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="skewX(45)" fill="red">
+        <path d="M 20 20 L 70 20 L 45 60 z" /> 
+        <ellipse cx="120" cy="35" rx="30" ry="10" />
+        <text x="160" y="40">Filler Text</text>
+        <rect x="250" y="20" width="30" height="50" />
+        <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+    </g>
+    <g transform="matrix(1 0 1 1 0 0)" fill="black" stroke="black">
+        <path d="M 20 20 L 70 20 L 45 60 z" /> 
+        <ellipse cx="120" cy="35" rx="30" ry="10" />
+        <text x="160" y="40">Filler Text</text>
+        <rect x="250" y="20" width="30" height="50" />
+        <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+    </g>
+    <g transform="translate(0 150)">
+        <g transform="matrix(1 0 1 1 0 0)" fill="red">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+        <g transform="skewX(45)" fill="black" stroke="black">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-trans-14-f.svg b/Tests/W3CTestSuite/svg/coords-trans-14-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a224a385d6cbc2fcae2a430906f5e4c0166d2a7c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-trans-14-f.svg
@@ -0,0 +1,89 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-trans-14-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#EstablishingANewUserSpace">
+      <p>
+        A skew transformation along the y-axis is equivalent to the matrix [1 tan(a) 0 1 0 0], which has the effect of skewing Y coordinates by angle 'a'.
+The test overlays a group of black graphics elements with a 'skewY' transform specified on top of an identical group of red elements
+        with the equivalent 'matrix' transform and vice versa.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-trans-14-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="scale(0.75) rotate(-20)">
+        <g transform="skewY(45)" fill="red">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+        <g transform="matrix(1 1 0 1 0 0)" fill="black" stroke="black">
+            <path d="M 20 20 L 70 20 L 45 60 z" /> 
+            <ellipse cx="120" cy="35" rx="30" ry="10" />
+            <text x="160" y="40">Filler Text</text>
+            <rect x="250" y="20" width="30" height="50" />
+            <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+        </g>
+        <g transform="translate(0 150)">
+            <g transform="matrix(1 1 0 1 0 0)" fill="red">
+                <path d="M 20 20 L 70 20 L 45 60 z" /> 
+                <ellipse cx="120" cy="35" rx="30" ry="10" />
+                <text x="160" y="40">Filler Text</text>
+                <rect x="250" y="20" width="30" height="50" />
+                <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+            </g>
+            <g transform="skewY(45)" fill="black" stroke="black">
+                <path d="M 20 20 L 70 20 L 45 60 z" /> 
+                <ellipse cx="120" cy="35" rx="30" ry="10" />
+                <text x="160" y="40">Filler Text</text>
+                <rect x="250" y="20" width="30" height="50" />
+                <line x1="310" y1="20" x2="350" y2="70" stroke-width="5" />
+            </g>
+        </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-01-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b3914f37c2892781d74eed5d2a83462e930db529
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-transformattr-01-f.svg
@@ -0,0 +1,94 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-transformattr-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#TransformAttribute">
+      <p>
+        Tests that separating transform definitions by whitespace and/or a comma is supported. The test draws a red 'rect' element with a valid, non-delimited transform list. It overlays it with an identical black rectangle with
+        equivalent transform list delimted by commas and numerical Unicode references of space (U+0020), tab (U+0009), carriage
+        return (U+000D), line feed (U+000A), and combination of all five, 
+so that no red is visible.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-transformattr-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="translate(50 50)rotate(45)skewX(15)scale(0.8)">
+        <rect x="0" y="0" width="100" height="100" fill="red" />
+    </g>
+    <g transform="translate(50 50),rotate(45),skewX(15),scale(0.8)">
+        <rect x="0" y="0" width="100" height="100" stroke="black"/>
+    </g>
+    <g transform="translate(50 50)rotate(45)skewX(15)scale(0.8)">
+        <rect x="125" y="125" width="100" height="100" fill="red" />
+    </g>
+    <g transform="translate(50 50)&#x0020;rotate(45)&#x0020;&#x0020;skewX(15)&#x0020;&#x0020;&#x0020;&#x0020;&#x0020;scale(0.8)">
+        <rect x="125" y="125" width="100" height="100" stroke="black"/>
+    </g>
+    <g transform="translate(50 50)rotate(45)skewX(15)scale(0.8)">
+        <rect x="150" y="-75" width="100" height="100" fill="red" />
+    </g>
+    <g transform="translate(50 50)&#x0009;rotate(45)&#x0009;&#x0009;skewX(15)&#x0009;&#x0009;&#x0009;&#x0009;&#x0009;scale(0.8)">
+        <rect x="150" y="-75" width="100" height="100" stroke="black"/>
+    </g>
+    <g transform="translate(50 50)rotate(45)skewX(15)scale(0.8)">
+        <rect x="300" y="-150" width="100" height="100" fill="red" />
+    </g>
+    <g transform="translate(50 50)&#x000D;rotate(45)&#x000D;&#x000D;skewX(15)&#x000D;&#x000D;&#x000D;&#x000D;&#x000D;scale(0.8)">
+        <rect x="300" y="-150" width="100" height="100" stroke="black"/>
+    </g>
+    <g transform="translate(50 50)rotate(45)skewX(15)scale(0.8)">
+        <rect x="400" y="-325" width="100" height="100" fill="red" />
+    </g>
+    <g transform="translate(50 50)&#x000A;rotate(45)&#x000A;&#x000A;skewX(15)&#x000A;&#x000A;&#x000A;&#x000A;&#x000A;scale(0.8)">
+        <rect x="400" y="-325" width="100" height="100" stroke="black"/>
+    </g>
+    <g transform="translate(50 50)rotate(45)skewX(15)scale(0.8)">
+        <rect x="500" y="-200" width="100" height="100" fill="red" />
+    </g>
+    <g transform="translate(50 50),rotate(45)&#x0020;&#x0009;skewX(15)&#x000D;&#x000A;scale(0.8)">
+        <rect x="500" y="-200" width="100" height="100" stroke="black"/>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-02-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7e676c7e48f7ad84e2d26eb71cdfe216d5bff0a2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-transformattr-02-f.svg
@@ -0,0 +1,93 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: coords-transformattr-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#TransformAttribute">
+      <p>
+        If a list of transforms is provided, then the net effect is as if each transform had been specified separately in the order provided.
+      </p>
+<p>        The test overlays a black 'rect' with transform list on top of an equivalent red 'rect' with equivalent nested transforms, and vice
+        versa, so that there is no red visible on the page.</p>p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-transformattr-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="translate(150)">
+        <g transform="translate(-10,-20) scale(2) rotate(45) translate(5,10)">
+            <rect width="50" height="50" fill="red" />
+            <circle cx="50" cy="50" r="25" fill="red" />
+            <line x1="50" y1="50" x2="100" y2="100" stroke="red" stroke-width="10" />
+        </g>
+        <g transform="translate(-10,-20)">
+            <g transform="scale(2)">
+                <g transform="rotate(45)">
+                    <g transform="translate(5,10)">
+                        <rect width="50" height="50" />
+                        <circle cx="50" cy="50" r="25" />
+                        <line x1="50" y1="50" x2="100" y2="100" stroke="black" stroke-width="10" />
+                    </g>
+                </g>
+            </g>
+        </g>
+        <g transform="translate(200)">
+            <g transform="translate(-10,-20)">
+                <g transform="scale(2)">
+                    <g transform="rotate(45)">
+                        <g transform="translate(5,10)">
+                            <rect width="50" height="50" fill="red" />
+                            <circle cx="50" cy="50" r="25" fill="red" />
+                            <line x1="50" y1="50" x2="100" y2="100" stroke="red" stroke-width="10" />
+                        </g>
+                    </g>
+                </g>
+            </g>
+            <g transform="translate(-10,-20) scale(2) rotate(45) translate(5,10)">
+                <rect width="50" height="50" />
+                <circle cx="50" cy="50" r="25" />
+                <line x1="50" y1="50" x2="100" y2="100" stroke="black" stroke-width="10" />
+            </g>
+        </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-03-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ce5f7a7b810351c9029ffd79aaf764bf0b7036bc
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-transformattr-03-f.svg
@@ -0,0 +1,62 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="accepted" version="$Revision: 1.3 $" testname="$RCSfile: coords-transformattr-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/coords.html#TransformAttribute">
+      <p>
+        If 'ty' is not specified for a 'translate' transform, it is assumed to be zero.
+      </p>
+      <p>
+        Specify a series of various red graphics elements. Specify an equivalent series of black graphics elements that are defined to have positions
+        that are shifted '10' user units to the right of the red graphics elements. Specify a 'transform' value of 'translate' with only the 'tx' value
+        specified  (i.e., 'translate(10)'). If the 'ty' parameter takes the default value of '0' user units, there will be no red on the page.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+			<p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-transformattr-03-f.svg,v $</title>
+    <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect x="10" width="100" height="200" fill="red" />
+    <rect transform="translate(10)" width="100" height="200" />
+    <ellipse cx="170" cy="100" rx="50" ry="100" fill="red" />
+    <ellipse transform="translate(10)" cx="160" cy="100" rx="50" ry="100" />
+    <line x1="230" x2="330" y1="10" y2="200" stroke="red" stroke-width="10" />
+    <line transform="translate(10)" x1="220" x2="320" y1="10" y2="200" stroke="black" stroke-width="10" />
+    <path d="M 340 0 L 440 0 390 200 Z" fill="red" />
+    <path transform="translate(10)" d="M 330 0 L 430 0 380 200 Z" fill="black" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-04-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..031c89e093c511f207b2cd15bab8ed521c4f4845
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-transformattr-04-f.svg
@@ -0,0 +1,60 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="accepted" version="$Revision: 1.3 $" testname="$RCSfile: coords-transformattr-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/coords.html#TransformAttribute">
+      <p>
+        If 'sy' is not specified for a 'scale' transform, it is assumed to be equal to 'sx'.
+      </p>
+      <p>
+        Specify a series of various red graphics elements. Specify an equivalent series of black graphics elements that are defined to have dimensions
+        that are half the size as the red elements. Specify a 'transform' value of 'scale' with only the 'sx' value specified  (i.e., 'scale(2)'). If the 'sy'
+        parameter takes the same value as the 'sx', there will be no red on the page. 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+			<p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-transformattr-04-f.svg,v $</title>
+    <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect width="100" height="200" fill="red" />
+    <rect transform="scale(2)" width="50" height="100" />
+    <ellipse cx="160" cy="100" rx="50" ry="100" fill="red" />
+    <ellipse transform="scale(2)" cx="80" cy="50" rx="25" ry="50" />
+    <line x1="220" x2="320" y1="10" y2="200" stroke="red" stroke-width="10" />
+    <line transform="scale(2)" x1="110" x2="160" y1="5" y2="100" stroke="black" stroke-width="5" />
+    <path d="M 330 0 L 430 0 380 200 Z" fill="red" />
+    <path transform="scale(2)" d="M 165 0 L 215 0 190 100 Z" fill="black" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-05-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2f14c18ba401b471b4d24310c53ba84b6109793c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-transformattr-05-f.svg
@@ -0,0 +1,71 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="accepted" version="$Revision: 1.4 $" testname="$RCSfile: coords-transformattr-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/coords.html#TransformAttribute">
+      <p>
+        If 'cx' and 'cy' are not specified for a 'rotate' transform, the rotation is about the origin of the current user coordinate system and thus corresponds to the matrix [cos(a) sin(a) -sin(a) cos(a) 0 0].
+      </p>
+      <p>
+        Specify a series of various black graphics elements inside a 'g' element with 'transform' set to a 'rotate' value with unspecified 'cx'
+        and 'cy' parameters (i.e., 'rotate(15)'). Specify an equivalent series of red graphics elements inside a 'g' element with 'transform' set
+        to a 'matrix' value which would rotate the elements 15 degrees about the point (0,0) of the current user coordinate system. If the 'g' element containing the black elements correctly rotates its content by 15 degrees around the origin of the current user coordinate system, there will be no red on the page.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+	<p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+            
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-transformattr-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(50 15)">
+        <g transform="matrix(0.96592582628906829 0.25881904510252076 -0.25881904510252076 0.96592582628906829 0 0)">
+            <rect x="10" width="100" height="200" fill="red" />
+            <ellipse cx="170" cy="100" rx="50" ry="100" fill="red" />
+            <line x1="230" x2="330" y1="10" y2="200" stroke="red" stroke-width="10" />
+            <path d="M 340 0 L 440 0 390 200 Z" fill="red" />
+        </g>
+        <g transform="rotate(15)">
+            <rect transform="translate(10)" width="100" height="200" />
+            <ellipse transform="translate(10)" cx="160" cy="100" rx="50" ry="100" />
+            <line transform="translate(10)" x1="220" x2="320" y1="10" y2="200" stroke="black" stroke-width="10" />
+            <path transform="translate(10)" d="M 330 0 L 430 0 380 200 Z" fill="black" />
+        </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/coords-units-01-b.svg b/Tests/W3CTestSuite/svg/coords-units-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..830d5b769831f470f3766ff5de6f9de6b4b2ac71
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-units-01-b.svg
@@ -0,0 +1,175 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: coords-units-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#Units">
+      <p>
+        Verify the conversion processing of percentage and fraction values relative to
+        object bounding boxes. This is used when defining linear and radial gradients
+        as well as patterns.
+      </p>
+      <p>
+        The test validates conversion for coordinates, width, height and length. The first
+        test defines three corresponding linear gradients, which specify coordinates
+        using percentages for one, fractions for the second and user coordinates for the
+        third. The second test defines three corresponding radial gradients, which specify
+        a length (radius) using percentages for the first, fractions for the second and
+        user space for the third. Finally, the third test defines three corresponding patterns,
+        which specify their width and height using percentages for the first, fractions for the
+        second and user space coordinates for the last one.
+      </p>
+      <p>
+        The test also assumes that linear and radial gradients,
+        as well as patterns are implemented.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered image should match the reference image.  Also, the text may
+        show minor differences, per CSS2 rules for font selection and matching.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-units-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="14">
+      <!-- ==================================================================== -->
+      <!-- The following gradients will be used to fill a rectangle with the    -->
+      <!-- following geometry in User space: x=0, y=0, width=50 height=20       -->
+      <!-- The gradient vector, in linearBoundingBox, is defined as: (0%, 0%)   -->
+      <!-- to (100%, 0%).                                                       -->
+      <!-- The gradient vector, in linearBoundingBoxFraction, is defined as:    -->
+      <!-- (0, 0) to (1, 0), which is equivalent.                               -->
+      <!-- According to the spec, for our rectangle, this corresponds to the    -->
+      <!-- following user space coordinates:                                    -->
+      <!-- (0%, 0%) becomes (0, 0) and (100%, 0%) becomes (20, 0)               -->
+      <!-- These values are used to define the linearUserSpace gradient.        -->
+      <!-- If the test succeeds, all the gradient should fill the rectangles    -->
+      <!-- the same way                                                         -->
+      <!-- ==================================================================== -->
+      <linearGradient id="linearBoundingBoxPercentage" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%">
+        <stop stop-color="fuchsia" offset="0"/>
+        <stop stop-color="blue" offset="1"/>
+      </linearGradient>
+      <linearGradient id="linearBoundingBoxFraction" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="0">
+        <stop stop-color="fuchsia" offset="0"/>
+        <stop stop-color="blue" offset="1"/>
+      </linearGradient>
+      <linearGradient id="linearUserSpace" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="50" y2="0">
+        <stop stop-color="fuchsia" offset="0"/>
+        <stop stop-color="blue" offset="1"/>
+      </linearGradient>
+      <!-- Draw Text Comment -->
+      <text x="30" y="30">Bounding box relative coordinates (percentage and fraction)</text>
+      <g transform="translate(30, 40)">
+        <rect x="0" y="0" width="50" height="20" fill="url(#linearBoundingBoxPercentage)"/>
+        <rect x="0" y="0" width="50" height="20" transform="translate(0, 20)" fill="url(#linearBoundingBoxFraction)"/>
+        <rect x="0" y="0" width="50" height="20" transform="translate(0, 40)" fill="url(#linearUserSpace)"/>
+        <line x1="0" y1="20" x2="50" y2="20" stroke="#cccccc" stroke-width="1"/>
+        <line x1="0" y1="40" x2="50" y2="40" stroke="#cccccc" stroke-width="1"/>
+        <text x="60" y="15">Percentage</text>
+        <text x="60" y="35">Fraction</text>
+        <text x="60" y="55">User Space</text>
+      </g>
+      <!-- ==================================================================== -->
+      <!-- The following gradients will be used to fill a rectangle with the    -->
+      <!-- following geometry in User space: x=0, y=0, width=60 height=60       -->
+      <!-- The radial gradient outmost circle, in radialBoundingBox, is defined -->
+      <!-- as: cx=25% cy=25% r=25%                                              -->
+      <!-- The radial gradient outmost circle, in radialBoundingBoxFraction, is -->
+      <!-- defined as: cx=0.25 cy=0.25 and r=0.25                               -->
+      <!-- These two definition, for our rectangle, should be identical to the  -->
+      <!-- following radial gradient outmost circle, in radialUserSpace:        -->
+      <!-- cx=15 cy=15 r=15                                                     -->
+      <!-- ==================================================================== -->
+      <radialGradient id="radialBoundingBoxPercentage" gradientUnits="objectBoundingBox" cx="25%" cy="25%" r="25%" fx="25%" fy="25%">
+        <stop stop-color="fuchsia" offset="0"/>
+        <stop stop-color="blue" offset="1"/>
+      </radialGradient>
+      <radialGradient id="radialBoundingBoxFraction" gradientUnits="objectBoundingBox" cx="0.25" cy="0.25" r="0.25" fx="0.25" fy="0.25">
+        <stop stop-color="fuchsia" offset="0"/>
+        <stop stop-color="blue" offset="1"/>
+      </radialGradient>
+      <radialGradient id="radialUserSpace" gradientUnits="userSpaceOnUse" cx="15" cy="15" r="15" fx="15" fy="15">
+        <stop stop-color="fuchsia" offset="0"/>
+        <stop stop-color="blue" offset="1"/>
+      </radialGradient>
+      <!-- Draw Text Comment -->
+      <text x="30" y="130">Bounding box relative length (percentage and fraction)</text>
+      <g transform="translate(30, 140)">
+        <rect x="0" y="0" width="60" height="60" fill="url(#radialBoundingBoxPercentage)"/>
+        <rect x="0" y="0" width="60" height="60" transform="translate(61, 0)" fill="url(#radialBoundingBoxFraction)"/>
+        <rect x="0" y="0" width="60" height="60" transform="translate(122, 0)" fill="url(#radialUserSpace)"/>
+        <text x="0" y="73">Percent.</text>
+        <text x="61" y="73">Fraction</text>
+        <text x="122" y="73">User Space</text>
+      </g>
+      <!-- ==================================================================== -->
+      <!-- The following patterns will be used to fill a rectangle, with the    -->
+      <!-- following geometry in User space: x=0, y=0, width=50 height=30       -->
+      <!-- The pattern tile, in patterBoundingBoxPercentage, is defined as:     -->
+      <!-- x=25% y=25% width=50% height=50%                                     -->
+      <!-- The pattern tile, in patternBoundingBoxFraction, is defined as:      -->
+      <!-- x=0.25 y=0.25 width=0.50 height=0.50                                 -->
+      <!-- For our test rectangle, both correspond to the following User space  -->
+      <!-- coordinates: x=12.5 y=7.5 width=25 height=15                         -->
+      <!-- These coordinates are use to define the patternUserSpace tile        -->
+      <!-- ==================================================================== -->
+      <pattern id="patternBoundingBoxPercentage" patternUnits="objectBoundingBox" patternContentUnits="objectBoundingBox" x="25%" y="25%" width="50%" height="50%">
+        <circle cx="0.50" cy="0.50" r="0.25" fill="fuchsia"/>
+        <rect x="0.4" y="0.4" width=".2" height=".2" fill="blue"/>
+      </pattern>
+      <pattern id="patternBoundingBoxFraction" patternUnits="objectBoundingBox" patternContentUnits="objectBoundingBox" x="0.25" y="0.25" width="0.50" height="0.50">
+        <circle cx="0.50" cy="0.50" r="0.25" fill="fuchsia"/>
+        <rect x="0.4" y="0.4" width=".2" height=".2" fill="blue"/>
+      </pattern>
+      <pattern id="patternUserSpace" patternUnits="userSpaceOnUse" patternContentUnits="userSpaceOnUse" x="12.5" y="7.5" width="25" height="15">
+        <circle id="patternContent" cx="25" cy="15" r="10" fill="fuchsia"/>
+        <rect x="20" y="12" width="10" height="6" fill="blue"/>
+      </pattern>
+      <!-- Draw Text Comment -->
+      <text x="30" y="240">Bounding box relative width/height (percentage and fraction)</text>
+      <g transform="translate(30, 250)">
+        <rect x="0" y="0" width="50" height="30" fill="url(#patternBoundingBoxPercentage)" stroke="black"/>
+        <rect x="0" y="0" width="50" height="30" transform="translate(150, 0)" fill="url(#patternBoundingBoxFraction)" stroke="black"/>
+        <rect x="0" y="0" width="50" height="30" transform="translate(300, 0)" fill="url(#patternUserSpace)" stroke="black"/>
+        <text x="60" y="20">Percentage</text>
+        <text x="210" y="20">Fraction</text>
+        <text x="360" y="20">User Space</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-units-02-b.svg b/Tests/W3CTestSuite/svg/coords-units-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b83db377420c72bc9f251c3a375bd798974e068a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-units-02-b.svg
@@ -0,0 +1,139 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: coords-units-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#Units">
+      <p>
+        Verify the conversion processing of CSS units and percentage values for both
+        coordinates and length values. Note that the test uses the CSS px unit to be usable
+        in all pixel resolutions. Hence, the conversion from other CSS units to CSS px is
+        left out of the test.
+      </p>
+      <p>
+        There are six atomic tests in this test. For each, the approach is to draw two similar
+        elements (circles or rects) with coordinates specified in user space for one and in
+        CSS units or percentage for the other. Each test is such that these two values (or
+        value pairs) should match.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+        In the first two tests, that validate coordinate processing, the circles
+        should have the same center. In the following two tests, the rectangles should have
+        the same height and width. And finally, in the last test, the 3 skewed circles should have the
+        same radius.
+      </p>
+      <p>
+        The rendered image should match the reference image except for the text which may
+        show minor differences, per CSS2 rules for font selection and matching.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-units-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="13pt">
+      <!-- ==================================================================== -->
+      <!-- First test, converting CSS coordinates to user space.                -->
+      <!-- If implemented properly, the pink marker should appear on top of     -->
+      <!-- the black marker.                                                    -->
+      <!-- ==================================================================== -->
+      <!-- Draw Text Comment -->
+      <text x="60" y="35">CSS pixel coordinate to user space conversion</text>
+      <g transform="translate(5, 0) scale(4)">
+        <!-- Draw marker using user space units -->
+        <circle cx="7.5" cy="7.5" r="2.5" fill="black"/>
+        <!-- Draw CSS marker using px units -->
+        <circle cx="7.5px" cy="7.5px" r="1.5px" fill="fuchsia"/>
+      </g>
+      <!-- ==================================================================== -->
+      <!-- Same test, using percentage values for the coordinates               -->
+      <!-- ==================================================================== -->
+      <!-- Draw Text Comment -->
+      <text x="60" y="85">Percentage coordinates to user space conversion</text>
+      <g transform="translate(5, 50) scale(4)">
+        <!-- Draw marker using user space units -->
+        <circle cx="7.5" cy="7.5" r="2.5" fill="black"/>
+        <!-- Draw marker using percentages: 7.5 = 1.563% of 480 (cx)      -->
+        <!-- Draw marker using percentages: 7.5 = 2.083% of 360 (cy)      -->
+        <circle cx="1.563%" cy="2.083%" r=".3535%" fill="fuchsia"/>
+      </g>
+      <!-- ==================================================================== -->
+      <!-- Second test, converting CSS width and height to user space.          -->
+      <!-- If implemented properly, the link marker should appear bellow the    -->
+      <!-- black one and have the same size                                     -->
+      <!-- ==================================================================== -->
+      <!-- Draw Text Comment -->
+      <text x="60" y="140">CSS width/height to user space conversion</text>
+      <g transform="translate(30, 115) scale(4)">
+        <!-- Draw marker using user space units -->
+        <rect x="-5" y="0" width="10" height="5" fill="black"/>
+        <!-- Draw CSS marker using px units -->
+        <rect x="-5" y="5" width="10px" height="5px" fill="fuchsia"/>
+      </g>
+      <!-- ==================================================================== -->
+      <!-- Same test, using percentage values for the length                    -->
+      <!-- ==================================================================== -->
+      <!-- Draw Text Comment -->
+      <text x="60" y="200">Percentage width/height to user space conversion</text>
+      <g transform="translate(30, 175) scale(4)">
+        <!-- Draw marker using user space units -->
+        <rect x="-5" y="0" width="10" height="5" fill="black"/>
+        <!-- Draw CSS marker using percentages: 5*2  = 10 = 2.083% of 480  -->
+        <!--                                  2.5*2  =  5 = 1.389% of 360  -->
+        <rect x="-5" y="5" width="2.083%" height="1.389%" fill="fuchsia"/>
+      </g>
+      <!-- ==================================================================== -->
+      <!-- Third test, converting CSS arbitrary length to user space .          -->
+      <!-- If implemented properly, the three circles which are side by side    -->
+      <!-- should have the same radius                                          -->
+      <!-- ==================================================================== -->
+      <!-- Draw Text Comment -->
+      <text x="140" y="265">CSS and percentage length conversion</text>
+      <g transform="translate(30, 260)  skewX(45) scale(4)">
+        <!-- Draw marker using user space units -->
+        <circle cx="0" cy="0" r="3.536" fill="black"/>
+        <!-- Draw CSS marker using px units.                                    -->
+        <circle cx="10" cy="0" r="3.536px" fill="fuchsia"/>
+        <!-- Draw marker using percentages. This should yield a value of 3.536  -->
+        <!-- in user space. 3.536 = .8334% of 424.268px                              -->
+        <circle cx="20" cy="0" r=".8334%" fill="green"/>
+        <!-- Draw control lines at the top and bottom of the circles            -->
+        <line x1="-3.536" y1="-3.536" x2="25" y2="-3.536" fill="none" stroke="#cccccc" stroke-width=".5"/>
+        <line x1="-3.536" y1="3.536" x2="25" y2="3.536" fill="none" stroke="#cccccc" stroke-width=".5"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-units-03-b.svg b/Tests/W3CTestSuite/svg/coords-units-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c9828be4b3c57d1444d841fc09a1ad073079eca1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-units-03-b.svg
@@ -0,0 +1,160 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: coords-units-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#Units">
+      <p>
+        This test verifies both the initial viewport size and the support for the various
+        unit specifiers.
+      </p>
+      <p>
+        The units in SVG can be: user coordinate and CSS units: em, ex, px, pt, pc, cm, mm,
+        in and percentages. The test does not check the absolute length accuracy as this
+        can only be truly validated with a ruler. However, it validates that the different
+        units are supported by drawing multiple elements who have the same length specified
+        in different units.
+      </p>
+      <p>
+        The viewport is the "finite rectangular region" where rendering occurs in SVG.
+        Hence, nothing should be rendered outside the viewport (paragraph 7.1). Furthermore,
+        when no positioning properties are set on the top svg element, the initial viewport
+        size should have the value of the top svg element's "width" and "height" attributes.
+        To check this behavior, the test does not define positioning properties on the top
+        svg element but defines its "width" and "height" properties. Then it fills a red
+        rectangle that is bigger than the viewport size. Then, a rectangle, the size of the
+        viewport is drawn in white. If rendering is limited to the viewport area, none of the
+        red should show.
+      </p>
+      <p>
+        The line showing the "ex" units will not necessarily appear with the same length
+        as shown in the reference image because the X-height of a font is not
+        necessarily half of the font size (which is assumed in the reference image where
+        1ex is considered to be .5em).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the top three lines (user units, px, em) are the same length,
+      the fifth line (%) is the same length as the top three lines, and the bottom
+      five lines (in, cm, mm, pt, pc) are the same length.  The fourth line (ex) may have
+      any non-zero length, since the X-height of the font will depend on the exact font
+      chosen by the user agent (which may vary).</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-units-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="viewport-initial-size-test">
+      <!-- ====================================================================== -->
+      <!-- First fill a rectangle that is bigger than the defined viewport ====== -->
+      <!-- ====================================================================== -->
+      <rect x="0px" y="0px" width="2000px" height="2000px" fill="red"/>
+      <!-- ====================================================================== -->
+      <!-- This second rectangle should cover the previous one, so none of the == -->
+      <!-- red should show if the initial viewport has the requested size      == -->
+      <!-- ====================================================================== -->
+      <rect x="0px" y="0px" width="480px" height="360px" fill="white"/>
+    </g>
+    <!-- viewport-initial-size-test -->
+    <!-- Title -->
+    <text x="125" y="20" fill="black" font-size="12" font-family="Arial">Initial viewport and CSS units test</text>
+    <g id="units-test" fill="black" font-size="10pt" transform="translate(0, 60)">
+      <!-- ====================================================================== -->
+      <!-- Now, draw rectangles using the various unit specifiers                 -->
+      <!-- ====================================================================== -->
+      <!-- User Space -->
+      <text x="20" y="18">200</text>
+      <text x="230" y="20">User space units (no specifier)</text>
+      <rect x="20" y="20" width="200" height="1"/>
+      <!-- ================== -->
+      <!-- Relative CSS Units -->
+      <!-- ================== -->
+      <!-- Pixels : Should correspond to User Space, because the initial user -->
+      <!-- coordinate is such that one user space unit equals one pixel in    -->
+      <!-- viewport.                                                          -->
+      <text x="20" y="38">200 px</text>
+      <text x="230" y="40">Pixels (px)</text>
+      <rect x="20" y="40" width="200px" height="1"/>
+      <!-- Font size (em). Should be equal to 200pt because current font's    -->
+      <!-- point size is 10pt                                                 -->
+      <text x="20" y="58">20 em = 200 px (font-size=10px)</text>
+      <text x="230" y="60">Relative to font size (em)</text>
+      <g font-size="10px">
+        <rect x="20" y="60" width="20em" height="1"/>
+      </g>
+      <!-- X-Height (ex). With a 10px font-size, x-height is about 5px, so  -->
+      <!-- ex units would be about 200px                                    -->
+      <text x="20" y="78">40 ex</text>
+      <text x="230" y="80">Relative to font x-height (ex)</text>
+      <g font-size="10px">
+        <rect x="20" y="80" width="40ex" height="1"/>
+      </g>
+      <!-- ========================= -->
+      <!-- Percentage                -->
+      <!-- ========================= -->
+      <!-- 1% = 4.8px because viewport is 480px -->
+      <text x="20" y="98">41.67% = 200 px</text>
+      <text x="230" y="100">Percentage (%)</text>
+      <rect x="20" y="100" width="41.67%" height="1"/>
+      <!-- ========================= -->
+      <!-- Absolute Length CSS Units -->
+      <!-- ========================= -->
+      <!-- Inches (should be the same length as following (cm) rect)          -->
+      <text x="20" y="118">1 in</text>
+      <text x="230" y="120">Inches (in)</text>
+      <rect x="20" y="120" width="1in" height="1"/>
+      <!-- Centimeters(should be the same length as previous (in) rect)       -->
+      <!-- 1in = 2.54cm -->
+      <text x="20" y="138">2.54 cm = 1 in</text>
+      <text x="230" y="140">Centimeters (cm)</text>
+      <rect x="20" y="140" width="2.54cm" height="1"/>
+      <!-- Millimeters (should be the same length as previous (cm) rect)      -->
+      <!-- 10mm = 1cm -->
+      <text x="20" y="158">25.4 mm = 1 in</text>
+      <text x="230" y="160">Millimeters (mm)</text>
+      <rect x="20" y="160" width="25.4mm" height="1"/>
+      <!-- Points (should be the same length as (in) rect                     -->
+      <!-- 1pt = 1/72 in -->
+      <text x="20" y="178">72pt = 1 in</text>
+      <text x="230" y="180">Points (pt)</text>
+      <rect x="20" y="180" width="72pt" height="1"/>
+      <!-- Picas (should be the same length as previous (pt) rect)            -->
+      <!-- 1pc = 12pt -->
+      <text x="20" y="198">6pc = 1 in</text>
+      <text x="230" y="200">Picas (pc)</text>
+      <rect x="20" y="200" width="6pc" height="1"/>
+    </g>
+    <!-- units-test -->
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-viewattr-01-b.svg b/Tests/W3CTestSuite/svg/coords-viewattr-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..05fbe99f56253b218e4bb87412b9b897966553db
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-viewattr-01-b.svg
@@ -0,0 +1,140 @@
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
+  <!ENTITY Smile "
+    <rect x='.5' y='.5' width='29' height='39' fill='black' stroke='orange' stroke-width='2'/>
+    <g transform='translate(0, 5)'>
+      <circle cx='15' cy='15' r='10' fill='yellow'/>
+      <circle cx='12' cy='12' r='1.5' fill='black'/>
+      <circle cx='17' cy='12' r='1.5' fill='black'/>
+      <path d='M 10 19 L 15 23 20 19' stroke='black' stroke-width='2'/>
+    </g>
+  ">
+  <!ENTITY Viewport1 "<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>">
+  <!ENTITY Viewport2 "<rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>">
+]>
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: coords-viewattr-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute">
+      <p>
+        This test verifies the implementation of the viewBox and the
+        preserveAspectRatio attribute. This is a modified version of the sample
+        file included in the SVG specification. It exercises the various
+        preserveAspectRatio values and uses a general entity definition in order
+        to make reading of the SVG source easier.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Load the document in the user agent.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for
+        variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-viewattr-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="9" transform="translate(0, 30)">
+      <desc>Example PreserveAspectRatio - demonstrate available options</desc>
+      <text text-anchor="middle" x="240" font-size="16">Test available options of preserveAspectRatio</text>
+      <text x="35.5" y="30" text-anchor="middle">SVG to fit</text>
+      <g transform="translate(20,40)">&Smile;</g>
+      <text x="35.5" y="110" text-anchor="middle">Viewport 1</text>
+      <g transform="translate(10,120)">&Viewport1;</g>
+      <text x="35.5" y="180" text-anchor="middle">Viewport 2</text>
+      <g transform="translate(20,190)">&Viewport2;</g>
+      <g id="meet-group-1" transform="translate(120, 50)">
+        <text x="0" y="-20">---------- meet --------------------</text>
+        <g>
+          <text y="-5">xMin*</text>&Viewport1;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin meet" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
+        </g>
+        <g transform="translate(70,0)">
+          <text y="-5">xMid*</text>&Viewport1;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
+        </g>
+        <g transform="translate(0,50)">
+          <text y="-5">xMax*</text>&Viewport1;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMaxYMax meet" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
+        </g>
+      </g>
+      <g id="meet-group-2" transform="translate(300, 50)">
+        <text x="0" y="-20">---------- meet ------------------------</text>
+        <g>
+          <text y="-5">*YMin</text>&Viewport2;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin meet" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
+        </g>
+        <g transform="translate(50, 0)">
+          <text y="-5">*YMid</text>&Viewport2;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid meet" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
+        </g>
+        <g transform="translate(100, 0)">
+          <text y="-5">*YMax</text>&Viewport2;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMaxYMax meet" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
+        </g>
+      </g>
+      <g id="slice-group-1" transform="translate(120, 185)">
+        <text x="0" y="-20">---------- slice -------------------------</text>
+        <g>
+          <text y="-5">xMin*</text>&Viewport2;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin slice" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
+        </g>
+        <g transform="translate(50,0)">
+          <text y="-5">xMid*</text>&Viewport2;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid slice" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
+        </g>
+        <g transform="translate(100,0)">
+          <text y="-5">xMax*</text>&Viewport2;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMaxYMax slice" viewBox="0 0 30 40" width="30" height="60">&Smile;</svg>
+        </g>
+      </g>
+      <g id="slide-group-2" transform="translate(300, 155) translate(0, 30)">
+        <text x="0" y="-20">---------- slice ---------------------</text>
+        <g>
+          <text y="-5">*YMin</text>&Viewport1;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMinYMin slice" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
+        </g>
+        <g transform="translate(70,0)">
+          <text y="-5">*YMid</text>&Viewport1;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid slice" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
+        </g>
+        <g transform="translate(0,50)">
+          <text y="-5">*YMax</text>&Viewport1;
+          <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMaxYMax slice" viewBox="0 0 30 40" width="50" height="30">&Smile;</svg>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-viewattr-02-b.svg b/Tests/W3CTestSuite/svg/coords-viewattr-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..77a0e19799a892dff51f5cd4c8f1a8f1263e5734
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-viewattr-02-b.svg
@@ -0,0 +1,716 @@
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
+  <!ENTITY Viewport1 "<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>">
+  <!ENTITY Viewport2 "<rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>">
+]>
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: coords-viewattr-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute">
+      <p>
+        This test verifies the implementation of the preserveAspectRatio attribute on &lt;image&gt;
+        referencing raster content.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This is a modified version of the sample file included in the SVG specification.
+        It exercises the various preserveAspectRatio values and uses a general entity definition
+        in order to make reading of the SVG source easier.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-viewattr-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="9" transform="translate(0, 30)">
+      <desc>Example PreserveAspectRatio - demonstrate available options</desc>
+      <text text-anchor="middle" x="240" font-size="16">Test options of preserveAspectRatio on an image element</text>
+      <text x="40" y="30" text-anchor="middle">Raster to fit</text>
+      <g transform="translate(20,40)">
+        <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" width="40" height="40" preserveAspectRatio="none" />
+      </g>
+      <text x="35.5" y="110" text-anchor="middle">Viewport 1</text>
+      <g transform="translate(10,120)">&Viewport1;</g>
+      <text x="35.5" y="180" text-anchor="middle">Viewport 2</text>
+      <g transform="translate(20,190)">&Viewport2;</g>
+      <g id="meet-group-1" transform="translate(120, 50)">
+        <text x="0" y="-20">---------- meet --------------------</text>
+        <g>
+          <text y="-5">xMin*</text>&Viewport1;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMinYMin meet" width="50" height="30" />
+        </g>
+        <g transform="translate(70,0)">
+          <text y="-5">xMid*</text>&Viewport1;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMidYMid meet" width="50" height="30" />
+        </g>
+        <g transform="translate(0,50)">
+          <text y="-5">xMax*</text>&Viewport1;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMaxYMax meet" width="50" height="30" />
+        </g>
+      </g>
+      <g id="meet-group-2" transform="translate(300, 50)">
+        <text x="0" y="-20">---------- meet ------------------------</text>
+        <g>
+          <text y="-5">*YMin</text>&Viewport2;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMinYMin meet" width="30" height="60" />
+        </g>
+        <g transform="translate(50, 0)">
+          <text y="-5">*YMid</text>&Viewport2;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMidYMid meet" width="30" height="60" />
+        </g>
+        <g transform="translate(100, 0)">
+          <text y="-5">*YMax</text>&Viewport2;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMaxYMax meet" width="30" height="60" />
+        </g>
+      </g>
+      <g id="slice-group-1" transform="translate(120, 185)">
+        <text x="0" y="-20">---------- slice -------------------------</text>
+        <g>
+          <text y="-5">xMin*</text>&Viewport2;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMinYMin slice" width="30" height="60" />
+        </g>
+        <g transform="translate(50,0)">
+          <text y="-5">xMid*</text>&Viewport2;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMidYMid slice" width="30" height="60" />
+        </g>
+        <g transform="translate(100,0)">
+          <text y="-5">xMax*</text>&Viewport2;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMaxYMax slice" width="30" height="60" />
+        </g>
+      </g>
+      <g id="slide-group-2" transform="translate(300, 155) translate(0, 30)">
+        <text x="0" y="-20">---------- slice ---------------------</text>
+        <g>
+          <text y="-5">*YMin</text>&Viewport1;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMinYMin slice" width="50" height="30" />
+        </g>
+        <g transform="translate(70,0)">
+          <text y="-5">*YMid</text>&Viewport1;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMidYMid slice" width="50" height="30" />
+        </g>
+        <g transform="translate(0,50)">
+          <text y="-5">*YMax</text>&Viewport1;
+          <image xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/b
+AIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBA
+QEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUw
+MDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgAZABkAwEiAAIRAQMRAf/EAT8AAAEFAQEBAQEBAAAAAAAA
+AAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD
+DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1Rk
+RcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX
+5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MV
+Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpam
+tsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A8/SSR8LCyc/JZi4rDZdYYa0flPgAgSACSaA1
+JKkLWuc4NaC5x0AGpJXT9J+onUcwC3Od9jpOoYRutI/q/m/P7l1X1f8Aqth9HYLXgX5xHuuI0b5V
+g8fHlbixOa+LSsw5fQf5w7/QMscfdxcL6n9BwwP1cXvH5953/wDR+j+C1qsbHoEU1MqHgxob+RES
+WVPNlyG5zlP+8bXgAbBRAIgiR4Knk9G6TlgjIw6Xz32AO/zhBVxJNjOUTcZGJ8DSnk+pf4v8C4F/
+T7XY1nZj/fX/AOSH4rjOq9E6l0mzZmVFrSYZa33Vu+Dv4L19Qvx6Mmp1GRW22p4hzHCQQtDl/imf
+GQMh96Hj830P8VpgDto+KJLqPrR9UX9M3ZuCDZgzL2cupn8rfP71y63sObHmgJ4zYP2g9ixEEGip
+JJJSoXa1znBrQS5xgAckleo/Vb6vM6Phh9oBzrwDc790cisfDv5rlfqJ0kZnUXZ1rZpw4LJ4Nrvo
+/wCbz9y9GWH8W5o8X3eB0GuTz6Blxx6qSSVDrPWcTo2J9pyZcXHbVU36T3eA/iVkwhKchCAMpS0A
+C9vpLiKP8YxNwGRhbaCdSx8vA+BABXZ42TTl49eTjuD6bWhzHDuCpc/K5sFe7DhEtjdj8FCQOyRJ
+Vuo9Qxum4lmZlO21V+GpcTw1o8SuQP8AjHd62mCPQn/Se+P82EsHKZ8wMsUOIR62Br9UGQG73CSq
+9M6li9Uw2ZmK6a36EHRzXDlrh4hWlDKJjIxkKMTRBXLOa17Sx4DmuBDmnUEHsV5j9bfq/wDsfMFt
+AP2LIJNX8h3ev+5enqj1rplfVem3Yb43PE1OP5tjdWlWuR5o8vlBJ9E9Jjw7/RbKNh8fSRPQu9f7
+PtPrb/T2d987dv3pLqLHfx+jA+ofU/CGH0HHkQ+8G9/9v6P/AEYW0h41Qox6qRxUxrB/ZEIi4/NM
+5Ms5n9ORl9rYAoAKXEf4xqLicLIAJoaHsJ7B5gj7wF26Hk42Pl0ux8mtttLxDmOEgqTlc/sZoZa4
+hG7HgdFSFinxVeo/Uui+n6v44ukby97Gnsxxlv38p6PqX9X6b/WGOXwZax7i5g/snn5rcAAAAEAc
+BXfiHxDHnxxx44yri4iZfkFkIEGy8v8A4waL7Oj1WVgmum4OtA7Atc0OPzK85XttlbLWOrsaHseC
+HNcJBB7ELCP1K+rxv9b7O6Jn0t7tn3TP4o8h8Rx4MXt5Iy0JMTHx7qlAk2Gl/i8ovr6ZkWvBFVtv
+6Ke+0Q5w/J8l1ajVVXTW2qpoZWwQ1jRAAHYBSWfzGb3s08tcPGbpeBQpSSSSiS8d+xGf8/PU2/od
+n22I03fQ/wDPmqS6z7Oz7V9pj3+n6c+W7ckrv36fc/7m9j+1bw/9K0oIIBHB4SVPo2SMvpOHkAzv
+pZP9YCHfiFcVOcTGUoneJI+xKkkkkEqSSSSUpJJJJSkkkklKSSSSUrySWX+0m/8AOT9mz/2l9T+3
+v4/zUlL7E+3+T93/AAUX+dOP/i+6kLsC3p7z+kxnb2D/AIN+v4O/KusXkHROq2dJ6lVmMktadtrB
++dW76Q/u8165j305NFeRQ4PqtaHMcO4KufFOXOPOcgHoza/4XUftWwNiuzMkASeFiYv1u6Nk59mC
+LdjmO212v0rtPfa74+PK2yARB1BXKdc+ouLmOdkdNcMa86uqP804+UfR/Iq3LR5eRlHPKUOIeiQ2
+B8Uyvo9WkvNmZv1u+rf6O1rzjt0AsHq0/wBl44+RWjj/AOMd4AGTggnu6uyP+i5p/Kp5fDM/zYjD
+PDpKEh+1HGOuj3CS41/+MfFA9mFYXeBeAPwBWfk/XzrOWfSwMdlLnaDaDbZ8u34IR+Gc2d4CA7yk
+K/BXHF7nP6jhdOoORmWtqrHE8uPg0ckqt0Tr2F1ql9mNLH1uh9T43Afmu07FcbifVP6wdavGT1Wx
+1LDy+47rI8G19vnC7bpPRsDpFHo4dcE/zlrtXvP8pyGfDy2HGYjJ72e94fJHwSDInag3kznNY0uc
+Ya0SSeAAnXLfXnrgw8L9m0O/WcofpI5ZV3/zuPvVfBhlmyxxx/SO/YdSkmhbyv7fd/zp/bEn0/W4
+/wCB/m4/zEliJLqfu2L93/Jez/gdmCz+NqXUfVH60fsx4wc1x+w2H2POvouPf+qe/wB65dJHNhhm
+xnHMWD9oPcKBINh9ta5r2h7CHNcJa4agg9wnXmH1f+tuZ0iKLQcjC/0RPuZ/xZ/gvQemda6b1Wvf
+h3B7vzqj7bG/FpXN81yOXlySRxw6TG317M0ZAt7nQqnf0bpORrdhUvJ7mts/eBKuJKrGUom4kx8j
+SXNZ9W+gsMjApnzbP5VeoxcbHEY9LKR4VtDf+pCIknSy5JfNOUv7xJVQUkmc5rGlzyGtGpJMABcv
+1z684WG11HTYysnj1P8ABMPx/O+X3p2HBlzS4ccTL8h5lRIG7qdf6/i9FxfUsIfkvB9CidXHxPg0
+LyzMzMjOybMrJdvutO5zv4DyCWZmZOdkOycqw23P+k535B4BBXR8lyUeWj+9kl80v2DwYZSvyUkk
+kri1SSSSSlIlHr+q37Pv9afZ6c758tuqSSB2P7dlPc9E/wCfm1vqbPR0j7b9KP7H6T711mP9q2D7
+V6e/v6e6P+kkkuZ575z/ALm3/wAh+1nj9fql+Cy+p/8AOTaf2b9l/wCub9/y/NSSVfB84/m/+q/K
+k/X6PA9f/wCdO4/tj1vTnT/Q/L0/YsNJJdTy381H+a/6j8n0YDv1+qkkklMhSSSSSn//2Q==" preserveAspectRatio="xMaxYMax slice" width="50" height="30" />
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-viewattr-03-b.svg b/Tests/W3CTestSuite/svg/coords-viewattr-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..02c31605ea1791f7a22437830042e6395ba14ebf
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-viewattr-03-b.svg
@@ -0,0 +1,94 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: coords-viewattr-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute">
+      <p>
+        This file tests the allowed syntax of the viewBox attribute.  The viewBox attribute is a list of
+        four numbers min-x, min-y, width and height, separated by whitespace and/or a comma.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>      
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        In the rendered result, you should see 6 identical light blue shapes.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-viewattr-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="20" x="240" y="28" text-anchor="middle">&lt;svg&gt; 'viewBox' attribute</text>
+
+    <g fill="lightblue" stroke="black">
+
+      <svg x="35" y="50" width="100" height="100" viewBox="0 0 200 200" overflow="visible">
+        <path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
+      </svg>
+      <text font-size="13.5" x="85" y="155" text-anchor="middle" fill="black" stroke="none">viewBox="0 0 200 200"</text>
+      <text font-size="13.5" x="85" y="170" text-anchor="middle" fill="black" stroke="none">overflow="visible" </text>
+
+      <svg x="35" y="180" width="100" height="100" viewBox="0 0 200 200" overflow="hidden">
+        <path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
+      </svg>
+      <text font-size="13.5" x="85" y="285" text-anchor="middle" fill="black" stroke="none">viewBox="0 0 200 200"</text>
+      <text font-size="13.5" x="85" y="300" text-anchor="middle" fill="black" stroke="none">overflow="hidden" </text>
+
+      <svg x="190" y="50" width="100" height="100" viewBox="0,0,200,200" overflow="visible">
+        <path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
+      </svg>
+      <text font-size="13.5" x="240" y="155" text-anchor="middle" fill="black" stroke="none">viewBox="0,0,200,200"</text>
+      <text font-size="13.5" x="240" y="170" text-anchor="middle" fill="black" stroke="none">overflow="visible" </text>
+
+      <svg x="190" y="180" width="100" height="100" viewBox="0,0,200,200" overflow="hidden">
+        <path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
+      </svg>
+      <text font-size="13.5" x="240" y="285" text-anchor="middle" fill="black" stroke="none">viewBox="0,0,200,200"</text>
+      <text font-size="13.5" x="240" y="300" text-anchor="middle" fill="black" stroke="none">overflow="hidden" </text>
+
+      <svg x="345" y="50" width="100" height="100" viewBox="0,0,   200, 200" overflow="visible">
+        <path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
+      </svg>
+      <text font-size="13.5" x="395" y="155" text-anchor="middle" fill="black" stroke="none">viewBox="0,0,   200, 200"</text>
+      <text font-size="13.5" x="395" y="170" text-anchor="middle" fill="black" stroke="none">overflow="visible" </text>
+
+      <svg x="345" y="180" width="100" height="100" viewBox="0,0,   200, 200" overflow="hidden">
+        <path fill-rule="evenodd" d="M20,20 Q180,20 180,180 Q20,180 20,20 Z M20,180 Q20,20 180,20 Q180,180 20,180 Z M100,40 L160,100 100,160 40,100 Z"/>
+      </svg>
+      <text font-size="13.5" x="395" y="285" text-anchor="middle" fill="black" stroke="none">viewBox="0,0,   200, 200"</text>
+      <text font-size="13.5" x="395" y="300" text-anchor="middle" fill="black" stroke="none">overflow="hidden" </text>
+
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/coords-viewattr-04-f.svg b/Tests/W3CTestSuite/svg/coords-viewattr-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f172ecd2aeb3cdd63a87e5491e9934b9a0d4f282
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/coords-viewattr-04-f.svg
@@ -0,0 +1,129 @@
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
+  <!ENTITY Viewport1 "<rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>">
+  <!ENTITY Viewport2 "<rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>">
+]>
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: coords-viewattr-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/coords.html#ViewBoxAttribute">
+      <p>
+        This test verifies the implementation of the preserveAspectRatio attribute on &lt;image&gt;
+        referencing svg content.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: coords-viewattr-04-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="9" transform="translate(0, 30)">
+      <desc>Example PreserveAspectRatio - demonstrate available options</desc>
+      <text text-anchor="middle" x="240" font-size="16">Test options of preserveAspectRatio on an image element</text>
+      <text x="40" y="30" text-anchor="middle">SVG to fit</text>
+      <g transform="translate(20,40)">
+        <image xlink:href="../images/happysmiley.svg" width="40" height="40" preserveAspectRatio="none" />
+      </g>
+      <text x="35.5" y="110" text-anchor="middle">Viewport 1</text>
+      <g transform="translate(10,120)">&Viewport1;</g>
+      <text x="35.5" y="180" text-anchor="middle">Viewport 2</text>
+      <g transform="translate(20,190)">&Viewport2;</g>
+      <g id="meet-group-1" transform="translate(120, 50)">
+        <text x="0" y="-20">---------- meet --------------------</text>
+        <g>
+          <text y="-5">xMin*</text>&Viewport1;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMinYMin meet" width="50" height="30" />
+        </g>
+        <g transform="translate(70,0)">
+          <text y="-5">xMid*</text>&Viewport1;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMidYMid meet" width="50" height="30" />
+        </g>
+        <g transform="translate(0,50)">
+          <text y="-5">xMax*</text>&Viewport1;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMaxYMax meet" width="50" height="30" />
+        </g>
+      </g>
+      <g id="meet-group-2" transform="translate(300, 50)">
+        <text x="0" y="-20">---------- meet ------------------------</text>
+        <g>
+          <text y="-5">*YMin</text>&Viewport2;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMinYMin meet" width="30" height="60" />
+        </g>
+        <g transform="translate(50, 0)">
+          <text y="-5">*YMid</text>&Viewport2;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMidYMid meet" width="30" height="60" />
+        </g>
+        <g transform="translate(100, 0)">
+          <text y="-5">*YMax</text>&Viewport2;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMaxYMax meet" width="30" height="60" />
+        </g>
+      </g>
+      <g id="slice-group-1" transform="translate(120, 185)">
+        <text x="0" y="-20">---------- slice -------------------------</text>
+        <g>
+          <text y="-5">xMin*</text>&Viewport2;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMinYMin slice" width="30" height="60" />
+        </g>
+        <g transform="translate(50,0)">
+          <text y="-5">xMid*</text>&Viewport2;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMidYMid slice" width="30" height="60" />
+        </g>
+        <g transform="translate(100,0)">
+          <text y="-5">xMax*</text>&Viewport2;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMaxYMax slice" width="30" height="60" />
+        </g>
+      </g>
+      <g id="slide-group-2" transform="translate(300, 155) translate(0, 30)">
+        <text x="0" y="-20">---------- slice ---------------------</text>
+        <g>
+          <text y="-5">*YMin</text>&Viewport1;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMinYMin slice" width="50" height="30" />
+        </g>
+        <g transform="translate(70,0)">
+          <text y="-5">*YMid</text>&Viewport1;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMidYMid slice" width="50" height="30" />
+        </g>
+        <g transform="translate(0,50)">
+          <text y="-5">*YMax</text>&Viewport1;
+          <image xlink:href="../images/happysmiley.svg" preserveAspectRatio="xMaxYMax slice" width="50" height="30" />
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/extend-namespace-01-f.svg b/Tests/W3CTestSuite/svg/extend-namespace-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e5c111139d1d3cec18e7b310c31aa703d93d2030
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/extend-namespace-01-f.svg
@@ -0,0 +1,180 @@
+<svg version="1.1" baseProfile="full" onload="onLoad(evt)" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: extend-namespace-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/extend.html#ForeignNamespaces">
+      <p>
+        Test mixing a business data namespace with elements in SVG namespace.
+      </p>
+      <p>
+        The test case uses a different namespace to hold fake sales data.
+        Using ECMAScript to make calls to the DOM, the test case extracts
+        the sales data and then makes calls to the SVG DOM to build up
+        a 'path' element and a 'text' element for each individual pie slice.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The result should show five pie slices.
+        The first pie slice should be exploded, with a pink fill and a blue border.
+        The other pie slices should have various levels of gray fill and black borders.
+        The name of each region should appear in black towards the center of
+        the pie slice.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: extend-namespace-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g xmlns:bd="http://example.org/ExampleBusinessData" xmlns="http://www.w3.org/2000/svg">
+      <defs>
+        <script type="text/ecmascript">
+          var svg_ns = "http://www.w3.org/2000/svg";
+          var bd_ns = "http://example.org/ExampleBusinessData";
+          function onLoad(evt){
+          // Get Document
+          var svgElement = evt.target;
+          var doc = svgElement.ownerDocument;
+
+          var resultsElement = doc.getElementById('results');
+          var gElement = doc.getElementById('PieParent');
+
+          // Count the number of regions.
+          RegionNodeList = doc.getElementsByTagNameNS(bd_ns, "Region");
+          regionCount = RegionNodeList.length;
+
+          // Get the region data.
+          RegionNameNodeList = doc.getElementsByTagNameNS(bd_ns, "RegionName");
+          RegionResultNodeList = doc.getElementsByTagNameNS(bd_ns, "RegionResult");
+
+          // Get the sum of the values of the regions.
+          var total = 0;
+          for (regionIndex = 0; regionIndex &lt; regionCount; regionIndex++)
+          total = total + Number(RegionResultNodeList.item(regionIndex).firstChild.nodeValue);
+
+          // Build a pie chart.
+          var startAngle = 0;
+          for (regionIndex = 0; regionIndex &lt; regionCount; regionIndex++) {
+          regionName = RegionNameNodeList.item(regionIndex).firstChild.nodeValue;
+          regionResult = Number(RegionResultNodeList.item(regionIndex).firstChild.nodeValue);
+
+          // Build the pie slice.
+          textElement = doc.createElementNS(svg_ns, "text");
+          textNode = doc.createTextNode(regionName);
+          textElement.appendChild(textNode);
+          pathElement = doc.createElementNS(svg_ns, "path");
+
+          endAngle = startAngle - regionResult * Math.PI * 2 / total;
+          dAttribute = "M240,170 L";
+          gray =  Math.round(Number(255 * (regionIndex+2)) / (regionCount+2));
+          midAngle = (startAngle + endAngle) / 2;
+          textElement.setAttributeNS(null, "x", Math.round(240+65*Math.cos(midAngle)));
+          textElement.setAttributeNS(null, "y", Math.round(170+65*Math.sin(midAngle)));
+
+          dAttribute = dAttribute + Math.round(240+100*Math.cos(startAngle));
+          dAttribute = dAttribute + ',';
+          dAttribute = dAttribute + Math.round(170+100*Math.sin(startAngle));
+          dAttribute = dAttribute + ' A100,100 0 0,0 ';
+          dAttribute = dAttribute + Math.round(240+100*Math.cos(endAngle));
+          dAttribute = dAttribute + ',';
+          dAttribute = dAttribute + Math.round(170+100*Math.sin(endAngle));
+          dAttribute = dAttribute + 'z';
+          pathElement.setAttributeNS(null, "d", dAttribute);
+          pathElement.setAttributeNS(null, "fill", "rgb("+gray+","+gray+","+gray+")");
+          pathElement.setAttributeNS(null, "stroke", "black");
+          pathElement.setAttributeNS(null, "stroke-width", "2");
+
+          // Temporary, for CSS styling.
+          pathElement.setAttributeNS(null, "fill", "rgb("+gray+","+gray+","+gray+")");
+          pathElement.setAttributeNS(null, "stroke", "black");
+          pathElement.setAttributeNS(null, "stroke-width", "2");
+
+          if (regionIndex == 0) {
+          var firstSliceOffset = 30;
+          var transformValue = "translate(" +
+          Math.round(firstSliceOffset * Math.cos(midAngle)) +
+          "," +
+          Math.round(firstSliceOffset * Math.sin(midAngle)) +
+          ")";
+          pathElement.setAttributeNS(null, "transform", transformValue);
+          textElement.setAttributeNS(null, "transform", transformValue);
+          pathElement.setAttributeNS(null, "fill", "#FF6666");
+          pathElement.setAttributeNS(null, "stroke", "#0000FF");
+          pathElement.setAttributeNS(null, "stroke-width", "3");
+
+          // Temporary, for CSS styling.
+          pathElement.setAttributeNS(null, "fill", "#FF8888");
+          pathElement.setAttributeNS(null, "stroke", "#0000FF");
+          pathElement.setAttributeNS(null, "stroke-width", "3");
+
+          }
+          gElement.appendChild(pathElement);
+          gElement.appendChild(textElement);
+          startAngle = endAngle;
+          }
+          }
+        </script>
+      </defs>
+      <bd:Results id="results">
+        <bd:Region>
+          <bd:RegionName>East</bd:RegionName>
+          <bd:RegionResult>3</bd:RegionResult>
+        </bd:Region>
+        <bd:Region>
+          <bd:RegionName>North</bd:RegionName>
+          <bd:RegionResult>4</bd:RegionResult>
+        </bd:Region>
+        <bd:Region>
+          <bd:RegionName>West</bd:RegionName>
+          <bd:RegionResult>5</bd:RegionResult>
+        </bd:Region>
+        <bd:Region>
+          <bd:RegionName>Central</bd:RegionName>
+          <bd:RegionResult>3.2</bd:RegionResult>
+        </bd:Region>
+        <bd:Region>
+          <bd:RegionName>South</bd:RegionName>
+          <bd:RegionResult>6</bd:RegionResult>
+        </bd:Region>
+      </bd:Results>
+      <text font-family="Arial" font-size="16" text-anchor="middle" x="240" y="30">
+        Pie chart built from data in a different namespace.
+      </text>
+    </g>
+    <g id="PieParent" font-family="Arial" text-anchor="middle" font-size="14">
+      <desc>Pie chart is built within this 'g' element</desc>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-background-01-f.svg b/Tests/W3CTestSuite/svg/filters-background-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..72510dd515136fe3588f884efe5d47106cd04015
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-background-01-f.svg
@@ -0,0 +1,159 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: filters-background-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#AccessingBackgroundImage">
+      <p>
+        Test background image processing.
+      </p>
+      <p>
+        The first subtest enables background image processing and adds an empty ‘g’ element 
+        which invokes the ShiftBGAndBlur filter. This filter takes the current accumulated 
+        background image (i.e., the entire reference graphic) as input, shifts its offscreen 
+        down, blurs it, and then writes the result to the canvas. Note that the offscreen for
+        the filter is initialized to transparent black, which allows the already rendered 
+        rectangle, circle and triangle to show through after the filter renders its own 
+        result to the canvas.
+      </p>
+      <p>
+        The second subtest enables background image processing and instead invokes the 
+        ShiftBGAndBlur filter on the inner ‘g’ element. The accumulated background at the 
+        time the filter is applied contains only the rectangle. Because the children 
+        of the inner ‘g’ (i.e., the circle and triangle) are not part of the inner ‘g’ element's 
+        background and because ShiftBGAndBlur ignores SourceGraphic, the children of the inner ‘g’
+        do not appear in the result.
+      </p>
+      <p>
+        The third subtest enables background image processing and invokes the ShiftBGAndBlur on the 
+        ‘polygon’ element that draws the triangle. The accumulated background at the time the filter 
+        is applied contains the rectangle plus the circle ignoring the effect of the ‘opacity’ 
+        property on the inner ‘g’ element. (Note that the blurred circle at the bottom does not 
+        let the rectangle show through on its left side. This is due to ignoring the effect of 
+        the ‘opacity’ property.) Because the triangle itself is not part of the accumulated background 
+        and because ShiftBGAndBlur ignores SourceGraphic, the triangle does not appear in the result.
+      </p>
+      <p>
+        The fourth subtest is the same as the third except that filter ShiftBGAndBlur_WithSourceGraphic is 
+        invoked instead of ShiftBGAndBlur. ShiftBGAndBlur_WithSourceGraphic performs the same effect as 
+        ShiftBGAndBlur, but then renders the SourceGraphic on top of the shifted, blurred background 
+        image. In this case, SourceGraphic is the blue triangle; thus, the result is the same as in 
+        the fourth case except that the triangle now appears.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>each blue rectangle has the same shapes twice inside, once without filters applied, once with (blurred)</li>
+        <li>from left to right, the blue rectangles contain the following shapes: [rectangle, circle, triangle], [rectangle], [rectangle, circle], [rectangle, circle, triangle]</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-background-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+      <defs>
+        <filter id="ShiftBGAndBlur" filterUnits="userSpaceOnUse" x="0" y="0" width="1200" height="400">
+          <desc>
+            This filter discards the SourceGraphic, if any, and just produces
+            a result consisting of the BackgroundImage shifted down 125 units
+            and then blurred.
+          </desc>
+          <feOffset in="BackgroundImage" dx="0" dy="125" />
+          <feGaussianBlur stdDeviation="8" />
+        </filter>
+        <filter id="ShiftBGAndBlur_WithSourceGraphic" 
+                filterUnits="userSpaceOnUse" x="0" y="0" width="1200" height="400">
+          <desc>
+            This filter takes the BackgroundImage, shifts it down 125 units, blurs it,
+            and then renders the SourceGraphic on top of the shifted/blurred background.
+          </desc>
+          <feOffset in="BackgroundImage" dx="0" dy="125" />
+          <feGaussianBlur stdDeviation="8" result="blur" />
+          <feMerge>
+            <feMergeNode in="blur"/>
+            <feMergeNode in="SourceGraphic"/>
+          </feMerge>
+        </filter>
+      </defs>
+
+      <g transform="scale(0.4) translate(-200 300)">
+        <g enable-background="new" transform="translate(270,0)">
+          <desc>The second adds an empty 'g' element which invokes ShiftBGAndBlur.</desc>
+          <rect x="25" y="25" width="100" height="100" fill="fuchsia"/>
+          <g opacity=".5">
+            <circle cx="125" cy="75" r="45" fill="#D3FF00"/>
+            <polygon points="160,25 160,125 240,75" fill="#7A16FF"/>
+          </g>
+          <g filter="url(#ShiftBGAndBlur)"/>
+          <rect x="5" y="5" width="260" height="260" fill="none" stroke="blue"/>
+        </g>
+
+        <g enable-background="new" transform="translate(540,0)">
+          <desc>The third invokes ShiftBGAndBlur on the inner group.</desc>
+          <rect x="25" y="25" width="100" height="100" fill="fuchsia"/>
+          <g filter="url(#ShiftBGAndBlur)" opacity=".5">
+            <circle cx="125" cy="75" r="45" fill="#D3FF00"/>
+            <polygon points="160,25 160,125 240,75" fill="#7A16FF"/>
+          </g>
+          <rect x="5" y="5" width="260" height="260" fill="none" stroke="blue"/>
+        </g>
+
+        <g enable-background="new" transform="translate(810,0)">
+          <desc>The fourth invokes ShiftBGAndBlur on the triangle.</desc>
+          <rect x="25" y="25" width="100" height="100" fill="fuchsia"/>
+          <g opacity=".5">
+            <circle cx="125" cy="75" r="45" fill="#D3FF00"/>
+            <polygon points="160,25 160,125 240,75" fill="#7A16FF"
+                     filter="url(#ShiftBGAndBlur)"/>
+          </g>
+          <rect x="5" y="5" width="260" height="260" fill="none" stroke="blue"/>
+        </g>
+
+        <g enable-background="new" transform="translate(1080,0)">
+          <desc>The fifth invokes ShiftBGAndBlur_WithSourceGraphic on the triangle.</desc>
+          <rect x="25" y="25" width="100" height="100" fill="fuchsia"/>
+          <g opacity=".5">
+            <circle cx="125" cy="75" r="45" fill="#D3FF00"/>
+            <polygon points="160,25 160,125 240,75" fill="#7A16FF"
+                     filter="url(#ShiftBGAndBlur_WithSourceGraphic)"/>
+          </g>
+          <rect x="5" y="5" width="260" height="260" fill="none" stroke="blue"/>
+        </g>
+      </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-blend-01-b.svg b/Tests/W3CTestSuite/svg/filters-blend-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..685a59ee553e802f92d38b03b159e32686793aea
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-blend-01-b.svg
@@ -0,0 +1,108 @@
+<svg version="1.1" baseProfile="basic" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: filters-blend-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feBlendElement">
+      <p>
+        Verify correct operation of the five compositing modes
+        of the feBlend filter primitive. Seven rectangles are
+        blended into a gradient, with text strings identifying
+        which of the  the five feBlend modes were used.
+      </p>
+      <p>
+        All rectangles but the fourth one have a blue fill, although the
+        blend mode will adjust this color. The fourth has a yellow fill.
+      </p>
+      <p>
+        The third and fourth rectangles are grouped and the filter is applied to the group.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image
+        exactly, except for possible variations in the
+        labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-blend-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="9" transform="scale(3)">
+      <image x="40" y="5" width="100" height="98" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEsUExURfb/AK3/AAD/9/9sAIn/AN7/ABT/AAB//zD/AP9GAAD/s1H/AAD/H/8AxwD/bn8A/1wA/wD/XJv/AP8Ai//MAGP/ABMA/wD/LP8A6P8KAP8AF/8A9QD/xAAA/wD1/9MA/wD/gABY/wD/Cf8ATJEA//+6AACT/wCn/+v/AAD/TAD/kf8AYKMA//8kAAAk/wAV/y0A/3b/AP80AAD/O/cA//8A/wD///8An/8A2QD/Ev8AAMQA/+0A/7MA////AP8ACuAA//8AJ24A/0sA//8AOAA0/wAK/wBF//8WAAgA/x8A///2AL//AP8AdTwA/wn/AP/bAP+AAP+UAM//AP+nAP8AtADp/wD/o0D/AP/qAADb/wC5/wDL/wD/AAD/7QD/0gD/4CH/AABr//9ZAG2IeB4AAABvSURBVHjaYrCyl3J0Udb2FTYP5bWQkDY1sXGQt7bVUeF3EnD2M/AS85R109dzdVdMYldTj46JCpMzY4pLiJfhCtdS4BPUNBbnsVSK9WdL5IjgFjVkEWL0CWbVYLDzjgwQUQ0JCmRO5jTS9ZAECDAA3aQTV3E5iioAAAAASUVORK5CYII="/>
+      <defs>
+        <filter id="BlendNormal" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feFlood in="BackgroundAlpha" flood-color="#0f0" flood-opacity="0.5" result="img1"/>
+          <feBlend in2="img1" in="SourceGraphic" mode="normal"/>
+        </filter>
+        <filter id="BlendMultiply" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feFlood in="SourceGraphic" flood-color="#0f0" flood-opacity="0.5" result="img2"/>
+          <feBlend in="SourceGraphic" in2="img2" mode="multiply"/>
+        </filter>
+        <filter id="BlendScreen" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feFlood in="SourceGraphic" flood-color="#0f0" flood-opacity="0.5" result="img2"/>
+          <feBlend in="SourceGraphic" in2="img2" mode="screen"/>
+        </filter>
+        <filter id="BlendDarken" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feFlood in="SourceGraphic" flood-color="#0f0" flood-opacity="0.5" result="img2"/>
+          <feBlend in="SourceGraphic" in2="img2" mode="darken"/>
+        </filter>
+        <filter id="BlendLighten" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feFlood in="SourceGraphic" flood-color="#0f0" flood-opacity="0.5" result="img2"/>
+          <feBlend in="SourceGraphic" in2="img2" mode="lighten"/>
+        </filter>
+      </defs>
+      <rect x="30" y="10" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendNormal)"/>
+      <rect x="30" y="23" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendMultiply)"/>
+      <g filter="url(#BlendMultiply)">
+        <rect x="30" y="36" width="120" height="10" fill="blue" opacity="0.5"/>
+        <rect x="30" y="49" width="120" height="10" fill="#ff0" opacity="0.5"/>
+      </g>
+      <rect x="30" y="62" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendScreen)"/>
+      <rect x="30" y="75" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendDarken)"/>
+      <rect x="30" y="88" width="120" height="10" fill="blue" opacity="0.5" filter="url(#BlendLighten)"/>
+      <g fill="#333" font-size="7">
+        <text x="5" y="17">Normal</text>
+        <text x="5" y="30">Multiply</text>
+        <text x="5" y="43">Multiply</text>
+        <text x="5" y="56">Multiply</text>
+        <text x="5" y="69">Screen</text>
+        <text x="5" y="82">Darken</text>
+        <text x="5" y="95">Lighten</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-color-01-b.svg b/Tests/W3CTestSuite/svg/filters-color-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..53b993a0e42dc9ec15ba76d0e4d2604ed576f5ff
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-color-01-b.svg
@@ -0,0 +1,112 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-color-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feColorMatrixElement">
+      <p>
+        Test which verifies the basic facilities of
+        feColorMatrix.
+      </p>
+      <p>
+        This test uses the following elements : a nested
+        &lt;svg&gt; with a viewBox attribute, &lt;linearGradient&gt;,
+        &lt;filter&gt;, &lt;feColorMatrix&gt;, &lt;feComposite&gt;.
+      </p>
+      <p>
+        The test case shows five rectangles filled with a
+        gradient showing the effects of feColorMatrix: an
+        unfiltered rectangle acting as a reference, use of the
+        feColorMatrix matrix option to convert to grayscale,
+        use of the feColorMatrix saturate option, use of the
+        feColorMatrix hueRotate option, and use of the
+        feColorMatrix luminanceToAlpha option.
+      </p>
+      <p>
+        The test is somewhat self-explanatory as the strings
+        document the type of feColorMatrix operation that is
+        being used.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image
+        exactly, except for possible variations in the
+        labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-color-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="-10" y="5" width="500" height="290" viewBox="0 0 800 500">
+      <title>Example feColorMatrix - Examples of feColorMatrix operations</title>
+      <desc>Five rectangles filled with a gradient showing the effects of feColorMatrix: an unfiltered rectangle acting as a reference, use of the feColorMatrix matrix option to convert to grayscale, use of the feColorMatrix saturate option, use of the feColorMatrix hueRotate option, and use of the feColorMatrix luminanceToAlpha option.</desc>
+      <defs>
+        <linearGradient id="MyGradient" gradientUnits="userSpaceOnUse" x1="20" y1="0" x2="760" y2="0">
+          <stop offset="0" stop-color="#dd00dd"/>
+          <stop offset=".33" stop-color="#22cc22"/>
+          <stop offset=".67" stop-color="#400000"/>
+          <stop offset="1" stop-color="#a0a0ff"/>
+        </linearGradient>
+        <filter id="Matrix" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feColorMatrix type="matrix" in="SourceGraphic" values=".33 .33 .33 0 0                       .33 .33 .33 0 0                       .33 .33 .33 0 0                       .33 .33 .33 0 0"/>
+        </filter>
+        <filter id="Saturate40" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+          <feColorMatrix type="saturate" in="SourceGraphic" values=".25"/>
+        </filter>
+        <filter id="HueRotate90" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+          <feColorMatrix type="hueRotate" in="SourceGraphic" values="90"/>
+        </filter>
+        <filter id="LuminanceToAlpha" filterUnits="objectBoundingBox" x="-5%" y="-5%" width="110%" height="110%">
+          <feColorMatrix type="luminanceToAlpha" in="SourceGraphic" result="a"/>
+          <feComposite in="SourceGraphic" in2="a" operator="in"/>
+        </filter>
+      </defs>
+      <g font-size="40" font-family="Verdana">
+        <rect fill="none" stroke="blue" x="1" y="1" width="798" height="498"/>
+        <rect x="20" y="20" width="760" height="40" fill="url(#MyGradient)"/>
+        <text x="20" y="95">Unfiltered</text>
+        <rect x="20" y="120" width="760" height="40" fill="url(#MyGradient)" filter="url(#Matrix)"/>
+        <text x="20" y="195">type="matrix" (grayscale matrix)</text>
+        <rect x="20" y="220" width="760" height="40" fill="url(#MyGradient)" filter="url(#Saturate40)"/>
+        <text x="20" y="295">type="saturate" values=".4"</text>
+        <rect x="20" y="320" width="760" height="40" fill="url(#MyGradient)" filter="url(#HueRotate90)"/>
+        <text x="20" y="395">type="hueRotate" values="90"</text>
+        <rect x="20" y="420" width="760" height="40" fill="url(#MyGradient)" filter="url(#LuminanceToAlpha)"/>
+        <text x="20" y="495">type="luminanceToAlpha"</text>
+      </g>
+    </svg>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-color-02-b.svg b/Tests/W3CTestSuite/svg/filters-color-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ac399b9805ae8c2cbe85227168a58ad2d05342c6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-color-02-b.svg
@@ -0,0 +1,112 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="AG" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: filters-color-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feColorMatrixElement">
+      <p>
+        Tests the default behaviour of feComponentTransfer
+      </p>
+      <p>
+        The test displays two rects with the same gradient fill. The gradient
+        fill has the stops red, green, blue and black all of which are evenly
+        spaced.
+      </p>
+      <p>
+        The first rect with the 'Reference' label beneath it has an
+        feComponentTransfer filter applied to it. This filter specifies a
+        'linear' transform for the Red component such that Red is transformed to
+        Black. The Green component is specified as an 'identity' transform. The
+        remaining components (Green, Alpha) are unspecified and by default
+        must be treated as 'identity' transforms.
+      </p>
+      <p>
+        The second rect with the 'Default' label beneath it has an
+        feComponentTransfer filter applied to it. This filter specifies a
+        multiple transforms from the Red component. The last transform
+        specified for the Red component is a 'linear' transform that shifts Red
+        to Black. This is the transform that should be used by a conforming
+        implementation. There are no other components specified for the filter
+        of the second rect. A conforming implementation should treat
+        unspecified components in an feComponentTransfer as 'identity'.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For this test to pass both rects must have a gradient fill that has the
+        stop colors Black, Green, Blue and Black, equally spaced.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-color-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="MyGradient" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="0">
+        <stop offset="0" stop-color="#ff0000"/>
+        <stop offset=".33" stop-color="#00ff00"/>
+        <stop offset=".67" stop-color="#0000ff"/>
+        <stop offset="1" stop-color="#000000"/>
+      </linearGradient>
+
+      <filter id="Reference" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feComponentTransfer>
+          <feFuncR type="linear" slope="0" intercept="0"/>
+          <feFuncG type="identity"/>
+        </feComponentTransfer>
+      </filter>
+
+      <filter id="Default" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <!-- Red becomes black, green/blue/alpha use the identity function,
+             since erratum specifies omitted functions are the identity
+             function, and duplicated ones take the last one. -->
+        <feComponentTransfer>
+          <feFuncR type="identity"/>
+          <feFuncR type="linear" slope="0" intercept="1"/>
+          <feFuncR type="linear" slope="0" intercept="0"/>
+        </feComponentTransfer>
+      </filter>
+    </defs>
+
+    <g fill="url(#MyGradient)">
+      <rect x="20" y="40" width="440" height="40" filter="url(#Reference)"/>
+      <rect x="20" y="140" width="440" height="40" filter="url(#Default)"/>
+    </g>
+
+    <g font-family="Verdana" font-size="20" font-weight="bold">
+      <text x="40" y="100">Reference</text>
+      <text x="40" y="200">Default</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-composite-02-b.svg b/Tests/W3CTestSuite/svg/filters-composite-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..23e4b9adfe8708fffd98fc7967b5b65f2240da1f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-composite-02-b.svg
@@ -0,0 +1,203 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-composite-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feCompositeElement">
+      <p>
+        Test which verifies the basic facilities of feComposite.
+      </p>
+      <p>
+        This test uses the following elements: &lt;path&gt;, &lt;filter&gt;
+        &lt;feImage&gt; &lt;feComposite&gt;.
+      </p>
+      <p>
+        The test case shows six pairs of overlapping triangles
+        depicting the six different feComposite operators. The
+        first row shows compositing when both triangles have
+        opacity=1. The second row shows compositing when both
+        triangles have opacity=.5. The six columns illustrate the
+        six types of compositing operations.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+     	<p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image
+        exactly, except for possible variations in the
+        labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-composite-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(15 -60)">
+      <title>Example feComposite - Examples of feComposite operations</title>
+      <desc>Six pairs of overlapping triangles depicting the six different feComposite operators.</desc>
+      <defs>
+        <path id="Blue100" d="M 0 0 L 150 0 L 150 150 z" fill="#00ffff"/>
+        <path id="Red100" d="M 0 0 L 0 150 L 150 0 z" fill="#ff00ff"/>
+        <path id="Blue50" d="M 0 0 L 150 0 L 150 150 z" fill="#00ffff" fill-opacity="0.5"/>
+        <path id="Red50" d="M 0 0 L 0 150 L 150 0 z" fill="#ff00ff" fill-opacity="0.5"/>
+
+        <filter id="over" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue100" result="blue"/>
+          <feImage xlink:href="#Red100" result="red"/>
+          <feComposite in2="blue" in="red" operator="over"/>
+        </filter>
+
+        <filter id="over50" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue50" result="blue"/>
+          <feImage xlink:href="#Red50" result="red"/>
+          <feComposite in2="blue" in="red" operator="over"/>
+        </filter>
+
+        <filter id="in" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue100" result="blue"/>
+          <feImage xlink:href="#Red100" result="red"/>
+          <feComposite in2="blue" in="red" operator="in"/>
+        </filter>
+
+        <filter id="in50" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue50" result="blue"/>
+          <feImage xlink:href="#Red50" result="red"/>
+          <feComposite in2="blue" in="red" operator="in"/>
+        </filter>
+
+        <filter id="out" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue100" result="blue"/>
+          <feImage xlink:href="#Red100" result="red"/>
+          <feComposite in2="blue" in="red" operator="out"/>
+        </filter>
+
+        <filter id="out50" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue50" result="blue"/>
+          <feImage xlink:href="#Red50" result="red"/>
+          <feComposite in2="blue" in="red" operator="out"/>
+        </filter>
+
+        <filter id="atop" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue100" result="blue"/>
+          <feImage xlink:href="#Red100" result="red"/>
+          <feComposite in2="blue" in="red" operator="atop"/>
+        </filter>
+
+        <filter id="atop50" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue50" result="blue"/>
+          <feImage xlink:href="#Red50" result="red"/>
+          <feComposite in2="blue" in="red" operator="atop"/>
+        </filter>
+
+        <filter id="xor" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue100" result="blue"/>
+          <feImage xlink:href="#Red100" result="red"/>
+          <feComposite in2="blue" in="red" operator="xor"/>
+        </filter>
+
+        <filter id="xor50" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue50" result="blue"/>
+          <feImage xlink:href="#Red50" result="red"/>
+          <feComposite in2="blue" in="red" operator="xor"/>
+        </filter>
+
+        <filter id="arithmetic" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue100" result="blue"/>
+          <feImage xlink:href="#Red100" result="red"/>
+          <feComposite in2="blue" in="red" operator="arithmetic" k1=".5" k2=".5" k3=".5" k4=".5"/>
+        </filter>
+
+        <filter id="arithmetic50" x="0" y="0" width="1" height="1">
+          <feImage xlink:href="#Blue50" result="blue"/>
+          <feImage xlink:href="#Red50" result="red"/>
+          <feComposite in2="blue" in="red" operator="arithmetic" k1=".5" k2=".5" k3=".5" k4=".5"/>
+        </filter>
+      </defs>
+      <g font-family="Verdana" font-size="60" shape-rendering="crispEdges" transform="translate(5,70) scale(.4)">
+        <rect fill="none" stroke="blue" x="1" y="1" width="1098" height="723"/>
+        <text x="100" y="75">on first Row : opacity 1.0</text>
+        <text x="100" y="180">on second row opacity 0.5</text>
+
+        <g transform="translate(15,230)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#over)"/>
+          <text x="10" y="400">over</text>
+        </g>
+
+        <g transform="translate(15,430)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#over50)"/>
+        </g>
+
+        <g transform="translate(195,230)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#in)"/>
+          <text x="10" y="400">in</text>
+        </g>
+
+        <g transform="translate(195,430)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#in50)"/>
+        </g>
+
+        <g transform="translate(375,230)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#out)"/>
+          <text x="10" y="400">out</text>
+        </g>
+        <g transform="translate(375,430)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#out50)"/>
+        </g>
+
+        <g transform="translate(555,230)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#atop)"/>
+          <text x="10" y="400">atop</text>
+        </g>
+        <g transform="translate(555,430)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#atop50)"/>
+        </g>
+
+        <g transform="translate(735,230)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#xor)"/>
+          <text x="10" y="400">xor</text>
+        </g>
+        <g transform="translate(735,430)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#xor50)"/>
+        </g>
+        <g transform="translate(915,230)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#arithmetic)"/>
+          <text x="-25" y="400">arith-</text>
+          <text x="-25" y="470">metic</text>
+        </g>
+        <g transform="translate(915,430)">
+          <rect x="0" y="0" width="150" height="150" filter="url(#arithmetic50)"/>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-composite-03-f.svg b/Tests/W3CTestSuite/svg/filters-composite-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..39c9dca9e7c5f621f363d247ad2f5a22c2f84d10
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-composite-03-f.svg
@@ -0,0 +1,87 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: filters-composite-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feCompositeElement">
+      <p>
+        Tests the arithmetic operator in feComposite. 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are four filled squares visible, and the
+        fill color matches the respective reference stroke exactly.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-composite-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="composite-ident" x="0" y="0" width="1" height="1">
+        <feComposite operator="arithmetic" in="FillPaint" in2="StrokePaint" k1="0" k2="1" k3="-1" k4="0"/>
+      </filter>
+      <filter id="composite-negative" x="0" y="0" width="1" height="1">
+        <feComposite operator="arithmetic" in="FillPaint" in2="FillPaint" k1="0" k2="2" k3="-1.5" k4="0"/>
+      </filter>
+      <filter id="composite-mixed" x="0" y="0" width="1" height="1">
+        <feComposite operator="arithmetic" in="FillPaint" in2="StrokePaint" k1="1" k2="-0.5" k3="0.2" k4="-0.1"/>
+      </filter>
+      <filter id="composite-clamped" x="0" y="0" width="1" height="1">
+        <feComposite operator="arithmetic" in="FillPaint" in2="StrokePaint" k1="0" k2="10" k3="20" k4="0"/>
+      </filter>
+    </defs>
+    
+    <g transform="translate(100 30)">
+      <rect id="reference1" fill="lime" width="120" height="120"/>
+      <rect fill="red" stroke="red" filter="url(#composite-ident)" x="10" y="10" width="100" height="100"/>
+    </g>
+    <g transform="translate(250 30)">
+      <rect fill="#0F0" filter="url(#composite-negative)" x="10" y="10" width="100" height="100"/>
+      <rect id="reference2" stroke="#7FFF7F" x="5" y="5" width="110" height="110" stroke-width="12" fill="none"/>
+    </g>
+    <g transform="translate(100 180)">
+      <rect fill="rgb(43,17,12)" stroke="rgb(32,42,37)" filter="url(#composite-mixed)" x="10" y="10" width="100" height="100"/>
+      <rect id="reference3" stroke="#666" x="5" y="5" width="110" height="110" stroke-width="12" fill="none"/>
+    </g>
+    <g transform="translate(250 180)">
+      <rect fill="rgb(0,127,0)" stroke="rgb(0,0,127)" filter="url(#composite-clamped)" x="10" y="10" width="100" height="100"/>
+      <rect id="reference4" stroke="rgb(0,255,255)" x="5" y="5" width="110" height="110" stroke-width="12" fill="none"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-composite-04-f.svg b/Tests/W3CTestSuite/svg/filters-composite-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..78404f10ee492838c77ddad328b306ce90a87320
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-composite-04-f.svg
@@ -0,0 +1,78 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="[author]" status="empty"
+    version="$Revision: 1.1 $" testname="$RCSfile: filters-composite-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feCompositeElement">
+      <p>
+        Test feComposite and the arithmetic operator to implement a simple dissolve operation.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if there are four images visible, each in
+        different stages of dissolving the bird in the foreground into the
+        tree in the background.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-composite-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="dissolve1" x="0" y="0" width="1" height="1">
+        <feImage xlink:href="../images/stefan_252_tRNS_opti.png" result="bird"/>
+        <feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="0.5" k3="0.5" k4="0"/>
+      </filter>
+      <filter id="dissolve2" x="0" y="0" width="1" height="1">
+        <feImage xlink:href="../images/stefan_252_tRNS_opti.png" result="bird"/>
+        <feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="0.1" k3="0.9" k4="0"/>
+      </filter>
+      <filter id="dissolve3" x="0" y="0" width="1" height="1">
+        <feImage xlink:href="../images/stefan_252_tRNS_opti.png" result="bird"/>
+        <feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="0.75" k3="0.25" k4="0"/>
+      </filter>
+      <filter id="dissolve4" x="0" y="0" width="1" height="1">
+        <feImage xlink:href="../images/stefan_252_tRNS_opti.png" result="bird"/>
+        <feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="0.25" k3="0.75" k4="0"/>
+      </filter>
+    </defs>
+    
+    <image width="120" height="80" xlink:href="../images/tree.jpg" filter="url(#dissolve1)" transform="translate(100 80)"/>
+    <image width="120" height="80" xlink:href="../images/tree.jpg" filter="url(#dissolve2)" transform="translate(250 80)"/>
+    <image width="120" height="80" xlink:href="../images/tree.jpg" filter="url(#dissolve3)" transform="translate(100 190)"/>
+    <image width="120" height="80" xlink:href="../images/tree.jpg" filter="url(#dissolve4)" transform="translate(250 190)"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-composite-05-f.svg b/Tests/W3CTestSuite/svg/filters-composite-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0d4ffe8e46a6ef6f8f1340e7e601ec1ead226dfc
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-composite-05-f.svg
@@ -0,0 +1,68 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: filters-composite-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feCompositeElement">
+      <p>
+        Testing the feComposite element and that the 'k2' and 'k3' attributes
+        are animatable. The result is an animated dissolve between two images.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Reload the testcase or click the image to run animation again.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if there is an animation effect that gradually
+        dissolves a photo of a tree into an image of a bird over the course
+        of two seconds. The final result is that the bird is fully visible
+        and the tree photo is invisible.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-composite-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="dissolve" x="0" y="0" width="1" height="1">
+        <feImage xlink:href="../images/stefan_252_tRNS_opti.png" result="bird"/>
+        <feComposite operator="arithmetic" in="SourceGraphic" in2="bird" k1="0" k2="1" k3="0" k4="0">
+          <animate attributeName="k2" values="1;0" dur="2" begin="0s;image.click" fill="freeze"/>
+          <animate attributeName="k3" values="0;1" dur="2" begin="0s;image.click" fill="freeze"/>
+        </feComposite>
+      </filter>
+    </defs>
+    
+    <image id="image" width="320" height="160" xlink:href="../images/tree.jpg" filter="url(#dissolve)" transform="translate(80 80)"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-comptran-01-b.svg b/Tests/W3CTestSuite/svg/filters-comptran-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4f94d941282dacd4453f39cb049fd3110f908b4f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-comptran-01-b.svg
@@ -0,0 +1,126 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-comptran-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feComponentTransferElement">
+      <p>
+        Test which verifies the basic facilities of
+        feComponentTransfer.
+      </p>
+      <p>
+        This test uses the following elements : a nested &lt;svg&gt;
+        with a viewBox attribute, &lt;linearGradient&gt;, &lt;filter&gt;,
+        &lt;feComponentTransfer&gt;.
+      </p>
+      <p>
+        The test case shows four rectangles filled with a
+        gradient showing the effects of feComponentTransfer: an
+        identity function acting as a reference, use of the
+        feComponentTransfer table option, use of the
+        feComponentTransfer linear option, and use of the
+        feComponentTransfer gamma option.
+      </p>
+      <p>
+        The test is somewhat self-explanatory as the strings
+        document the type of feComponentTransfer operation that
+        is being used.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image
+        exactly, except for possible variations in the
+        labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-comptran-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="15" y="5" width="450" height="300" viewBox="0 0 630 420">
+      <title>Example feComponentTransfer - Examples of feComponentTransfer operations</title>
+      <desc>Four rectangles filled with a gradient showing the effects of feComponentTransfer: an identity function acting as a reference, use of the feComponentTransfer table option, use of the feComponentTransfer linear option, and use of the feComponentTransfer gamma option.</desc>
+      <defs>
+        <linearGradient id="MyGradient" gradientUnits="userSpaceOnUse" x1="10" y1="0" x2="590" y2="0">
+          <stop offset="0" stop-color="#ff0000"/>
+          <stop offset=".33" stop-color="#00ff00"/>
+          <stop offset=".67" stop-color="#0000ff"/>
+          <stop offset="1" stop-color="#000000"/>
+        </linearGradient>
+        <filter id="Identity" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feComponentTransfer>
+            <feFuncR type="identity"/>
+            <feFuncG type="identity"/>
+            <feFuncB type="identity"/>
+            <feFuncA type="identity"/>
+          </feComponentTransfer>
+        </filter>
+        <filter id="Table" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feComponentTransfer>
+            <feFuncR type="table" tableValues="0 0 1 1"/>
+            <feFuncG type="table" tableValues="1 1 0 0"/>
+            <feFuncB type="table" tableValues="0 1 1 0"/>
+          </feComponentTransfer>
+        </filter>
+        <filter id="Linear" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feComponentTransfer>
+            <feFuncR type="linear" slope=".5" intercept=".25"/>
+            <feFuncG type="linear" slope=".5" intercept="0"/>
+            <feFuncB type="linear" slope=".5" intercept=".5"/>
+          </feComponentTransfer>
+        </filter>
+        <filter id="Gamma" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feComponentTransfer>
+            <feFuncR type="gamma" amplitude="2" exponent="5" offset="0"/>
+            <feFuncG type="gamma" amplitude="2" exponent="3" offset="0"/>
+            <feFuncB type="gamma" amplitude="2" exponent="1" offset="0"/>
+          </feComponentTransfer>
+        </filter>
+      </defs>
+      <rect fill="none" stroke="blue" x="1" y="1" width="628" height="418"/>
+      <g font-size="30" font-family="Verdana">
+        <rect fill="none" stroke="blue" x="1" y="1" width="628" height="418"/>
+        <rect x="10" y="10" width="580" height="40" fill="url(#MyGradient)" filter="url(#Identity)"/>
+        <text x="10" y="80">type: identity</text>
+        <rect x="10" y="110" width="580" height="40" fill="url(#MyGradient)" filter="url(#Table)"/>
+        <text x="10" y="180">type: table</text>
+        <rect x="10" y="210" width="580" height="40" fill="url(#MyGradient)" filter="url(#Linear)"/>
+        <text x="10" y="280">type:linear slope:.5 intercepts:.25/0/.5</text>
+        <rect x="10" y="310" width="580" height="40" fill="url(#MyGradient)" filter="url(#Gamma)"/>
+        <text x="10" y="380">type: gamma ampl:2 exponents:5/3/1</text>
+      </g>
+    </svg>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-conv-01-f.svg b/Tests/W3CTestSuite/svg/filters-conv-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3ca53f6bb56fe20bb1f7f730eaa863058b499a76
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-conv-01-f.svg
@@ -0,0 +1,112 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-conv-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElement">
+      <p>
+        Test which verifies the basic facilities of
+        feConvolveMatrix.
+      </p>
+      <p>
+        This test defines six filters that exercise traditional
+        convolutions: uniform blur, vertical and horizontal
+        blurs, edge detection, embossing and sharpening. Note
+        that the edge detection filter produces a fully
+        transparent image because the alpha channel is convolved
+        and produces 0 values.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image
+        exactly, except for possible variations in the
+        labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-conv-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="12">
+    <!--Generated by the Java 2D API Graphics2D SVG Generator, Sun Microsystems Inc.-->
+    <g transform="translate(20, 40)">
+      <defs id="defs1">
+        <filter id="convolve1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feConvolveMatrix order="3 3" kernelMatrix="0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111" edgeMode="none"/>
+        </filter>
+        <filter id="convolve2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feConvolveMatrix order="3 3" kernelMatrix="-1 -1 -1 -1 8 -1 -1 -1 -1" edgeMode="duplicate"/>
+        </filter>
+        <filter id="convolve3" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feConvolveMatrix order="3 3" kernelMatrix="-1 -1 -1 -1 9 -1 -1 -1 -1" edgeMode="none"/>
+        </filter>
+        <filter id="convolve4" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feConvolveMatrix order="3 3" kernelMatrix="-2 0 0 0 1 0 0 0 2" edgeMode="none"/>
+        </filter>
+        <filter id="convolve5" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feConvolveMatrix order="3 1" kernelMatrix="0.3333 0.3333 0.3333" edgeMode="none"/>
+        </filter>
+        <filter id="convolve6" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feConvolveMatrix order="1 3" kernelMatrix="0.3333 0.3333 0.3333" edgeMode="none"/>
+        </filter>
+      </defs>
+      <g shape-rendering="geometricPrecision" text-rendering="geometricPrecision">
+        <text x="10" y="20" stroke="none" opacity="1" filter="none">Blur (3x3)</text>
+        <g opacity="1" filter="none">
+          <image width="50" height="63" xlink:href="../images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve1)"/>
+        </g>
+        <text x="10" y="20" transform="translate(150,0)" stroke="none" opacity="1" filter="none">Edge Detection (3x3)</text>
+        <g transform="translate(150,0)" opacity="1" filter="none">
+          <image width="50" height="63" xlink:href="../images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve2)"/>
+        </g>
+        <text x="10" y="20" transform="translate(300,0)" stroke="none" opacity="1" filter="none">Sharpening (3x3)</text>
+        <g transform="translate(300,0)" opacity="1" filter="none">
+          <image width="50" height="63" xlink:href="../images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve3)"/>
+        </g>
+        <text x="10" y="20" transform="translate(0,93)" stroke="none" opacity="1" filter="none">Embossing (3x3)</text>
+        <g transform="translate(0,93)" opacity="1" filter="none">
+          <image width="50" height="63" xlink:href="../images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve4)"/>
+        </g>
+        <text x="10" y="20" transform="translate(150,93)" stroke="none" opacity="1" filter="none">Horizontal blur (3x1)</text>
+        <g transform="translate(150,93)" opacity="1" filter="none">
+          <image width="50" height="63" xlink:href="../images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve5)"/>
+        </g>
+        <text x="10" y="20" transform="translate(300,93)" stroke="none" opacity="1" filter="none">Vertical blur (1x3)</text>
+        <g transform="translate(300,93)" opacity="1" filter="none">
+          <image width="50" height="63" xlink:href="../images/filters-conv-01-f.includeimage.png" x="10" y="30" filter="url(#convolve6)"/>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-conv-02-f.svg b/Tests/W3CTestSuite/svg/filters-conv-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5912f422b73d6a615ddf3fea525139c4a649e764
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-conv-02-f.svg
@@ -0,0 +1,77 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: filters-conv-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElementOrderAttribute">
+        <p>
+          Tests feConvolveMatrix with different values for the 'order' attribute.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.
+        
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>You should see three filtered images.  Each image is the same
+        and has the same filter applied to it.
+        The test has passed if all the three filtered images look the same, and the filtered result shows bright white edges on a dark background.
+        The rendered picture should match the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-conv-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+		<defs>
+			<filter id="convolve-without-order" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+				<feConvolveMatrix kernelMatrix="1 1 1 1 -8 1 1 1 1" preserveAlpha="true"/>
+			</filter>
+			<filter id="convolve-with-order1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+				<feConvolveMatrix order="3" kernelMatrix="1 1 1 1 -8 1 1 1 1" preserveAlpha="true"/>
+			</filter>
+			<filter id="convolve-with-order2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+				<feConvolveMatrix order="3 3" kernelMatrix="1 1 1 1 -8 1 1 1 1" preserveAlpha="true"/>
+			</filter>
+		</defs>
+
+		<text x="50%" y="3em" style="font-size:18px; text-anchor:middle">feConvolveMatrix 'order' attribute</text>
+
+		<image x="90" y="100" width="100" height="100" xlink:href="../images/image1.jpg" filter="url(#convolve-without-order)"/>
+		<text x="135" y="220" style="font-size:9px; text-anchor:middle">without order</text>
+		
+		<image x="190" y="100" width="100" height="100" xlink:href="../images/image1.jpg" filter="url(#convolve-with-order1)"/>
+		<text x="235" y="220" style="font-size:9px; text-anchor:middle">order="3"</text>
+		
+		<image x="290" y="100" width="100" height="100" xlink:href="../images/image1.jpg" filter="url(#convolve-with-order2)"/>
+		<text x="335" y="220" style="font-size:9px; text-anchor:middle">order="3 3"</text>
+	</g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-conv-03-f.svg b/Tests/W3CTestSuite/svg/filters-conv-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cb9d8448e481832afe1b6367a6da58f040bca011
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-conv-03-f.svg
@@ -0,0 +1,102 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CM" owner="ED" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: filters-conv-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/#feConvolveMatrixElementOrderAttribute">
+      <p>
+        Tests the 'in1' DOM attribute on 'feConvolveMatrix'.
+      </p>
+      <p>
+        Load the testcase, you should see three nearly identical images that say "FAIL".
+        After 3 seconds all three images should be replaced by the same image of a bird.
+        The two images to the right have filters applied, while the one on the left is always unfiltered.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    	<p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>the two images inside the blue rects look exactly the same</li>
+        <li>the same base image is used in all three rects</li>
+        <li>the purple image that says "FAIL" is replaced after 3 seconds by an image of a bird</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-conv-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+		<defs>
+			<filter id="sharpenAnim" x="0" y="0" width="100%" height="100%">
+				<feImage xlink:href="../images/stefan_252_tRNS_opti.png" result="passimg"/>
+				<feConvolveMatrix in="SourceGraphic" order="3" kernelMatrix="0  -1  0
+																																		-1   5 -1
+																																		 0  -1  0" preserveAlpha="true">
+					<set attributeName="in" to="passimg" begin="3s" fill="freeze" onbegin="runtest()"/>
+				</feConvolveMatrix>
+			</filter>
+			<filter id="sharpenScript" x="0" y="0" width="100%" height="100%">
+				<feImage xlink:href="../images/stefan_252_tRNS_opti.png" result="passimg"/>
+				<feConvolveMatrix id="prim" in="SourceGraphic" order="3" kernelMatrix="0  -1  0
+																																							-1   5 -1
+																																							 0  -1  0" preserveAlpha="true"/>
+			</filter>
+
+			<text id="pass" x="240" y="150" text-anchor="middle" font-size="30px">PASS</text>
+		</defs>
+		
+		<script type="application/ecmascript">
+			function runtest()
+			{
+				var img = document.getElementById("img");
+				img.href.baseVal = "../images/stefan_252_tRNS_opti.png";
+				var prim = document.getElementById("prim");
+				prim.in1.baseVal = "passimg";
+			}
+		</script>	
+
+		<text x="50%" y="3em" style="font-size:18px; text-anchor:middle">feConvolveMatrix 'in1' DOM</text>
+		<image id="img" xlink:href="../images/purplesquidj.png" x="80" y="100" width="100" height="100"/>
+		<image xlink:href="../images/purplesquidj.png" x="190" y="100" width="100" height="100" filter="url(#sharpenAnim)"/>
+		<image xlink:href="../images/purplesquidj.png" x="300" y="100" width="100" height="100" filter="url(#sharpenScript)"/>
+		<rect x="80" y="100" width="100" height="100" stroke="black" fill="none"/>
+		<rect x="190" y="100" width="100" height="100" stroke="blue" fill="none"/>
+		<rect x="300" y="100" width="100" height="100" stroke="blue" fill="none"/>
+		<text x="130" y="220" style="font-size:9px; text-anchor:middle">Original image</text>
+		<text x="240" y="220" style="font-size:9px; text-anchor:middle">Animated filter</text>
+		<text x="350" y="220" style="font-size:9px; text-anchor:middle">Scripted filter</text>
+	</g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-conv-04-f.svg b/Tests/W3CTestSuite/svg/filters-conv-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e1291c03d1684f41d245a42443acff4edb3dbba2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-conv-04-f.svg
@@ -0,0 +1,163 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="ED" owner="AG" status="created"
+    version="$Revision: 1.4 $" testname="$RCSfile: filters-conv-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElementBiasAttribute">
+      <p>
+        Tests the 'bias' attribute on 'feConvolveMatrix'.
+      </p>
+      <p>
+        The test uses a raster image and a vector graphic to test the effect
+        that the 'bias' attribute on 'feConvolveMatrix' has.
+      </p>
+      <p>
+        The first row of images in the test are four identical raster images.
+        The first image is the original unfiltered image. The second has the
+        filter kernel applied with no bias value specified. The third and fourth
+        images both have a bias value specified for the filter.
+      </p>
+      <p>
+        The second row of images in the test are four rectangle objects with a
+        gradient fill. The gradient fill transitions from opaque green to
+        transparent green. The first image is the original unfiltered graphic. The
+        second graphic has a filter kernel applied with no bias value specified.
+        The third and forth images both have a bias value specified for the
+        filter.
+      </p>
+      <p>
+        Behind each filter result there's a checkerboard pattern placed, to help
+        verify that there's transparency in the lower row, but not in the upper.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>
+          The raster images in the top row appears more faded and coarse for each instance
+          further to the right.
+          <ul>
+            <li>The first image (left most) must be smooth and clear</li>
+            <li>
+              The second image (second from the left) must contain the same colours as
+              the first image but have course outlining around the objects.
+            </li>
+            <li>
+              The third image (second from the right) must contain colour that is very faded
+              but have course outlining around the faded objects.
+            </li>
+            <li>
+              The last image (right most) must be completed faded such that all the colour
+              in the first image appears to have gone to white. Some course outlining should
+              appear in the image.
+            </li>
+          </ul>
+        </li>
+        <li>
+          The top row has no checkerboard pattern visible where the filtered results are.
+        </li>
+        <li>
+          The rectangle with a green gradient going from left to right appears
+          more faded for each instance further to the right.
+          <ul>
+            <li>
+              The first image (left most) must be a rect filled with a linear gradient that 
+              transitions from solid green to transparent green.
+            </li>
+            <li>The second image (second from the left) must be identical to the first image.</li>
+            <li>
+              The third image (second from the right) must contain a linear gradient that transitions
+              from a solid faded green to transparent faded green.
+            </li>
+            <li>
+              The last image (right most) must contain a linear gradient that transitions from
+              solid white to transparent white.
+            </li>
+          </ul>
+        </li>
+        <li>
+          The bottom row must show 95% of the checkerboard pattern where the filtered results are
+          since the gradients are transparent.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-conv-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="convolve-without-bias" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false"/>
+      </filter>
+      <filter id="convolve-with-bias05" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" bias="0.5"/>
+      </filter>
+      <filter id="convolve-with-bias1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" bias="1"/>
+      </filter>
+
+      <linearGradient id="test_linear_gradient" gradientUnits="objectBoundingBox" x1="0" x2="1" y1="0" y2="0">
+        <stop stop-color="#00FF00" stop-opacity="1" offset="0"/>
+        <stop stop-color="#00FF00" stop-opacity="0" offset="1"/>
+      </linearGradient>
+    </defs>
+
+    <g transform="translate(0, 20)">
+      <image x="12" y="1" width="97" height="98" xlink:href="../images/DisplaceChecker.png"/>
+      <image x="127" y="1" width="97" height="98" xlink:href="../images/DisplaceChecker.png"/>
+      <image x="242" y="1" width="97" height="98" xlink:href="../images/DisplaceChecker.png"/>
+      <image x="357" y="1" width="97" height="98" xlink:href="../images/DisplaceChecker.png"/>
+
+      <image x="10" y="0" width="100" height="100" xlink:href="../images/townsville.jpg" />
+      <image x="125" y="0" width="100" height="100" xlink:href="../images/townsville.jpg" filter="url(#convolve-without-bias)"/>
+      <image x="240" y="0" width="100" height="100" xlink:href="../images/townsville.jpg" filter="url(#convolve-with-bias05)"/>
+      <image x="355" y="0" width="100" height="100" xlink:href="../images/townsville.jpg" filter="url(#convolve-with-bias1)"/>
+    </g>
+
+    <g transform="translate(0, 110)">
+      <image x="11" y="51" width="98" height="98" xlink:href="../images/DisplaceChecker.png"/>
+      <image x="126" y="51" width="98" height="98" xlink:href="../images/DisplaceChecker.png"/>
+      <image x="241" y="51" width="98" height="98" xlink:href="../images/DisplaceChecker.png"/>
+      <image x="356" y="51" width="98" height="98" xlink:href="../images/DisplaceChecker.png"/>
+            
+      <rect fill="url(#test_linear_gradient)" stroke="black" x="10" y="50" width="100" height="100"/>
+      <rect fill="url(#test_linear_gradient)" stroke="black" x="125" y="50" width="100" height="100" filter="url(#convolve-without-bias)"/>
+      <rect fill="url(#test_linear_gradient)" stroke="black" x="240" y="50" width="100" height="100" filter="url(#convolve-with-bias05)"/>
+      <rect fill="url(#test_linear_gradient)" stroke="black" x="355" y="50" width="100" height="100" filter="url(#convolve-with-bias1)"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-conv-05-f.svg b/Tests/W3CTestSuite/svg/filters-conv-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b60f774ee5efbaa3ba890c59619805890241a102
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-conv-05-f.svg
@@ -0,0 +1,83 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CM" author="ED" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: filters-conv-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feConvolveMatrixElementOrderAttribute">
+        <p>
+          Tests feConvolveMatrix and the 'edgeMode' attribute.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        You should see three filtered images, each result should be slightly different, if they all look the same the test has failed.
+        The rendered picture should match the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-conv-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+		<defs>
+			<filter id="emNone" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" edgeMode="none"/>
+			</filter>
+			<filter id="emWrap" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+				<feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" edgeMode="wrap"/>
+			</filter>
+			<filter id="emDuplicate" filterUnits="objectBoundingBox" primitiveUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+				<feConvolveMatrix kernelMatrix="1 1 1 1 -7 1 1 1 1" preserveAlpha="false" edgeMode="duplicate"/>
+			</filter>
+	
+      <g id="box">
+        <rect width="10" height="100" fill="blue"/>
+        <rect x="10" width="100" height="10" fill="yellow"/>
+        <rect x="110" width="10" height="100" fill="lime"/>
+        <rect x="10" y="90" width="100" height="10" fill="black"/>
+      </g>
+  	</defs>
+
+		<text x="50%" y="3em" style="font-size:18px; text-anchor:middle">feConvolveMatrix 'edgeMode'</text>
+    
+    <use xlink:href="#box" filter="url(#emNone)" transform="translate(40 100)"/>
+    <text x="100" y="220" font-size="14" text-anchor="middle">none</text>
+    
+    <use xlink:href="#box" filter="url(#emWrap)" transform="translate(180 100)"/>
+    <text x="240" y="220" font-size="14" text-anchor="middle">wrap</text>
+    
+    <use xlink:href="#box" filter="url(#emDuplicate)" transform="translate(320 100)"/>
+    <text x="380" y="220" font-size="14" text-anchor="middle">duplicate</text>
+	</g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-diffuse-01-f.svg b/Tests/W3CTestSuite/svg/filters-diffuse-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5f8c3f0800af1ece3c4e7f3d2c0dcab750b76fc1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-diffuse-01-f.svg
@@ -0,0 +1,152 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-diffuse-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDiffuseLightingElement">
+      <p>
+        Verify the basic operation of the feDiffuseLighting
+        element. The test shows three rows of 3 images. Each
+        rows tests a different aspect of the filter and shows
+        the result of the filtering operation.
+      </p>
+      <p>
+        The first row shows the result of varying the
+        surfaceScale attribute. The second row shows the result
+        of varying the diffuse constant (kd) attribute. The last
+        row shows the result of varying the lighting-color
+        property.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-diffuse-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Title -->
+    <text x="145" y="30" fill="black" font-size="12" font-family="Arial" font-weight="bold">Filters: feDiffuseLighting</text>
+    <!-- ===================================================================== -->
+    <!-- Filter definitions                                                    -->
+    <!-- ===================================================================== -->
+    <defs>
+      <!-- ================================================= -->
+      <!-- Surface scale                                     -->
+      <!-- ================================================= -->
+      <filter id="surfaceScaleA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="1">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="surfaceScaleB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="surfaceScaleC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="-10">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <!-- ================================================= -->
+      <!-- Diffuse Constants                                 -->
+      <!-- ================================================= -->
+      <filter id="diffuseConstantA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="0" surfaceScale="10">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="diffuseConstantB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="diffuseConstantC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="2" surfaceScale="10">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <!-- ================================================= -->
+      <!-- Lighting colors                                   -->
+      <!-- ================================================= -->
+      <filter id="lightingColorA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="red">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="lightingColorB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="yellow">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="lightingColorC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="blue">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+    </defs>
+    <!-- ==================================================== -->
+    <!-- The same image is rendered multiple times with using -->
+    <!-- different filters.                                   -->
+    <!-- ==================================================== -->
+    <!-- Various Surface Scales -->
+    <g transform="translate(0, 50)">
+      <text x="90" y="25">Various values for surfaceScale: 1, 10 and -10</text>
+      <image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#surfaceScaleA)"/>
+      <image xlink:href="../images/bumpMap2.png" x="160" y="30" width="50" height="30" filter="url(#surfaceScaleB)"/>
+      <image xlink:href="../images/bumpMap2.png" x="230" y="30" width="50" height="30" filter="url(#surfaceScaleC)"/>
+    </g>
+    <!-- Various Diffuse Constants -->
+    <g transform="translate(0, 120)">
+      <text x="90" y="25">Various values for diffuseConstants: 0, 1 and 2</text>
+      <image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#diffuseConstantA)"/>
+      <image xlink:href="../images/bumpMap2.png" x="160" y="30" width="50" height="30" filter="url(#diffuseConstantB)"/>
+      <image xlink:href="../images/bumpMap2.png" x="230" y="30" width="50" height="30" filter="url(#diffuseConstantC)"/>
+    </g>
+    <!-- Various Light Colors -->
+    <g transform="translate(0, 190)">
+      <text x="90" y="25">Various values for lighting color: red, yellow and blue</text>
+      <image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#lightingColorA)"/>
+      <image xlink:href="../images/bumpMap2.png" x="160" y="30" width="50" height="30" filter="url(#lightingColorB)"/>
+      <image xlink:href="../images/bumpMap2.png" x="230" y="30" width="50" height="30" filter="url(#lightingColorC)"/>
+    </g>
+    <!-- ===================================================== -->
+    <!-- Legends                                               -->
+    <!-- ===================================================== -->
+    <!-- Surface Scale -->
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-displace-01-f.svg b/Tests/W3CTestSuite/svg/filters-displace-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ff17a780cd2abba7f897c456918dd12609986ac
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-displace-01-f.svg
@@ -0,0 +1,141 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Peter Graffagnino" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-displace-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDisplacementMapElement">
+      <p>
+        Verify the basic capability to handle the feDisplacementMap filter
+        node.  Six images should appear in 2 rows of 3.  On the left in each
+        row a test image of a checker board is displayed.  In the middle
+        column is the displacement map.  In the right-hand column is the
+        result.  All displacement maps are generated as png files with gamma
+        1.0 and must be interpreted linearly for the proper geometric
+        displacement to occur.
+      </p>
+      <p>
+        The top row tests a displacement map which displaces each pixel by an
+        amount equivalent to a rotation of 20 degrees around the center of the
+        image.  A blue reference rectangle is drawn on the result using an svg
+        transform attribute to mimick the same 20 degree rotation.  The edges
+        of the blue rectangle should be parallel to the grid lines in the
+        displaced image.  Distortion of the grid pattern such that the grid
+        lines are slightly curved is indicative of improper gamma handling in
+        the viewer.
+      </p>
+      <p>
+        The bottom row tests a displacement map which distorts the image
+        spherically.
+      </p>
+      <p>
+        In addition to feDisplacementMap, this test uses the 'feImage' and
+        'rect' elements.  Figure labeling uses the text element.  The
+        reference blue rectangle uses fill, fill-opacity, and transform.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered image should match the reference image. The edges
+        of the blue rectangle must be parallel to the grid lines in the
+        displaced image. The center of the bottommost right distorted image 
+        should be on a gridpoint.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-displace-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="DispMapChecker" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feImage xlink:href="../images/DisplaceChecker.png"/>
+      </filter>
+      <filter id="RotateMap" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feImage xlink:href="../images/rotate20.png"/>
+      </filter>
+      <filter id="SphereMap" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feImage xlink:href="../images/sphere.png"/>
+      </filter>
+      <filter id="RotateMapTest" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feImage result="Map" xlink:href="../images/rotate20.png"/>
+        <feImage result="Texture" xlink:href="../images/DisplaceChecker.png"/>
+        <feDisplacementMap in="Texture" in2="Map" scale="64" xChannelSelector="R" yChannelSelector="G"/>
+      </filter>
+      <filter id="SphereMapTest" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feImage result="Map" xlink:href="../images/sphere.png"/>
+        <feImage result="Texture" xlink:href="../images/DisplaceChecker.png"/>
+        <feDisplacementMap in="Texture" in2="Map" scale="64" xChannelSelector="R" yChannelSelector="G"/>
+      </filter>
+    </defs>
+
+    <g font-family="Arial" font-size="12" text-anchor="middle">
+      <rect x="15" y="15" width="128" height="128" filter="url(#DispMapChecker)"/>
+      <rect x="20" y="115" width="118" height="20" fill="#DDD"/>
+      <text x="79" y="130">Checkerboard Image</text>
+
+      <rect x="158" y="15" width="128" height="128" filter="url(#RotateMap)"/>
+      <rect x="163" y="112" width="118" height="30" fill="#DDD"/>
+      <text>
+        <tspan x="222" y="125">Displacement Map</tspan>
+        <tspan x="222" y="138">(20 deg. rotation)</tspan>
+      </text>
+
+
+
+      <rect x="301" y="15" width="128" height="128" filter="url(#RotateMapTest)"/>
+      <rect x="-1" y="-1" width="2" height="2" transform="translate(365,79) rotate(20) scale(32)" fill="blue" fill-opacity="0.5"/>
+      <text>
+        <tspan x="365" y="160">Result</tspan>
+        <tspan x="365" y="172">(overlayed with 20 deg.</tspan>
+        <tspan x="365" y="184">rotated blue rectangle)</tspan>
+      </text>
+
+
+      <rect x="15" y="158" width="128" height="128" filter="url(#DispMapChecker)"/>
+      <rect x="20" y="258" width="118" height="20" fill="#DDD"/>
+      <text x="79" y="273">Checkerboard Image</text>
+
+
+      <rect x="158" y="158" width="128" height="128" filter="url(#SphereMap)"/>
+      <rect x="163" y="255" width="118" height="30" fill="#DDD"/>
+      <text>
+        <tspan x="222" y="268">Displacement Map</tspan>
+        <tspan x="222" y="283">(spherical distortion)</tspan>
+      </text>
+
+
+      <rect x="301" y="200" width="128" height="128" filter="url(#SphereMapTest)"/>
+      <text x="365" y="345">Result</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-displace-02-f.svg b/Tests/W3CTestSuite/svg/filters-displace-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1fc1d1bc5195222c818151fe2af6f8e0aef82420
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-displace-02-f.svg
@@ -0,0 +1,90 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: filters-displace-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDisplacementMapElement">
+      <p>
+        This tests feDisplacementMap without feImage. The input geometry is also used as the displacement map.
+      </p>
+      <p>
+        The bottom subtest tests that not specifying the 'xChannelSelector' attribute has the same effect as if 'A' was specified.
+      </p>
+      <p>
+        In both cases the filter input image consists of a gradient that is rendered using the default 'color-interpolation' which is 'sRGB'. 
+        The default colorspace for filter primitives is 'linearRGB'. The filtering operation happens in 'linearRGB' space and the
+        result is then transformed back to 'sRGB' space for display.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>the top rectangle is overlapped by a gradient that has its blackest part centered around the vertical green line that splits the top rectangle</li>
+        <li>the bottom right corner of the area covered by the top gradient is aligned with the corner just below the top rectangle</li>
+        <li>the bottom rectangle is overlapped by a gradient that is displaced upwards with the maximum displacement the middle indicated by the vertical green line that splits the bottom rectangle</li>
+        <li>no part of the bottom gradient extends outside the bottom rectangle</li>
+        <li>both gradients use the same gradientcolors</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-displace-02-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <linearGradient id="fade" gradientUnits="objectBoundingBox">
+      <stop offset="0" stop-color="#600" stop-opacity="0"/>
+      <stop offset="0.5" stop-color="#000" stop-opacity="1"/>
+      <stop offset="1.0" stop-color="#300" stop-opacity="0"/>
+    </linearGradient>
+
+    <filter id="bend" filterUnits="objectBoundingBox" x="0" width="1.0" y="-1.3" height="2.28">
+      <feDisplacementMap in="SourceGraphic" in2="SourceAlpha" yChannelSelector="A" scale="30"/>
+    </filter>
+
+    <filter id="slide" filterUnits="objectBoundingBox" x="-0.3" width="1.3" y="0" height="1.3">
+      <feDisplacementMap in="SourceGraphic" in2="SourceGraphic" xChannelSelector="R" yChannelSelector="G" scale="80"/>
+    </filter>
+
+    <polyline points="280, 40, 280,120" stroke-width="2" stroke="green"/>
+    <polyline points="400, 144, 420,144, 420, 124" stroke-width="2" stroke="green" fill="none"/>
+    <rect width="360" height="80" x="60" y="40" fill="none" stroke="#933" stroke-width="2"/>
+    <rect width="360" height="80" x="60" y="40" fill="url(#fade)" filter="url(#slide)"/>
+
+    <polyline points="240, 180, 240,260" stroke-width="2" stroke="green"/>
+    <rect width="360" height="80" x="60" y="180" fill="none" stroke="#933" stroke-width="2"/>
+    <rect width="360" height="80" x="60" y="180" fill="url(#fade)" filter="url(#bend)"/>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-example-01-b.svg b/Tests/W3CTestSuite/svg/filters-example-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..825f309b5834e5c29d240d33c39ae86f4a926900
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-example-01-b.svg
@@ -0,0 +1,93 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: filters-example-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#AnExample">
+      <p>
+        A single filter that uses a combination of filter
+        primitives. You should see a gray rectangle that
+        contains a green outer ring and a green inner button
+        with "SVG" on it, both having a 3D appearance.
+      </p>
+      <p>
+        Verify that a typical usage of filtering is operation.
+        This test case creates a 3D lighting effect and requires
+        that several filters are working: feGaussianBlur, feOffset,
+        feSpecularLighting, feComposite and feMerge. The graphic
+        consisting of the string "SVG" sitting on top of oval
+        filled in green and surrounded by an oval outlined in green.
+      </p>
+      <p>
+        The test uses a nested 'svg' element, 'rect' element,
+        'path' element, as well as basic fill (solid
+        colors), stroke (solid colors with stroke-width
+        lines), font-family (Verdana and Arial) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image
+        exactly, except for possible variations in the labelling
+        text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-example-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Here is the test case -->
+    <svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="80" y="110" width="300" height="180" viewBox="0 0 200 120">
+      <title>Example filters01.svg - introducing filter effects</title>
+      <desc>An example which combines multiple filter primitives to produce a 3D lighting effect on a graphic consisting of the string "SVG" sitting on top of oval filled in green and surrounded by an oval outlined in green.</desc>
+      <defs>
+        <filter id="MyFilter" filterUnits="userSpaceOnUse" x="0" y="0" width="200" height="120">
+          <feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>
+          <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
+          <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
+        </filter>
+      </defs>
+      <rect x="1" y="1" width="198" height="118" fill="#888888" stroke="blue"/>
+      <g filter="url(#MyFilter)">
+        <g>
+          <path fill="none" stroke="#00D900" stroke-width="10" d="M50,90 C0,90 0,30 50,30 L150,30 C200,30 200,90 150,90 z"/>
+          <path fill="#00D900" d="M60,80 C30,80 30,40 60,40 L140,40 C170,40 170,80 140,80 z"/>
+          <g fill="#FFFFFF" stroke="black" font-size="45" font-family="Verdana">
+            <text x="52" y="76">SVG</text>
+          </g>
+        </g>
+      </g>
+    </svg>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-felem-01-b.svg b/Tests/W3CTestSuite/svg/filters-felem-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4ad95869d053c534cb19910d27e297499d02fb27
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-felem-01-b.svg
@@ -0,0 +1,90 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="BB" author="CL" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: filters-felem-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#FilterElement">
+      <p>
+        Test which verifies null filters and filter regions.
+      </p>
+      <p>
+        Four subtests each consist of a small red circle overdrawn with a larger green circle. 
+        Filters are applied to three of the red circles, hiding them and showing the green circle.
+      </p>
+      <p>
+        The top left subtest has no filter applied to the circle, so the green circle is visible and the red one is not. 
+        The top right subtest applies a filter to the red circle, but there is no corresponding filter element. 
+        Thus, a null filter is applied and the red circle is not shown, allowing the green circle to be seen.
+      </p>
+      <p>
+        The bottom left subtest applies an empty filter element with the default filterRegion, and the bottom right 
+        subtest applies an empty filter with a non-default filterRegion. In both cases where empty filters are applied, 
+        the result of the filter is a transparent black offscreen, thus showing the green circle underneath.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are four green circles visible.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-felem-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="null"/>
+      <filter id="nullreg" filterUnits="objectBoundingBox" x="40%" y="40%" width="20%" height="20%"/>
+    </defs>
+    <g>
+      <circle r="30" fill="red" cx="130" cy="60"/>
+      <circle r="40" fill="lime" cx="130" cy="60"/>
+      <text font-size="20" x="130" y="130" text-anchor="middle">No filter</text>
+    </g>
+    <g>
+      <circle r="30" fill="lime" cx="130" cy="210"/>
+      <circle r="40" fill="red" cx="130" cy="210" filter="url(#null)"/>
+      <text font-size="20" x="130" y="280" text-anchor="middle">Null filter</text>
+    </g>
+    <g>
+      <circle r="30" fill="lime" cx="330" cy="60"/>
+      <circle r="40" fill="red" cx="330" cy="60" filter="url(#notthere)"/>
+      <text font-size="20" x="330" y="130" text-anchor="middle">Non-existent filter</text>
+    </g>
+    <g>
+      <circle r="30" fill="lime" cx="330" cy="210"/>
+      <circle r="40" fill="red" cx="330" cy="210" filter="url(#nullreg)"/>
+      <text font-size="20" x="330" y="280" text-anchor="middle">Null with small region filter</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-felem-02-f.svg b/Tests/W3CTestSuite/svg/filters-felem-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ebcdac5e0649cc0c629c8481ba45701a90354ad5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-felem-02-f.svg
@@ -0,0 +1,127 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="TB" author="ED" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: filters-felem-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#FilterElementPrimitiveUnitsAttribute">
+        <p>
+          This tests the 'primitiveUnits' attribute and how it affects other attribute values.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        You should see three rectangles in a row, then a row of three circles, then a row of three stars.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+			<ul>
+				<li>There is no red visible anywhere</li>
+				<li>The first row has three green rectangles</li>
+				<li>The second row has three black circles, and the middle one has more blurred edges than the other two.</li>
+				<li>The third row has three green stars.</li>
+			</ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-felem-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <filter id="usou1" primitiveUnits="userSpaceOnUse" x="0" y="0" width="100%" height="100%">
+        <feFlood flood-color="lime" x="25" y="25" width="50" height="50"/>
+      </filter>
+			<filter id="obb1" primitiveUnits="objectBoundingBox" x="0" y="0" width="100%" height="100%">
+        <feFlood flood-color="lime" x="25%" y="25%" width="50%" height="50%"/>
+      </filter>
+			<filter id="default1" x="0" y="0" width="100%" height="100%">
+        <feFlood flood-color="lime" x="25" y="25" width="50" height="50"/>
+      </filter>
+			
+			<filter id="usou2" primitiveUnits="userSpaceOnUse" x="-50%" y="-50%" width="200%" height="200%">
+        <feGaussianBlur stdDeviation="0.2"/>
+      </filter>
+			<filter id="obb2" primitiveUnits="objectBoundingBox" x="-50%" y="-50%" width="200%" height="200%">
+        <feGaussianBlur stdDeviation="0.2"/>
+      </filter>
+			<filter id="default2" x="-50%" y="-50%" width="200%" height="200%">
+        <feGaussianBlur stdDeviation="0.2"/>
+      </filter>
+			
+			<filter id="usou3" primitiveUnits="userSpaceOnUse" x="-50%" y="-50%" width="200%" height="200%">
+        <feOffset dx="2" dy="2"/>
+      </filter>
+			<filter id="obb3" filterUnits="userSpaceOnUse" primitiveUnits="objectBoundingBox" x="-50%" y="-50%" width="200%" height="200%">
+        <feOffset dx="2" dy="2"/>
+      </filter>
+			<filter id="default3" x="-50%" y="-50%" width="200%" height="200%">
+        <feOffset dx="2" dy="2"/>
+      </filter>
+
+			<polygon id="star" points="300,60 311.755,83.819 338.042,87.639 319.021,106.180 323.511,132.360 300,120 276.488,132.360 280.978,106.180 261.957,87.639 288.244,83.819 300,60 311.755,83.819"/>
+			
+    </defs>
+		
+		<g transform="translate(80 0)">
+
+			<rect fill="red" width="50" height="50" transform="translate(25 25)"/>
+			<rect fill="red" width="100" height="100" filter="url(#usou1)" transform="translate(0 0)"/>
+			
+			<rect fill="red" width="50" height="50" transform="translate(125 25)"/>
+			<rect fill="red" width="100" height="100" filter="url(#obb1)" transform="translate(100 0)"/>
+			
+			<rect fill="red" width="50" height="50" transform="translate(225 25)"/>
+			<rect fill="red" width="100" height="100" filter="url(#default1)" transform="translate(200 0)"/>
+			
+			<g transform="translate(50 40)">
+				<circle r="30" filter="url(#usou2)" transform="translate(0 100)"/>
+				<circle r="30" filter="url(#obb2)" transform="translate(100 100)"/>
+				<circle r="30" filter="url(#default2)" transform="translate(200 100)"/>
+			</g>
+			
+			
+			<use xlink:href="#star" transform="translate(-250 150)" fill="red"/>
+			<use xlink:href="#star" transform="translate(-252 148)" fill="lime" filter="url(#usou3)"/>
+			<use xlink:href="#star" transform="translate(-250 150)" fill="none" stroke-width="2" stroke="lime"/>
+						
+			<use xlink:href="#star" transform="translate(-150 150)" fill="red"/>
+			<use xlink:href="#star" transform="translate(-302 5.1)" fill="lime" filter="url(#obb3)"/>
+			<use xlink:href="#star" transform="translate(-150 150)" fill="none" stroke-width="2" stroke="lime"/>
+			
+			<use xlink:href="#star" transform="translate(-50 150)" fill="red"/>
+			<use xlink:href="#star" transform="translate(-52 148)" fill="lime" filter="url(#default3)"/>
+			<use xlink:href="#star" transform="translate(-50 150)" fill="none" stroke-width="2" stroke="lime"/>
+		
+		</g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
+
diff --git a/Tests/W3CTestSuite/svg/filters-gauss-01-b.svg b/Tests/W3CTestSuite/svg/filters-gauss-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d1cd3a5f8c938c8f6345d66e1c896fa9ca9d7908
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-gauss-01-b.svg
@@ -0,0 +1,93 @@
+<svg version="1.1" baseProfile="basic" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: filters-gauss-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#feGaussianBlurElement">
+      <p>
+        In the upper left corner of the output are blue and yellow rectangles that overlap,
+        they appear normally, no gaussianBlur has been applied.
+        In the upper right the same rectangles are displayed with a blur filter applied,
+        the standard deviation is the same for both the x and y axis.
+        In the lower right corner the rectangles appear again,
+        this time the standard deviation is different along the x (20) and y (1) axis.
+      </p>
+      <p>
+        On top of the rectangles in the upper right and lower right, thin (half-pixel-wide) blue
+        lines are drawn to show the outline of the object bounding box (the inside lines) and the
+        outline of the filter region (the outside lines). The blur effect should be clipped
+        to the bounds of the filter region.
+      </p>
+      <p>
+        The test uses the 'rect' element, as well as basic fill (solid primary colors),
+        stroke (black 1-pixel and blue half-pixel lines), font-family (Arial) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-gauss-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <g id="rects">
+        <rect x="0" y="0" width="90" height="90" fill="blue"/>
+        <rect x="45" y="45" width="90" height="90" fill="yellow"/>
+      </g>
+      <g id="rect_outlines">
+        <rect x="0" y="0" width="135" height="135" fill="none" stroke="blue" stroke-width=".5"/>
+        <rect x="-13.5" y="-13.5" width="162" height="162" fill="none" stroke="blue" stroke-width=".5"/>
+      </g>
+      <filter id="blur" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="120%" height="120%">
+        <feGaussianBlur stdDeviation="10"/>
+      </filter>
+      <filter id="blurxy" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="120%" height="120%">
+        <feGaussianBlur stdDeviation="20 1"/>
+      </filter>
+    </defs>
+    <use xlink:href="#rects"/>
+    <g transform="translate(310,15)">
+      <use xlink:href="#rects" filter="url(#blur)"/>
+      <use xlink:href="#rect_outlines"/>
+    </g>
+    <g transform="translate(310,200)">
+      <use xlink:href="#rects" filter="url(#blurxy)"/>
+      <use xlink:href="#rect_outlines"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-gauss-02-f.svg b/Tests/W3CTestSuite/svg/filters-gauss-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..003fc59eeb757b8fe60831f44e994c3f1839c5a6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-gauss-02-f.svg
@@ -0,0 +1,85 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="TB" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: filters-gauss-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#feGaussianBlurElement">
+      <p>
+        Test that when 'stdDeviation' is zero in one of X or Y the filter input image is
+        blurred only in the non-zero direction.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>the left subtest shows a blue and yellow rectangle fused together, with blur applied only in the vertical direction</li>
+        <li>the right subtest shows a blue and yellow rectangle fused together, with blur applied only in the horizontal direction</li>
+        <li>the blurred shapes are within the blue guidelines</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-gauss-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <g id="rects">
+        <rect x="0" y="0" width="90" height="90" fill="blue"/>
+        <rect x="45" y="45" width="90" height="90" fill="yellow"/>
+      </g>
+      <g id="rect_outlines">
+        <rect x="0" y="0" width="135" height="135" fill="none" stroke="blue" stroke-width=".5"/>
+        <rect x="-13.5" y="-13.5" width="162" height="162" fill="none" stroke="blue" stroke-width=".5"/>
+      </g>
+      <filter id="blury" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="120%" height="120%">
+        <feGaussianBlur stdDeviation="0 10"/>
+      </filter>
+      <filter id="blurx" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="120%" height="120%">
+        <feGaussianBlur stdDeviation="20 0"/>
+      </filter>
+    </defs>
+    <g transform="translate(80,100)">
+      <use xlink:href="#rects" filter="url(#blury)"/>
+      <use xlink:href="#rect_outlines"/>
+    </g>
+    <g transform="translate(270,100)">
+      <use xlink:href="#rects" filter="url(#blurx)"/>
+      <use xlink:href="#rect_outlines"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-gauss-03-f.svg b/Tests/W3CTestSuite/svg/filters-gauss-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ea7c54cabd4572682a3b3b78cdb8be9afffa0ad5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-gauss-03-f.svg
@@ -0,0 +1,65 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="TB" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: filters-gauss-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#feGaussianBlurElement">
+      <p>
+        Test that when 'stdDeviation' is zero the result is a non-blurred image.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there's a green rectangle visible, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-gauss-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <rect id="rect" x="0" y="0" width="90" height="90"/>
+      <filter id="identity" filterUnits="objectBoundingBox" x="-10%" y="-10%" width="150%" height="150%">
+        <feGaussianBlur stdDeviation="0"/>
+      </filter>
+    </defs>
+    <g transform="translate(190,120)">
+      <use xlink:href="#rect" fill="red"/>
+      <use xlink:href="#rect" fill="lime" stroke="lime" stroke-width="2" filter="url(#identity)"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-image-01-b.svg b/Tests/W3CTestSuite/svg/filters-image-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..837850adfd94c87cb2a5e8d74a80a3527af18e83
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-image-01-b.svg
@@ -0,0 +1,59 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: filters-image-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImageElement">
+      <p>
+        An image should be displayed in the middle of the view area.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-image-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="image">
+        <feImage x="145" y="50" width="190" height="190" xlink:href="../images/image1.jpg"/>
+      </filter>
+    </defs>
+    <text font-family="Arial" font-size="12" x="240" y="20" text-anchor="middle">Basic test of feImage filter support.</text>
+    <rect width="480" height="360" filter="url(#image)"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-image-02-b.svg b/Tests/W3CTestSuite/svg/filters-image-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ee30a730740ba7c7bdc6eedccf745507669b9c97
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-image-02-b.svg
@@ -0,0 +1,79 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: filters-image-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImage">
+      <p>
+        Tests the animatability of 'xlink:href' on the 'feImage' element. 
+        The test will first show two blue images that should look exactly the same, 
+        then after two seconds both images should simultaneously change to show two
+        pink images that also look exactly the same.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required. 
+        
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>at first there are two identical <a href="../../images/bluesquidj.png">blue images</a> shown next to each other</li>
+        <li>after two seconds the two blue images are simultaneously replaced by two <a href="../../images/pinksquidj.png">pink images</a></li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-image-02-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <filter id="feimage" x="0" y="0" width="100%" height="100%" filterUnits="objectBoundingBox">
+        <feImage xlink:href="../images/bluesquidj.png">
+          <set attributeName="xlink:href" to="../images/pinksquidj.png" begin="2s"/>
+        </feImage>
+      </filter>
+    </defs>
+
+    <rect fill="red" filter="url(#feimage)" x="70" y="60" width="150" height="200"/>
+    <image xlink:href="../images/bluesquidj.png" x="260" y="60" width="150" height="200">
+      <set attributeName="xlink:href" to="../images/pinksquidj.png" begin="2s"/>
+    </image>
+    
+    <g text-anchor="middle">
+      <text x="50%" y="60" font-size="30">Animation in filters</text>
+      <text x="145" y="220">'feImage'</text>
+      <text x="335" y="220">'image'</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-image-03-f.svg b/Tests/W3CTestSuite/svg/filters-image-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d8b2b92c6550cc40dc1941a67d3ae674ad4f9fbd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-image-03-f.svg
@@ -0,0 +1,179 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="TB" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: filters-image-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImageElement">
+      <p>
+        This tests the feImage element with a number of different filter primitive subregion values.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>the first row show four smiley faces of the same size, each framed by a blue rectangle</li>
+        <li>the first image on the left on the second row shows half a smiley face (horizontally offset)</li>
+        <li>the second image on the left on the second row shows half a smiley face (vertically offset)</li>
+        <li>the third image on the left on the second row shows the upper-lefthand quarter of the smiley face enlarged to fit the blue rectangle</li>
+        <li>the rightmost image on the second row shows the upper-lefthand quarter of the smiley face (horizontally and vertically offset)</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-image-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <!-- A breakdown of this testcase:
+      
+        All filters:
+          filterUnits not specified, defaults to objectBoundingBox.
+          x=0, y=0, width=1, height=1 -> filter region = bounding box.
+
+          viewport is viewbox which is 0 0 480 360
+          primitiveUnits not specified, defaults to userSpaceOnUse
+          preserveAspectRatio defaults to xMidYMid meet
+
+        Top row
+        1. Default:
+           x defaults to 0% relative to filter region (special case)
+           y defaults to 0% relative to filter region (special case)
+           width  defaults to 100% of filter region (special case)
+           height defaults to 100% of filter region (special case)
+
+        2. All specified relative
+           x = 20.8%        = 100/480 (0.2083)
+           y =    0%	   =   0/360 (0.0)
+           width  = 10.4%   =  50/480 (0.1042)
+           height = 13.8%   =  50/360 (0.1388)
+
+        3. All specified absolute
+           x = 200
+           y = 0
+           width  = 50
+           height = 50
+
+        4. y Specified
+           x defaults to 0% relative to filter region (special case)
+           y = 0%  = 0/360
+           width  defaults to 100% of filter region (special case)
+           height defaults to 100% of filter region (special case)
+
+        Bottom row
+        1. Width specified
+                 x defaults to 0% relative to filter region (special case)
+                 y defaults to 0% relative to filter region (special case)
+           width  20.4%    97.92/480 **** Should be 20.8%
+           height defaults to 100% of filter region (special case)
+
+        2. Height specified
+                 x defaults to 0% relative to filter region (special case)
+                 y defaults to 0% relative to filter region (special case)
+           width defaults to 100% of filter region (special case)
+           height 27.6%   99.36/360
+
+        3. Width and height specified
+           x defaults to 0% relative to filter region (special case)
+           y defaults to 0% relative to filter region (special case)
+           width  20.8%   99.8/480  (x2)
+           height 27.6%   99.36/360 (x2)
+
+              4. x, y specified
+           x = 67.7%  = 325.0
+           y = 34.6%  = 125.0
+           width  defaults to 100% of filter region (special case)
+           height defaults to 100% of filter region (special case)
+        -->
+      <filter id="default" x="0" y="0" width="1" height="1">
+        <feImage xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="all_specified_relative" x="0" y="0" width="1" height="1">
+        <!-- x=100/480 y=0/360 width=50/480 height=50/360-->
+        <feImage x="20.8%" y="0%" width="10.4%" height="13.8%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="all_specified_absolute" x="0" y="0" width="1" height="1">
+        <feImage x="200" y="0" height="50" width="50"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="y_specified" x="0" y="0" width="1" height="1">
+        <feImage y="0%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="width_specified" x="0" y="0" width="1" height="1">
+        <feImage width="20.8%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="height_specified" x="0" y="0" width="1" height="1">
+        <feImage height="27.6%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="width_height_specified" x="0" y="0" width="1" height="1">
+        <feImage width="20.8%" height="27.6%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="x_y_specified" x="0" y="0" width="1" height="1">
+        <feImage x="67.7%" y="34.6%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+    </defs>
+    
+    <g transform="translate(60 100)">
+      <rect fill="red" width="50" height="50" filter="url(#default)"/>
+      <rect fill="red" x="100" width="50" height="50" filter="url(#all_specified_relative)"/>
+      <rect fill="red" x="200" width="50" height="50" filter="url(#all_specified_absolute)"/>
+      <rect fill="red" x="300" width="50" height="50" filter="url(#y_specified)"/>
+      
+      <rect fill="red" y="100" width="50" height="50" filter="url(#width_specified)"/>
+      <rect fill="red" x="100" y="100" width="50" height="50" filter="url(#height_specified)"/>
+      <rect fill="red" x="200" y="100" width="50" height="50" filter="url(#width_height_specified)"/>
+      <rect fill="red" x="300" y="100" width="50" height="50" filter="url(#x_y_specified)"/>
+
+      <g id="reference_frames" stroke="blue" stroke-width="1" fill="none">
+        <rect width="50" height="50" />
+        <rect x="100" width="50" height="50"/>
+        <rect x="200" width="50" height="50"/>
+        <rect x="300" width="50" height="50"/>
+        <rect y="100" width="50" height="50"/>
+        <rect x="100" y="100" width="50" height="50"/>
+        <rect x="200" y="100" width="50" height="50"/>
+        <rect x="300" y="100" width="50" height="50"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-image-04-f.svg b/Tests/W3CTestSuite/svg/filters-image-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ab2475dc4007de7c55bed355865da0382f12992e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-image-04-f.svg
@@ -0,0 +1,119 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2011 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="TB" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: filters-image-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImageElement">
+      <p>
+        This tests the feImage element with a number of different filter primitive subregion values.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>the first row show four smiley faces of the same size, each framed by a blue rectangle</li>
+        <li>the first image on the left on the second row shows half a smiley face (horizontally offset)</li>
+        <li>the second image on the left on the second row shows half a smiley face (vertically offset)</li>
+        <li>the third image on the left on the second row shows the upper-lefthand quarter of the smiley face enlarged to fit the blue rectangle</li>
+        <li>the rightmost image on the second row shows the upper-lefthand quarter of the smiley face (horizontally and vertically offset)</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-image-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="default" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
+        <feImage xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="all_specified_relative" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
+        <feImage x="0%" y="0%" width="100%" height="100%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="all_specified_absolute" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
+        <feImage x="0" y="0" height="1" width="1"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="y_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
+        <feImage y="0%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="width_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
+        <feImage width="200%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="height_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
+        <feImage height="200%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="width_height_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
+        <feImage width="200%" height="200%"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+      <filter id="x_y_specified" x="0" y="0" width="1" height="1" primitiveUnits="objectBoundingBox">
+        <feImage x="0.5" y="0.5"
+           xlink:href="../images/smiley.png"/>
+      </filter>
+    </defs>
+    
+    <text text-anchor="middle" x="240" y="40" font-size="16">primitiveUnits = "objectBoundingBox"</text>
+    <g transform="translate(60 100)">
+      <rect fill="red" width="50" height="50" filter="url(#default)"/>
+      <rect fill="red" x="100" width="50" height="50" filter="url(#all_specified_relative)"/>
+      <rect fill="red" x="200" width="50" height="50" filter="url(#all_specified_absolute)"/>
+      <rect fill="red" x="300" width="50" height="50" filter="url(#y_specified)"/>
+      
+      <rect fill="red" y="100" width="50" height="50" filter="url(#width_specified)"/>
+      <rect fill="red" x="100" y="100" width="50" height="50" filter="url(#height_specified)"/>
+      <rect fill="red" x="200" y="100" width="50" height="50" filter="url(#width_height_specified)"/>
+      <rect fill="red" x="300" y="100" width="50" height="50" filter="url(#x_y_specified)"/>
+
+      <g id="reference_frames" stroke="blue" stroke-width="1" fill="none">
+        <rect width="50" height="50" />
+        <rect x="100" width="50" height="50"/>
+        <rect x="200" width="50" height="50"/>
+        <rect x="300" width="50" height="50"/>
+        <rect y="100" width="50" height="50"/>
+        <rect x="100" y="100" width="50" height="50"/>
+        <rect x="200" y="100" width="50" height="50"/>
+        <rect x="300" y="100" width="50" height="50"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-image-05-f.svg b/Tests/W3CTestSuite/svg/filters-image-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eab4872dbc7b9ff12a49a24e621d0f6ceb8b1255
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-image-05-f.svg
@@ -0,0 +1,195 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2011 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Tavmjong Bah" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: filters-image-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feImageElement">
+      <p>
+        This test verifies the implementation of the preserveAspectRatio attribute on &lt;feImage&gt;
+        referencing raster content.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test copies coords-viewattr-02-b, substituting feImage for image.
+        It exercises the various preserveAspectRatio values. An external bitmap
+	is referenced.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly except for variations in the labeling text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-image-05-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+	<defs>
+	  <filter id="default" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png"/>
+	  </filter>
+	  <!-- Meet -->
+	  <filter id="xMinYMinMeet" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMinYMin meet"/>
+	  </filter>
+	  <filter id="xMidYMinMeet" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMidYMin meet"/>
+	  </filter>
+	  <filter id="xMaxYMinMeet" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMaxYMin meet"/>
+	  </filter>
+	  <filter id="xMinYMidMeet" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMinYMid meet"/>
+	  </filter>
+	  <filter id="xMidYMidMeet" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMidYMid meet"/>
+	  </filter>
+	  <filter id="xMaxYMidMeet" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMaxYMid meet"/>
+	  </filter>
+	  <filter id="xMinYMaxMeet" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMinYMax meet"/>
+	  </filter>
+	  <filter id="xMidYMaxMeet" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMidYMax meet"/>
+	  </filter>
+	  <filter id="xMaxYMaxMeet" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMaxYMax meet"/>
+	  </filter>
+	  <!-- Slice -->
+	  <filter id="xMinYMinSlice" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMinYMin slice"/>
+	  </filter>
+	  <filter id="xMidYMinSlice" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMidYMin slice"/>
+	  </filter>
+	  <filter id="xMaxYMinSlice" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMaxYMin slice"/>
+	  </filter>
+	  <filter id="xMinYMidSlice" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMinYMid slice"/>
+	  </filter>
+	  <filter id="xMidYMidSlice" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMidYMid slice"/>
+	  </filter>
+	  <filter id="xMaxYMidSlice" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMaxYMid slice"/>
+	  </filter>
+	  <filter id="xMinYMaxSlice" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMinYMax slice"/>
+	  </filter>
+	  <filter id="xMidYMaxSlice" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMidYMax slice"/>
+	  </filter>
+	  <filter id="xMaxYMaxSlice" x="0" y="0" width="1" height="1">
+	    <feImage xlink:href="../images/smiley.png" preserveAspectRatio="xMaxYMax slice"/>
+	  </filter>
+	</defs>
+    <g font-size="9" transform="translate(0, 30)">
+      <desc>Example PreserveAspectRatio - demonstrate available options</desc>
+      <text text-anchor="middle" x="240" font-size="16">Test preserveAspectRatio on an feImage element.</text>
+      <text x="40" y="30" text-anchor="middle">Raster to fit</text>
+      <g transform="translate(20,40)">
+	<rect fill="red" width="40" height="40" filter="url(#default)"/>
+      </g>
+      <text x="35.5" y="110" text-anchor="middle">Viewport 1</text>
+      <g transform="translate(10,120)"><rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/></g>
+      <text x="35.5" y="180" text-anchor="middle">Viewport 2</text>
+      <g transform="translate(20,190)"><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/></g>
+      <g id="meet-group-1" transform="translate(120, 50)">
+        <text x="0" y="-20">---------- meet --------------------</text>
+        <g>
+          <text y="-5">xMin*</text>
+	  <rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
+	  <rect fill="red" width="50" height="30" filter="url(#xMinYMinMeet)"/>
+        </g>
+        <g transform="translate(70,0)">
+          <text y="-5">xMid*</text>
+	  <rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
+	  <rect fill="red" width="50" height="30" filter="url(#xMidYMidMeet)"/>
+        </g>
+        <g transform="translate(0,50)">
+          <text y="-5">xMax*</text>
+	  <rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
+	  <rect fill="red" width="50" height="30" filter="url(#xMaxYMaxMeet)"/>
+        </g>
+      </g>
+      <g id="meet-group-2" transform="translate(300, 50)">
+        <text x="0" y="-20">---------- meet ------------------------</text>
+        <g>
+          <text y="-5">*YMin</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
+	  <rect fill="red" width="30" height="60" filter="url(#xMinYMinMeet)"/>
+        </g>
+        <g transform="translate(50, 0)">
+          <text y="-5">*YMid</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
+	  <rect fill="red" width="30" height="60" filter="url(#xMidYMidMeet)"/>
+        </g>
+        <g transform="translate(100, 0)">
+          <text y="-5">*YMax</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
+	  <rect fill="red" width="30" height="60" filter="url(#xMaxYMaxMeet)"/>
+        </g>
+      </g>
+      <g id="slice-group-1" transform="translate(120, 185)">
+        <text x="0" y="-20">---------- slice -------------------------</text>
+        <g>
+          <text y="-5">xMin*</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
+	  <rect fill="red" width="30" height="60" filter="url(#xMinYMinSlice)"/>
+        </g>
+        <g transform="translate(50,0)">
+          <text y="-5">xMid*</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
+	  <rect fill="red" width="30" height="60" filter="url(#xMidYMidSlice)"/>
+        </g>
+        <g transform="translate(100,0)">
+          <text y="-5">xMax*</text><rect x='.5' y='.5' width='29' height='59' fill='none' stroke='blue'/>
+	  <rect fill="red" width="30" height="60" filter="url(#xMaxYMaxSlice)"/>
+        </g>
+      </g>
+      <g id="slide-group-2" transform="translate(300, 155) translate(0, 30)">
+        <text x="0" y="-20">---------- slice ---------------------</text>
+        <g>
+          <text y="-5">*YMin</text>
+	  <rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
+	  <rect fill="red" width="50" height="30" filter="url(#xMinYMinSlice)"/>
+        </g>
+        <g transform="translate(70,0)">
+          <text y="-5">*YMid</text>
+	  <rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
+	  <rect fill="red" width="50" height="30" filter="url(#xMidYMidSlice)"/>
+        </g>
+        <g transform="translate(0,50)">
+          <text y="-5">*YMax</text>
+	  <rect x='.5' y='.5' width='49' height='29' fill='none' stroke='blue'/>
+	  <rect fill="red" width="50" height="30" filter="url(#xMaxYMaxSlice)"/>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-light-01-f.svg b/Tests/W3CTestSuite/svg/filters-light-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eb53871a57563eb990943fa2e903f6ab70209585
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-light-01-f.svg
@@ -0,0 +1,187 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-light-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#LightSourceDefinitions">
+      <p>
+        Verify the basic operation of the different lights used in the feDiffuseLighting
+        and feSpecularLighting elements. The test uses the same feDiffuseLighting filter,
+        using different lights.
+      </p>
+      <p>
+        The first row shows different settings for feDistantLight. The second row shows
+        different settings for fePointLight. The last row shows different settings for
+        feSpotLight.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered image should look approximately like the reference image, except for the last
+        feSpotLight test for which a reference image could not be created. The reference image may not be pixel accurate. However, the rendered image should show
+        at least 'similar' lighting results and bump maps.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-light-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Title -->
+    <text x="240" y="20" fill="black" font-size="12" font-family="Arial" text-anchor="middle">Filters: feDistantLight, fePointLight, feSpotLight</text>
+    <!-- ===================================================================== -->
+    <!-- Filter definitions                                                    -->
+    <!-- ===================================================================== -->
+    <defs>
+      <!-- ================================================= -->
+      <!-- feDistantLight                                    -->
+      <!-- ================================================= -->
+      <filter id="distantLightA" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="0" elevation="0"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="distantLightB" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="0"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="distantLightC" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="0" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="distantLightD" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feDiffuseLighting>
+      </filter>
+      <!-- ================================================= -->
+      <!-- fePointLight                                    -->
+      <!-- ================================================= -->
+      <filter id="pointLightA" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <fePointLight x="0" y="0" z="10"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="pointLightB" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <fePointLight x="50" y="0" z="10"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="pointLightC" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <fePointLight x="0" y="30" z="10"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="pointLightD" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <fePointLight x="50" y="30" z="10"/>
+        </feDiffuseLighting>
+      </filter>
+      <!-- ================================================= -->
+      <!-- feSpotLight                                       -->
+      <!-- ================================================= -->
+      <filter id="spotLightA" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightB" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="30" z="35" pointsAtX="25" pointsAtY="0" pointsAtZ="0" specularExponent="0"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightC" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="1"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightD" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="30"/>
+        </feDiffuseLighting>
+      </filter>
+    </defs>
+    <!-- ==================================================== -->
+    <!-- The same image is rendered multiple times with using -->
+    <!-- different filters.                                   -->
+    <!-- ==================================================== -->
+    <!-- Various feDistantLights -->
+    <g transform="translate(0, 40)">
+      <text x="70" y="10">Various values for feDistantLight azimuth and elevation</text>
+      <text x="70" y="25">(0, 0)</text>
+      <text x="165" y="25">(45, 0)</text>
+      <text x="260" y="25">(0, 45)</text>
+      <text x="355" y="25">(45, 45)</text>
+      <image xlink:href="../images/bumpMap2.png" x="70" y="30" width="50" height="30" filter="url(#distantLightA)"/>
+      <image xlink:href="../images/bumpMap2.png" x="165" y="30" width="50" height="30" filter="url(#distantLightB)"/>
+      <image xlink:href="../images/bumpMap2.png" x="260" y="30" width="50" height="30" filter="url(#distantLightC)"/>
+      <image xlink:href="../images/bumpMap2.png" x="355" y="30" width="50" height="30" filter="url(#distantLightD)"/>
+    </g>
+    <!-- Various fePointLights -->
+    <g transform="translate(0, 120)">
+      <text x="70" y="10">Various values for fePointLight's x, y and z</text>
+      <text x="70" y="25">(0, 0, 10)</text>
+      <text x="165" y="25">(50, 0, 10)</text>
+      <text x="260" y="25">(0, 30, 10)</text>
+      <text x="355" y="25">(50, 30, 10)</text>
+    </g>
+    <g>
+      <image transform="translate(70, 150)" xlink:href="../images/bumpMap2.png" width="50" height="30" filter="url(#pointLightA)"/>
+      <image transform="translate(165, 150)" xlink:href="../images/bumpMap2.png" width="50" height="30" filter="url(#pointLightB)"/>
+      <image transform="translate(260, 150)" xlink:href="../images/bumpMap2.png" width="50" height="30" filter="url(#pointLightC)"/>
+      <image transform="translate(355, 150)" xlink:href="../images/bumpMap2.png" width="50" height="30" filter="url(#pointLightD)"/>
+    </g>
+    <!-- feSpotLight -->
+    <g transform="translate(0, 210)">
+      <text x="70" y="0">Various values for feSpotLight's x, y, z, pointsAtX, pointsAtY, pointsAtZ</text>
+      <text x="70" y="15">(25, 0, 25)</text>
+      <text x="70" y="30">(25, 30, 0)</text>
+      <text x="165" y="15">(25, 30, 25)</text>
+      <text x="165" y="30">(25, 0, 0)</text>
+      <text x="260" y="30">np=1</text>
+      <text x="355" y="30">limitingConeAngle=30</text>
+    </g>
+    <g>
+      <rect transform="translate(70, 245)" width="50" height="30" filter="url(#spotLightA)"/>
+      <rect transform="translate(165, 245)" width="50" height="30" filter="url(#spotLightB)"/>
+      <rect transform="translate(260, 245)" width="50" height="30" filter="url(#spotLightC)"/>
+      <rect transform="translate(355, 245)" width="50" height="30" filter="url(#spotLightD)"/>
+    </g>
+    <!-- ===================================================== -->
+    <!-- Legends                                               -->
+    <!-- ===================================================== -->
+    <!-- Surface Scale -->
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-light-02-f.svg b/Tests/W3CTestSuite/svg/filters-light-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c5b61328e001df20736343e1ae662433a4773f5d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-light-02-f.svg
@@ -0,0 +1,97 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-light-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDistantLightAzimuthAttribute">
+        <p>
+          This test verifies that the <a>'azimuth'</a> attribute is interpreted as a clockwise value in degrees.
+        </p>
+<p>The test should show four arrows, indicating the direction of the incoming distant light.
+        As the four circles are lit by a specular lighting filter a faint shaded arc should appear.
+        The middle of each such arc should be where the corresponding arrow points.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if the shaded arcs are displayed only on the side indicated by the arrows. 
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-light-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="right">
+        <feSpecularLighting surfaceScale="5" specularConstant="100" specularExponent="10">
+          <feDistantLight azimuth="0" elevation="30"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="down">
+        <feSpecularLighting surfaceScale="5" specularConstant="100" specularExponent="10">
+          <feDistantLight azimuth="90" elevation="30"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="left">
+        <feSpecularLighting surfaceScale="5" specularConstant="100" specularExponent="10">
+          <feDistantLight azimuth="180" elevation="30"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="up">
+        <feSpecularLighting surfaceScale="5" specularConstant="100" specularExponent="10">
+          <feDistantLight azimuth="270" elevation="30"/>
+        </feSpecularLighting>
+      </filter>
+    
+      <marker id="arrow" markerWidth="10" markerHeight="10" viewBox="0 0 10 40" overflow="visible" orient="auto">
+        <path d="M-1 5l10 -5l-10 -5z"/>
+      </marker>
+    </defs>
+    
+    <text x="50%" y="3em" style="font-size:18px; text-anchor:middle">'feDistantLight' azimuth</text>
+
+    <g transform="scale(4) translate(0 50)">
+      <circle id="c1" r="10" filter="url(#right)" transform="translate(20 0)"/>
+      <circle id="c2" r="10" filter="url(#down)" transform="translate(50 0)"/>
+      <circle id="c3" r="10" filter="url(#left)" transform="translate(80 0)"/>
+      <circle id="c4" r="10" filter="url(#up)" transform="translate(110 0)"/>
+    </g>
+
+    <line marker-end="url(#arrow)" x1="0" y1="-25" x2="0" y2="25" stroke="black" stroke-width="3" transform="translate(200 180)"/>
+    <line marker-end="url(#arrow)" x1="0" y1="-25" x2="0" y2="25" stroke="black" stroke-width="3" transform="rotate(90) translate(200 -350)"/>
+    <line marker-end="url(#arrow)" x1="0" y1="-25" x2="0" y2="25" stroke="black" stroke-width="3" transform="rotate(180) translate(-440 -225)"/>
+    <line marker-end="url(#arrow)" x1="0" y1="-25" x2="0" y2="25" stroke="black" stroke-width="3" transform="rotate(270) translate(-200 50)"/>
+    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-light-03-f.svg b/Tests/W3CTestSuite/svg/filters-light-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..65238a99f8f6dabee13b0c05dbe39673129e870c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-light-03-f.svg
@@ -0,0 +1,124 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.10 $" testname="$RCSfile: filters-light-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDisplacementMap">
+        <p>
+          Test resolving of 'primitiveUnits' on the 'z' attribute of 'fePointLight'.
+You should see some shapes that have a black border, three circles and three rectangles.
+        The fill of these shapes should look the same.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>All of the circles look identical</li>
+        <li>The shapes all look like they have been filled with a gradient</li>
+        <li>No parts of the fill extend outside the black borders</li>
+        <li>All of the rects look identical</li>
+        <li>The circles must be fully filled by the filter output, which should resemble a radial gradient with a white focal point in the lower right position (about four o'clock, as shown by the small white circles)</li>
+        <li>The rects must be fully filled by the filter output, which should resemble a radial gradient with a white focal point in the lower right corner.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-light-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="light-primobjbbox" primitiveUnits="objectBoundingBox">
+          <feSpecularLighting lighting-color="blue" surfaceScale="5" specularConstant="10" specularExponent="6">
+            <!-- Note: for z this assumes that the scalefactor is 
+                       sqrt(bbox.width*bbox.width + bbox.height*bbox.height)/sqrt(2) -->
+            <fePointLight x="0.875" y="0.875" z="-0.0625"/>
+          </feSpecularLighting>
+          <feComposite operator="in" in2="SourceGraphic"/>
+      </filter>
+      <filter id="light-primobjbbox-rect" primitiveUnits="objectBoundingBox">
+          <feSpecularLighting lighting-color="blue" surfaceScale="5" specularConstant="10" specularExponent="6">
+            <!-- Note: for z  the scalefactor is  31,622776601683793319988935444327
+                       sqrt(bbox.width*bbox.width + bbox.height*bbox.height)/sqrt(2) -->
+            <fePointLight x="0.75" y="1.5" z="-0.15811388300841896659994467722167"/>
+          </feSpecularLighting>
+          <feComposite operator="in" in2="SourceGraphic"/>
+      </filter>
+      <filter id="light-primusou" primitiveUnits="userSpaceOnUse">
+          <feSpecularLighting lighting-color="blue" surfaceScale="5" specularConstant="10" specularExponent="6">
+            <fePointLight x="30" y="30" z="-5"/>
+          </feSpecularLighting>
+          <feComposite operator="in" in2="SourceGraphic"/>
+      </filter>
+      <filter id="light-primdefault">
+          <feSpecularLighting lighting-color="blue" surfaceScale="5" specularConstant="10" specularExponent="6">
+            <fePointLight x="30" y="30" z="-5"/>
+          </feSpecularLighting>
+          <feComposite operator="in" in2="SourceGraphic"/>
+      </filter>
+    </defs>
+
+    <g stroke="black" transform="translate(80 100)">
+      <circle r="40" stroke-width="10" filter="url(#light-primobjbbox)" fill="black"/>
+      <circle r="44" stroke-width="1" fill="none"/>
+      <rect width="40" height="20" filter="url(#light-primobjbbox-rect)" fill="black" transform="translate(-20 60)"/>
+      <rect width="40" height="20" fill="none" transform="translate(-20 60)"/>
+      <text y="100" font-size="8" stroke="none" text-anchor="middle">primitiveUnits="objectBoundingBox"</text>
+			<circle cx="30" cy="30" r="5" fill="white"/>
+    </g>
+
+    <g stroke="black" transform="translate(245 100)">
+      <circle r="40" stroke-width="10" filter="url(#light-primusou)" fill="black"/>
+      <circle r="44" stroke-width="1" fill="none"/>
+      <rect width="40" height="20" filter="url(#light-primusou)" fill="black" transform="translate(-20 60)"/>
+      <rect width="40" height="20" fill="none" transform="translate(-20 60)"/>
+      <text y="100" font-size="8" stroke="none" text-anchor="middle">primitiveUnits="userSpaceOnUse"</text>
+      <circle cx="30" cy="30" r="5" fill="white"/>
+    </g>
+
+    <g stroke="black" transform="translate(400 100)">
+      <circle r="40" stroke-width="10" filter="url(#light-primdefault)" fill="black"/>
+      <circle r="44" stroke-width="1" fill="none"/>
+      <rect width="40" height="20" filter="url(#light-primdefault)" fill="black" transform="translate(-20 60)"/>
+      <rect width="40" height="20" fill="none" transform="translate(-20 60)"/>
+      <text y="100" font-size="8" stroke="none" text-anchor="middle">primitiveUnits unspecified</text>
+      <circle cx="30" cy="30" r="5" fill="white"/>
+    </g>
+  </g>
+
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.10 $</text>
+  </g>
+
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
+
diff --git a/Tests/W3CTestSuite/svg/filters-light-04-f.svg b/Tests/W3CTestSuite/svg/filters-light-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..807380cf8d12f394f24da2058fa8d771db28ba6e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-light-04-f.svg
@@ -0,0 +1,136 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: filters-light-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feSpotLightLimitingConeAngleAttribute">
+      <p>
+        Test various values for limitingConeAngle in feSpotLight.
+      </p>
+      <p>
+        There should be four rects in two rows. Each of the rects has a different filter applied,
+        and each of those filters uses different values for limitingConeAngle.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+				The rendered image should look approximately like the reference image, and the third rectangle from the left
+				in each row must be animated.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-light-04-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Title -->
+    <text x="240" y="50" fill="black" font-size="16" font-family="Arial" text-anchor="middle">feSpotLight's limitingConeAngle</text>
+    <!-- ===================================================================== -->
+    <!-- Filter definitions                                                    -->
+    <!-- ===================================================================== -->
+    <defs>
+      <!-- ================================================= -->
+      <!-- feSpotLight                                       -->
+      <!-- ================================================= -->
+      <filter id="spotLightA" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="30"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightB" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="20"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightC" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="0">
+          	<animate attributeName="limitingConeAngle" from="0" to="50" dur="10s" fill="freeze"/>
+          </feSpotLight>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightD" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="5"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightE" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="-30"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightF" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="-20"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightG" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="0">
+          	<animate attributeName="limitingConeAngle" from="0" to="-50" dur="10s" fill="freeze"/>
+          </feSpotLight>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="spotLightH" filterUnits="objectBoundingBox" x="0" y="0" width="1" height="1">
+        <feDiffuseLighting in="SourceGraphic" diffuseConstant="1" surfaceScale="10" lighting-color="white">
+          <feSpotLight x="25" y="0" z="35" pointsAtX="25" pointsAtY="30" pointsAtZ="0" specularExponent="0" limitingConeAngle="-5"/>
+        </feDiffuseLighting>
+      </filter>
+    </defs>
+    <!-- feSpotLight -->
+    <g transform="translate(0 -20)">
+	    <g transform="translate(0 110)" font-size="9" font-family="Arial">
+	      <text x="70" y="30">30</text>
+	      <text x="165" y="30">20</text>
+	      <text x="260" y="30">Animated (0..50)</text>
+	      <text x="355" y="30">5</text>
+				<g transform="translate(0 100)">
+		      <text x="70" y="30">-30</text>
+		      <text x="165" y="30">-20</text>
+		      <text x="260" y="30">Animated (0..-50)</text>
+		      <text x="355" y="30">-5</text>
+		    </g>
+	    </g>
+	    <g>
+	      <rect transform="translate(70, 145)" width="50" height="30" filter="url(#spotLightA)"/>
+	      <rect transform="translate(165, 145)" width="50" height="30" filter="url(#spotLightB)"/>
+	      <rect transform="translate(260, 145)" width="50" height="30" filter="url(#spotLightC)"/>
+	      <rect transform="translate(355, 145)" width="50" height="30" filter="url(#spotLightD)"/>
+	      <rect transform="translate(70, 245)" width="50" height="30" filter="url(#spotLightE)"/>
+	      <rect transform="translate(165, 245)" width="50" height="30" filter="url(#spotLightF)"/>
+	      <rect transform="translate(260, 245)" width="50" height="30" filter="url(#spotLightG)"/>
+	      <rect transform="translate(355, 245)" width="50" height="30" filter="url(#spotLightH)"/>
+	    </g>
+	  </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-light-05-f.svg b/Tests/W3CTestSuite/svg/filters-light-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..339837efe445150ae71fe7dcefc5361d2b7dc966
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-light-05-f.svg
@@ -0,0 +1,252 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="ED" author="AG" status="reviewed"
+    version="$Revision: 1.3 $" testname="$RCSfile: filters-light-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feDistantLightElevationAttribute">
+        <p>
+          This test verifies that the <a>'elevation'</a> attribute is interpreted as a
+          complementary value to the z-axis in degrees.
+        </p>
+        <p>
+          The test shows four different elevation angles that can be used for feDistantLight source.
+          The four different feDistantLight light sources are used in three different filter cases; feDiffuseLight, feSpecularLight
+          and feMerge which merges both feDiffuseLight and feSpecularLight to form a single filter. Using four different elevation values
+          in three different filter cases gives twelve different filters. All twelve filter cases are applied to a vector graphic and
+          then to a raster graphic. The vector graphic results are shown to the left and the raster graphic results are shown to the right.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if
+      </p>
+      <ul>
+        <li>The top row has from left to right for a single graphic set:
+          <ul>
+            <li>A green square with a black circle inside of it</li>
+            <li>A black square</li>
+            <li>A black square with a green semicircle inside the lefthand side of the rect</li>
+            <li>A black square with a green semicircle inside the righthand side of the rect</li>
+          </ul>
+        </li>
+        <li>The middle row has from left to right for a single graphic set:
+          <ul>
+            <li>A green square with a white circle inside of it</li>
+            <li>A green semicircle pointing to the right on top of a white background</li>
+            <li>A green square with a white crest inside pointing to the right</li>
+            <li>A green square with a white crest inside pointing to the left</li>
+          </ul>
+        </li>
+        <li>The bottom row has from left to right for a single graphic set:
+          <ul>
+            <li>A green square with a black circle inside of it</li>
+            <li>A black square with a green semicircle inside pointing to the right</li>
+            <li>A green square with a circle inside that has a shadow on the righthand side and a reflection on the lefthand side</li>
+            <li>A green square with a circle inside that has a shadow on the lefthand side and a reflection on the righthand side</li>
+          </ul>
+        </li>
+      </ul>
+      <p>
+        If the test shows any red, the test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-light-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs color="#00FF00">
+      <filter id="distantLightUp">
+        <feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
+          <feDistantLight azimuth="0" elevation="90"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="distantLightDown">
+        <feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
+          <feDistantLight azimuth="0" elevation="270"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="distantLightLeft">
+        <feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
+          <feDistantLight azimuth="0" elevation="180"/>
+        </feDiffuseLighting>
+      </filter>
+      <filter id="distantLightRight">
+        <feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor">
+          <feDistantLight azimuth="0" elevation="0"/>
+        </feDiffuseLighting>
+      </filter>
+
+      <filter id="specularLightUp">
+        <feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
+          <feDistantLight azimuth="0" elevation="90"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="specularLightDown">
+        <feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
+          <feDistantLight azimuth="0" elevation="270"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="specularLightLeft">
+        <feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
+          <feDistantLight azimuth="0" elevation="180"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="specularLightRight">
+        <feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor">
+          <feDistantLight azimuth="0" elevation="0"/>
+        </feSpecularLighting>
+      </filter>
+
+      <filter id="combinedUp">
+        <feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
+          <feDistantLight azimuth="0" elevation="90"/>
+        </feDiffuseLighting>
+        <feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
+          <feDistantLight azimuth="0" elevation="90"/>
+        </feSpecularLighting>
+        <feMerge>
+          <feMergeNode in="res_a"/>
+          <feMergeNode in="res_b"/>
+        </feMerge>
+      </filter>
+      <filter id="combinedDown">
+        <feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
+          <feDistantLight azimuth="0" elevation="270"/>
+        </feDiffuseLighting>
+        <feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
+          <feDistantLight azimuth="0" elevation="270"/>
+        </feSpecularLighting>
+        <feMerge>
+          <feMergeNode in="res_a"/>
+          <feMergeNode in="res_b"/>
+        </feMerge>
+      </filter>
+      <filter id="combinedLeft">
+        <feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
+          <feDistantLight azimuth="0" elevation="180"/>
+        </feDiffuseLighting>
+        <feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
+          <feDistantLight azimuth="0" elevation="180"/>
+        </feSpecularLighting>
+        <feMerge>
+          <feMergeNode in="res_a"/>
+          <feMergeNode in="res_b"/>
+        </feMerge>
+      </filter>
+      <filter id="combinedRight">
+        <feDiffuseLighting in="SourceGraphic" surfaceScale="10" diffuseConstant="1" lighting-color="currentColor" result="res_a">
+          <feDistantLight azimuth="0" elevation="0"/>
+        </feDiffuseLighting>
+        <feSpecularLighting in="SourceGraphic" surfaceScale="10" specularConstant="1" specularExponent="1" lighting-color="currentColor" result="res_b">
+          <feDistantLight azimuth="0" elevation="0"/>
+        </feSpecularLighting>
+        <feMerge>
+          <feMergeNode in="res_a"/>
+          <feMergeNode in="res_b"/>
+        </feMerge>
+      </filter>
+    </defs>
+
+    <text x="70" y="40" stroke="none" fill="black">feDiffuseLight using feDistantLight source</text>
+    <g transform="scale(1.5) translate(5 45)">
+      <circle id="c1" r="10" fill="red" filter="url(#distantLightUp)" transform="translate(20 0)"/>
+      <circle id="c2" r="10" fill="red" filter="url(#distantLightDown)" transform="translate(50 0)"/>
+      <circle id="c3" r="10" fill="red" filter="url(#distantLightLeft)" transform="translate(80 0)"/>
+      <circle id="c4" r="10" fill="red" filter="url(#distantLightRight)" transform="translate(110 0)"/>
+    </g>
+    <text x="20" y="100" font-size="10" stroke="none" fill="black">90 deg</text>
+    <text x="65" y="100" font-size="10" stroke="none" fill="black">270 deg</text>
+    <text x="110" y="100" font-size="10" stroke="none" fill="black">180 deg</text>
+    <text x="160" y="100" font-size="10" stroke="none" fill="black">0 deg</text>
+
+    <text x="70" y="135" stroke="none" fill="black">feSpecularLight using feDistantLight source</text>
+    <g transform="scale(1.5) translate(5 110)">
+      <circle id="c1" r="10" fill="red" filter="url(#specularLightUp)" transform="translate(20 0)"/>
+      <circle id="c2" r="10" fill="red" filter="url(#specularLightDown)" transform="translate(50 0)"/>
+      <circle id="c3" r="10" fill="red" filter="url(#specularLightLeft)" transform="translate(80 0)"/>
+      <circle id="c4" r="10" fill="red" filter="url(#specularLightRight)" transform="translate(110 0)"/>
+    </g>
+    <text x="20" y="195" font-size="10" stroke="none" fill="black">90 deg</text>
+    <text x="65" y="195" font-size="10" stroke="none" fill="black">270 deg</text>
+    <text x="110" y="195" font-size="10" stroke="none" fill="black">180 deg</text>
+    <text x="160" y="195" font-size="10" stroke="none" fill="black">0 deg</text>
+
+    <text x="30" y="230" stroke="none" fill="black">feDiffuseLight and feSpecularLight using feDistantLight</text>
+    <g transform="scale(1.5) translate(5 170)">
+      <circle id="c1" r="10" fill="red" filter="url(#combinedUp)" transform="translate(20 0)"/>
+      <circle id="c2" r="10" fill="red" filter="url(#combinedDown)" transform="translate(50 0)"/>
+      <circle id="c3" r="10" fill="red" filter="url(#combinedLeft)" transform="translate(80 0)"/>
+      <circle id="c4" r="10" fill="red" filter="url(#combinedRight)" transform="translate(110 0)"/>
+    </g>
+    <text x="20" y="290" font-size="10" stroke="none" fill="black">90 deg</text>
+    <text x="65" y="290" font-size="10" stroke="none" fill="black">270 deg</text>
+    <text x="110" y="290" font-size="10" stroke="none" fill="black">180 deg</text>
+    <text x="160" y="290" font-size="10" stroke="none" fill="black">0 deg</text>
+
+    <g transform="translate(0, 55)">
+      <image xlink:href="../images/bumpMap3.png" x="240" y="0" width="40" height="30" filter="url(#distantLightUp)"/>
+      <image xlink:href="../images/bumpMap3.png" x="300" y="0" width="40" height="30" filter="url(#distantLightDown)"/>
+      <image xlink:href="../images/bumpMap3.png" x="360" y="0" width="40" height="30" filter="url(#distantLightLeft)"/>
+      <image xlink:href="../images/bumpMap3.png" x="420" y="0" width="40" height="30" filter="url(#distantLightRight)"/>
+    </g>
+    <text x="245" y="100" font-size="10" stroke="none" fill="black">90 deg</text>
+    <text x="305" y="100" font-size="10" stroke="none" fill="black">270 deg</text>
+    <text x="365" y="100" font-size="10" stroke="none" fill="black">180 deg</text>
+    <text x="430" y="100" font-size="10" stroke="none" fill="black">0 deg</text>
+
+    <g transform="translate(0, 150)">
+      <image xlink:href="../images/bumpMap3.png" x="240" y="0" width="40" height="30" filter="url(#specularLightUp)"/>
+      <image xlink:href="../images/bumpMap3.png" x="300" y="0" width="40" height="30" filter="url(#specularLightDown)"/>
+      <image xlink:href="../images/bumpMap3.png" x="360" y="0" width="40" height="30" filter="url(#specularLightLeft)"/>
+      <image xlink:href="../images/bumpMap3.png" x="420" y="0" width="40" height="30" filter="url(#specularLightRight)"/>
+    </g>
+    <text x="245" y="195" font-size="10" stroke="none" fill="black">90 deg</text>
+    <text x="305" y="195" font-size="10" stroke="none" fill="black">270 deg</text>
+    <text x="365" y="195" font-size="10" stroke="none" fill="black">180 deg</text>
+    <text x="430" y="195" font-size="10" stroke="none" fill="black">0 deg</text>
+
+    <g transform="translate(0, 240)">
+      <image xlink:href="../images/bumpMap3.png" x="240" y="0" width="40" height="30" filter="url(#combinedUp)"/>
+      <image xlink:href="../images/bumpMap3.png" x="300" y="0" width="40" height="30" filter="url(#combinedDown)"/>
+      <image xlink:href="../images/bumpMap3.png" x="360" y="0" width="40" height="30" filter="url(#combinedLeft)"/>
+      <image xlink:href="../images/bumpMap3.png" x="420" y="0" width="40" height="30" filter="url(#combinedRight)"/>
+    </g>
+    <text x="245" y="290" font-size="10" stroke="none" fill="black">90 deg</text>
+    <text x="305" y="290" font-size="10" stroke="none" fill="black">270 deg</text>
+    <text x="365" y="290" font-size="10" stroke="none" fill="black">180 deg</text>
+    <text x="430" y="290" font-size="10" stroke="none" fill="black">0 deg</text>
+    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-morph-01-f.svg b/Tests/W3CTestSuite/svg/filters-morph-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..af9a6b02f764bc9523ad5e3ba3ef63c8007f5e55
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-morph-01-f.svg
@@ -0,0 +1,103 @@
+<svg version="1.1" baseProfile="full" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: filters-morph-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feMorphologyElement">
+      <p>
+        Test which verifies the basic facilities of feMorphology.
+      </p>
+      <p>
+        The test shows the same graphics filtered with four different feMorphology
+        settings. The top two have the type erode and a radius of 1(left) and 2(right).
+        The bottom two have the type dilate and a radius of 1(left) and 3(right).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-morph-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="240" y="16" text-anchor="middle" font-size="12pt">Filter Effect: feMorphology</text>
+    <g transform="translate(0, -6)">
+      <defs>
+        <filter id="erode1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feMorphology operator="erode" radius="1"/>
+        </filter>
+        <filter id="erode2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feMorphology operator="erode" radius="2"/>
+        </filter>
+        <filter id="dilate1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feMorphology operator="dilate" radius="1"/>
+        </filter>
+        <filter id="dilate2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feMorphology operator="dilate" radius="3"/>
+        </filter>
+        <g id="morphologySource">
+          <g fill-rule="nonzero" clip-rule="nonzero" stroke="#000000" stroke-miterlimit="4">
+            <g>
+              <path fill="#FFFFFF" stroke="#6666FF" stroke-width="7.1711" d="M81.403,78.289H3.585v-64.75h77.818v64.75z"/>
+              <path fill="none" stroke="#00FF00" stroke-width="7.1711" d="M93.261,77.536c0,23.285-18.581,42.163-41.503,42.163c-22.921,0-41.503-18.877-41.503-42.163c0-23.286,18.582-42.163,41.503-42.163c22.922,0,41.503,18.877,41.503,42.163z"/>
+              <path fill="none" stroke="#FF8000" stroke-width="7.1711" d="M98.31,28.445l13.288,27.354l29.714,4.385l-21.501,21.292l5.076,30.064L98.31,97.347l-26.577,14.194l5.076-30.064L55.307,60.184l29.714-4.385L98.31,28.445z"/>
+              <path fill="none" stroke="#FFFF00" stroke-width="7.1711" d="M131.563,26.338c0,28.559-22.79,51.709-50.901,51.709c-22.489,0-40.72-18.521-40.72-41.367c0-18.278,14.584-33.095,32.576-33.095c14.394,0,26.061,11.854,26.061,26.475     c0,11.698-9.334,21.181-20.849,21.181c-9.211,0-16.68-7.586-16.68-16.944c0-7.486,5.975-13.555,13.344-13.555c5.895,0,10.674,4.855,10.674,10.844c0,4.791-3.823,8.676-8.54,8.676c-3.773,0-6.832-3.107-6.832-6.941"/>
+            </g>
+          </g>
+        </g>
+      </defs>
+      <g text-anchor="middle">
+        <g transform="translate(0, 0)">
+          <use xlink:href="#morphologySource" x="35" y="25" filter="url(#erode1)"/>
+          <text x="110" y="156">type=erode radius=1</text>
+        </g>
+        <g transform="translate(255, 0)">
+          <use xlink:href="#morphologySource" x="35" y="25" filter="url(#erode2)"/>
+          <text x="110" y="156">type=erode radius=2</text>
+        </g>
+        <g transform="translate(0, 140)">
+          <use xlink:href="#morphologySource" x="35" y="25" filter="url(#dilate1)"/>
+          <text x="110" y="156">type=dilate radius=1</text>
+        </g>
+        <g transform="translate(255, 140)">
+          <use xlink:href="#morphologySource" x="35" y="25" filter="url(#dilate2)"/>
+          <text x="110" y="156">type=dilate radius=3</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-offset-01-b.svg b/Tests/W3CTestSuite/svg/filters-offset-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d00ad44a6877824d92d060e07b7b8e205cc1f743
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-offset-01-b.svg
@@ -0,0 +1,112 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Peter Graffagnino" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-offset-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feOffsetElement">
+      <p>
+        The target crosshairs should align with
+        lower left bounds of the associated circle.
+        The color of each crosshair should match
+        the associated circle.
+      </p>
+      <p>
+        Verify the basic capability to handle the feOffset, feMerge and
+        feFlood filter nodes.  Four copies of a filled circle should appear at
+        various offsets and colors.  For each circle a reference crosshair is
+        drawn at the lower left of the circle to indicate the expected color,
+        opacity and position for the filtered element.  The targets are drawn
+        with the standard svg path element.
+      </p>
+      <p>
+        In addition to feFlood, feMerge, and feOffset, this test uses
+        'feComposite' to recolor the SourceGraphic with the feFlood color.
+        The source graphic uses 'circle'. The target cross hairs are drawn
+        with 'path' and use 'fill' and 'fill-opacity'.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered image should match the reference image. Additionally, the
+        target crosshairs should match the color, lower left corner, and
+        opacity of each copy of the filtered circle.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-offset-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <filter id="FOMTest" filterUnits="objectBoundingBox" x="0" y="0" width="2.5" height="4">
+
+        <feOffset result="Off1" dx="40" dy="30"/>
+        <feFlood result="F1" flood-color="#408000" flood-opacity=".8"/>
+        <feComposite in2="Off1" operator="in" result="C1"/>
+
+        <feOffset in="SourceGraphic" result="Off2" dx="80" dy="60"/>
+        <feFlood result="F2" flood-color="#408000" flood-opacity=".6"/>
+        <feComposite in2="Off2" operator="in" result="C2"/>
+
+        <feOffset in="SourceGraphic" result="Off3" dx="120" dy="90"/>
+        <feFlood result="F3" flood-color="#408000" flood-opacity=".4"/>
+        <feComposite in2="Off3" operator="in" result="C3"/>
+
+        <feMerge>
+          <feMergeNode in="C3"/>
+          <feMergeNode in="C2"/>
+          <feMergeNode in="C1"/>
+          <feMergeNode in="SourceGraphic"/>
+        </feMerge>
+      </filter>
+    </defs>
+
+    <circle cx="160" cy="50" r="40" fill="#000" filter="url(#FOMTest)"/>
+
+    <!--  Add some crosshairs of the same color of the 
+            flood at the same location as the offset -->
+
+    <!-- 20 pixel cross hair at 120,90 -->
+    <path fill="#000" transform="translate(120, 90)" d="M-1,-11h2v10h10v2h-10v10h-2v-10h-10v-2h10v-10"/>
+
+    <!-- 20 pixel cross hair at 160,120 -->
+    <path fill="#408000" fill-opacity=".8" transform="translate(160, 120)" d="M-1,-11h2v10h10v2h-10v10h-2v-10h-10v-2h10v-10"/>
+
+    <!-- 20 pixel cross hair at 200,150 -->
+    <path fill="#408000" fill-opacity=".6" transform="translate(200, 150)" d="M-1,-11h2v10h10v2h-10v10h-2v-10h-10v-2h10v-10"/>
+
+    <!-- 20 pixel cross hair at 240,180 -->
+    <path fill="#408000" fill-opacity=".4" transform="translate(240, 180)" d="M-1,-11h2v10h10v2h-10v10h-2v-10h-10v-2h10v-10"/>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-offset-02-b.svg b/Tests/W3CTestSuite/svg/filters-offset-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bb933b9e2a788855138bc6c4824fd4b0e06210d4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-offset-02-b.svg
@@ -0,0 +1,83 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.4 $" testname="$RCSfile: filters-offset-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html">
+        <p>
+					Tests primitiveUnits="objectBoundingBox" and relative values.
+There should be three green rectangles with thick black stroke.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.
+				
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+				The test has passed if there is nothing red visible and there are three
+				green rectangles with black stroke. If any green is visible outside the
+				black stroked rectangles the test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-offset-02-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+        <defs>
+            <filter id="feoffset1" primitiveUnits="objectBoundingBox" x="0%" y="0%" width="200%" height="200%">
+								<feFlood width="100%" height="100%" flood-color="lime"/>
+                <feOffset dx="0.1" dy="0.2"/>
+            </filter>
+						<filter id="feoffset2" primitiveUnits="objectBoundingBox" x="0%" y="0%" width="200%" height="200%">
+								<feOffset dx="1" dy="1"/>
+            </filter>
+						<filter id="feoffset3" primitiveUnits="objectBoundingBox" x="-100%" y="0%" width="200%" height="100%">
+								<feOffset dx="-1"/>
+            </filter>
+        </defs>
+				
+				<g transform="translate(-10 60)">
+					<rect x="60" y="70" width="100" height="100" fill="red"/>
+					<rect x="50" y="50" width="100" height="100" fill="red" filter="url(#feoffset1)"/>
+					<rect x="60" y="70" width="100" height="100" fill="none" stroke="black" stroke-width="2"/>
+
+					<rect x="200" y="70" width="100" height="100" fill="red"/>
+					<rect x="100" y="-30" width="100" height="100" fill="lime" filter="url(#feoffset2)"/>
+					<rect x="200" y="70" width="100" height="100" fill="none" stroke="black" stroke-width="2"/>
+
+					<rect x="340" y="70" width="100" height="100" fill="red"/>
+					<rect x="440" y="70" width="100" height="100" fill="lime" filter="url(#feoffset3)"/>
+					<rect x="340" y="70" width="100" height="100" fill="none" stroke="black" stroke-width="2"/>
+			</g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/filters-overview-01-b.svg b/Tests/W3CTestSuite/svg/filters-overview-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c5b9621c69dcff5d203902bde2919dceee8bf161
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-overview-01-b.svg
@@ -0,0 +1,165 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: filters-overview-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#FilterPrimitivesOverview">
+      <p>The purpose of this file is to test the 'in' attribute on filter primitives.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        To pass this test, the UA must render all 6 cases (SourceGraphic, SourceAlpha, BackgroundImage, BackgroundAlpha, FillPaint, StrokePaint) correctly.
+      </p>
+      <ol>
+        <li>The result for in="SourceGraphic" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (red/green/blue with dashed stroke).</li>
+        <li>The result for in="SourceAlpha" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (dark gray with dashed stroke).</li>
+        <li>The result for in="BackgroundImage" is a blurred vertical rectangle (green with dashed stroke).</li>
+        <li>The result for in="BackgroundAlpha" is blurred vertical rectangle (dark gray with dashed stroke).</li>
+        <li>The results for in="FillPaint" and in="StrokePaint" are the same.  They consists of a non blurred vertical rectangle (green with dashed stroke) overlayed with a blue rectangle with blurred edges.</li>
+        <li>The size of the blue rectangles are bigger than the blurred circles.</li>
+      </ol>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-overview-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="grad1" gradientUnits="objectBoundingBox" x1="50%" y1="-3%" x2="50%" y2="106%">
+        <stop offset="0.00" stop-color="#0000ff"/>
+        <stop offset="0.33" stop-color="#ffffff"/>
+        <stop offset="0.67" stop-color="#ff0000"/>
+        <stop offset="1.00" stop-color="#ffff00"/>
+      </linearGradient>
+
+      <filter id="GaussianBlur1" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
+      </filter>
+
+      <filter id="GaussianBlur2" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="SourceGraphic" stdDeviation="2"/>
+      </filter>
+
+      <filter id="GaussianBlur3" filterUnits="objectBoundingBox" x="-30%" y="-30%" width="160%" height="160%">
+        <feFlood flood-color="white" result="flood"/>
+        <feGaussianBlur in="BackgroundAlpha" stdDeviation="2" result="blur"/>
+        <feMerge>
+          <feMergeNode in="flood"/>
+          <feMergeNode in="blur"/>
+        </feMerge>
+      </filter>
+
+      <filter id="GaussianBlur4" filterUnits="objectBoundingBox" x="-40%" y="-40%" width="180%" height="180%">
+        <feFlood flood-color="white" result="flood"/>
+        <feGaussianBlur in="BackgroundImage" stdDeviation="2" result="blur"/>
+        <feMerge>
+          <feMergeNode in="flood"/>
+          <feMergeNode in="blur"/>
+        </feMerge>
+      </filter>
+
+      <filter id="GaussianBlur5" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="StrokePaint" stdDeviation="5"/>
+      </filter>
+
+      <filter id="GaussianBlur6" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="FillPaint" stdDeviation="5"/>
+      </filter>
+    </defs>
+
+    <g enable-background="new" stroke-dasharray="25 5" stroke="black" stroke-width="3" font-size="14" fill="black">
+
+      <rect x="90" y="50" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur1)">
+        <circle cx="098" cy="085" r="25" fill="red"/>
+        <circle cx="080" cy="110" r="25" fill="blue"/>
+        <circle cx="116" cy="110" r="25" fill="green"/>
+      </g>
+      <text x="98" y="160" stroke="none" text-anchor="middle">SourceAlpha</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="90" y="185" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur2)">
+        <circle cx="098" cy="220" r="25" fill="red"/>
+        <circle cx="080" cy="245" r="25" fill="blue"/>
+        <circle cx="116" cy="245" r="25" fill="green"/>
+      </g>
+      <text x="98" y="295" stroke="none" text-anchor="middle">SourceGraphic</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="230" y="50" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur3)">
+        <circle cx="238" cy="085" r="25" fill="red"/>
+        <circle cx="220" cy="110" r="25" fill="blue"/>
+        <circle cx="256" cy="110" r="25" fill="green"/>
+      </g>
+      <text x="238" y="160" stroke="none" text-anchor="middle">BackgroundAlpha</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="230" y="185" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur4)">
+        <circle cx="238" cy="220" r="25" fill="red"/>
+        <circle cx="220" cy="245" r="25" fill="blue"/>
+        <circle cx="256" cy="245" r="25" fill="green"/>
+      </g>
+      <text x="238" y="295" stroke="none" text-anchor="middle">BackgroundImage</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="370" y="50" width="16" height="95" fill="green"/>
+      <g id='g' stroke-opacity="0.6" stroke="blue" stroke-width="3" filter="url(#GaussianBlur5)">
+        <circle cx="378" cy="085" r="25" fill="red"/>
+        <circle cx="360" cy="110" r="25" fill="blue"/>
+        <circle cx="396" cy="110" r="25" fill="green"/>
+      </g>
+      <text x="378" y="160" stroke="none" text-anchor="middle">FillPaint</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="370" y="185" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" fill="blue" stroke="black" stroke-width="3" filter="url(#GaussianBlur6)">
+        <circle cx="378" cy="220" r="25"/>
+        <circle cx="360" cy="245" r="25"/>
+        <circle cx="396" cy="245" r="25"/>
+      </g>
+      <text x="378" y="295" stroke="none" text-anchor="middle">StrokePaint</text>
+
+    </g>
+
+    <text x="240" y="30" font-size="20" text-anchor="middle">Filter input test</text>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-overview-02-b.svg b/Tests/W3CTestSuite/svg/filters-overview-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e690e9c93452aec7bdfd9cbafb9b9259c20fc2f3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-overview-02-b.svg
@@ -0,0 +1,178 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: filters-overview-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#FilterPrimitivesOverview">
+      <p>
+        The purpose of this file is to test the 'in' attribute on filter primitives.
+        This test is the same as filters-overview-01-b.svg but uses gradients with gradientUnits="userSpaceOnUse" instead for the
+        FillPaint/StrokePaint.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        To pass this test, the UA must render all 6 cases (SourceGraphic, SourceAlpha, BackgroundImage, BackgroundAlpha, FillPaint, StrokePaint) correctly.
+      </p>
+      <ol>
+        <li>The result for in="SourceGraphic" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (red/green/blue with dashed stroke).</li>
+        <li>The result for in="SourceAlpha" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (dark gray with dashed stroke).</li>
+        <li>The result for in="BackgroundImage" is a blurred vertical rectangle (green with dashed stroke).</li>
+        <li>The result for in="BackgroundAlpha" is blurred vertical rectangle (dark gray with dashed stroke).</li>
+        <li>The results for in="FillPaint" and in="StrokePaint" are the same.  They consists of a non blurred vertical rectangle (green with dashed stroke) overlayed with a blurred gradiant (blue/white/red/yellow).</li>
+        <li>The size of the gradients are bigger than the blurred circles.</li>
+      </ol>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-overview-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="grad1" gradientUnits="userSpaceOnUse" x1="140.5" y1="57.75" x2="140.5" y2="139.5">
+        <stop offset="0.00" stop-color="#0000ff"/>
+        <stop offset="0.33" stop-color="#ffffff"/>
+        <stop offset="0.67" stop-color="#ff0000"/>
+        <stop offset="1.00" stop-color="#ffff00"/>
+      </linearGradient>
+      
+      <linearGradient id="grad2" gradientUnits="userSpaceOnUse" x1="140.5" y1="192.75" x2="140.5" y2="274.5">
+        <stop offset="0.00" stop-color="#0000ff"/>
+        <stop offset="0.33" stop-color="#ffffff"/>
+        <stop offset="0.67" stop-color="#ff0000"/>
+        <stop offset="1.00" stop-color="#ffff00"/>
+      </linearGradient>
+
+      <filter id="GaussianBlur1" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
+      </filter>
+
+      <filter id="GaussianBlur2" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="SourceGraphic" stdDeviation="2"/>
+      </filter>
+
+      <filter id="GaussianBlur3" filterUnits="objectBoundingBox" x="-30%" y="-30%" width="160%" height="160%">
+        <feFlood flood-color="white" result="flood"/>
+        <feGaussianBlur in="BackgroundAlpha" stdDeviation="2" result="blur"/>
+        <feMerge>
+          <feMergeNode in="flood"/>
+          <feMergeNode in="blur"/>
+        </feMerge>
+      </filter>
+
+      <filter id="GaussianBlur4" filterUnits="objectBoundingBox" x="-40%" y="-40%" width="180%" height="180%">
+        <feFlood flood-color="white" result="flood"/>
+        <feGaussianBlur in="BackgroundImage" stdDeviation="2" result="blur"/>
+        <feMerge>
+          <feMergeNode in="flood"/>
+          <feMergeNode in="blur"/>
+        </feMerge>
+      </filter>
+
+      <filter id="GaussianBlur5" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="StrokePaint" stdDeviation="5"/>
+      </filter>
+
+      <filter id="GaussianBlur6" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="FillPaint" stdDeviation="5"/>
+      </filter>
+    </defs>
+
+    <g enable-background="new" stroke-dasharray="25 5" stroke="black" stroke-width="3" font-size="14" fill="black">
+
+      <rect x="90" y="50" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur1)">
+        <circle cx="098" cy="085" r="25" fill="red"/>
+        <circle cx="080" cy="110" r="25" fill="blue"/>
+        <circle cx="116" cy="110" r="25" fill="green"/>
+      </g>
+      <text x="98" y="160" stroke="none" text-anchor="middle">SourceAlpha</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="90" y="185" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur2)">
+        <circle cx="098" cy="220" r="25" fill="red"/>
+        <circle cx="080" cy="245" r="25" fill="blue"/>
+        <circle cx="116" cy="245" r="25" fill="green"/>
+      </g>
+      <text x="98" y="295" stroke="none" text-anchor="middle">SourceGraphic</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="230" y="50" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur3)">
+        <circle cx="238" cy="085" r="25" fill="red"/>
+        <circle cx="220" cy="110" r="25" fill="blue"/>
+        <circle cx="256" cy="110" r="25" fill="green"/>
+      </g>
+      <text x="238" y="160" stroke="none" text-anchor="middle">BackgroundAlpha</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="230" y="185" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur4)">
+        <circle cx="238" cy="220" r="25" fill="red"/>
+        <circle cx="220" cy="245" r="25" fill="blue"/>
+        <circle cx="256" cy="245" r="25" fill="green"/>
+      </g>
+      <text x="238" y="295" stroke="none" text-anchor="middle">BackgroundImage</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="370" y="50" width="16" height="95" fill="green"/>
+      <!-- bbox: 335 60 86 75 -->
+      <g stroke-opacity="0.6" stroke="url(#grad1)" stroke-width="3" filter="url(#GaussianBlur5)">
+        <circle cx="378" cy="085" r="25" fill="red"/>
+        <circle cx="360" cy="110" r="25" fill="blue"/>
+        <circle cx="396" cy="110" r="25" fill="green"/>
+      </g>
+      <text x="378" y="160" stroke="none" text-anchor="middle">FillPaint</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="370" y="185" width="16" height="95" fill="green"/>
+      <!-- bbox: 335 195 86 75 -->
+      <g fill-opacity="0.6" fill="url(#grad2)" stroke="black" stroke-width="3" filter="url(#GaussianBlur6)">
+        <circle cx="378" cy="220" r="25"/>
+        <circle cx="360" cy="245" r="25"/>
+        <circle cx="396" cy="245" r="25"/>
+      </g>
+      <text x="378" y="295" stroke="none" text-anchor="middle">StrokePaint</text>
+
+    </g>
+
+    <text x="240" y="30" font-size="20" text-anchor="middle">Filter input test</text>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-overview-03-b.svg b/Tests/W3CTestSuite/svg/filters-overview-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c5688b3a8845713836fd6bb9d499dff45ed945de
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-overview-03-b.svg
@@ -0,0 +1,166 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: filters-overview-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#FilterPrimitivesOverview">
+      <!-- XXX make a more extensive test of FillPaint/StrokePaint in this test -->
+      <p>The purpose of this file is to test the 'in' attribute on filter primitives.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        To pass this test, the UA must render all 6 cases (SourceGraphic, SourceAlpha, BackgroundImage, BackgroundAlpha, FillPaint, StrokePaint) correctly.
+      </p>
+      <ol>
+        <li>The result for in="SourceGraphic" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (red/green/blue with dashed stroke).</li>
+        <li>The result for in="SourceAlpha" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (dark gray with dashed stroke).</li>
+        <li>The result for in="BackgroundImage" is a blurred vertical rectangle (green with dashed stroke).</li>
+        <li>The result for in="BackgroundAlpha" is blurred vertical rectangle (dark gray with dashed stroke).</li>
+        <li>The results for in="FillPaint" and in="StrokePaint" are the same.  They consists of a non blurred vertical rectangle (green with dashed stroke) overlayed with a blurred gradiant (blue/white/red/yellow).</li>
+        <li>The size of the gradients are bigger than the blurred circles.</li>
+      </ol>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-overview-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="grad1" gradientUnits="objectBoundingBox" x1="50%" y1="-3%" x2="50%" y2="106%">
+        <stop offset="0.00" stop-color="#0000ff"/>
+        <stop offset="0.33" stop-color="#ffffff"/>
+        <stop offset="0.67" stop-color="#ff0000"/>
+        <stop offset="1.00" stop-color="#ffff00"/>
+      </linearGradient>
+
+      <filter id="GaussianBlur1" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
+      </filter>
+
+      <filter id="GaussianBlur2" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="SourceGraphic" stdDeviation="2"/>
+      </filter>
+
+      <filter id="GaussianBlur3" filterUnits="objectBoundingBox" x="-30%" y="-30%" width="160%" height="160%">
+        <feFlood flood-color="white" result="flood"/>
+        <feGaussianBlur in="BackgroundAlpha" stdDeviation="2" result="blur"/>
+        <feMerge>
+          <feMergeNode in="flood"/>
+          <feMergeNode in="blur"/>
+        </feMerge>
+      </filter>
+
+      <filter id="GaussianBlur4" filterUnits="objectBoundingBox" x="-40%" y="-40%" width="180%" height="180%">
+        <feFlood flood-color="white" result="flood"/>
+        <feGaussianBlur in="BackgroundImage" stdDeviation="2" result="blur"/>
+        <feMerge>
+          <feMergeNode in="flood"/>
+          <feMergeNode in="blur"/>
+        </feMerge>
+      </filter>
+
+      <filter id="GaussianBlur5" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="StrokePaint" stdDeviation="5"/>
+      </filter>
+
+      <filter id="GaussianBlur6" filterUnits="objectBoundingBox" x="-20%" y="-20%" width="140%" height="140%">
+        <feGaussianBlur in="FillPaint" stdDeviation="5"/>
+      </filter>
+    </defs>
+
+    <g enable-background="new" stroke-dasharray="25 5" stroke="black" stroke-width="3" font-size="14" fill="black">
+
+      <rect x="90" y="50" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur1)">
+        <circle cx="098" cy="085" r="25" fill="red"/>
+        <circle cx="080" cy="110" r="25" fill="blue"/>
+        <circle cx="116" cy="110" r="25" fill="green"/>
+      </g>
+      <text x="98" y="160" stroke="none" text-anchor="middle">SourceAlpha</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="90" y="185" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur2)">
+        <circle cx="098" cy="220" r="25" fill="red"/>
+        <circle cx="080" cy="245" r="25" fill="blue"/>
+        <circle cx="116" cy="245" r="25" fill="green"/>
+      </g>
+      <text x="98" y="295" stroke="none" text-anchor="middle">SourceGraphic</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="230" y="50" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur3)">
+        <circle cx="238" cy="085" r="25" fill="red"/>
+        <circle cx="220" cy="110" r="25" fill="blue"/>
+        <circle cx="256" cy="110" r="25" fill="green"/>
+      </g>
+      <text x="238" y="160" stroke="none" text-anchor="middle">BackgroundAlpha</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="230" y="185" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" stroke="black" stroke-width="3" filter="url(#GaussianBlur4)">
+        <circle cx="238" cy="220" r="25" fill="red"/>
+        <circle cx="220" cy="245" r="25" fill="blue"/>
+        <circle cx="256" cy="245" r="25" fill="green"/>
+      </g>
+      <text x="238" y="295" stroke="none" text-anchor="middle">BackgroundImage</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="370" y="50" width="16" height="95" fill="green"/>
+      <g id='g' stroke-opacity="0.6" stroke="url(#grad1)" stroke-width="3" filter="url(#GaussianBlur5)">
+        <circle cx="378" cy="085" r="25" fill="red"/>
+        <circle cx="360" cy="110" r="25" fill="blue"/>
+        <circle cx="396" cy="110" r="25" fill="green"/>
+      </g>
+      <text x="378" y="160" stroke="none" text-anchor="middle">FillPaint</text>
+
+      <desc> =========================================================================================== </desc>
+
+      <rect x="370" y="185" width="16" height="95" fill="green"/>
+      <g fill-opacity="0.6" fill="url(#grad1)" stroke="black" stroke-width="3" filter="url(#GaussianBlur6)">
+        <circle cx="378" cy="220" r="25"/>
+        <circle cx="360" cy="245" r="25"/>
+        <circle cx="396" cy="245" r="25"/>
+      </g>
+      <text x="378" y="295" stroke="none" text-anchor="middle">StrokePaint</text>
+
+    </g>
+
+    <text x="240" y="30" font-size="20" text-anchor="middle">Filter input test</text>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-specular-01-f.svg b/Tests/W3CTestSuite/svg/filters-specular-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a49e4b3bda48d75258f3bb617842fdadfd11724b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-specular-01-f.svg
@@ -0,0 +1,195 @@
+<svg version="1.1" baseProfile="full" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: filters-specular-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feSpecularLightingElement">
+      <p>
+        Verify the basic operation of the feSpecularLighting element. The test shows
+        four rows of 3 images. Each row tests a different aspect of the filter and
+        shows the result of the filtering operation.
+      </p>
+      <p>
+        The first row shows the result of varying the surfaceScale attribute. The second
+        row shows the result of varying the specular constant (ks) attribute. The third
+        row shows the result of varying the specular exponent (np) attribute. The last
+        row shows the result of varying the lighting-color property.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-specular-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Title -->
+    <text x="240" y="20" fill="black" font-size="12" font-family="Arial" text-anchor="middle">Filters: feSpecularLighting</text>
+    <!-- ===================================================================== -->
+    <!-- Filter definitions                                                    -->
+    <!-- ===================================================================== -->
+    <defs>
+      <!-- ================================================= -->
+      <!-- Surface scale                                     -->
+      <!-- ================================================= -->
+      <filter id="surfaceScaleA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="1" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="surfaceScaleB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="surfaceScaleC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="-10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <!-- ================================================= -->
+      <!-- Specular Constants                                -->
+      <!-- ================================================= -->
+      <filter id="specularConstantA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="0" specularExponent="1" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="specularConstantB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="specularConstantC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="2" specularExponent="1" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <!-- ================================================= -->
+      <!-- Specular Exponent                                 -->
+      <!-- ================================================= -->
+      <filter id="specularExponentA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="specularExponentB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="2" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="specularExponentC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="4" surfaceScale="10" lighting-color="white">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <!-- ================================================= -->
+      <!-- Lighting colors                                   -->
+      <!-- ================================================= -->
+      <filter id="lightingColorA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="red">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="lightingColorB" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="yellow">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+      <filter id="lightingColorC" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+        <feSpecularLighting in="SourceGraphic" specularConstant="1" specularExponent="1" surfaceScale="10" lighting-color="blue">
+          <feDistantLight azimuth="45" elevation="45"/>
+        </feSpecularLighting>
+      </filter>
+    </defs>
+    <!-- ==================================================== -->
+    <!-- The same image is rendered multiple times with using -->
+    <!-- different filters.                                   -->
+    <!-- ==================================================== -->
+    <!-- Various Surface Scales -->
+    <g transform="translate(0, 20)">
+      <text x="90" y="25">Various values for surfaceScale: 1, 10 and -10</text>
+      <g fill="black">
+        <rect x="90" y="30" width="50" height="30"/>
+        <rect x="205" y="30" width="50" height="30"/>
+        <rect x="320" y="30" width="50" height="30"/>
+      </g>
+      <image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#surfaceScaleA)"/>
+      <image xlink:href="../images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#surfaceScaleB)"/>
+      <image xlink:href="../images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#surfaceScaleC)"/>
+    </g>
+    <!-- Various Specular Constants -->
+    <g transform="translate(0, 90)">
+      <text x="90" y="25">Various values for specularConstants: 0, 1 and 2</text>
+      <g fill="black">
+        <rect x="90" y="30" width="50" height="30"/>
+        <rect x="205" y="30" width="50" height="30"/>
+        <rect x="320" y="30" width="50" height="30"/>
+      </g>
+      <image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#specularConstantA)"/>
+      <image xlink:href="../images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#specularConstantB)"/>
+      <image xlink:href="../images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#specularConstantC)"/>
+    </g>
+    <!-- Various Specular Exponents -->
+    <g transform="translate(0, 160)">
+      <text x="90" y="25">Various values for specularExponents: 1, 2 and 4</text>
+      <g fill="black">
+        <rect x="90" y="30" width="50" height="30"/>
+        <rect x="205" y="30" width="50" height="30"/>
+        <rect x="320" y="30" width="50" height="30"/>
+      </g>
+      <image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#specularExponentA)"/>
+      <image xlink:href="../images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#specularExponentB)"/>
+      <image xlink:href="../images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#specularExponentC)"/>
+    </g>
+    <!-- Various Light Colors -->
+    <g transform="translate(0, 230)">
+      <text x="90" y="25">Various values for lighting color: red, yellow and blue</text>
+      <g fill="black">
+        <rect x="90" y="30" width="50" height="30"/>
+        <rect x="205" y="30" width="50" height="30"/>
+        <rect x="320" y="30" width="50" height="30"/>
+      </g>
+      <image xlink:href="../images/bumpMap2.png" x="90" y="30" width="50" height="30" filter="url(#lightingColorA)"/>
+      <image xlink:href="../images/bumpMap2.png" x="205" y="30" width="50" height="30" filter="url(#lightingColorB)"/>
+      <image xlink:href="../images/bumpMap2.png" x="320" y="30" width="50" height="30" filter="url(#lightingColorC)"/>
+    </g>
+    <!-- ===================================================== -->
+    <!-- Legends                                               -->
+    <!-- ===================================================== -->
+    <!-- Surface Scale -->
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-tile-01-b.svg b/Tests/W3CTestSuite/svg/filters-tile-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..df49b53aada91f3d615c924f7c0fc14b98f1b695
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-tile-01-b.svg
@@ -0,0 +1,80 @@
+<svg version="1.1" baseProfile="basic" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Rick Graham" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: filters-tile-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feTileElement">
+      <p>
+        The test case constructs a filter that uses feTile to tile the entire specified filter region.
+        The tile consists of a green rectangle over a larger transparent rectangle.
+        The green rectangle is created with feFlood and feOffset. There is also a semi-transparent
+        blue rectangle that should exactly cover one of the tiled rectangles, creating a purple
+        tile with a black stroke (4 tiles down and 3 across).
+      </p>
+      <p>
+        The test uses the 'rect' element, feTile, feFlood, feOffset, feMerge, fill style, stroke,
+        font-family and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for possible variations
+        in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-tile-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="15" x="240" y="25" text-anchor="middle">feTile filter test: a tiled pattern</text>
+    <!-- ====================================================================== -->
+    <!-- Tiled created in defs then applied to rectangle                        -->
+    <!-- this seems pretty complex to me                                        -->
+    <!-- ====================================================================== -->
+    <defs>
+      <filter id="feTileFilter" filterUnits="userSpaceOnUse" primitiveUnits="userSpaceOnUse" x="115" y="40" width="250" height="250">
+        <feFlood x="115" y="40" width="54" height="19" flood-color="lime"/>
+        <feOffset x="115" y="40" width="50" height="25" dx="6" dy="6" result="offset"/>
+        <feTile/>
+      </filter>
+    </defs>
+    <!-- The 'g' has no content, but the filter causes a rectangle
+         to be created which is filled with a tiled pattern. -->
+    <g filter="url(#feTileFilter)"/>
+    <!-- Show the outline of the rectangle which is filled with the tiled pattern. -->
+    <rect x="115" y="40" width="250" height="250" fill="none" stroke="blue" stroke-width="2"/>
+    <!-- draw a semi-transparent rectangle over one of the tiles -->
+    <rect x="215" y="115" width="50" height="25" fill="blue" fill-opacity="0.5" stroke="black"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-turb-01-f.svg b/Tests/W3CTestSuite/svg/filters-turb-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9d0ef617b1e9f67bed1e7b76c0dfe9c78b51f4e2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-turb-01-f.svg
@@ -0,0 +1,102 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: filters-turb-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feTurbulenceElement">
+      <p>
+        Test which verifies the basic facilities of feTurbulence. Six rectangular areas showing the
+        effects of various parameter settings for feTurbulence. The sample image indicates the
+        parameter settings to produce the given image.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for possible variations
+        in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-turb-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <desc>Six rectangular areas showing the effects of various parameter settings for feTurbulence.</desc>
+    <g font-family="Verdana" text-anchor="middle" font-size="10">
+      <defs>
+        <filter id="Turb1" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
+        </filter>
+        <filter id="Turb2" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feTurbulence type="turbulence" baseFrequency="0.1" numOctaves="2"/>
+        </filter>
+        <filter id="Turb3" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="8"/>
+        </filter>
+        <filter id="Turb4" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feTurbulence type="fractalNoise" baseFrequency="0.1" numOctaves="4"/>
+        </filter>
+        <filter id="Turb5" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feTurbulence type="fractalNoise" baseFrequency="0.4" numOctaves="4"/>
+        </filter>
+        <filter id="Turb6" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
+          <feTurbulence type="fractalNoise" baseFrequency="0.1" numOctaves="1"/>
+        </filter>
+      </defs>
+      <rect x="25" y="25" width="100" height="75" filter="url(#Turb1)"/>
+      <text x="75" y="117">type=turbulence</text>
+      <text x="75" y="129">baseFrequency=0.05</text>
+      <text x="75" y="141">numOctaves=2</text>
+      <rect x="175" y="25" width="100" height="75" filter="url(#Turb2)"/>
+      <text x="225" y="117">type=turbulence</text>
+      <text x="225" y="129">baseFrequency=0.1</text>
+      <text x="225" y="141">numOctaves=2</text>
+      <rect x="325" y="25" width="100" height="75" filter="url(#Turb3)"/>
+      <text x="375" y="117">type=turbulence</text>
+      <text x="375" y="129">baseFrequency=0.05</text>
+      <text x="375" y="141">numOctaves=8</text>
+      <rect x="25" y="180" width="100" height="75" filter="url(#Turb4)"/>
+      <text x="75" y="272">type=fractalNoise</text>
+      <text x="75" y="284">baseFrequency=0.1</text>
+      <text x="75" y="296">numOctaves=4</text>
+      <rect x="175" y="180" width="100" height="75" filter="url(#Turb5)"/>
+      <text x="225" y="272">type=fractalNoise</text>
+      <text x="225" y="284">baseFrequency=0.4</text>
+      <text x="225" y="296">numOctaves=4</text>
+      <rect x="325" y="180" width="100" height="75" filter="url(#Turb6)"/>
+      <text x="375" y="272">type=fractalNoise</text>
+      <text x="375" y="284">baseFrequency=0.1</text>
+      <text x="375" y="296">numOctaves=1</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/filters-turb-02-f.svg b/Tests/W3CTestSuite/svg/filters-turb-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..779bacc77610c01d53646f71cd7abf3cc4743c79
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/filters-turb-02-f.svg
@@ -0,0 +1,147 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: filters-turb-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/filters.html#feTurbulenceSeedAttribute">
+        <p>
+          This tests the <a>'seed'</a> attribute on <a>'feTurbulence'</a>.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+          Run the test. No interaction required.
+        
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>You should see three rectangles with black stroke. In each of these rectangles there should be
+      a series of numbers indicating the value for <a>'seed'</a> that was used on the small rectangle
+        directly above the number. The top stroked rectangle should contain 7 smaller rects that all
+        have a different filter applied to them, the lower two rectangles should contain 2 smaller rects
+        each. The filtered rectangles in each stroked rectangle should all look exactly the same.
+        If the filtered rectangles are red, that indicates that the test has failed.
+      </p>
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>the top stroked rectangle contains 7 smaller rectangles that are all identical</li>
+        <li>the lower left stroked rectangle contains 2 smaller rectangles that are identical</li>
+        <li>the lower right stroked rectangle contains 2 smaller rectangles that are identical</li>
+        <li>there's no red visible inside the stroked rectangles</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: filters-turb-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <!-- test negative values, these two should be same as seed="0" and seed="1" -->
+      <filter id="turbneg1" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="-0.2" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+      <filter id="turbneg2" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="-0.5" baseFrequency="0.01" type="turbulence"/>
+      </filter>      
+      <filter id="turbneg3" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="-0.8" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+      
+      <!-- the reference for seed="0" -->
+      <filter id="turbzero" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="0" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+      
+      <!-- seed="0" is transformed by the setup_seed method to be equal to seed="1" --> 
+      <filter id="turbpos1" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="0.2" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+      <filter id="turbpos2" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="0.5" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+      <filter id="turbpos3" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="1.5" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+
+      <!-- These should be the same -->
+      <filter id="turbneg4" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="-1" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+      <filter id="turbneg5" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="-1.5" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+      
+      <!-- These should be the same -->
+      <filter id="turbneg6" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="-2" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+      <filter id="turbneg7" x="0" y="0" width="100%" height="100%">
+        <feTurbulence seed="-2.6" baseFrequency="0.01" type="turbulence"/>
+      </filter>
+            
+      <style type="text/css">
+        #subtests text { fill: black }
+      </style>
+    </defs>
+    
+    <text x="50%" y="2em" style="font-size:24px; text-anchor:middle">feTurbulence seed</text>
+    
+    <g id="subtests" transform="translate(65 80)" text-anchor="middle" fill="red">
+      <rect width="50" height="50" filter="url(#turbneg3)"/>
+      <text x="25" y="80">-0.8</text>
+      <rect width="50" height="50" filter="url(#turbneg2)" transform="translate(50 0)"/>
+      <text x="75" y="80">-0.5</text>
+      <rect width="50" height="50" filter="url(#turbneg1)" transform="translate(100 0)"/>
+      <text x="125" y="80">-0.2</text>
+      <rect width="50" height="50" filter="url(#turbzero)" transform="translate(150 0)"/>
+      <text x="175" y="80">0</text>
+      <rect width="50" height="50" filter="url(#turbpos1)" transform="translate(200 0)"/>
+      <text x="225" y="80">0.2</text>
+      <rect width="50" height="50" filter="url(#turbpos2)" transform="translate(250 0)"/>
+      <text x="275" y="80">0.5</text>
+      <rect width="50" height="50" filter="url(#turbpos3)" transform="translate(300 0)"/>
+      <text x="325" y="80">1.5</text>
+      <rect x="-5" y="-5" width="360" height="100" stroke="black" fill="none"/>
+      
+      <rect width="50" height="50" filter="url(#turbneg4)" transform="translate(0 120)"/>
+      <text x="25" y="200">-1</text>
+      <rect width="50" height="50" filter="url(#turbneg5)" transform="translate(50 120)"/>
+      <text x="75" y="200">-1.5</text>
+      <rect x="-5" y="115" width="110" height="100" stroke="black" fill="none"/>
+      
+      <rect width="50" height="50" filter="url(#turbneg6)" transform="translate(250 120)"/>
+      <text x="275" y="200">-2</text>
+      <rect width="50" height="50" filter="url(#turbneg7)" transform="translate(300 120)"/>
+      <text x="325" y="200">-2.6</text>
+      <rect x="245" y="115" width="110" height="100" stroke="black" fill="none"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-desc-01-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e5e4c73ef995fb208e1a88b5031cdfb414f46db1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-desc-01-t.svg
@@ -0,0 +1,107 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="CN" status="issue"
+    version="$Revision: 1.6 $" testname="$RCSfile: fonts-desc-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#SVGFontsOverview">
+      <p>
+        This tests case show the behaviour of CSS font matching
+        based on the font-size attribute.
+      </p>
+      <!-- the test creator appears to have misunderstood the specification here.
+      None of the supplied fonts specifies a font-size descriptor. 
+      Its not clear what this test is trying to test.
+      -->
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The most correct output is
+        two squares, the exact match of the size, but as these are
+        vector fonts, and therefore scalable, the user agent can
+        use a margin of error, so conformant results may vary.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-desc-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="diamond" d="M0 500L250 250L500 500L250 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L250 250L250 500L0 500Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L250 250L250 500L0 500Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="diamond" d="M0 500L250 250L500 500L250 750Z"/>
+      </font>
+    </defs>
+    <g font-size="50" transform="translate(50, 50)">
+      <text x="50" y="50" font-family="SVGFont1">a</text>
+      <text x="100" y="50" font-family="SVGFont2">a</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-desc-02-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7bd720b5c0cf2cff8d5f62bea44449658f722c94
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-desc-02-t.svg
@@ -0,0 +1,152 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="CN" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: fonts-desc-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#SVGFontsOverview">
+      <p>
+        This tests the behaviour of CSS font matching based on font-variant attribute.
+      </p>
+      <p>
+        The first line of text tests that the small-caps font is used for the second text element.
+      </p>
+      <p>
+        The second line of text tests that the order of font specification does not effect the selection
+        of these fonts.
+      </p>
+      <p>
+        The third line of text tests that the correct font is selected when a font in the list does not support
+        the variant required. Note that the fonts provide no x-height so scaling
+        (allowed by CSS) cannot be used to simulate a small cap from a regular font.
+      </p>
+      <p>
+        The last line tests if small-caps are synthesized.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first line of text should be 'square' 'triangle'.
+      </p>
+      <p>
+        The second line of text should be 'square' 'triangle'.
+      </p>
+      <p>
+        The third line of text should be 'square', 'diamond', 'square', 'diamond'.
+        Note that the fonts provide no x-height so scaling
+        (allowed by CSS) cannot be used to simulate a small cap from a regular font.
+      </p>
+      <p>
+        The last line of test can be 'square', 'a', 'a' (from a fallback font),
+        'diamond'. The first 'a'
+        can be replaced with a smallcaps 'A', if there is a smallcaps font installed
+        or  if synthesis is supported.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-desc-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" font-variant="small-caps" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" font-variant="small-caps" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont4" font-variant="normal" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont5" font-variant="small-caps" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="diamond" d="M0 500L250 250L500 500L250 750Z"/>
+      </font>
+
+    </defs>
+
+    <g font-size="30">
+      <!-- This should produce a square followed by a triangle  -->
+      <text x="50" y="50" font-family="SVGFont1">a</text>
+      <text x="100" y="50" font-family="SVGFont1" font-variant="small-caps">a</text>
+
+      <!-- This should produce a square followed by a triangle  -->
+      <text x="50" y="100" font-family="SVGFont2">a</text>
+      <text x="100" y="100" font-family="SVGFont2" font-variant="small-caps">a</text>
+
+      <!-- This should produce a square, diamond, square, diamond. -->
+      <text x="50" y="150" font-family="SVGFont5,SVGFont4" font-variant="normal">a</text>
+      <text x="100" y="150" font-family="SVGFont5,SVGFont4" font-variant="small-caps">a</text>
+      <text x="150" y="150" font-family="SVGFont4,SVGFont5" font-variant="normal">a</text>
+      <text x="200" y="150" font-family="SVGFont4,SVGFont5" font-variant="small-caps">a</text>
+
+      <!--
+            This should produce a square, 'a', 'a', diamond. Or a small-caps version of the 'A'
+            instead of the first lower-case 'a' if synethesis is supported
+        -->
+      <text x="50" y="200" font-family="SVGFont4" font-variant="normal">a</text>
+      <text x="100" y="200" font-family="SVGFont4" font-variant="small-caps">a</text>
+      <text x="150" y="200" font-family="SVGFont5" font-variant="normal">a</text>
+      <text x="200" y="200" font-family="SVGFont5" font-variant="small-caps">a</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-desc-03-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d6de08d04a7c8f4f68f166c635dc90ba6affba89
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-desc-03-t.svg
@@ -0,0 +1,128 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: fonts-desc-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#SVGFontsOverview">
+      <p>
+        This test demonstrates CSS font matching based on the
+        font-weight attribute.
+      </p>
+      <p>
+        The first line tests selecting a bold font.
+      </p>
+      <p>
+        The second line tests that order of font definition does not
+        effect selection.
+      </p>
+      <p>
+        The last line tests basic font-weight selection using
+        font-weight numbers.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first line should show a square and then a triangle.
+      </p>
+      <p>
+        The second line should show a triangle and then a square.
+      </p>
+      <p>
+        The last line should show a square then a triangle.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-desc-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" font-weight="normal" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" font-weight="bold" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" font-weight="bold" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont3" font-weight="300" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont3" font-weight="700" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+    </defs>
+
+    <g font-size="50">
+      <text x="50" y="50" font-family="SVGFont1">a</text>
+      <text x="100" y="50" font-family="SVGFont1" font-weight="bold">a</text>
+
+      <text x="50" y="150" font-family="SVGFont2">a</text>
+      <text x="100" y="150" font-family="SVGFont2" font-weight="bold">a</text>
+
+      <text x="50" y="250" font-family="SVGFont3" font-weight="100">a</text>
+      <text x="100" y="250" font-family="SVGFont3" font-weight="900">a</text>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-desc-04-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fb77128d2e2501a5e2eecb7d69dd8d194306dbb1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-desc-04-t.svg
@@ -0,0 +1,154 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="reviewed"
+    version="$Revision: 1.7 $" testname="$RCSfile: fonts-desc-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#SVGFontsOverview">
+      <p>
+        This test demonstrates CSS font matching based on the
+        font-style attribute.
+      </p>
+      <p>
+        The first line of text tests selecting an italic font.
+      </p>
+      <p>
+        The second line tests that order of font definition
+        does not effect correct matching.
+      </p>
+      <p>
+        The third line tests selecting an italic and an oblique font.
+        Italic can match against oblique or italic, but all other values must match exactly.
+        The letter 'a' will be an UA-dependent default font-family,
+        it should be oblique, possiblely a transformation of a
+        normal font.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first line of text should produce a square followed
+        by a triangle.
+      </p>
+      <p>
+        The second line should produce a square followed
+        by a triangle.
+      </p>
+      <p>
+        The third line should produce in first place
+        either a triangle, a diamond, or a letter 'a' in some fallback font.
+        (All are correct,and depend on which font is chosen for fallback).
+        This is followed by two diamonds.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-desc-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" font-style="italic" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" font-style="italic" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont3" font-style="italic" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont3" font-style="oblique" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont4" font-style="italic" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont5" font-style="oblique" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="diamond" d="M0 500L250 250L500 500L250 750Z"/>
+      </font>
+
+    </defs>
+
+    <g font-size="50">
+      <!-- This should produce a square followed by a triangle  -->
+      <text x="50" y="50" font-family="SVGFont1">a</text>
+      <text x="100" y="50" font-family="SVGFont1" font-style="italic">a</text>
+
+      <!-- This should produce a square followed by a triangle  -->
+      <text x="50" y="150" font-family="SVGFont2">a</text>
+      <text x="100" y="150" font-family="SVGFont2" font-style="italic">a</text>
+
+      <!-- This should produce a letter 'a' followed by a diamond  -->
+      <text x="50" y="250" font-family="SVGFont4" font-style="oblique">a</text>
+      <text x="100" y="250" font-family="SVGFont4,SVGFont5" font-style="oblique">a</text>
+      <text x="150" y="250" font-family="SVGFont5" font-style="italic">a</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-desc-05-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..41cff386f1cb55f75d6ad28db9d723bbce1623c8
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-desc-05-t.svg
@@ -0,0 +1,136 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="reviewed"
+    version="$Revision: 1.7 $" testname="$RCSfile: fonts-desc-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#SVGFontsOverview">
+        <p>
+          This tests a combination of font attribute matching.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The correct result for the first line is diamond, diamond, upward-triangle,
+        downard-triangle. The correct result for the second line is
+        upward-triangle, downard triangle, and a right-triangle.
+      </p>
+      <p>
+        Reasoning for glyphs on the first line:
+        The first character is a diamond because it is matched purely
+        on the font-style attribute. The second character is a diamond
+        because font-style (italic) is of highest precedence, followed
+        by font-variant (normal), then font-weight (bold). The third
+        character matches upward-triangle because again font-variant
+        (small-caps) is a higher precedence than font-weight. The
+        fourth character undisputedly matches the downward-triangle.
+      </p>
+      <p>
+        Reasoning for the glyphs on the second line:
+        The first character is a upward-triangle because the font
+        matching must fall back to SVGFont1 to get a match
+        for small-caps. The second character is a downward-triangle
+        because there is no match for small-caps in SVGFont2.
+        The third character is a right facing triangle because
+        italic should match oblique in SVGFont2.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-desc-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" font-style="italic" font-variant="small-caps" font-weight="bold" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" font-variant="small-caps" font-weight="bold" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="downward-triangle" d="M250 0L0 900L500 900Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" font-style="italic" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="diamond" d="M0 500L250 250L500 500L250 750Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" font-style="oblique" font-weight="bold" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="circle" d="M250 500A 250,250 0 1,0 250 499 Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" font-style="oblique" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="right-triangle" d="M0 100L0 600L900 350Z"/>
+      </font>
+
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" font-weight="bold" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="left-triangle" d="M900 100L900 600L0 350Z"/>
+      </font>
+
+    </defs>
+    <g transform="scale(1.5) translate(0, -50)">
+      <!-- This should produce a diamond, diamond, upward-triangle, downard-triangle. -->
+      <text x="50" y="100" font-size="20" font-family="SVGFont1" font-style="italic">a</text>
+      <text x="100" y="100" font-size="20" font-family="SVGFont1" font-style="italic" font-weight="bold">a</text>
+      <text x="150" y="100" font-size="20" font-family="SVGFont1" font-style="italic" font-variant="small-caps">a</text>
+      <text x="200" y="100" font-size="20" font-family="SVGFont1" font-variant="small-caps" font-weight="bold">a</text>
+
+      <!-- This should produce a upward-triangle, downard triangle, and a right-triangle. -->
+      <text x="50" y="200" font-size="20" font-family="SVGFont2, SVGFont1" font-style="italic" font-variant="small-caps" font-weight="bold">a</text>
+      <text x="100" y="200" font-size="20" font-family="SVGFont2, SVGFont1" font-variant="small-caps" font-weight="bold">a</text>
+      <text x="150" y="200" font-size="20" font-family="SVGFont2, SVGFont1" font-style="italic">a</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-elem-01-t.svg b/Tests/W3CTestSuite/svg/fonts-elem-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9ff421cf65c00537986e675f39a791295702b0a5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-elem-01-t.svg
@@ -0,0 +1,120 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Dean Jackson" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: fonts-elem-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#FontElement">
+      <p>
+        This is a basic test for embedded SVG fonts. The font "Comic Sans"
+        (available from Microsoft) has been converted into an SVG font and embedded
+        in the SVG file. The test contains two text areas, each with the character
+        string "AyÖ@ç" drawn at the same font size.
+      </p>
+      <p>
+        The upper area contains the glyphs from the embedded font placed in
+        the SVG file as path elements. Each glyph is placed at the location it
+        would be if rendered using normal text rendering (ie. the horizontal
+        advance between characters has been preserved).
+      </p>
+      <p>
+        The lower area contains the text string rendered using the embedded
+        SVG font. It should appear exactly the same as the upper text area,
+        ie. font size, character baseline and horizontal advance should be
+        the same.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if the string "AyÖ@ç" is visible and fontsize, 
+        character baseline and horizontal advances are the same on both lines,
+	as shown in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-elem-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ===================================================================== -->
+    <!-- Define the font for embedding - using Microsoft's "Comic Sans MS"     -->
+    <!-- This is an SVG Font version of Comic. The Comic font license          -->
+    <!-- allows editable and installable font embedding.                       -->
+    <!-- Only need to embed the characters that are used in the test           -->
+    <!-- ===================================================================== -->
+    <defs>
+      <font horiz-adv-x="959">
+        <font-face font-family="TestComic" units-per-em="2048" panose-1="3 15 7 2 3 3 2 2 2 4" ascent="2257" descent="-597" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="1024" d="M128 0V1638H896V0H128zM256 128H768V1510H256V128z"/>
+        <glyph unicode="@" horiz-adv-x="1907" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+        <glyph unicode="A" horiz-adv-x="1498" d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+        <glyph unicode="y" horiz-adv-x="1066" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+        <glyph unicode="Ö" horiz-adv-x="1635" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+        <glyph unicode="ç" horiz-adv-x="1052" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+      </font>
+    </defs>
+    <text fill="black" stroke="none" font-size="35" x="56" y="35">Basic SVG font element</text>
+    <!-- ====================================================================== -->
+    <!-- First place the glyphs by hand                                         -->
+    <!-- ====================================================================== -->
+    <g fill="black" stroke="none">
+      <text x="30" y="130" font-size="18">Placed Glyphs</text>
+      <!-- translate to text position and flip y axis (glyphs are drawn           -->
+      <!-- upside down                                                            -->
+      <g transform="translate(165,140) scale(1, -1)">
+        <line x1="0" y1="0" x2="210" y2="0" stroke-width="1" stroke="#888888"/>
+        <!-- fontsize / units-per-em == 60 / 2048 == 0.029296875  -->
+        <g transform="scale(0.029296875)">
+          <!-- uppercase A -->
+          <line x1="0" y1="-3500" x2="0" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+          <!-- lowercase y -->
+          <line x1="1498" y1="-3500" x2="1498" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(1498,0)" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+          <!-- unicode 00D6 -->
+          <line x1="2564" y1="-3500" x2="2564" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(2564,0)" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+          <!-- @ sign -->
+          <line x1="4199" y1="-3500" x2="4199" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(4199,0)" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+          <!-- unicode 00E7 -->
+          <line x1="6106" y1="-3500" x2="6106" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(6106,0)" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+          <line x1="7158" y1="-3500" x2="7158" y2="2000" stroke-width="50" stroke="#888888"/>
+        </g>
+      </g>
+    </g>
+    <text x="65" y="210" font-size="18">SVG Font</text>
+    <g transform="translate(165, 220)" font-family="TestComic" font-size="60" fill="black" stroke="none">
+      <line x1="0" y1="0" x2="210" y2="0" stroke-width="1" stroke="#888888"/>
+      <text>AyÖ@ç</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-elem-02-t.svg b/Tests/W3CTestSuite/svg/fonts-elem-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7a8e347676ceb98f8462ac5f3bef1950ccc5be7b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-elem-02-t.svg
@@ -0,0 +1,128 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Dean Jackson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: fonts-elem-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#FontElement">
+      <p>
+        This is an accuracy test for embedded SVG fonts. The font "Comic Sans"
+        (available from Microsoft) has been converted into an SVG font and embedded
+        in the SVG file. The test contains two text areas, each with the character
+        string "AyÖ@ç" drawn at the same font size.
+      </p>
+      <p>
+        The upper area has the placed glyphs as path elements filled with
+        white over a solid black background (creating a white cutout). The
+        embedded SVG font text is then drawn over the cutout. 
+      </p>
+      <p>
+        The lower area is the reverse of the upper area, with the placed
+        black glyphs filling the cutout created by white SVG font text.
+        An implementation that passes this test should completely fill the
+        cutout, leaving a solid black area (some slight antialiasing effects
+        may remain).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+	<p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+	The test is passed iff the black text exactly overlays the white text 
+	on black, giving a solid black area. Some slight antialiasing effects may 
+	remain and do not cause the test to fail.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-elem-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ===================================================================== -->
+    <!-- Define the font for embedding - using Microsoft's "Comic Sans MS"     -->
+    <!-- This is an SVG Font version of Comic. The Comic font license          -->
+    <!-- allows editable and installable font embedding.                       -->
+    <!-- Only need to embed the characters that are used in the test           -->
+    <!-- ===================================================================== -->
+    <defs>
+      <font horiz-adv-x="959">
+        <font-face font-family="TestComic" units-per-em="2048" panose-1="3 15 7 2 3 3 2 2 2 4" ascent="2257" descent="-597" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="1024" d="M128 0V1638H896V0H128zM256 128H768V1510H256V128z"/>
+        <glyph unicode="@" horiz-adv-x="1907" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+        <glyph unicode="A" horiz-adv-x="1498" d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+        <glyph unicode="y" horiz-adv-x="1066" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+        <glyph unicode="Ö" horiz-adv-x="1635" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+        <glyph unicode="ç" horiz-adv-x="1052" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+      </font>
+    </defs>
+    <text fill="black" stroke="none" font-size="35" x="28" y="35">SVG font element accuracy</text>
+    <rect x="165" y="80" width="220" height="165" fill="black"/>
+    <text x="7" y="130" font-size="18">SVG over Glyphs</text>
+    <!-- translate to text position and flip y axis (glyphs are drawn           -->
+    <!-- upside down                                                            -->
+    <g transform="translate(165,140) scale(1, -1)" fill="white">
+      <!-- fontsize / units-per-em == 60 / 2048 == 0.029296875  -->
+      <g transform="scale(0.029296875)">
+        <!-- uppercase A -->
+        <path d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+        <!-- lowercase y -->
+        <path transform="translate(1498,0)" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+        <!-- unicode 00D6 -->
+        <path transform="translate(2564,0)" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+        <!-- @ sign -->
+        <path transform="translate(4199,0)" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+        <!-- unicode 00E7 -->
+        <path transform="translate(6106,0)" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+      </g>
+    </g>
+    <g transform="translate(165, 140)" font-family="TestComic" font-size="60" fill="black" stroke="none">
+      <text>AyÖ@ç</text>
+    </g>
+    <text x="7" y="210" font-size="18">Glyphs over SVG</text>
+    <g transform="translate(165, 210)" font-family="TestComic" font-size="60" fill="white" stroke="none">
+      <text>AyÖ@ç</text>
+    </g>
+    <!-- translate to text position and flip y axis (glyphs are drawn           -->
+    <!-- upside down                                                            -->
+    <g transform="translate(165,210) scale(1, -1)" fill="black">
+      <!-- fontsize / units-per-em == 60 / 2048 == 0.029296875  -->
+      <g transform="scale(0.029296875)">
+        <!-- uppercase A -->
+        <path d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+        <!-- lowercase y -->
+        <path transform="translate(1498,0)" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+        <!-- unicode 00D6 -->
+        <path transform="translate(2564,0)" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+        <!-- @ sign -->
+        <path transform="translate(4199,0)" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+        <!-- unicode 00E7 -->
+        <path transform="translate(6106,0)" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-elem-03-b.svg b/Tests/W3CTestSuite/svg/fonts-elem-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6d73067056b3610df45a59549450d7954c80eef6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-elem-03-b.svg
@@ -0,0 +1,122 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Dean Jackson" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: fonts-elem-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#FontElement">
+      <p>
+        This is a basic test for external SVG fonts. The font "Comic Sans"
+        (available from Microsoft) has been converted into an SVG font and placed
+        in an external SVG file referenced by a font-face-src element.
+        The test contains two text areas, each with the character
+        string "AyÖ@ç" drawn at the same font size.
+      </p>
+      <p>
+        The upper area contains the glyphs from the font placed in
+        the SVG file as path elements. Each glyph is placed at the location it
+        would be if rendered using normal text rendering (ie. the horizontal
+        advance between characters has been preserved).
+      </p>
+      <p>
+        The lower area contains the text string rendered using the external
+        SVG font. It should appear exactly the same as the upper text area,
+        ie. font size, character baseline and horizontal advance should be
+        the same.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+	<p>
+	Run the test. No interaction required.
+	</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if the upper and lower lines show the same glyphs with 
+	the same glyph positioing and inter-glyph spacing.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-elem-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <!--style type="text/css">
+     			 <![CDATA[
+		        @font-face {
+			          font-family: 'TestComic'; 
+			          font-weight: normal;
+			          font-style: normal;
+			          src: url("../images/ext-TestComic.svg#Font") format("svg")
+			        }
+    			  ]]>
+  			 </style-->
+      <font-face font-family="TestComic">
+        <font-face-src>
+          <font-face-uri xlink:href="../images/ext-TestComic.svg#Font"/>
+        </font-face-src>
+      </font-face>
+    </defs>
+    <text fill="black" stroke="none" font-size="30" x="26" y="35">External SVG font element (xml)</text>
+    <!-- ====================================================================== -->
+    <!-- First place the glyphs by hand                                         -->
+    <!-- ====================================================================== -->
+    <g fill="black" stroke="none">
+      <text x="31" y="130" font-size="18">Placed Glyphs</text>
+      <!-- translate to text position and flip y axis (glyphs are drawn           -->
+      <!-- upside down                                                            -->
+      <g transform="translate(165,140) scale(1, -1)">
+        <line x1="0" y1="0" x2="210" y2="0" stroke-width="1" stroke="#888888"/>
+        <!-- fontsize / units-per-em == 60 / 2048 == 0.029296875  -->
+        <g transform="scale(0.029296875)">
+          <!-- uppercase A -->
+          <line x1="0" y1="-3500" x2="0" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+          <!-- lowercase y -->
+          <line x1="1498" y1="-3500" x2="1498" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(1498,0)" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+          <!-- unicode 00D6 -->
+          <line x1="2564" y1="-3500" x2="2564" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(2564,0)" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+          <!-- @ sign -->
+          <line x1="4199" y1="-3500" x2="4199" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(4199,0)" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+          <!-- unicode 00E7 -->
+          <line x1="6106" y1="-3500" x2="6106" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(6106,0)" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+          <line x1="7158" y1="-3500" x2="7158" y2="2000" stroke-width="50" stroke="#888888"/>
+        </g>
+      </g>
+    </g>
+    <text x="67" y="210" font-size="18">SVG Font</text>
+    <g transform="translate(165, 220)" font-family="TestComic" font-size="60" fill="black" stroke="none">
+      <line x1="0" y1="0" x2="210" y2="0" stroke-width="1" stroke="#888888"/>
+      <text>AyÖ@ç</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-elem-04-b.svg b/Tests/W3CTestSuite/svg/fonts-elem-04-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..07362e5124d48e2f34158563c4515d80f91dfd35
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-elem-04-b.svg
@@ -0,0 +1,122 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Dean Jackson" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: fonts-elem-04-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#FontElement">
+      <p>
+        This is a basic test for external SVG fonts. The font "Comic Sans"
+        (available from Microsoft) has been converted into an SVG font and placed
+        in an external SVG file referenced by a CSS stylesheet with an @font-face rule.
+        The test contains two text areas, each with the character
+        string "AyÖ@ç" drawn at the same font size.
+      </p>
+      <p>
+        The upper area contains the glyphs from the font placed in
+        the SVG file as path elements. Each glyph is placed at the location it
+        would be if rendered using normal text rendering (ie. the horizontal
+        advance between characters has been preserved).
+      </p>
+      <p>
+        The lower area contains the text string rendered using the external
+        SVG font. It should appear exactly the same as the upper text area,
+        ie. font size, character baseline and horizontal advance should be
+        the same.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+	<p>
+	Run the test. No interaction required.
+	</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if the upper and lower lines show the same glyphs with 
+	the same glyph positioing and inter-glyph spacing.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-elem-04-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <style type="text/css">
+
+        @font-face {
+        font-family: 'TestComic';
+        font-weight: normal;
+        font-style: normal;
+        src: url("../images/ext-TestComic.svg#Font") format("svg")
+        }
+
+      </style>
+      <!--font-face font-family="TestComic">
+				<font-face-src>
+					<font-face-uri xlink:href="../images/ext-TestComic.svg#Font"/>
+				</font-face-src>
+			</font-face-->
+    </defs>
+    <text fill="black" stroke="none" font-size="30" x="26" y="35">External SVG font element (css)</text>
+    <!-- ====================================================================== -->
+    <!-- First place the glyphs by hand                                         -->
+    <!-- ====================================================================== -->
+    <g fill="black" stroke="none">
+      <text x="31" y="130" font-size="18">Placed Glyphs</text>
+      <!-- translate to text position and flip y axis (glyphs are drawn           -->
+      <!-- upside down                                                            -->
+      <g transform="translate(165,140) scale(1, -1)">
+        <line x1="0" y1="0" x2="210" y2="0" stroke-width="1" stroke="#888888"/>
+        <!-- fontsize / units-per-em == 60 / 2048 == 0.029296875  -->
+        <g transform="scale(0.029296875)">
+          <!-- uppercase A -->
+          <line x1="0" y1="-3500" x2="0" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+          <!-- lowercase y -->
+          <line x1="1498" y1="-3500" x2="1498" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(1498,0)" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+          <!-- unicode 00D6 -->
+          <line x1="2564" y1="-3500" x2="2564" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(2564,0)" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+          <!-- @ sign -->
+          <line x1="4199" y1="-3500" x2="4199" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(4199,0)" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+          <!-- unicode 00E7 -->
+          <line x1="6106" y1="-3500" x2="6106" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(6106,0)" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+          <line x1="7158" y1="-3500" x2="7158" y2="2000" stroke-width="50" stroke="#888888"/>
+        </g>
+      </g>
+    </g>
+    <text x="67" y="210" font-size="18">SVG Font</text>
+    <g transform="translate(165, 220)" font-family="TestComic" font-size="60" fill="black" stroke="none">
+      <line x1="0" y1="0" x2="210" y2="0" stroke-width="1" stroke="#888888"/>
+      <text>AyÖ@ç</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-elem-05-t.svg b/Tests/W3CTestSuite/svg/fonts-elem-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7460c158cb3cadac8b49f7b3b44fd3227dd06304
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-elem-05-t.svg
@@ -0,0 +1,132 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: fonts-elem-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#FontElement">
+        <p>
+				 This tests the horiz-origin-x attributes on the font and glyph elements.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+       There are three subtests. The test is passed if for each subtest there is labelling text on the left and on the right, a series of black squares whose lower-left corner aligns with the centre of the corresponding small, pale blue square as shown in the reference graphic.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-elem-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="240" y="50" text-anchor="middle" font-size="30">&lt;font&gt; horiz-origin-x</text>
+    <defs>
+      <font id="orginDefault" horiz-adv-x="1000">
+        <font-face font-family="originDefault" units-per-em="1000" ascent="1000" descent="0" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="800" d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="1500" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="1500" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+        <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1500" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+      </font>
+
+      <font id="orgin500" horiz-adv-x="1000" horiz-origin-x="500">
+        <font-face font-family="origin500" units-per-em="1000" ascent="1000" descent="0" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="800" d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="1500" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="1500" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+        <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1500" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+      </font>
+
+      <font id="orgin1000" horiz-adv-x="1000" horiz-origin-x="1000">
+        <font-face font-family="origin1000" units-per-em="1000" ascent="1000" descent="0" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="800" d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="1500" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="1500" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+        <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1500" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+      </font>
+
+
+      <g id="marker">
+        <line y2="-40" stroke="blue"/>
+        <rect x="-4" y="-4" width="8" height="8" fill="#8888ff"/>
+      </g>
+
+      <g id="marker500">
+        <line y2="-40" stroke="blue"/>
+        <line x1="15" x2="15" y2="-40" stroke="blue"/>
+        <line x2="15" stroke="blue"/>
+        <rect x="-4" y="-4" width="8" height="8" fill="#8888ff"/>
+      </g>
+
+      <g id="marker1000">
+        <line y2="-40" stroke="blue"/>
+        <line x1="30" x2="30" y2="-40" stroke="blue"/>
+        <line x2="30" stroke="blue"/>
+        <rect x="-4" y="-4" width="8" height="8" fill="#8888ff"/>
+      </g>
+    </defs>
+
+    <g transform="translate(20, 120)" font-size="14">
+
+      <g>
+        <text>horiz-origin-x unspecified (0)</text>
+        <use xlink:href="#marker" x="240"/>
+        <use xlink:href="#marker" x="285"/>
+        <use xlink:href="#marker" x="330"/>
+        <use xlink:href="#marker" x="375"/>
+        <text x="240" font-family="originDefault" font-size="30">1234</text>
+      </g>
+
+      <g transform="translate(0, 60)">
+        <text>horiz-origin-x=500</text>
+        <use xlink:href="#marker500" x="240"/>
+        <use xlink:href="#marker500" x="285"/>
+        <use xlink:href="#marker500" x="330"/>
+        <use xlink:href="#marker500" x="375"/>
+        <text x="240" font-family="origin500" font-size="30">1234</text>
+      </g>
+
+
+      <g transform="translate(0, 120)">
+        <text>horiz-adv-x=1000 but ignored</text>
+        <use xlink:href="#marker1000" x="240"/>
+        <use xlink:href="#marker1000" x="285"/>
+        <use xlink:href="#marker1000" x="330"/>
+        <use xlink:href="#marker1000" x="375"/>
+        <text x="240" font-family="origin1000" font-size="30">1234</text>
+      </g>
+
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-elem-06-t.svg b/Tests/W3CTestSuite/svg/fonts-elem-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a6116e1ee448629df3b5551f2569e7861b0c4dfd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-elem-06-t.svg
@@ -0,0 +1,122 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: fonts-elem-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#FontElement">
+      <p>
+        This test validates that the font element's horiz-adv-x is used as
+        the default glyph's advance when there is no glyph advance specified.
+        All fonts have a units-per-em of 1000.
+      </p>
+      <p>
+        The first row shows a layout with a default advance of 1000.
+        Glyphs have no advance so the 1000 default should be used.
+      </p>
+      <p>
+        The second row shows a layout with a default advance of 2000.
+        Glyphs have no advance so the 2000 default should be used.
+      </p>
+      <p>
+        The last row shows a layout with a default advance of 0.
+        Glyphs have a specified advance so the 0 default should be ignored.
+      </p>
+      <p>
+        Blue reference markers show the expected glyph positions.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+       <p>Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+       There are three subtests. The test is passed if for each subtest there is labelling text on the left and on the right, a series of black squares whose lower-left corner aligns with the centre of the corresponding small, pale blue square as shown in the reference graphic.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-elem-06-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="240" y="50" text-anchor="middle" font-size="30">&lt;font&gt; horiz-adv-x</text>
+    <defs>
+      <font id="advance1000" horiz-adv-x="1000">
+        <font-face font-family="advance1000" units-per-em="1000" ascent="1000" descent="0" alphabetic="0"/>
+        <missing-glyph d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+        <glyph unicode="1" glyph-name="gl_1" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+      </font>
+
+      <font id="advance2000" horiz-adv-x="2000">
+        <font-face font-family="advance2000" units-per-em="1000" ascent="1000" descent="0" alphabetic="0"/>
+        <missing-glyph d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+        <glyph unicode="1" glyph-name="gl_1" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+      </font>
+
+      <font id="advanceIgnored" horiz-adv-x="0">
+        <font-face font-family="advanceIgnored" units-per-em="1000" ascent="1000" descent="0" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="800" d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="3000" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="3000" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+      </font>
+
+      <g id="marker">
+        <line y2="-20" stroke="blue"/>
+        <rect x="-4" y="-4" width="8" height="8" fill="#8888ff"/>
+      </g>
+    </defs>
+
+    <g transform="translate(20, 120)" font-size="14">
+
+      <g>
+        <text>horiz-adv-x=1000</text>
+        <use xlink:href="#marker" x="240"/>
+        <use xlink:href="#marker" x="270"/>
+        <text x="240" font-family="advance1000" font-size="30">12</text>
+      </g>
+
+      <g transform="translate(0, 40)">
+        <text>horiz-adv-x=2000</text>
+        <use xlink:href="#marker" x="240"/>
+        <use xlink:href="#marker" x="300"/>
+        <text x="240" font-family="advance2000" font-size="30">12</text>
+      </g>
+
+
+      <g transform="translate(0, 80)">
+        <text>horiz-adv-x=1000 but ignored</text>
+        <use xlink:href="#marker" x="240"/>
+        <use xlink:href="#marker" x="330"/>
+        <text x="240" font-family="advanceIgnored" font-size="30">12</text>
+      </g>
+
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-elem-07-b.svg b/Tests/W3CTestSuite/svg/fonts-elem-07-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f9167aeb31ab88c5e821f434fb0b8e868567a4db
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-elem-07-b.svg
@@ -0,0 +1,132 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="BB" author="CL" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: fonts-elem-07-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#FontElement">
+      <p>
+        This is a basic test for embedded SVG fonts. The font "Comic Sans"
+        (available from Microsoft) has been converted into an SVG font and embedded
+        in the SVG file. The test contains two text areas, each with the character
+        string "AyÖ@ç" drawn at the same font size.
+      </p>
+      <p>
+        The upper area contains the glyphs from the embedded font placed in
+        the SVG file as path elements. Each glyph is placed at the location it
+        would be if rendered using normal text rendering (ie. the horizontal
+        advance between characters has been preserved).
+      </p>
+      <p>
+        The lower area contains the text string rendered using the embedded
+        SVG font, referenced with a CSS @font-face declaration. The SVG font does not have a font-family attribute, so the reference is via the @font-face block which points to a font element by ID. It should appear
+        exactly the same as the upper text area,
+        ie. font size, character baseline and horizontal advance should be
+        the same.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if the string "AyÖ@ç" is visible and fontsize, 
+        character baseline and horizontal advances are the same on both lines,
+	as shown in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-elem-07-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <style type="text/css">
+        @font-face {
+        font-family: 'TestComic';
+        font-weight: normal;
+        font-style: normal;
+        src: url("#InternalFont") format("svg")
+        }
+        #foo {font-family: TestComic}
+      </style>
+    </defs>
+    <!-- ===================================================================== -->
+    <!-- Define the font for embedding - using Microsoft's "Comic Sans MS"     -->
+    <!-- This is an SVG Font version of Comic. The Comic font license          -->
+    <!-- allows editable and installable font embedding.                       -->
+    <!-- Only need to embed the characters that are used in the test           -->
+    <!-- ===================================================================== -->
+    <defs>
+      <font horiz-adv-x="959" id="InternalFont">
+        <font-face units-per-em="2048" panose-1="3 15 7 2 3 3 2 2 2 4" ascent="2257" descent="-597" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="1024" d="M128 0V1638H896V0H128zM256 128H768V1510H256V128z"/>
+        <glyph unicode="@" horiz-adv-x="1907" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+        <glyph unicode="A" horiz-adv-x="1498" d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+        <glyph unicode="y" horiz-adv-x="1066" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+        <glyph unicode="Ö" horiz-adv-x="1635" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+        <glyph unicode="ç" horiz-adv-x="1052" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+      </font>
+    </defs>
+    <text fill="black" stroke="none" font-size="35" x="56" y="35">Basic SVG font element</text>
+    <!-- ====================================================================== -->
+    <!-- First place the glyphs by hand                                         -->
+    <!-- ====================================================================== -->
+    <g fill="black" stroke="none">
+      <text x="30" y="130" font-size="18">Placed Glyphs</text>
+      <!-- translate to text position and flip y axis (glyphs are drawn           -->
+      <!-- upside down                                                            -->
+      <g transform="translate(165,140) scale(1, -1)">
+        <line x1="0" y1="0" x2="210" y2="0" stroke-width="1" stroke="#888888"/>
+        <!-- fontsize / units-per-em == 60 / 2048 == 0.029296875  -->
+        <g transform="scale(0.029296875)">
+          <!-- uppercase A -->
+          <line x1="0" y1="-3500" x2="0" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+          <!-- lowercase y -->
+          <line x1="1498" y1="-3500" x2="1498" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(1498,0)" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+          <!-- unicode 00D6 -->
+          <line x1="2564" y1="-3500" x2="2564" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(2564,0)" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+          <!-- @ sign -->
+          <line x1="4199" y1="-3500" x2="4199" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(4199,0)" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+          <!-- unicode 00E7 -->
+          <line x1="6106" y1="-3500" x2="6106" y2="2000" stroke-width="50" stroke="#888888"/>
+          <path transform="translate(6106,0)" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+          <line x1="7158" y1="-3500" x2="7158" y2="2000" stroke-width="50" stroke="#888888"/>
+        </g>
+      </g>
+    </g>
+    <text x="65" y="210" font-size="18">SVG Font</text>
+    <g transform="translate(165, 220)" font-size="60" fill="black" stroke="none">
+      <line x1="0" y1="0" x2="210" y2="0" stroke-width="1" stroke="#888888"/>
+      <text id="foo">AyÖ@ç</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-glyph-02-t.svg b/Tests/W3CTestSuite/svg/fonts-glyph-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..68ce4fa7356193ce99dfcd7faf9ec4941b55a847
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-glyph-02-t.svg
@@ -0,0 +1,88 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: fonts-glyph-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#GlyphElement">
+      <p>
+        The first subtest tests the arabic-form attribute on the glyph element, 
+	the second subtest is the same, but with glyphs for the letter khah.
+        It should match the reference image.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first subtest must produce a
+        'downward triangle', a 'space', a 'square', a 'diamond'
+        and then an 'upward triangle' in this order. Remembering
+        that arabic text is right to left.
+      </p>
+			<p>The second subtest must produce the isolated, initial, medial, final and 
+	 			glyphs of the letter khah. Again in the writing direction, from right to left.
+	 		</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-glyph-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="300">
+        <font-face font-family="SVGFont" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space" horiz-adv-x="300"/>
+        <glyph unicode="ښ" glyph-name="downward-triangle" horiz-adv-x="500" arabic-form="isolated" d="M0 900L500 900L250 0Z"/>
+        <glyph unicode="ښ" glyph-name="square" horiz-adv-x="500" arabic-form="initial" d="M0 250L500 250L500 750L0 750Z"/>
+        <glyph unicode="ښ" glyph-name="diamond" horiz-adv-x="500" arabic-form="medial" d="M0 500L250 250L500 500L250 750Z"/>
+        <glyph unicode="ښ" glyph-name="upward-triangle" horiz-adv-x="500" arabic-form="terminal" d="M0 0L500 0L250 900Z"/>
+      </font>
+      <font horiz-adv-x="573">
+        <font-face font-family="SVGAr" units-per-em="1000" panose-1="5 1 1 1 1 1 1 1 1 1" ascent="1025" descent="-399" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="500" d="M31 0V800H469V0H31ZM438 31V769H62V31H438Z"/>
+        <glyph unicode=" " glyph-name="space" horiz-adv-x="370"/>
+        <glyph unicode="خ" glyph-name="khah-isolated" arabic-form="isolated" horiz-adv-x="562" d="M309 360Q309 353 297 335T271 317Q260 317 227 337T194 370Q194 380 205 397T232 415Q246 415 277 395T309 360ZM518 -265Q516 -269 509 -275Q507 -277 502 -281Q447 -319 424 -330Q356 -363 281 -363Q228 -363 186 -347T110 -294Q69 -249 54 -199Q44 -167 44 -127Q44 -96 50 -65T76 12Q88 39 110 70Q152 127 152 137Q152 151 148 156T121 161Q95 161 85 156Q72 146 62 140Q44 128 35 130Q35 138 35 146Q37 151 43 162Q77 208 98 219T159 231Q170 231 234 221Q255 218 298 210H340Q347 210 382 218T425 230T435 235Q446 239 449 234Q454 226 444 189T426 152Q418 152 393 154T360 156Q327 156 297 149T228 120Q180 93 142 36Q96 -33 96 -110Q96 -209 168 -257Q223 -294 300 -294Q343 -294 371 -291Q429 -285 489 -267Q506 -260 511 -260Q514 -262 518 -265Z"/>
+        <glyph unicode="خ" glyph-name="khah-initial" arabic-form="initial" horiz-adv-x="728" d="M297 372Q297 365 285 347T259 329Q248 329 215 349T182 382Q182 392 193 409T220 427Q234 427 265 407T297 372ZM600 0H0V68H373Q396 68 396 86Q396 89 394 95Q377 137 347 159Q308 188 243 188Q210 188 183 171Q165 160 157 158T145 156Q138 156 138 164L140 174Q145 196 191 220Q228 240 269 240Q313 240 355 221T447 160Q488 120 530 81Q543 73 563 71T609 68Q619 68 620 68T625 68Q645 68 645 46Q645 30 633 15T600 0Z"/>
+        <glyph unicode="خ" glyph-name="khah-medial" arabic-form="medial" horiz-adv-x="625" d="M296 376Q296 369 284 351T258 333Q247 333 214 353T181 386Q181 396 192 413T219 431Q233 431 264 411T296 376ZM625 0H0V68H373Q396 68 396 86Q396 89 394 95Q377 137 347 159Q308 188 243 188Q210 188 183 171Q165 160 157 158T145 156Q138 156 138 164L140 174Q145 196 191 220Q228 240 269 240Q313 240 355 221T447 160Q488 120 530 81Q543 73 563 71T609 68Q619 68 620 68T625 68V0Z"/>
+        <glyph unicode="خ" glyph-name="khah-terminal" arabic-form="terminal" horiz-adv-x="514" d="M296 352Q296 345 284 327T258 309Q247 309 214 329T181 362Q181 372 192 389T219 407Q233 407 264 387T296 352ZM514 0H375Q313 0 298 64T261 128Q209 128 153 62Q91 -12 91 -101Q91 -199 162 -243Q220 -279 319 -279Q367 -279 390 -276T463 -259Q466 -258 475 -255T488 -252Q490 -252 491 -254T489 -263Q484 -272 466 -286T433 -307Q408 -320 401 -323Q349 -344 277 -344Q169 -344 104 -274Q44 -210 44 -118Q44 -88 51 -53T73 14Q80 31 97 56Q132 108 132 118Q132 127 126 134T110 141Q92 141 85 137Q72 127 59 117Q49 112 44 112Q38 112 38 119Q38 122 40 128Q49 156 80 182Q116 212 157 212Q170 212 188 208Q232 198 258 198H320Q345 198 357 201Q374 207 383 209T398 214T412 216Q420 216 421 212Q424 202 414 170T396 137Q394 137 382 140T362 143Q346 143 337 135T327 104Q327 91 341 80T379 68H514V0Z"/>
+      </font>
+    </defs>
+    <g font-family="SVGFont" font-size="80" text-anchor="middle">
+      <!-- This should produce 'downward triangle' 'space' 'square' 'diamond' 'upward-triangle' -->
+      <text x="240" y="100" direction="rtl">ښ ښښښ</text>
+    </g>
+    <g font-family="SVGAr" font-size="80" text-anchor="middle">
+      <!-- this should produce isolated khah, followed by initial,medial and terminal khah -->
+      <text x="240" y="200" direction="rtl">خ  خخخ</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-glyph-03-t.svg b/Tests/W3CTestSuite/svg/fonts-glyph-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e7bcc10b148832334d08aea033e56fd49f1b0e29
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-glyph-03-t.svg
@@ -0,0 +1,78 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="issue"
+    version="$Revision: 1.6 $" testname="$RCSfile: fonts-glyph-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#GlyphElement">
+    	<p>ISSUE: http://www.w3.org/2011/02/27-svg-irc#T22-20-51 - unapprove test for now</p>
+      <p>
+        This files tests the lang attribute support of the glyph
+        element. The test should produce an upward-triangle for
+        the first (en) test element and a square for the second (fr)
+        and third (fr-ca)  text element. In the third case, a glyph for
+        fr is also suitable for a more specific language text fr-ca.
+        In the fourth case, no suitable language specific or general
+        glyph is provided by the test so a fallback font for the letter
+        'a' should be used. A triangle or square must not be
+        displayed in the fourth case.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if, from top to bottom, you see an upward pointing triangle, then two squares, and finally the letter "a".
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-glyph-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <missing-glyph horiz-adv-x="500" d="M0 0L500 0L500 1000L0 1000M50 50L50 950L450 950L450 50Z"/>
+        <glyph unicode=" " glyph-name="space"/>
+        <glyph unicode="a" glyph-name="upward-triangle" lang="en" d="M0 0L500 0L250 900Z"/>
+        <glyph unicode="a" glyph-name="square" lang="fr" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+    </defs>
+    <g font-family="SVGFont" font-size="50">
+      <!-- Should produce an upward pointing triangle -->
+      <text x="50" y="50" xml:lang="en">a</text>
+      <!-- Should produce a square -->
+      <text x="50" y="120" xml:lang="fr">a</text>
+      <!-- Should also produce a square -->
+      <text x="50" y="190" xml:lang="fr-ca">a</text>
+      <!-- Should fall back to another font -->
+      <text x="50" y="260" xml:lang="de">a</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-glyph-04-t.svg b/Tests/W3CTestSuite/svg/fonts-glyph-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..498244b841ba91ca20a0dedd9fafa19f82d65e0b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-glyph-04-t.svg
@@ -0,0 +1,69 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: fonts-glyph-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#GlyphElement">
+      <p>
+        This tests that glyph selection is done in the
+        order in the definition of the font element.
+        The first line of text should be represented by
+        two triangles and an 'l'. The second line should
+        be represented by a square.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if on the first line you see two upward pointed triangles 
+	followed by the letter "l". On the second line, a single square.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-glyph-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont1" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <glyph unicode="f" glyph-name="upward-triangle" d="M0 0L500 0L250 900Z"/>
+        <glyph unicode="ffl" glyph-name="square" d="M0 250L500 250L500 750L0 750Z"/>
+      </font>
+      <font horiz-adv-x="500">
+        <font-face font-family="SVGFont2" units-per-em="1000" ascent="800" descent="200" alphabetic="200"/>
+        <glyph unicode="ffl" glyph-name="square 2" d="M0 250L500 250L500 750L0 750Z"/>
+        <glyph unicode="f" glyph-name="upward-triangle 2" d="M0 0L500 0L250 900Z"/>
+      </font>
+    </defs>
+    <text x="100" y="100" font-size="50" font-family="SVGFont1">ffl</text>
+    <text x="100" y="200" font-size="50" font-family="SVGFont2">ffl</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-kern-01-t.svg b/Tests/W3CTestSuite/svg/fonts-kern-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0b52ff662c804425ae286cb66e956684f1b924f1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-kern-01-t.svg
@@ -0,0 +1,293 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: fonts-kern-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#KernElements">
+      <p>
+        This test validates handling of the hkern element.
+      </p>
+      <p>
+        In all instances, a text element matching a font with hkern
+        is displayed along with reference markers showing the expected
+        glyph positioning.
+      </p>
+      <p>
+        The 'fontA' cell shows the string "12" with "fontA" for which there
+        in a kerning pair defined with u1="1" and u2="2".
+      </p>
+      <p>
+        The 'fontB' cell shows the string "12" with "fontB" for which there
+        in a kerning pair defined with g1="gl_1" and g2="gl_2",
+        where "gl_1" has unicode="1" and "gl_2" has unicode="2".
+      </p>
+      <p>
+        The 'fontC' cell shows the string "1234" with "fontC" were the same kerning pair
+        uses u1/u2 to match "12" and g1/g2 to match "34".
+      </p>
+      <p>
+        The 'fontD' cell shows the string "1234" with "fontD" were the same kerning pair
+        uses u1/u2 to match "12" and "34" (u1/u2 are lists of character vales).
+      </p>
+      <p>
+        The 'fontE' cell shows the string "1234" with "fontE" were the same kerning pair
+        uses g1/g2 to match "12" and "34" (g1/g2 are lists of names).
+      </p>
+      <p>
+        The 'fontF' cell shows the string "1234" with "fontF" were the same kerning pair
+        uses u1/u2 to match "12" and "34" (u1/u2 are unicode ranges).
+      </p>
+      <p>
+        The 'fontG' cell shows the string "12" with "fontG" were for which there
+        is a kerning pair with u1 matching "1" and g2 matching "gl_2".
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if for each of the seven subtests there is a series of black squares whose lower-left corner aligns with the centre of the corresponding small, red square as shown in the reference graphic.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-kern-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <g id="marker">
+        <!-- <rect x="0" y="-10" width="10" height="10" /> -->
+        <line y2="-12" stroke="red" stroke-width="1"/>
+        <line x2="12" stroke="red" stroke-width="1"/>
+        <rect x="-2" y="-2" width="4" height="4" fill="red"/>
+      </g>
+      <g id="sampleBkg">
+        <rect width="200" height="20" fill="#eeeeee"/>
+        <rect y="20" width="200" height="30" fill="#cccccc"/>
+        <rect width="200" height="50" fill="none" stroke="black"/>
+      </g>
+    </defs>
+    <defs>
+
+    <font horiz-adv-x="224">
+<font-face font-family="fontG" units-per-em="1000" ascent="917" descent="-250"/>
+        <missing-glyph horiz-adv-x="800" d="M 0 0 L 750 0 L 750 1000 L 0 1000 Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="250" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <hkern u1="1" g2="gl_2" k="-1000"/>
+    </font>
+
+    <font horiz-adv-x="224">
+<font-face font-family="fontF" units-per-em="1000" ascent="917" descent="-250"/>
+        <missing-glyph horiz-adv-x="800" d="M 0 0 L 750 0 L 750 1000 L 0 1000 Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="250" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="750" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+        <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1000" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+        <!-- u1 covers '0' to '9' and ':' ';' '<' '=' '>' '?' -->
+        <!-- u2 covers '1' '2' '3' and '4'                    -->
+        <!-- So, this is a match for '12', '23' and '34'      -->
+        <hkern u1="U+003?" u2="U+0031-0034" k="-1500"/>
+    </font>
+
+    <font horiz-adv-x="224">
+<font-face font-family="fontE" units-per-em="1000" ascent="917" descent="-250"/>
+        <missing-glyph horiz-adv-x="800" d="M 0 0 L 750 0 L 750 1000 L 0 1000 Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="250" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="750" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+        <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1000" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+        <hkern g1="gl_1,gl_3" g2="gl_2,gl_4" k="-1500"/>
+    </font>
+
+    <font horiz-adv-x="224">
+<font-face font-family="fontD" units-per-em="1000" ascent="917" descent="-250"/>
+        <missing-glyph horiz-adv-x="800" d="M 0 0 L 750 0 L 750 1000 L 0 1000 Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="250" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="750" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+        <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1000" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+        <hkern u1="1,3" u2="2,4" k="-1500"/>
+    </font>
+
+    <font horiz-adv-x="224">
+<font-face font-family="fontC" units-per-em="1000" ascent="917" descent="-250"/>
+        <missing-glyph horiz-adv-x="800" d="M 0 0 L 750 0 L 750 1000 L 0 1000 Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="250" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="750" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+        <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1000" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+
+        <hkern u1="1" u2="2" g1="gl_3" g2="gl_4" k="-1500"/>
+    </font>
+
+    <font horiz-adv-x="224">
+<font-face font-family="fontB" units-per-em="1000" ascent="917" descent="-250"/>
+        <missing-glyph horiz-adv-x="800" d="M 0 0 L 750 0 L 750 1000 L 0 1000 Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="250" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <hkern g1="gl_1" g2="gl_2" k="-2000"/>
+    </font>
+
+    <font horiz-adv-x="224">
+<font-face font-family="fontA" units-per-em="1000" ascent="917" descent="-250"/>
+        <missing-glyph horiz-adv-x="800" d="M 0 0 L 750 0 L 750 1000 L 0 1000 Z"/>
+        <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="250" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+        <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+        <hkern u1="1" u2="2" k="-1000"/>
+    </font>
+
+    </defs>
+    <text x="240" y="30" font-size="20" text-anchor="middle">&lt;hkern&gt;</text>
+    <g id="legend" transform="translate(30, 60)">
+      <g>
+        <g>
+          <rect x="-20" width="20" height="50" fill="none" stroke="black"/>
+          <text transform="translate(-5, 25) rotate(-90)" text-anchor="middle">font A</text>
+        </g>
+        <use xlink:href="#sampleBkg"/>
+        <text x="5" y="15" font-size="12">u1="1" u2="2"</text>
+        <g transform="translate(5, 45) scale(2)" font-size="10">
+          <!-- Advance for '1': 0 -->
+          <use xlink:href="#marker" fill="#8888ff"/>
+
+          <!-- Advance for '2' : '1'.advance + kerning             -->
+          <!--                 : ((250 - (-1000))/1000)*10         -->
+          <!--                 : 12.5                              -->
+          <use xlink:href="#marker" x="12.5" fill="#8888ff"/>
+          <text font-family="fontA" font-size="10">12</text>
+        </g>
+      </g>
+
+      <g transform="translate(0, 55)">
+        <g>
+          <rect x="-20" width="20" height="50" fill="none" stroke="black"/>
+          <text transform="translate(-5, 25) rotate(-90)" text-anchor="middle">font B</text>
+        </g>
+        <use xlink:href="#sampleBkg"/>
+        <text x="5" y="15" font-size="12">g1="gl_1" g2="gl_2"</text>
+        <g transform="translate(5, 45) scale(2)">
+          <use xlink:href="#marker" fill="#8888ff"/>
+          <use xlink:href="#marker" x="22.5" fill="#8888ff"/>
+          <text font-family="fontB" font-size="10">12</text>
+        </g>
+      </g>
+
+      <g transform="translate(0, 110)">
+        <g>
+          <rect x="-20" width="20" height="50" fill="none" stroke="black"/>
+          <text transform="translate(-5, 25) rotate(-90)" text-anchor="middle">font C</text>
+        </g>
+        <use xlink:href="#sampleBkg"/>
+        <text x="5" y="15" font-size="12">u1="1" u2="2" g1="gl_3" g2="gl_4"</text>
+        <g transform="translate(5, 45) scale(2)">
+          <use xlink:href="#marker" fill="#8888ff"/>
+          <!-- ((1.adv + '12'.k)/unitsPerEm)*fontSize -->
+          <use xlink:href="#marker" x="17.5" fill="#8888ff"/>
+          <use xlink:href="#marker" x="32.5" fill="#8888ff"/>
+          <!-- ((3.adv + '34'.k)/unitsPerEm)*fontSize -->
+          <use xlink:href="#marker" x="55" fill="#8888ff"/>
+          <text font-family="fontC" font-size="10">1234</text>
+        </g>
+      </g>
+
+      <g transform="translate(0, 165)">
+        <g>
+          <rect x="-20" width="20" height="50" fill="none" stroke="black"/>
+          <text transform="translate(-5, 25) rotate(-90)" text-anchor="middle">font D</text>
+        </g>
+        <use xlink:href="#sampleBkg"/>
+        <text x="5" y="15" font-size="12">u1="1,3" u2="2,4"</text>
+        <g transform="translate(5, 45) scale(2)">
+          <use xlink:href="#marker" fill="#8888ff"/>
+          <use xlink:href="#marker" x="17.5" fill="#8888ff"/>
+          <use xlink:href="#marker" x="32.5" fill="#8888ff"/>
+          <use xlink:href="#marker" x="55" fill="#8888ff"/>
+          <text font-family="fontD" font-size="10">1234</text>
+        </g>
+      </g>
+
+      <g transform="translate(240, 0)">
+        <g>
+          <rect x="-20" width="20" height="50" fill="none" stroke="black"/>
+          <text transform="translate(-5, 25) rotate(-90)" text-anchor="middle">font E</text>
+        </g>
+        <use xlink:href="#sampleBkg"/>
+        <text x="5" y="15" font-size="12">g1="gl_1,gl_3" g2="gl_2,gl_4"</text>
+        <g transform="translate(5, 45) scale(2)">
+          <use xlink:href="#marker" fill="#8888ff"/>
+          <use xlink:href="#marker" x="17.5" fill="#8888ff"/>
+          <use xlink:href="#marker" x="32.5" fill="#8888ff"/>
+          <use xlink:href="#marker" x="55" fill="#8888ff"/>
+          <text font-family="fontE" font-size="10">1234</text>
+        </g>
+      </g>
+
+      <g transform="translate(240, 55)">
+        <g>
+          <rect x="-20" width="20" height="50" fill="none" stroke="black"/>
+          <text transform="translate(-5, 25) rotate(-90)" text-anchor="middle">font F</text>
+        </g>
+        <use xlink:href="#sampleBkg"/>
+        <text x="5" y="15" font-size="12">u1="U+003?" u2="U+0031-34"</text>
+        <g transform="translate(5, 45) scale(2)">
+          <use xlink:href="#marker" fill="#8888ff"/>
+          <!-- '2' -->
+          <use xlink:href="#marker" x="17.5" fill="#8888ff"/>
+          <!-- '3' -->
+          <use xlink:href="#marker" x="47.5" fill="#8888ff"/>
+          <!-- '4' -->
+          <use xlink:href="#marker" x="70" fill="#8888ff"/>
+          <text font-family="fontF" font-size="10">1234</text>
+        </g>
+      </g>
+
+      <g transform="translate(240, 110)">
+        <g>
+          <rect x="-20" width="20" height="50" fill="none" stroke="black"/>
+          <text transform="translate(-5, 25) rotate(-90)" text-anchor="middle">font G</text>
+        </g>
+        <use xlink:href="#sampleBkg"/>
+        <text x="5" y="15" font-size="12">u1="1" g2="gl_2"</text>
+        <g transform="translate(5, 45) scale(2)">
+          <!-- Advance for '1': 0 -->
+          <use xlink:href="#marker" fill="#8888ff"/>
+
+          <!-- Advance for '2' : '1'.advance + kerning             -->
+          <!--                 : ((250 - (-1000))/1000)*10         -->
+          <!--                 : 12.5                              -->
+          <use xlink:href="#marker" x="12.5" fill="#8888ff"/>
+          <text font-family="fontG" font-size="10">12</text>
+        </g>
+      </g>
+    </g>
+    <g id="testContent" transform="translate(320, 100)" font-size="10">
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/fonts-overview-201-t.svg b/Tests/W3CTestSuite/svg/fonts-overview-201-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..65de3f474c0ed0e3804678f00aa7cb46674f828e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/fonts-overview-201-t.svg
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.2" baseProfile="tiny" id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xe="http://www.w3.org/2001/xml-events">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AE" author="CL" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: fonts-overview-201-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/fonts.html#SVGFontsOverview">
+      <p>
+        This tests a range of values for the 'units per em' attribute.
+      </p>
+      <p>
+        The same glyph is defined three times in three fonts, but with different values
+        for units-per-em - 1,000, 10, and 10,000 - and with the other numerical values
+        that depend on units-per-em scaled accordingly. Text using these  fonts must all be displayed at the same size,
+        because the same font-size is used throughout.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	The test is passed if the three letter β are all the same size.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: fonts-overview-201-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font id="beta" horiz-adv-x="550" >
+        <font-face
+          font-family="SVGbeta1"
+          font-weight="500"
+          units-per-em="1000"
+          ascent="800"
+          descent="-200"
+          unicode-range="U+03B2"
+        />
+        <missing-glyph />
+        <glyph glyph-name="beta" unicode="&#x3b2;"
+          d="M522.35 177.05c0 -103.55 -73.73 -201.4 -190.89 -201.4c-62.62 0 -123.22 22.7998 -138.37 85.5h-2.01999v-261.15h-135.34v573.7c0 136.8 37.3691 304.95 218.16 304.95c95.95 0 198.97 -40.85 198.97 -145.35c0 -94.05 -72.72 -133 -160.59 -152v-1.89999
+          c126.25 -16.15 210.08 -76 210.08 -202.35zM360.75 128.6v80.75c0 41.8 -3.03 149.15 -67.67 149.15c-15.15 0 -29.29 -8.54999 -44.44 -8.54999c-14.14 0 -20.2 18.05 -20.2 28.5c0 11.4 9.09 24.7 22.22 24.7c12.12 0 24.24 -6.64999 36.36 -6.64999
+          c45.45 0 45.45 79.8 45.45 108.3c0 42.75 2.01999 146.3 -63.63 146.3c-75.75 0 -77.77 -138.7 -77.77 -188.1v-394.25h31.31c3.03 -23.75 29.29 -49.4004 55.55 -49.4004c68.68 0 82.82 56.0508 82.82 109.25z" />
+      </font>
+      <font id="beta2" horiz-adv-x="5.50" >
+        <font-face
+          font-family="SVGbeta2"
+          font-weight="500"
+          units-per-em="10"
+          ascent="8"
+          descent="-2"
+          unicode-range="U+03B2"
+        />
+        <missing-glyph />
+        <glyph glyph-name="beta" unicode="&#x3b2;"
+          d="M5.2235 1.7705c0 -1.0355 -0.7373 -2.014 -1.9089 -2.014c-0.6262 0 -1.2322 0.227998 -1.3837 0.855h-0.0201999v-2.6115h-1.3534v5.737c0 1.368 0.373691 3.0495 2.1816 3.0495c0.9595 0 1.9897 -0.4085 1.9897 -1.4535c0 -0.9405 -0.7272 -1.33 -1.6059 -1.52v-0.0189999
+          c1.2625 -0.1615 2.1008 -0.76 2.1008 -2.0235zM3.6075 1.286v0.8075c0 0.418 -0.0303 1.4915 -0.6767 1.4915c-0.1515 0 -0.2929 -0.0854999 -0.4444 -0.0854999c-0.1414 0 -0.202 0.1805 -0.202 0.285c0 0.114 0.0909 0.247 0.2222 0.247c0.1212 0 0.2424 -0.0664999 0.3636 -0.0664999
+          c0.4545 0 0.4545 0.798 0.4545 1.083c0 0.4275 0.0201999 1.463 -0.6363 1.463c-0.7575 0 -0.7777 -1.387 -0.7777 -1.881v-3.9425h0.3131c0.0303 -0.2375 0.2929 -0.494004 0.5555 -0.494004c0.6868 0 0.8282 0.560508 0.8282 1.0925z" />
+      </font>
+      <font id="beta3" horiz-adv-x="55000" >
+        <font-face
+          font-family="SVGbeta3"
+          font-weight="500"
+          units-per-em="10000"
+          ascent="8000"
+          descent="-2000"
+          unicode-range="U+03B2"
+        />
+        <missing-glyph />
+        <glyph glyph-name="beta" unicode="&#x3b2;"
+          d="M5223.5 1770.5c0 -1035.5 -737.3 -2014.0 -1908.9 -2014.0c-626.2 0 -1232.2 227.998 -1383.7 855.0h-20.1999v-2611.5h-1353.4v5737.0c0 1368.0 373.691 3049.5 2181.6 3049.5c959.5 0 1989.7 -408.5 1989.7 -1453.5c0 -940.5 -727.2 -1330.0 -1605.9 -1520.0v-18.9999
+          c1262.5 -161.5 2100.8 -760.0 2100.8 -2023.5zM3607.5 1286.0v807.5c0 418.0 -30.3 1491.5 -676.7 1491.5c-151.5 0 -292.9 -85.4999 -444.4 -85.4999c-141.4 0 -202.0 180.5 -202.0 285.0c0 114.0 90.9 247.0 222.2 247.0c121.2 0 242.4 -66.4999 363.6 -66.4999
+          c454.5 0 454.5 798.0 454.5 1083.0c0 427.5 20.1999 1463.0 -636.3 1463.0c-757.5 0 -777.7 -1387.0 -777.7 -1881.0v-3942.5h313.1c30.3 -237.5 292.9 -494.004 555.5 -494.004c686.8 0 828.2 560.508 828.2 1092.5z" />
+      </font>
+    </defs>
+    <!-- alphabetic baseline -->
+    <path stroke-width="2" stroke="#888" d="M 50,200 H 420"/>
+    <!--  ascent  -->
+    <path stroke-width="2" stroke="#888" d="M 50, 56 H 420"/>
+    <!-- descent  -->
+    <path stroke-width="2" stroke="#888" d="M 50, 236 H 420"/>
+
+    <text  x="50" y="200" font-family="SVGbeta1" font-size="180">β</text>
+    <text  x="180" y="200" font-family="SVGbeta2" font-size="180">β</text>
+    <text  x="310" y="200" font-family="SVGbeta3" font-size="180">β</text>
+
+    <text x="60" y="260" font-size="10">1,000</text>
+    <text x="190" y="260" font-size="10">10</text>
+    <text x="320" y="260" font-size="10">10,000</text>
+    <text x="110" y="280" font-size="16">varying units-per-em values</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/imp-path-01-f.svg b/Tests/W3CTestSuite/svg/imp-path-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1cae43261993bca43746614abec91f563244ecca
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/imp-path-01-f.svg
@@ -0,0 +1,54 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="reviewed" version="$Revision: 1.5 $" testname="$RCSfile: imp-path-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/implnote.html#PathElementImplementationNotes">
+			<p>
+        Tests that markers are drawn on zero-length 'path' and 'line' segments.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+			<p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there are two blue boxes, positioned as in the reference image.
+      </p>  
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: imp-path-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <marker id="testMarker">
+            <rect width="96" height="96" fill="blue" />
+        </marker>
+    </defs>
+    <path d="m 0 0 L 0 0" stroke-width="25" marker-end="url(#testMarker)" />
+    <line x1="0" x2="0" y1="100" y2="100" stroke-width="25" marker-end="url(#testMarker)" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-cursor-01-f.svg b/Tests/W3CTestSuite/svg/interact-cursor-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ff7d7165044bbe45cbfb53a3f1b75e2e763924ba
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-cursor-01-f.svg
@@ -0,0 +1,158 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: interact-cursor-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#Cursors">
+        <p>
+	Purpose of test is to determine if the cursor property and cursor element are
+        supported. 
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test requires user interaction. Firstly, the default cursor behaviour should be examined.
+        Move the cursor to the top left corner, in the white area. This is the default
+        cursor. Now move the cursor over the text at the top of the example. The cursor
+        changes to the text cursor. Lastly, move the cursor to the  blue link
+        text - the cursor changes to the pointer cursor.
+      </p>
+      <p>
+        Now, move the cursor in turn to each of the gray rectangles (but not on top
+        of the white text label text). From top to bottom in the first row,  the cursor
+        should change to:
+      </p>
+      <p>
+        A crosshair or other 'accurate positioning'  cursor
+        The 'default' cursor, as noted above
+        The 'pointer' cursor, as noted above
+        A cursor indicating movement, such as panning
+      </p>
+      <p>Now from top to bottom in the second row, the cursor should change to: </p>
+      <p>
+        The 'text' cursor, as noted above
+        A 'wait' cursor
+        A 'help' cursor
+        A special cursor which looks like a small magnifying glass. This is a downloaded image cursor.
+
+      </p>
+      <p>
+        Moving to the bottom-leftmost of the eight red triangles, and moving around them clockwise, the
+        cursor should change to:
+      </p>
+      <p>
+        SouthEast-resize, South-resize, SouthWest resize, West-resize,
+        NorthWest-resize, North-resize, NorthEast-resize, East-resize.
+      </p>
+      <p>
+        Lastly, move the cursor to the target in the bottom-right of the test. The cursor must not
+        change to the 'pointer'  cursor, but instead to the custom magnifying glass cursor as noted
+        above.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if, at each position, the cursor changes as described in the operator script.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-cursor-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <cursor id="magglass" xlink:href="../images/magnify.png" x="10" y="11"/>
+    </defs>
+    <text x="240" y="25" text-anchor="middle" font-size="26">
+      Text Cursor
+      <a xlink:href="http://www.w3.org/TR/SVG/interact#Cursors" fill="blue" xlink:show="new">Pointer Cursor</a>
+    </text>
+    <!-- use this text to check the native 'text' and 'pointer' cursor -->
+    <rect x="120" y="40" width="240" height="236" stroke="#666" stroke-width="3" fill="none"/>
+    <!-- ====================================================================== -->
+    <!-- Predefined keyword values for cursors            ===================== -->
+    <!-- ====================================================================== -->
+    <g class="button">
+      <g cursor="crosshair">
+        <rect stroke="none" fill="#666" x="148" y="70" width="80" height="32"/>
+        <text stroke="none" fill="#FFF" font-family="Geneva, Arial, Helvetica, sans-serif" font-weight="bold" font-size="16" x="154" y="90">crosshair</text>
+      </g>
+      <g cursor="default">
+        <rect stroke="none" fill="#666" x="148" y="118" width="80" height="32"/>
+        <text stroke="none" fill="#FFF" font-family="Geneva, Arial, Helvetica, sans-serif" font-weight="bold" font-size="16" x="154" y="138">default</text>
+      </g>
+      <g cursor="pointer">
+        <rect stroke="none" fill="#666" x="148" y="166" width="80" height="32"/>
+        <text stroke="none" fill="#FFF" font-family="Geneva, Arial, Helvetica, sans-serif" font-weight="bold" font-size="16" x="154" y="186">pointer</text>
+      </g>
+      <g cursor="move">
+        <rect stroke="none" fill="#666" x="148" y="214" width="80" height="32"/>
+        <text stroke="none" fill="#FFF" font-family="Geneva, Arial, Helvetica, sans-serif" font-weight="bold" font-size="16" x="154" y="235">move</text>
+      </g>
+      <g cursor="text">
+        <rect stroke="none" fill="#666" x="252" y="70" width="80" height="32"/>
+        <text stroke="none" fill="#FFF" font-family="Geneva, Arial, Helvetica, sans-serif" font-weight="bold" font-size="16" x="258" y="90">text</text>
+      </g>
+      <g cursor="wait">
+        <rect stroke="none" fill="#666" x="252" y="118" width="80" height="32"/>
+        <text stroke="none" fill="#FFF" font-family="Geneva, Arial, Helvetica, sans-serif" font-weight="bold" font-size="16" x="258" y="138">wait</text>
+      </g>
+      <g cursor="help">
+        <rect stroke="none" fill="#666" x="252" y="166" width="80" height="32"/>
+        <text stroke="none" fill="#FFF" font-family="Geneva, Arial, Helvetica, sans-serif" font-weight="bold" font-size="16" x="258" y="186">help</text>
+      </g>
+      <g cursor="url(#magglass),crosshair">
+        <rect stroke="none" fill="#666" x="252" y="214" width="80" height="32"/>
+        <text stroke="none" fill="#FFF" font-family="Geneva, Arial, Helvetica, sans-serif" font-weight="bold" font-size="16" x="258" y="235">&lt;url&gt;</text>
+      </g>
+    </g>
+    <g stroke="black" stroke-width="1" fill="#900">
+      <polygon points="116,36 116,68 148,36" cursor="nw-resize"/>
+      <polygon points="364,36 364,68 332,36" cursor="ne-resize"/>
+      <polygon points="364,280 332,280 364,248" cursor="se-resize"/>
+      <polygon points="116,280 148,280 116,248" cursor="sw-resize"/>
+      <polygon points="340,134 340,182 364,158" cursor="e-resize"/>
+      <polygon points="116,158 140,134 140,182" cursor="w-resize"/>
+      <polygon points="240,36 264,63.3 214,63.3" cursor="n-resize"/>
+      <polygon points="240,280 264,252.7 214,252.7" cursor="s-resize"/>
+    </g>
+    <!-- link to check consistency of 'pointer' cursor -->
+    <!-- target for hotspot test -->
+    <g id="target" stroke-width="1" stroke="black" cursor="url(#magglass),crosshair">
+      <!-- make a target to test the hotspot -->
+      <circle cx="390" cy="315" r="16" stroke="none" fill="#FFC"/>
+      <polyline points="390,295 390,335"/>
+      <polyline points="370,315 410,315"/>
+      <circle cx="390" cy="315" r="6" stroke="none" fill="#FFF"/>
+      <!-- make the hotspot, taking care the cursor stays the same -->
+      <a fill="blue" xlink:href="http://www.w3.org/Icons/w3c_home">
+        <circle cx="390" cy="315" r="2" stroke="none" fill="#000"/>
+      </a>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-dom-01-b.svg b/Tests/W3CTestSuite/svg/interact-dom-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..907cc20bcda6ea479825a0bfd259236226fcaa63
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-dom-01-b.svg
@@ -0,0 +1,133 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360" onload="initTest(evt)"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: interact-dom-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#DOMInterfaces">
+        <p>
+          Verify basic support for DOM event listener registration. The root svg element
+          has an onload handler where a click event listener is registered on group element 'Start Button'.
+        </p>
+      <p>
+        If UI events listener registration is supported (and UI events),
+        when the user clicks on the button a text node is inserted reading "Event Listeners supported".
+      </p>
+      <p>
+        At the end of the test, the start test button is changed to green,
+        and the click event listener is removed from the the start button.
+      </p>
+      <p>
+        Subsequent clicks on the start button should cause no effect if
+        the event listener has been removed successfully.
+        If additional lines of text appear in the document that say "Event Listeners supported",
+        then the implementation has not successfully removed the event listener.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+	<p>This test requires user interaction. Run the test, then click on the grey rectangle.
+	  If it turns green, click it again.
+	</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After clicking once on the button, the rectangle should have a green fill 
+	and the text "Event listeners supported" should appear, once.
+        
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-dom-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <script type="text/ecmascript">
+      <![CDATA[
+
+      var svg_ns = "http://www.w3.org/2000/svg"
+      var doc;
+      var content;
+      var startButton;
+      var buttonRect;
+      var yLocation = 280;
+      //
+      // onload handler for top level svg element. Sets a UI event listener for
+      // the test start button.
+      //
+      function initTest(evt){
+      // Get Document
+      var target = evt.target;
+      doc = target.ownerDocument;
+      content = doc.getElementById("test-body-content");
+
+      // Get start rect and add a UI listener
+      startButton = doc.getElementById("startButton");
+      buttonRect = doc.getElementById("buttonRect");
+      startButton.addEventListener("click", uiEventDetected, false);
+      }
+
+      //
+      // click handler for 'startButton' rect element.
+      //
+      function uiEventDetected(evt) {
+      //
+      // Add an element to show that UI event was detected
+      //
+      var newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('x', '5');
+      newText.setAttribute('y', yLocation);
+      newText.setAttribute('font-size', '40');
+      var message = "Event Listeners supported";
+      var textContent = doc.createTextNode(message);
+      newText.appendChild(textContent);
+      content.appendChild(newText);
+
+      startButton.removeEventListener("click", uiEventDetected, false);
+
+      // Make start button green
+      buttonRect.setAttribute("fill", "#88ff88");
+      buttonRect.setAttribute("stroke", "black");
+
+      // If test does not successfully remove the event listener, then
+      // a second click will cause a subsequent text string to appear 50 units
+      // below the first new text string.
+      yLocation = yLocation + 50;
+      }
+
+    ]]>
+    </script>
+
+    <!-- ===================================================================== -->
+    <!-- Start button                                                          -->
+    <!-- ===================================================================== -->
+    <g id="startButton">
+      <rect id="buttonRect" x="65" y="20" width="350" height="200" fill="#dddddd" stroke="black"/>
+      <text font-size="54" x="120" y="130">Start Test</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-events-01-b.svg b/Tests/W3CTestSuite/svg/interact-events-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e31961e3459584a0ddde3caa583c28d6554c990e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-events-01-b.svg
@@ -0,0 +1,123 @@
+<svg version="1.1" baseProfile="basic" onload="onEvent(evt, 'Rect6', 'visible')" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted
+"
+    version="$Revision: 1.6 $" testname="$RCSfile: interact-events-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#SVGEvents">
+      <p>
+        Test 'onload' event attribute.
+      </p>
+      <p>
+        Six blue rectangles have been defined, each initially defined with
+        'visibility:hidden'. 'onload' event attributes are assigned in
+        a variety of ways, usually to set 'visibility:visible'.
+        The red text indicates the correct behavior
+        (whether a given rectangle should appear in the visual result).
+      </p>
+      <p>
+        The first rectangle has no associated 'onload' event so it remains invisible.
+        The second rectangle has an 'onload' event on itself, which invokes a script
+        which sets 'visibility:visible', so it should appear.
+        The third rectangle has an 'onload' event on its parent 'g', which invokes a script
+        which sets 'visibility:visible' on the rectangle, so it should appear.
+        The fourth rectangle has an 'onload' event on an ancestor 'svg', which invokes a script
+        which sets 'visibility:visible' on the rectangle, so it should appear.
+        The fifth rectangle has an 'onload' event both itself and its parent 'g'.
+        The rectangle's script sets 'visibility:visible' on the rectangle
+        but the parent's script sets  'visibility:hidden' on the rectangle,
+        which should happen afterwards, so the rectangle should not appear.
+        The sixth rectangle has an 'onload' event on the outermost 'svg', which invokes a script
+        which sets 'visibility:visible' on the rectangle, so it should appear.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if blue squares are visible for subtests 2, 3, 4 and 6 (only)
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-events-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <script type="text/ecmascript"><![CDATA[
+
+        function onEvent(evt, indicatorId, visibilityValue){
+        // Get Document
+        var target = evt.target;
+        var doc = target.ownerDocument;
+
+        // Mark test as passed
+        var elementToShow = doc.getElementById(indicatorId);
+        elementToShow.setAttribute('visibility', '' + visibilityValue);
+        }
+
+      ]]></script>
+    </defs>
+    <text font-family="Arial" font-size="40" x="30" y="40">
+      'onload' event attribute.
+    </text>
+    <g font-family="Arial" font-size="40" fill="blue" stroke="none">
+      <g transform="translate(77.5,45)">
+        <rect id="Rect1" width="80" height="80" visibility="hidden"/>
+        <text x="-30" y="120" fill="red">1: No</text>
+      </g>
+      <g transform="translate(202.5,45)">
+        <rect id="Rect2" width="80" height="80" onload="onEvent(evt, 'Rect2', 'visible')" visibility="hidden"/>
+        <text x="-30" y="120" fill="red">2: Yes</text>
+      </g>
+      <g transform="translate(327.5,45)">
+        <g onload="onEvent(evt, 'Rect3', 'visible')">
+          <rect id="Rect3" width="80" height="80" visibility="hidden"/>
+        </g>
+        <text x="-30" y="120" fill="red">3: Yes</text>
+      </g>
+      <g transform="translate(77.5,178)">
+        <svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="200" height="200" onload="onEvent(evt, 'Rect4', 'visible')">
+          <rect id="Rect4" width="80" height="80" visibility="hidden"/>
+        </svg>
+        <text x="-30" y="120" fill="red">4: Yes</text>
+      </g>
+      <g transform="translate(202.5,178)">
+        <g onload="onEvent(evt, 'Rect5', 'hidden')">
+          <rect id="Rect5" width="80" height="80" onload="onEvent(evt, 'Rect5', 'visible')" visibility="hidden"/>
+        </g>
+        <text x="-30" y="120" fill="red">5: No</text>
+      </g>
+      <g transform="translate(327.5,178)">
+        <rect id="Rect6" width="80" height="80" visibility="hidden"/>
+        <text x="-30" y="120" fill="red">6: Yes</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-events-02-b.svg b/Tests/W3CTestSuite/svg/interact-events-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..60e377cc745e808701c00b2f70c0898a3b1a0a63
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-events-02-b.svg
@@ -0,0 +1,77 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" onload='f(evt)'>
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="ED" author="CM" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: interact-events-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#SVGEvents">
+        <p>
+          This tests that the SVGLoad event does not bubble.
+        </p>
+      <p>
+        After loading the tests, two rectangles are displayed.
+        The left rectangle indicates whether the SVGLoad event
+        dispatched to the root 'svg' element did not bubble
+        and the right rectangle indicates whether the SVGLoad
+        event dispatched to an 'image' element did not bubble.
+        Each rectangle is red if the sub-test failed or green
+        if it passed.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if both rectangles are green
+        once the document has loaded.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-events-02-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='30'>Testing that SVGLoad does not bubble</text>
+
+    <rect id='r1' x='10' y='50' width='50' height='50' fill='red'/>
+    <rect id='r2' x='210' y='50' width='50' height='50' fill='red'/>
+    <g font-size='14'>
+      <text x='10' y='130'>On root &lt;svg></text>
+      <text x='210' y='130'>On an &lt;image></text>
+    </g>
+
+    <script><![CDATA[
+      function f(evt) { if (!evt.bubbles && evt.target == document.getElementById("svg-root")) document.getElementById('r1').setAttribute('fill', 'green'); }
+      function g(evt) { if (!evt.bubbles && evt.target == document.getElementById("image")) document.getElementById('r2').setAttribute('fill', 'green'); }
+    ]]></script>
+
+    <image id="image" xlink:href='../images/20x20.png' width='20' height='20' visibility='hidden' onload='g(evt)'/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5>" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-events-202-f.svg b/Tests/W3CTestSuite/svg/interact-events-202-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b544e1bb172801d185a0d20aa221df79be385f7c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-events-202-f.svg
@@ -0,0 +1,83 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AE" author="ASl" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: interact-events-202-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#SVGEvents">
+      <p>
+        Testing event bubbling through 'use' element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Mouseover the blue rect, then the green rect and then away from the rects.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Moving the mouse over the blue rect should make a yellow rect visible underneath it.
+        Moving the mouse over the green rect should make a purple rect visible underneath it.
+        Moving the mouse away from the blue/green rect should hide the rect underneath it again.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-events-202-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  	<defs>
+  		<rect id="r1" x="10" y="20" width="90" height="65" visibility="inherit" fill="inherit"/>
+  	</defs>
+  	
+		<g id="g1" transform="translate( 0,  0)" visibility="visible">
+      <use xlink:href="#r1" visibility="inherit" fill="blue" 
+           onmouseover="g3.setAttribute('visibility', 'visible')"
+           onmouseout="g3.setAttribute('visibility', 'hidden')"/>
+    </g>
+    <g id="g2" transform="translate(90,  0)" visibility="visible" 
+    	 onmouseover="g4.setAttribute('visibility', 'visible')"
+    	 onmouseout="g4.setAttribute('visibility', 'hidden')">
+      <use xlink:href="#r1" visibility="inherit" fill="green"/>
+    </g>
+    <g id="g3" transform="translate( 0, 65)" visibility="hidden">
+      <use xlink:href="#r1" visibility="inherit" fill="yellow"/>
+    </g>
+    <g id="g4" transform="translate(90, 65)" visibility="hidden">
+      <use xlink:href="#r1" visibility="inherit" fill="purple"/>
+    </g>
+
+    <script type="text/ecmascript">
+      var g1 = document.getElementById("g1");
+      var g2 = document.getElementById("g2");
+      var g3 = document.getElementById("g3");
+      var g4 = document.getElementById("g4");
+    </script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/interact-events-203-t.svg b/Tests/W3CTestSuite/svg/interact-events-203-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6b3f94492e46a6cfef0aa671321ca1a0f4dcd9c9
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-events-203-t.svg
@@ -0,0 +1,109 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AE" author="ASl" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: interact-events-203-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#SVGEvents">
+      <p>Tests 'mouseover' event on SVGElementInstance</p>
+      <p>
+        What each case tests is as follows.
+        Case 1: mouseover event on SVGElementInstance. Referenceing an element that contains an event.
+        Case 2: mouseover event on referencing element. Event bubbling from SVGElementInstance to referencing element.
+        Case 3: mouseover event on parent of referencing element. Event bubbling from SVGElementInstance to referencing element ancestors.
+        Case 4: mousedown event on referencing element. SVGElementInstance is not effected by event listener on referencing element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    	<p>
+    		Mouseover each of the red rectangles, and then click on the bottommost rectangle.
+    	</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test contains four cases. The cases must produce the following results for the test to pass.
+      </p>
+      <ul>
+      	<li>Case 1: On a mouseover event on the top square, all four squares must turn blue.</li>
+        <li>Case 2: On a mouseover event on the top middle square, all four squares must turn blue and a black stroke
+        must appear on the referencing square (element).</li>
+        <li>Case 3: On a mouseover event on the bottom middle square, all four squares must turn blue and a black
+        stroke must appear on the referencing square (element).</li>
+        <li>Case 4: On a mouseover event on the bottom square, all four squares must turn blue, and on a mousedown event
+        a black stroke must appear on the referencing square (element).</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-events-203-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+	
+		<defs>
+			<!-- SVGElementInstance animates fill on mouseover -->
+			<rect id="rect" width="50" height="50" fill="red" onmouseover="document.getElementById('rect').setAttribute('fill','blue')" onmouseout="document.getElementById('rect').setAttribute('fill','red')" />
+		</defs>
+
+    <text x="120" y="20" font-size="15">Shadow tree event listener chain</text>
+
+    <!--basic event dispatch - all rectangles turn blue -->
+    <use fill="red" x="30" y="30" xlink:href="#rect"/>
+    <text x="95" y="45" font-size="12">Case 1: on mouseover all squares must turn blue</text>
+
+    <!-- event bubbling from SVGElementInstance to referencing element -->
+    <!-- all rectangles turn blue and second rectangle displays black stroke  -->
+    <use id="use2" fill="red" x="30" y="100" xlink:href="#rect" onmouseover="document.getElementById('rect1').setAttribute('stroke','black')" onmouseout="document.getElementById('rect1').setAttribute('stroke','none')"/>
+    <rect id="rect1" pointer-events="none" x="30" y="100" width="50" height="50" fill="none" stroke-width="5" stroke="none"/>
+    
+    <g font-size="12">
+      <text x="95" y="115">Case 2: on mouseover all squares must turn blue</text>
+      <text x="95" y="130">and a black stroke must appear on reference square</text>
+    </g>
+
+    <!-- event bubbling from SVGElementInstance to referencing element ancestors-->
+    <!-- all rectangles turn blue and third rectangle displays black stroke  -->
+    <g id="g1" onmouseover="document.getElementById('rect2').setAttribute('stroke','black')" onmouseout="document.getElementById('rect2').setAttribute('stroke','none')">
+      <use fill="red" x="30" y="170" xlink:href="#rect"/>
+      <rect id="rect2" pointer-events="none" x="30" y="170" width="50" height="50" fill="none" stroke-width="5" stroke="none"/>
+    </g>
+    <g font-size="12">
+      <text x="95" y="185">Case 3: on mouseover all squares must turn blue</text>
+      <text x="95" y="200">and a black stroke must appear on reference square</text>
+    </g>
+
+    <!--SVGElementInstance is not effected by event listener on referencing element   -->
+    <!-- all rectangles turn blue and displays black stroke only on mouse down  -->
+    <use id="use3" fill="red" x="30" y="240" xlink:href="#rect" onmousedown="document.getElementById('rect3').setAttribute('stroke','black')" onmouseup="document.getElementById('rect3').setAttribute('stroke','none')"/>
+    <rect id="rect3" pointer-events="none" x="30" y="240" width="50" height="50" fill="none" stroke-width="5" stroke="none"/>
+    <g font-size="12">
+      <text x="95" y="255">Case 4: on mouseover all squares must turn blue</text>
+      <text x="95" y="270">and on mousedown a black stroke must appear on reference square</text>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-order-01-b.svg b/Tests/W3CTestSuite/svg/interact-order-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c552a96095c08f4a6dc5c0c9322f2c4fd8c15c15
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-order-01-b.svg
@@ -0,0 +1,105 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: interact-order-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#UIEventProcessing">
+      <p>
+        Test event bubbling of event attributes, part a.
+      </p>
+      <p>
+        The two circles test whether event bubbling is occurring
+        to parents of the target object, and whether the target object
+        is able to prevent bubbling. The supplemental text next to
+        the circles describes what should occur.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>This test requires user interaction. Firstly, move the pointer
+	over the top circle. Then, move it over the bottom circle.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if two black circles are displayed. The top circle 
+must turn pink when the pointer is over the circle, and go back to black once 
+the pointer leaves. The second circle  must turn blue when the pointer is over 
+the circle, and go back to black once the pointer leaves. 
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-order-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <script type="text/ecmascript">
+
+        function bubbleYes(evt, color){
+        // Get Document
+        var target = evt.target;
+        target.setAttribute('fill', '' +color);
+        }
+        function bubbleNo(evt, color){
+        // Get Document
+        var target = evt.target;
+        target.setAttribute('fill', '' +color);
+        evt.stopPropagation();
+        evt.preventDefault();
+        }
+
+      </script>
+    </defs>
+    <text font-family="Arial" font-size="40" x="60" y="45">Event bubbling - a</text>
+    <g id="background">
+      <rect fill="#EEE" stroke="#000" x="10" y="60" width="460" height="120"/>
+      <rect fill="#FFF" stroke="#000" x="10" y="180" width="460" height="120"/>
+    </g>
+    <g fill="#000" font-family="Arial" font-size="40">
+      <!-- Event bubbling (i.e., propagation) is not turned off, so
+              event if first processed by 'circle', but then processed by 'g',
+              with result that circle turns blue, but then instantaneously 
+              turns pink. -->
+      <g onmouseover="bubbleYes(evt, '#F08')" onmouseout="bubbleYes(evt, 'inherit')">
+        <circle onmouseover="bubbleYes(evt, '#00F')" onmouseout="bubbleYes(evt, 'inherit')" cx="70" cy="120" r="50"/>
+        <circle onmouseover="bubbleNo(evt, '#00F')" onmouseout="bubbleNo(evt, 'inherit')" cx="70" cy="240" r="50"/>
+      </g>
+      <text x="150" y="110">
+        Pointer in circle,
+      </text>
+      <text x="150" y="150">
+        circle turns pink
+      </text>
+      <text x="150" y="230">
+        Pointer in circle,
+      </text>
+      <text x="150" y="270">
+        circle turns blue
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-order-02-b.svg b/Tests/W3CTestSuite/svg/interact-order-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..175a739c9d3643e78144eb2118d3d414b50c54f4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-order-02-b.svg
@@ -0,0 +1,102 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: interact-order-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#UIEventProcessing">
+      <p>
+        Test event bubbling of event attributes, part b.
+      </p>
+      <p>
+        The two circles test whether events are handled in the
+        proper order. Events listeners and event attributes are processed
+        before hyperlink processing, which is processed before text selection.
+       
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Click on the first circle, then the second, and lastly the new third circle.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Clicking on the first circle should change the circle from black to red.  Clicking 
+        on the second circle should take you to another SVG file titled "Hyperlink target for 
+        interact-order-02.svg.  Cliking on the circle in this SVG file should return you to the orginal 
+        two circles.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-order-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <script type="text/ecmascript"><![CDATA[
+
+        function bubbleYes(evt, color){
+        // Get Document
+        var target = evt.target;
+        target.setAttribute('fill', '' +color);
+        }
+        function bubbleNo(evt, color){
+        // Get Document
+        var target = evt.target;
+        target.setAttribute('fill', '' +color);
+        evt.stopPropagation();
+        evt.preventDefault();
+        }
+
+      ]]></script>
+    </defs>
+    <text font-family="Arial" font-size="40" x="60" y="45">Event bubbling - b</text>
+    <g id="background">
+      <rect fill="#EEE" stroke="#000" x="10" y="60" width="460" height="120"/>
+      <rect fill="#FFF" stroke="#000" x="10" y="180" width="460" height="120"/>
+    </g>
+    <g fill="#000" font-family="Arial" font-size="40">
+      <!-- Test the order of events -->
+      <!-- Ensure that events get the event before the hyperlink. -->
+      <a xlink:href="../images/interact-order-02-b-targ.svg">
+        <circle onclick="bubbleNo(evt, 'red')" onmouseout="bubbleNo(evt, 'inherit')" cx="70" cy="120" r="50"/>
+        <circle onclick="bubbleYes(evt, 'blue')" onmouseout="bubbleNo(evt, 'inherit')" cx="70" cy="240" r="50"/>
+      </a>
+      <text x="135" y="110">
+        Click on circle,
+      </text>
+      <text x="135" y="150">
+        circle turns red
+      </text>
+      <text x="135" y="230">
+        Click on circle,
+      </text>
+      <text x="135" y="270">
+        hyperlink
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-order-03-b.svg b/Tests/W3CTestSuite/svg/interact-order-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..da13af3e8bafa6fb9a9ad84f147230ba0c1655d0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-order-03-b.svg
@@ -0,0 +1,100 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: interact-order-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#UIEventProcessing">
+      <p>
+        Test event bubbling of event attributes, part c.
+      </p>
+      <p>
+        The three strings tests event handling behavior on text.
+        Text selection only is available after event listeners and event
+        attributes have been processed, and after hyperlink processing
+        has occurred.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        First, click the string on the first line; then the second.  Lastly, all text should be selectable.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The supplemental text below the text strings describes what should occur.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-order-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <script type="text/ecmascript"><![CDATA[
+
+        function bubbleYes(evt, color){
+        // Get Document
+        var target = evt.target;
+        target.setAttribute('fill', '' +color);
+        }
+        function bubbleNo(evt, color){
+        // Get Document
+        var target = evt.target;
+        target.setAttribute('fill', '' +color);
+        evt.stopPropagation();
+        evt.preventDefault();
+        }
+
+      ]]></script>
+    </defs>
+    <text font-family="Arial" font-size="40" x="60" y="40">Event bubbling - c</text>
+    <g id="background">
+      <rect fill="#EEE" stroke="#000" x="10" y="55" width="460" height="230"/>
+    </g>
+    <g fill="#000" font-family="Arial" font-size="40">
+      <!-- Ensure that events get the event before the hyperlink which
+              happens before text selection -->
+      <a xlink:href="../images/interact-order-03-b-targ.svg" font-size="40">
+        <text x="20" y="90" onclick="bubbleNo(evt, 'red')" onmouseout="bubbleNo(evt, 'inherit')">
+          String turns red on click
+        </text>
+        <g onclick="bubbleYes(evt, 'blue')" onmouseout="bubbleYes(evt, 'inherit')">
+          <text x="60" y="160">
+            String hyperlinks to
+          </text>
+          <text x="20" y="200" font-size="33">
+            interact-order-03b-targ.svg
+          </text>
+        </g>
+        <text x="30" y="270" onclick="bubbleNo(evt, 'inherit')">
+          All strings are selectable.
+        </text>
+      </a>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pevents-01-b.svg b/Tests/W3CTestSuite/svg/interact-pevents-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..75c11e92b5ad8004ceb4ea7b6d780df911927476
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pevents-01-b.svg
@@ -0,0 +1,197 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="ED" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: interact-pevents-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>
+        This test tests 'pointer-events' on text. Initially you should see four big rects with black stroke.
+        In the uppermost rect there should be 10 'O':s with black fill.
+        In the second rect from the top there should be 10 'O':s with no fill but with black stroke.
+        In the third and fourth rects there should be no visible 'O':s at all.
+        In the fourth rect there should be two green rects, and in each of the other three rects there should be one green rect.
+      </p>
+      <p>
+        For UA debugging purposes it's possible to click the "Toggle freeze" button before running the test.
+        That will reset the visibility, fill and stroke on each 'O' as the cursor moves over them so that it's
+        possible to trigger the change more than once. If the "Toggle freeze" button is clicked once again that
+        means the change will remain after the cursor moves out.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Using the pointer device move the cursor over the rects all the rects from left to right.
+        As the mouseover event triggers the 'O':s will become visible and marked in either green (a pass) or red (a fail).
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if after moving the cursor over all the rects:
+      </p>
+      <ol>
+        <li>all the 'O':s in the green rects have green fill</li>
+        <li>there are no red 'O':s visible</li>
+        <li>there are 9 green 'O':s in the first and second rect, 4 in the third rect and 6 in the fourth rect</li>
+      </ol>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pevents-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="sans-serif" font-size="40" text-rendering="geometricPrecision">
+      <script><![CDATA[
+        var no_reset = 1;
+
+        function pass_in(elm)
+        {
+        elm.setAttribute("fill", "green");
+        elm.setAttribute("visibility", "visible");
+        }
+
+        function pass_out(elm)
+        {
+        if(!no_reset)
+        {
+        elm.removeAttribute("fill");
+        elm.removeAttribute("visibility");
+        }
+        }
+
+        function fail_in(elm)
+        {
+        elm.setAttribute("fill", "red");
+        elm.setAttribute("visibility", "visible");
+        }
+
+        function fail_out(elm)
+        {
+        if(!no_reset)
+        {
+        elm.removeAttribute("fill");
+        elm.removeAttribute("visibility");
+        }
+        }
+
+        function toggle_freeze()
+        {
+        no_reset = !no_reset;
+        }
+      ]]></script>
+
+      <text x="240" y="40" text-anchor="middle" font-size="20">Test pointer-events on text</text>
+      <g transform="translate(40, -10)">
+        <g id="first-line">
+          <text x="50" y="100" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="80" y="100" pointer-events="visiblePainted" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="110" y="100" pointer-events="visibleFill" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="140" y="100" pointer-events="visibleStroke" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="170" y="100" pointer-events="visible" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="200" y="100" pointer-events="painted" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="230" y="100" pointer-events="fill" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="260" y="100" pointer-events="stroke" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="290" y="100" pointer-events="all" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="320" y="100" pointer-events="none" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+
+          <g pointer-events="none">
+            <rect x="50" y="65" height="40" width="270" fill="green" fill-opacity="0.5" visibility="visible"/>
+
+            <rect x="50" y="65" height="40" width="300" fill="none" stroke="black" visibility="visible"/>
+          </g>
+        </g>
+
+        <g id="second-line" transform="translate(0 60)" fill="none" stroke="black">
+          <text x="50" y="100" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="80" y="100" pointer-events="visiblePainted" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="110" y="100" pointer-events="visibleFill" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="140" y="100" pointer-events="visibleStroke" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="170" y="100" pointer-events="visible" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="200" y="100" pointer-events="painted" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="230" y="100" pointer-events="fill" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="260" y="100" pointer-events="stroke" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="290" y="100" pointer-events="all" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="320" y="100" pointer-events="none" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+
+          <g pointer-events="none">
+            <rect x="50" y="65" height="40" width="270" fill="green" fill-opacity="0.5" visibility="visible" stroke="none"/>
+
+            <rect x="50" y="65" height="40" width="300" fill="none" stroke="black" visibility="visible"/>
+          </g>
+        </g>
+
+        <g id="third-line" transform="translate(0 120)" visibility="hidden">
+          <text x="50" y="100" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+          <text x="80" y="100" pointer-events="visiblePainted" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+          <text x="110" y="100" pointer-events="visibleFill" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+          <text x="140" y="100" pointer-events="visibleStroke" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+          <text x="170" y="100" pointer-events="visible" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+          <text x="200" y="100" pointer-events="painted" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="230" y="100" pointer-events="fill" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="260" y="100" pointer-events="stroke" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="290" y="100" pointer-events="all" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="320" y="100" pointer-events="none" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+
+          <g pointer-events="none">
+            <rect x="200" y="65" height="40" width="120" fill="green" fill-opacity="0.5" visibility="visible"/>
+
+            <rect x="50" y="65" height="40" width="300" fill="none" stroke="black" visibility="visible"/>
+          </g>
+        </g>
+
+        <g id="fourth-line" transform="translate(0 180)" fill="none" stroke="none">
+          <text x="50" y="100" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+          <text x="80" y="100" pointer-events="visiblePainted" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+
+          <text x="110" y="100" pointer-events="visibleFill" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="140" y="100" pointer-events="visibleStroke" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="170" y="100" pointer-events="visible" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+
+          <text x="200" y="100" pointer-events="painted" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+
+          <text x="230" y="100" pointer-events="fill" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="260" y="100" pointer-events="stroke" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+          <text x="290" y="100" pointer-events="all" onmouseover="pass_in(evt.target)" onmouseout="pass_out(evt.target)">O</text>
+
+          <text x="320" y="100" pointer-events="none" onmouseover="fail_in(evt.target)" onmouseout="fail_out(evt.target)">O</text>
+
+          <g pointer-events="none">
+            <rect x="110" y="65" height="40" width="90" fill="green" fill-opacity="0.5" visibility="visible"/>
+            <rect x="230" y="65" height="40" width="90" fill="green" fill-opacity="0.5" visibility="visible"/>
+
+            <rect x="50" y="65" height="40" width="300" fill="none" stroke="black" visibility="visible"/>
+          </g>
+        </g>
+
+        <g transform="translate(275, 300) scale(0.5)" onclick="toggle_freeze();">
+          <rect id="button" width="150" height="26" fill="blue"/>
+          <text x="75" y="19" text-anchor="middle" font-size="20" fill="white">Toggle freeze</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pevents-03-b.svg b/Tests/W3CTestSuite/svg/interact-pevents-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5da26cfbb0d90497aaaa001e037d6b3d57cbb68e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pevents-03-b.svg
@@ -0,0 +1,131 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="ED" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: interact-pevents-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>Tests that pointer events are not delivered to text elements when the pointer is
+      over any white space due to letter-spacing.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>For each line of text, slowly move the mouse from left to right over and between all of the visible glyphs.
+      When the mouse is at various points along each line of text, the text will become green.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>For all of the lines of text, when the mouse is over a visible glyph, that line of text
+      must be green.  When the mouse is between the visible glyphs, it must be either green or
+      black as follows:</p>
+      <ul>
+        <li>For the first, third and fifth lines, the text must be black when the mouse
+        is between any of the visible glyphs.</li>
+        <li>For the second and fourth lines, the space between each pair of visible glyphs is divided into
+        three parts (not necessarily of equal size):
+        <ul>
+          <li>When the mouse is over the first (left) part of the space between a pair of visible glyphs, the text must be black.</li>
+          <li>When the mouse is over the second (middle) part of the space between a pair of visible glyphs, the text must be green.</li>
+          <li>When the mouse is over the third (right) part of the space between a pair of visible glyphs, the text must be black.</li>
+        </ul></li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pevents-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="sans-serif" font-size="30" text-rendering="geometricPrecision">
+      <defs>
+        <!-- ===================================================================== -->
+        <!-- Define the font for embedding - using Microsoft's "Comic Sans MS"     -->
+        <!-- This is an SVG Font version of Comic. The Comic font license          -->
+        <!-- allows editable and installable font embedding.                       -->
+        <!-- Only need to embed the characters that are used in the test           -->
+        <!-- ===================================================================== -->
+        <font horiz-adv-x="959">
+          <font-face font-family="TestComicSVGFont" units-per-em="2048" panose-1="3 15 7 2 3 3 2 2 2 4" ascent="2257" descent="-597" alphabetic="0"/>
+          <missing-glyph horiz-adv-x="1024" d="M128 0V1638H896V0H128zM256 128H768V1510H256V128z"/>
+          <glyph unicode=" " horiz-adv-x="1024" d="M0 0l1024 0l0 2048l-1024 0l0 -1024Z"/>
+          <glyph unicode="@" horiz-adv-x="1907" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+          <glyph unicode="A" horiz-adv-x="1498" d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+          <glyph unicode="y" horiz-adv-x="1066" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+          <glyph unicode="Ö" horiz-adv-x="1635" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+          <glyph unicode="ç" horiz-adv-x="1052" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+        </font>
+
+        <font horiz-adv-x="959">
+          <font-face font-family="TestComicSVGFont-space" units-per-em="2048" panose-1="3 15 7 2 3 3 2 2 2 4" ascent="2257" descent="-597" alphabetic="0"/>
+          <missing-glyph horiz-adv-x="1024" d="M128 0V1638H896V0H128zM256 128H768V1510H256V128z"/>
+          <glyph unicode=" " horiz-adv-x="1024"/>
+          <glyph unicode="@" horiz-adv-x="1907" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+          <glyph unicode="A" horiz-adv-x="1498" d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+          <glyph unicode="y" horiz-adv-x="1066" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+          <glyph unicode="Ö" horiz-adv-x="1635" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+          <glyph unicode="ç" horiz-adv-x="1052" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+        </font>
+        <script><![CDATA[
+          function mouseover(elm)
+          {
+          elm.setAttribute("fill", "green");
+          }
+
+          function mouseout(elm)
+          {
+          elm.removeAttribute("fill");
+          }
+        ]]></script>
+      </defs>
+
+      <text x="240" y="40" text-anchor="middle" font-size="20">Test pointer-events on text</text>
+
+      <g transform="translate(0, -10)" text-anchor="middle">
+        <g font-family="TestComicSVGFont">
+          <g id="first-line" letter-spacing="10">
+            <text x="240" y="100" onmouseover="mouseover(evt.target)" onmouseout="mouseout(evt.target)">@ A y Ö ç</text>
+          </g>
+
+          <g id="second-line" transform="translate(0 50)" letter-spacing="10" font-family="TestComicSVGFont-space">
+            <text x="240" y="100" onmouseover="mouseover(evt.target)" onmouseout="mouseout(evt.target)">@ A y Ö ç</text>
+          </g>
+
+          <g id="third-line" transform="translate(0 100)" letter-spacing="30">
+            <text x="240" y="100" onmouseover="mouseover(evt.target)" onmouseout="mouseout(evt.target)">@AyÖç</text>
+          </g>
+        </g>
+
+        <g font-family="sans-serif">
+          <g id="fourth-line" transform="translate(0 150)" letter-spacing="10">
+            <text x="240" y="100" onmouseover="mouseover(evt.target)" onmouseout="mouseout(evt.target)">@ A y Ö ç</text>
+          </g>
+
+          <g id="fifth-line" transform="translate(0 200)" letter-spacing="30">
+            <text x="240" y="100" onmouseover="mouseover(evt.target)" onmouseout="mouseout(evt.target)">@AyÖç</text>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pevents-04-t.svg b/Tests/W3CTestSuite/svg/interact-pevents-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ed7c6eeecebdfc3527f129ac2c147123576fadb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pevents-04-t.svg
@@ -0,0 +1,132 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="ED" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: interact-pevents-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+        <p>
+          Tests where text is considered intersected by the cursor when letter-spacing is used.
+        </p>
+        <p>
+          The first two lines should look the same, but the second line is using a slightly different svgfont that defines an empty path for the space glyph.
+        </p>
+        <p>
+          The third line doesn't have any spaces, just letter-spacing, so there are no glyphs in between the letters. Hovering the whitespace between the letters should not highlight the line.
+        </p>
+        <p>
+          The fourth line has a space glyph between the other glyphs, and letter-spacing.
+        </p>
+        <p>
+          The fifth line has no spaces only letter-spacing.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+          Slowly move the mouse over the characters on each row.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <ul>
+        <li>The first two lines must behave the same way, and must turn green only when a glyph is hovered, note that this includes the space glyph which covers about half the distance between each pair of the other glyphs.</li>
+        <li>The third line must turn green only when hovering each of the visible glyphs, not the whitespace.</li>
+        <li>The fourth line must turn green only when a glyph is hovered, note that this includes the space glyph which covers about half the distance between each pair of the other glyphs.</li>
+        <li>The fifth line must turn green only when hovering each of the visible glyphs, not the whitespace.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pevents-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="sans-serif" font-size="30" text-rendering="geometricPrecision">
+      <defs>
+        <!-- ===================================================================== -->
+        <!-- Define the font for embedding - using Microsoft's "Comic Sans MS"     -->
+        <!-- This is an SVG Font version of Comic. The Comic font license          -->
+        <!-- allows editable and installable font embedding.                       -->
+        <!-- Only need to embed the characters that are used in the test           -->
+        <!-- ===================================================================== -->
+        <font horiz-adv-x="959">
+          <font-face font-family="TestComicSVGFont" units-per-em="2048" panose-1="3 15 7 2 3 3 2 2 2 4" ascent="2257" descent="-597" alphabetic="0"/>
+          <missing-glyph horiz-adv-x="1024" d="M128 0V1638H896V0H128zM256 128H768V1510H256V128z"/>
+          <glyph unicode=" " horiz-adv-x="1024" d="M0 0Z"/>
+          <glyph unicode="@" horiz-adv-x="1907" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+          <glyph unicode="A" horiz-adv-x="1498" d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+          <glyph unicode="y" horiz-adv-x="1066" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+          <glyph unicode="Ö" horiz-adv-x="1635" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+          <glyph unicode="ç" horiz-adv-x="1052" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+        </font>
+
+        <font horiz-adv-x="959">
+          <font-face font-family="TestComicSVGFont-space" units-per-em="2048" panose-1="3 15 7 2 3 3 2 2 2 4" ascent="2257" descent="-597" alphabetic="0"/>
+          <missing-glyph horiz-adv-x="1024" d="M128 0V1638H896V0H128zM256 128H768V1510H256V128z"/>
+          <glyph unicode=" " horiz-adv-x="1024"/>
+          <glyph unicode="@" horiz-adv-x="1907" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+          <glyph unicode="A" horiz-adv-x="1498" d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+          <glyph unicode="y" horiz-adv-x="1066" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+          <glyph unicode="Ö" horiz-adv-x="1635" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+          <glyph unicode="ç" horiz-adv-x="1052" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+        </font>
+      </defs>
+
+      <text x="240" y="40" text-anchor="middle" font-size="20">Test pointer-events on text</text>
+
+      <g transform="translate(0, -10)">
+        <g font-family="TestComicSVGFont">
+          <g id="first-line" letter-spacing="10">
+            <text id="line1" x="120" y="100">@ A y Ö ç</text>
+          </g>
+
+          <g id="second-line" transform="translate(0 50)" letter-spacing="10" font-family="TestComicSVGFont-space">
+            <text id="line2" x="120" y="100">@ A y Ö ç</text>
+          </g>
+
+          <g id="third-line" transform="translate(0 100)" letter-spacing="30">
+            <text id="line3" x="120" y="100">@AyÖç</text>
+          </g>
+        </g>
+
+        <g font-family="sans-serif">
+          <g id="fourth-line" transform="translate(0 150)" letter-spacing="10">
+            <text id="line4" x="120" y="100">@ A y Ö ç</text>
+          </g>
+
+          <g id="fifth-line" transform="translate(0 200)" letter-spacing="30">
+            <text id="line5" x="120" y="100">@AyÖç</text>
+          </g>
+        </g>
+
+        <set attributeName="fill" to="green" begin="line1.mouseover" end="line1.mouseout" dur="indefinite" xlink:href="#line1"/>
+        <set attributeName="fill" to="green" begin="line2.mouseover" end="line2.mouseout" dur="indefinite" xlink:href="#line2"/>
+        <set attributeName="fill" to="green" begin="line3.mouseover" end="line3.mouseout" dur="indefinite" xlink:href="#line3"/>
+        <set attributeName="fill" to="green" begin="line4.mouseover" end="line4.mouseout" dur="indefinite" xlink:href="#line4"/>
+        <set attributeName="fill" to="green" begin="line5.mouseover" end="line5.mouseout" dur="indefinite" xlink:href="#line5"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pevents-05-b.svg b/Tests/W3CTestSuite/svg/interact-pevents-05-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7a6f6815a0ac5d9ad74f37557091a28c5123b71c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pevents-05-b.svg
@@ -0,0 +1,121 @@
+<svg version="1.1" baseProfile="tiny" onload="init()" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="ED" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: interact-pevents-05-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+        <p>
+          Tests when text is considered hit by pointer-events. 
+          According to SVG 1.1 pointer-events on text is not supposed to use the text boundingbox, instead it should use the 'character cells'.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Consider each of the two light blue boxes to be divided up into nine vertical strips:
+      five consisting of areas just wide enough to fit each of the glyphs, and four
+      consisting of the white space between those five other strips.  For each of these
+      vertical strips, move the mouse slowly from the top of the light blue box to the bottom,
+      keeping the mouse within the strip.  At various points, all of the glyphs within
+      the box will be green and at others they will all be black.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>When the mouse is over a glyph, then all of the glyphs within the light blue box
+      must be green.</p>
+      <p>When the mouse is within one of the white space strips, then all of the glyphs
+      within the light blue box must be black.</p>
+      <p>When the mouse is within the strip containing the first, second or fourth
+      glyph ("@", "A" or "Ö") and it is below the glyph, then all of the glyphs
+      within the light blue box must be black.</p>
+      <p>When the mouse is within the strip containing the second, third, fourth or
+      fifth glyph ("A", "y", "Ö" or "ç") and it is above the glyph, then all of the glyphs
+      within the light blue box must be black.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pevents-05-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="sans-serif" font-size="30" text-rendering="geometricPrecision">
+      <defs>
+        <!-- ===================================================================== -->
+        <!-- Define the font for embedding - using Microsoft's "Comic Sans MS"     -->
+        <!-- This is an SVG Font version of Comic. The Comic font license          -->
+        <!-- allows editable and installable font embedding.                       -->
+        <!-- Only need to embed the characters that are used in the test           -->
+        <!-- ===================================================================== -->
+        <font horiz-adv-x="959">
+          <font-face font-family="TestComicSVGFont" units-per-em="2048" panose-1="3 15 7 2 3 3 2 2 2 4" ascent="2257" descent="-597" alphabetic="0"/>
+          <missing-glyph horiz-adv-x="1024" d="M128 0V1638H896V0H128zM256 128H768V1510H256V128z"/>
+          <glyph unicode=" " horiz-adv-x="1024" d="M0 0l1024 0l0 2048l-1024 0l0 -1024Z"/>
+          <glyph unicode="@" horiz-adv-x="1907" d="M1306 412Q1200 412 1123 443T999 535Q945 482 894 455T793 428Q682 428 584 518T485 717Q485 902 630 1055T961 1208Q1003 1208 1031 1177T1059 1102Q1059 1042 959 1013Q826 975 771 926Q690 855 690 717Q690 688 717 661Q748 631 794 633Q881 637 955 795Q1022 933 1074 933Q1116 933 1142 902T1168 826Q1168 806 1162 766T1155 706Q1155 641 1211 624Q1233 617 1306 617Q1443 617 1498 684Q1548 744 1548 883Q1548 1128 1351 1283Q1171 1425 921 1425Q630 1425 465 1205Q316 1009 316 712Q316 438 491 250Q673 54 959 54Q1040 54 1142 85L1317 150Q1361 166 1374 166Q1415 166 1445 134T1475 58Q1475 -37 1262 -96Q1101 -140 961 -140Q820 -140 673 -86T420 60Q110 328 110 712Q110 1096 322 1354Q547 1630 921 1630Q1259 1630 1500 1427Q1753 1212 1753 883Q1753 658 1643 537Q1528 412 1306 412z"/>
+          <glyph unicode="A" horiz-adv-x="1498" d="M1250 -30Q1158 -30 1090 206Q1064 296 1025 521Q923 507 758 471L492 416Q442 285 321 33Q289 -23 234 -23Q194 -23 163 6T131 78Q131 126 282 443Q265 469 265 503Q265 584 363 607Q477 821 651 1099Q888 1478 946 1478Q1025 1478 1054 1368L1117 1032L1266 337L1323 179Q1352 98 1352 71Q1352 28 1321 -1T1250 -30zM897 1113L611 652Q732 683 978 727L897 1113z"/>
+          <glyph unicode="y" horiz-adv-x="1066" d="M1011 892L665 144Q537 -129 469 -313L403 -507Q377 -579 313 -579Q271 -579 241 -552T210 -483Q210 -383 426 96L68 785L23 858Q-4 904 -4 935Q-4 976 27 1007T98 1038Q144 1038 169 1003Q339 767 534 331L682 676Q762 855 836 984Q868 1040 920 1040Q961 1040 992 1011T1024 942Q1024 920 1011 892z"/>
+          <glyph unicode="Ö" horiz-adv-x="1635" d="M802 -61Q520 -61 324 108Q116 288 116 572Q116 918 321 1201Q550 1515 892 1515Q1221 1515 1381 1367Q1548 1213 1548 881Q1548 535 1360 257Q1144 -61 802 -61zM892 1310Q647 1310 477 1066Q320 842 320 572Q320 379 463 258Q600 144 802 144Q1045 144 1203 389Q1344 608 1344 881Q1344 1120 1237 1217Q1135 1310 892 1310zM682 1848Q813 1848 813 1743Q813 1713 769 1685Q729 1660 694 1660Q571 1660 571 1763Q571 1792 608 1820T682 1848zM1221 1856Q1255 1856 1290 1825T1325 1763Q1325 1671 1182 1671Q1141 1671 1109 1692Q1073 1716 1073 1755Q1073 1824 1118 1844Q1143 1856 1221 1856z"/>
+          <glyph unicode="ç" horiz-adv-x="1052" d="M770 -196Q770 -320 710 -382T528 -445Q443 -445 367 -413Q271 -371 271 -298Q271 -244 339 -244Q375 -244 420 -268T517 -293Q566 -292 590 -269T614 -201Q614 -153 577 -115T463 -48Q304 -12 208 104Q105 227 105 404Q105 607 240 823Q390 1063 578 1063Q676 1063 797 1017Q950 958 950 873Q950 835 925 806T863 776Q834 776 813 793T771 828Q712 875 578 875Q476 875 376 693Q285 526 285 404Q285 272 375 196Q459 125 591 125Q651 125 719 157L835 219Q865 235 878 235Q915 235 942 206T969 138Q969 35 713 -40Q742 -78 756 -117T770 -196z"/>
+        </font>
+        <script>
+            <![CDATA[
+          function init()
+          {
+          drawBBox("line1");
+          drawBBox("line2");
+          }
+
+          function mouseover(elm)
+          {
+          elm.setAttribute("fill", "green");
+          }
+
+          function mouseout(elm)
+          {
+          elm.removeAttribute("fill");
+          }
+
+          function drawBBox(id)
+          {
+          var elm = document.getElementById(id);
+          var bbox = elm.getBBox();
+          var bboxrect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+          bboxrect.setAttribute("x", bbox.x);
+          bboxrect.setAttribute("y", bbox.y);
+          bboxrect.setAttribute("width", bbox.width);
+          bboxrect.setAttribute("height", bbox.height);
+          bboxrect.setAttribute("fill-opacity", "0.1");
+          bboxrect.setAttribute("fill", "blue");
+          elm.parentNode.insertBefore(bboxrect, elm);
+          }
+        ]]></script>
+      </defs>
+
+      <text x="240" y="40" text-anchor="middle" font-size="20">Test pointer-events on text</text>
+      <g transform="translate(0, -10)" text-anchor="middle">
+        <text id="line1" dx="0 10 10 10 10 10" dy="-10 10 60 -10 10" x="240" y="100" onmouseover="mouseover(evt.target)" onmouseout="mouseout(evt.target)">@AyÖç</text>
+        <text id="line2" font-family="TestComicSVGFont" dx="0 10 10 10 10 10" dy="-10 10 60 -10 10" x="240" y="220" onmouseover="mouseover(evt.target)" onmouseout="mouseout(evt.target)">@AyÖç</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pevents-07-t.svg b/Tests/W3CTestSuite/svg/interact-pevents-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e78f68ee2efbcd58707e7d24c03762ab947a1283
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pevents-07-t.svg
@@ -0,0 +1,114 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DOH" author="AE" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: interact-pevents-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>Testing pointer-events and rendering order</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Move the mouse over the blue and purple shapes. Click the red circle on the top left. Move the mouse over the blue and purple shapes again.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For the test to pass the blue rectangles must always turn red on mouseover, and the ovals must turn red on mouseover only if pointer-events are set to "ALL".
+        If a shape other than the one currently hovered turns red then the test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pevents-07-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script><![CDATA[
+      function changeFill(id, fill)
+      {
+        document.getElementById(id).setAttribute("fill", fill);
+      }
+      
+      function changePointerEvents(value)
+      {
+        if ('on' == value)
+        {
+            document.getElementById('all').setAttribute("visibility", 'visible');
+            document.getElementById('none').setAttribute("visibility", 'hidden');
+            document.getElementById('on').setAttribute("stroke-width", '3');
+            document.getElementById('off').setAttribute("stroke-width", '1');
+            document.getElementById('c10').setAttribute("pointer-events", 'all');
+            document.getElementById('c11').setAttribute("pointer-events", 'all');
+            document.getElementById('c12').setAttribute("pointer-events", 'all');
+        }
+        else
+        {
+            document.getElementById('all').setAttribute("visibility", 'hidden');
+            document.getElementById('none').setAttribute("visibility", 'visible');
+            document.getElementById('on').setAttribute("stroke-width", '1');
+            document.getElementById('off').setAttribute("stroke-width", '3');
+            document.getElementById('c10').setAttribute("pointer-events", 'none');
+            document.getElementById('c11').setAttribute("pointer-events", 'none');
+            document.getElementById('c12').setAttribute("pointer-events", 'none');
+        }
+        
+      }
+    ]]></script>
+    <rect x="15" y="15" height="280" width="450" fill="none" stroke="black" stroke-width="0.25"/>
+    <g text-anchor="middle">
+      <text x="240" y="30" fill="black" font-size="15">Testing pointer-events and rendering order</text>
+      <text x="240" y="42" fill="#555" font-size="10">Rectangles should turn RED on mouseover </text>
+      <text x="240" y="54" fill="#555" font-size="10">Ovals should turn RED if Pointer-Events are set to "ALL"</text>
+    </g>
+    <g id="buttons">
+      <g text-anchor="middle" font-size="8" fill="#555" transform="translate(0,10)">
+        <text x="400" y="85">Change "Pointer-Events" of </text>
+        <text x="400" y="95">ovals from "ALL" to "NONE"</text>
+        <circle id="on" cx="385" cy="65" r="10" fill-opacity="1" fill="#3c5" stroke="black" stroke-width="3" onmousedown="changePointerEvents('on')" />
+        <circle id="off" cx="415" cy="65" r="10" fill-opacity="1" fill="#f35" stroke="black" onmousedown="changePointerEvents('off')" />
+      </g>
+      <g text-anchor="middle" font-size="12" fill="#555">
+        <text id="all" x="240" y="285" fill="#555" visibility="visible" >Purple ovals have "Pointer-Events" set to "ALL".</text>
+        <text id="none" x="240" y="285" fill="#555" visibility="hidden">Purple ovals have Pointer-Events set to "NONE".</text>
+      </g>
+    </g>
+    <g transform="scale(0.75, 0.5) translate(100, 85)">
+      <circle id="c10" cx="160" cy="350" r="100" fill-opacity="1" fill="#53f" stroke="black" pointer-events="all" onmouseover="changeFill('c10', '#F55')" onmouseout="changeFill('c10', '#53F')" />
+      <rect id="r10" x="10" y="50" width="300" height="300" fill-opacity="1" fill="#35f" stroke="black" onmouseover="changeFill('r10', '#F55')" onmouseout="changeFill('r10', '#35F')" />
+      <circle id="c11" cx="310" cy="350" r="90" fill-opacity="1" fill="#75f" stroke="black" pointer-events="all" onmouseover="changeFill('c11', '#F55')" onmouseout="changeFill('c11', '#75f')" />
+      <rect id="r11" x="60" y="100" width="200" height="200" fill-opacity="1" fill="#57f" stroke="black" onmouseover="changeFill('r11', '#F55')" onmouseout="changeFill('r11', '#57f')" />
+      <circle id="c12" cx="310" cy="200" r="75" fill-opacity="1" fill="#97f" stroke="black" pointer-events="all" onmouseover="changeFill('c12', '#F55')" onmouseout="changeFill('c12', '#97f')" />
+      <rect id="r12" x="110" y="150" width="100" height="100" fill-opacity="1" fill="#79f" stroke="black" onmouseover="changeFill('r12', '#F55')" onmouseout="changeFill('r12', '#79F')" />
+      <g id="dasharray-rectangles" stroke-width="0.5" stroke-dasharray="4, 4">
+        <rect id="r-dash10" x="10" y="50" width="300" height="300" fill-opacity="0" fill="none" stroke="black" pointer-events="none"/>
+        <rect id="r-dash11" x="60" y="100" width="200" height="200" fill-opacity="0" fill="none" stroke="black" pointer-events="none"/>
+        <rect id="r-dash12" x="110" y="150" width="100" height="100" fill-opacity="0" fill="none" stroke="black" pointer-events="none"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pevents-08-f.svg b/Tests/W3CTestSuite/svg/interact-pevents-08-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f3a3d3bd0f6383c393026edaad0a9eb9727dc510
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pevents-08-f.svg
@@ -0,0 +1,185 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVG" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: interact-pevents-08-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>Tests the pointer-events attribute with different 'visible' values, same as the interact-pevents-201-t test but with script instead of declarative animation</p>
+      <p>
+        The 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke.
+        The 4th column (most right column) has a non activatable pointer event as the visibility of the column
+        is set to hidden.
+      </p>
+      <p>
+        The first row tests the default value for pointer-event, i.e. visible fill and stroke will trigger an event.
+        The second row tests pointer-events="visiblePainted", i.e. visible fill and stroke will trigger an event.
+        The third row tests pointer-events="visibleFill", i.e. visible fill only an event.
+        The fourth row tests pointer-events="visibleStroke", i.e. visible stroke only an event.
+        The fifth row tests pointer-events="visible", i.e. visible fill and stroke will trigger an event.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Slowly move the mouse over the rectangles in each row while checking the pass criteria.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the following conditions are met:
+      </p>
+      <ul>
+        <li>In the first row of squares, the fill and stroke of squares 1 and 3 only must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the second row of squares, the fill and stroke of squares 1 and 3 only must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the third row of squares, the fill only of squares 1, 2 and 3 must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the fourth row of squares, the stroke only of squares 1, 2 and 3 must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the fifth row of squares, the fill and stroke of squares 1, 2 and 3 must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pevents-08-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script><![CDATA[
+      function show(id)
+      {
+        document.getElementById(id).setAttribute("fill-opacity", "0.4");
+      }
+      
+      function hide(id)
+      {
+        document.getElementById(id).setAttribute("fill-opacity", "0");
+      }
+    ]]></script>
+    <g text-anchor="middle">
+      <text id="display-title" x="240" y="25" fill="#555" font-size="12">
+        <tspan fill="black" font-size="10">Testing pointer-events</tspan> - pale RED rect should appear on mouseover.
+      </text>
+      <text id="comment-1" x="240" y="37" fill="#555" font-size="10">
+        2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke
+      </text>
+    </g>
+    <g transform="translate(0, 5)">
+      <g transform="translate(25, 50)">
+        <rect id="m1" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r10" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" onmouseover="show('m1')" onmouseout="hide('m1')"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r11" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" onmouseover="show('m1')" onmouseout="hide('m1')"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r12" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" onmouseover="show('m1')" onmouseout="hide('m1')"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r13" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" onmouseover="show('m1')" onmouseout="hide('m1')"/>
+        <g font-size="12">
+          <text x="200" y="15">default : </text>
+          <text x="200" y="30" fill="#777">fill and stroke of rects 1 and 3 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 100)">
+        <rect id="m2" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r20" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="visiblePainted" onmouseover="show('m2')" onmouseout="hide('m2')"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r21" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="visiblePainted" onmouseover="show('m2')" onmouseout="hide('m2')"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r22" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="visiblePainted" onmouseover="show('m2')" onmouseout="hide('m2')"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r23" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="visiblePainted" onmouseover="show('m2')" onmouseout="hide('m2')"/>
+        <g font-size="12">
+          <text x="200" y="15">visiblePainted : </text>
+          <text x="200" y="30" fill="#777">fill and stroke of rects 1 and 3 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 150)">
+        <rect id="m3" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r30" width="30" height="30" fill="blue" stroke-width="10" stroke="black" fill-opacity=".3" stroke-opacity=".3" pointer-events="visibleFill" onmouseover="show('m3')" onmouseout="hide('m3')"/>
+
+        <rect x="50" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r31" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="visibleFill" onmouseover="show('m3')" onmouseout="hide('m3')"/>
+
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r32" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="black" fill-opacity="0" stroke-opacity="0" pointer-events="visibleFill" onmouseover="show('m3')" onmouseout="hide('m3')"/>
+
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r33" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="visibleFill" onmouseover="show('m3')" onmouseout="hide('m3')"/>
+        <g font-size="12">
+          <text x="200" y="15">visibleFill : </text>
+          <text x="200" y="30" fill="#777">only fill of rects 1, 2 and 3 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 200)">
+        <rect id="m4" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r40" width="30" height="30" fill="black" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="visibleStroke" onmouseover="show('m4')" onmouseout="hide('m4')"/>
+
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r41" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="visibleStroke" onmouseover="show('m4')" onmouseout="hide('m4')"/>
+
+        <rect x="100" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r42" x="100" width="30" height="30" fill="black" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="visibleStroke" onmouseover="show('m4')" onmouseout="hide('m4')"/>
+
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r43" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="visibleStroke" onmouseover="show('m4')" onmouseout="hide('m4')"/>
+        <g font-size="12">
+          <text x="200" y="15">visibleStroke : </text>
+          <text x="200" y="30" fill="#777">only stroke of rects 1, 2 and 3 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 250)">
+        <rect id="m5" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r50" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="visible" onmouseover="show('m5')" onmouseout="hide('m5')"/>
+
+        <rect x="50" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r51" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="visible" onmouseover="show('m5')" onmouseout="hide('m5')"/>
+
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r52" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="visible" onmouseover="show('m5')" onmouseout="hide('m5')"/>
+
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r53" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="visible" onmouseover="show('m5')" onmouseout="hide('m5')"/>
+        <g font-size="12">
+          <text x="200" y="15">visible : </text>
+          <text x="200" y="30" fill="#777">fill and stroke of rects 1, 2 and 3 must trigger</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>--> 
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pevents-09-f.svg b/Tests/W3CTestSuite/svg/interact-pevents-09-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..44d7372ece7fc1db2b8349292e38f418f5690bf0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pevents-09-f.svg
@@ -0,0 +1,174 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: interact-pevents-09-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>Tests the pointer-events attribute with different painting values, same as the interact-pevents-202-t test but with script instead of declarative animation</p>
+      <p>
+        The 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke.
+        The 4th column has visibility set to hidden.
+      </p>
+      <p>
+        The first row tests pointer-events="painted", i.e. event on fill and stroke that are set.
+        The second row tests pointer-events="fill", i.e. event on a fill that is set.
+        The third row tests pointer-events="stroke", i.e. even on a stroke that is et.
+        The fourth row tests pointer-events="all", i.e. event on fill and stroke that are set.
+        The fifth row tests pointer-events="none", i.e. no event.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Slowly move the mouse over the rectangles in each row while checking the pass criteria.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the following conditions are met:
+     	</p>
+     	<ul>
+        <li>In the first row of squares, the fill and stroke of squares 1, 3 and 4 only must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the second row of squares, the fill only of all squares must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the third row of squares, the stroke only of all must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the fourth row of squares, the fill and stroke of all squares must trigger a pale red rectangle to appear
+        over the squares on mouseover.</li>
+        <li>In the fifth row of squares, nothing is to trigger on mouseover.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pevents-09-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script><![CDATA[
+      function show(id)
+      {
+        document.getElementById(id).setAttribute("fill-opacity", "0.4");
+      }
+      
+      function hide(id)
+      {
+        document.getElementById(id).setAttribute("fill-opacity", "0");
+      }
+    ]]></script>
+    <g text-anchor="middle">
+      <text id="display-title" x="240" y="25" fill="#555" font-size="12">
+        <tspan fill="black" font-size="10">Testing pointer-events</tspan> - pale RED rect should appear on mouseover.
+      </text>
+      <text id="comment-1" x="240" y="37" fill="#555" font-size="10">
+        2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke
+      </text>
+    </g>
+    <g transform="translate(0, 5)">
+      <g transform="translate(25, 50)">
+        <rect id="m1" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r60" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="painted" onmouseover="show('m1')" onmouseout="hide('m1')"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r61" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="painted" onmouseover="show('m1')" onmouseout="hide('m1')"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r62" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="painted" onmouseover="show('m1')" onmouseout="hide('m1')"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r63" x="150" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" visibility="hidden" pointer-events="painted" onmouseover="show('m1')" onmouseout="hide('m1')"/>
+        <g font-size="12">
+          <text x="200" y="15">painted : </text>
+          <text x="200" y="30" fill="#777">fill and stroke of rects 1, 3 and 4 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 100)">
+        <rect id="m2" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r70" width="30" height="30" fill="blue" stroke-width="10" stroke="black" fill-opacity=".3" stroke-opacity=".3" pointer-events="fill" onmouseover="show('m2')" onmouseout="hide('m2')"/>
+        <rect x="50" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r71" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="fill" onmouseover="show('m2')" onmouseout="hide('m2')"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r72" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="black" fill-opacity="0" stroke-opacity="0" pointer-events="fill" onmouseover="show('m2')" onmouseout="hide('m2')"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r73" x="150" width="30" height="30" fill="blue" stroke-width="10" stroke="black" visibility="hidden" pointer-events="fill" onmouseover="show('m2')" onmouseout="hide('m2')"/>
+        <g font-size="12">
+          <text x="200" y="15">fill : </text>
+          <text x="200" y="30" fill="#777">fill of rects 1 to 4 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 150)">
+        <rect id="m3" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r80" width="30" height="30" fill="black" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="stroke" onmouseover="show('m3')" onmouseout="hide('m3')"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r81" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="stroke" onmouseover="show('m3')" onmouseout="hide('m3')"/>
+        <rect x="100" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r82" x="100" width="30" height="30" fill="black" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="stroke" onmouseover="show('m3')" onmouseout="hide('m3')"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r83" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="blue" visibility="hidden" pointer-events="stroke" onmouseover="show('m3')" onmouseout="hide('m3')"/>
+        <g font-size="12">
+          <text x="200" y="15">stroke : </text>
+          <text x="200" y="30" fill="#777">stroke of rects 1 to 4 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 200)">
+        <rect id="m4" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r90" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity=".3" stroke-opacity=".3" pointer-events="all" onmouseover="show('m4')" onmouseout="hide('m4')"/>
+        <rect x="50" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r91" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="all" onmouseover="show('m4')" onmouseout="hide('m4')"/>
+        <rect x="100" width="30" height="30" fill="blue" fill-opacity="0.1" stroke-width="10" stroke="blue" stroke-opacity="0.1"/>
+        <rect id="r92" x="100" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" fill-opacity="0" stroke-opacity="0" pointer-events="all" onmouseover="show('m4')" onmouseout="hide('m4')"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="blue" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r93" x="150" width="30" height="30" fill="blue" stroke-width="10" stroke="blue" visibility="hidden" pointer-events="all" onmouseover="show('m4')" onmouseout="hide('m4')"/>
+        <g font-size="12">
+          <text x="200" y="15">all : </text>
+          <text x="200" y="30" fill="#777">stroke and fill of rects 1 to 4 must trigger</text>
+        </g>
+      </g>
+      <g transform="translate(25, 250)">
+        <rect id="m5" x="-10" y="-10" width="200" height="50" fill="red" fill-opacity="0"/>
+        <rect id="r00" width="30" height="30" fill="black" stroke-width="10" stroke="black" fill-opacity=".3" stroke-opacity=".3" pointer-events="none" onmouseover="show('m5')" onmouseout="hide('m5')"/>
+        <rect x="50" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r01" x="50" width="30" height="30" fill="none" stroke-width="10" stroke="none" fill-opacity=".3" stroke-opacity=".3" pointer-events="none" onmouseover="show('m5')" onmouseout="hide('m5')"/>
+        <rect x="100" width="30" height="30" fill="black" fill-opacity="0.1" stroke-width="10" stroke="black" stroke-opacity="0.1"/>
+        <rect id="r02" x="100" width="30" height="30" fill="black" stroke-width="10" stroke="black" fill-opacity="0" stroke-opacity="0" pointer-events="none" onmouseover="show('m5')" onmouseout="hide('m5')"/>
+        <rect x="145" y="-5" width="40" height="40" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect x="150" width="30" height="30" fill="none" stroke-width="1" stroke="black" stroke-dasharray="1,1"/>
+        <rect x="155" y="5" width="20" height="20" fill="none" stroke-width="1" stroke="black" stroke-dasharray="3,3" stroke-opacity=".5"/>
+        <rect id="r03" x="150" width="30" height="30" fill="black" stroke-width="10" stroke="black" visibility="hidden" pointer-events="none" onmouseover="show('m5')" onmouseout="hide('m5')"/>
+        <g font-size="12">
+          <text x="200" y="15">none : </text>
+          <text x="200" y="30" fill="#777">nothing is to trigger</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>--> 
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pevents-10-f.svg b/Tests/W3CTestSuite/svg/interact-pevents-10-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c05e2b361b4fb8af6c2beaee72f444401d8a9c60
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pevents-10-f.svg
@@ -0,0 +1,82 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Microsoft" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: interact-pevents-10-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEvents">
+      <p>
+        An element with 'display' set to 'none' or an element whose parent has 'display' set to 'none' is not a target of pointer events.
+      </p>
+      <p>
+        Stack a 'circle' element with 'display' equal to 'none' on another 'circle' element. 
+        Specify an 'onclick' event handler on the 'circle' with 'display' set to 'none' that will change the 'visibility' of 'FAIL' text to 'visible'. 
+        Verify that the event handler does not fire which clicking on the top 'circle' element. 
+        Repeat with another set of 'circle' elements with the parent of one of the 'circle' elements having its 'display' set to 'none'.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Click on both black circles.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page after clicking the black circles.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pevents-10-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <circle cx="100" cy="200" r="50" />
+    <circle onclick="failTest()" display="none" cx="100" cy="200" r="50" />
+    <circle cx="250" cy="200" r="50" pointer-events="none" />
+    <g display="none">
+        <circle onclick="failTest()" cx="250" cy="200" r="50" />
+    </g>
+    <text id="failText" visibility="hidden" x="100" y="100" font-size="80" fill="red">FAIL</text>
+    <script type="text/javascript"><![CDATA[
+      try
+      {
+          function failTest()
+          {
+              var testElement = document.getElementById("failText");
+              testElement.setAttribute("visibility", "visible");
+          }
+      }
+      catch(ex)
+      {
+        //alert('ERROR: ' + ex.message);
+      }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pointer-01-t.svg b/Tests/W3CTestSuite/svg/interact-pointer-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..086d1203395f6ff80f904e25213794a7287bb042
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pointer-01-t.svg
@@ -0,0 +1,78 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DAS" author="CM" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: interact-pointer-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>
+        This tests that zero opacity pixels in a mask do not affect
+        hit testing for the purpose of pointer event targetting.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After loading the test, a rectangle will be displayed.
+        Move the pointer over the rectangle, and it will change color
+        to indicate whether the test was passed.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        If the rectangle turns green once the pointing device is moved over it,
+        the test was passed.  If instead it turns red (or remains black),
+        then the test failed.  If the rectangle was initially red when
+        the document was loaded, then that also indicates that the test failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pointer-01-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='40' font-size='18'>Test pointer events with zero opacity mask pixels</text>
+
+    <mask id='m' maskUnits='userSpaceOnUse' x='10' y='80' width='50' height='50'/>
+    <rect id='r' x='10' y='80' width='50' height='50' onmouseover='report(false)'/>
+    <rect x='10' y='80' width='50' height='50' mask='url(#m)' fill='red' onmouseover='report(true)'/>
+
+    <g id='g'>
+      <text id='t' x='10' y='150' font-size='13'>Move the pointing device over the rectangle.</text>
+      <text id='t2' x='10' y='166' font-size='13'>If it is red, you've already failed.</text>
+    </g>
+
+    <script>
+      function report(pass) {
+        document.getElementById('r').setAttribute('fill', pass ? 'green' : 'red');
+        document.getElementById('t').firstChild.nodeValue = pass ? "If the rectangle is green, you've passed!  Otherwise, you've failed." : "You've failed.";
+        document.getElementById('g').removeChild(document.getElementById('t2'));
+      }
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pointer-02-t.svg b/Tests/W3CTestSuite/svg/interact-pointer-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2e57e378d8e0cc4761f83b8fa23bf377035e7b58
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pointer-02-t.svg
@@ -0,0 +1,77 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DAS" author="CM" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: interact-pointer-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>
+        This tests that clipped-out parts of shapes do not receive pointer events.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After loading the test, a rectangle will be displayed.
+        Move the pointer over the rectangle, and it will change color
+        to indicate whether the test was passed.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        If the rectangle turns green once the pointing device is moved over it,
+        the test was passed.  If instead it turns red (or remains black),
+        then the test failed.  If the rectangle was initially red when
+        the document was loaded, then that also indicates that the test failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pointer-02-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='40' font-size='17'>Test pointer events with shapes that have clip paths</text>
+
+    <clipPath id='c' clipPathUnits='userSpaceOnUse' x='10' y='80' width='50' height='50'/>
+    <rect id='r' x='10' y='80' width='50' height='50' onmouseover='report(true)'/>
+    <rect x='10' y='80' width='50' height='50' clip-path='url(#c)' fill='red' onmouseover='report(false)'/>
+
+    <g id='g'>
+      <text id='t' x='10' y='150' font-size='13'>Move the pointing device over the rectangle.</text>
+      <text id='t2' x='10' y='166' font-size='13'>If it is red, you've already failed.</text>
+    </g>
+
+    <script>
+      function report(pass) {
+        document.getElementById('r').setAttribute('fill', pass ? 'green' : 'red');
+        document.getElementById('t').firstChild.nodeValue = pass ? "If the rectangle is green, you've passed!  Otherwise, you've failed." : "You've failed.";
+        document.getElementById('g').removeChild(document.getElementById('t2'));
+      }
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pointer-03-t.svg b/Tests/W3CTestSuite/svg/interact-pointer-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7e0c062e905ab18e0be491c5e73277a47e28f69c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pointer-03-t.svg
@@ -0,0 +1,77 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DAS" author="CM" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: interact-pointer-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty">
+      <p>
+        This tests that the "painted" keyword for the pointer-events property
+        does not cause pointer events to be captured when a shape's fill falls
+        back to "none" because a referenced paint server was not available.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After loading the test, a rectangle will be displayed.
+        Move the pointer over the rectangle, and it will change color
+        to indicate whether the test was passed.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        If the rectangle turns green once the pointing device is moved over it,
+        the test was passed.  If instead it turns red (or remains black),
+        then the test failed.  If the rectangle was initially red when
+        the document was loaded, then that also indicates that the test failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pointer-03-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='40' font-size='12'>Test pointer-events="painted" with paint server fallback</text>
+
+    <rect id='r1' x='10' y='80' width='50' height='50' onmouseover='report(true)'/>
+    <rect id='r2' x='10' y='80' width='50' height='50' clip-path='url(#c)' fill='url(#invalid) none' pointer-events='painted' onmouseover='report(false)'/>
+
+    <g id='g'>
+      <text id='t' x='10' y='150' font-size='13'>Move the pointing device over the rectangle.</text>
+    </g>
+
+    <script>
+      function report(pass) {
+        var color = pass ? 'green' : 'red';
+        document.getElementById('r1').setAttribute('fill', color);
+        document.getElementById('t').firstChild.nodeValue = pass ? "You've passed!" : "You've failed.";
+      }
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-pointer-04-f.svg b/Tests/W3CTestSuite/svg/interact-pointer-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7c8ec0e3c1da16918f8aac89bfc67ae0ce2e5dc0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-pointer-04-f.svg
@@ -0,0 +1,88 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="[reviewer]" author="Microsoft" status="created" version="$Revision: 1.2 $" testname="$RCSfile: interact-pointer-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/interact.html#PointerEventsProperty">
+      <p>
+        <!--[[
+        A mask effect regardless of opacity does not prevent an element from being the target of a pointer event.
+        ]]-->
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        <!--[[
+        Specify a 'rect' element which references a rectangular 'mask' which completely masks out the element. Specify an 'onmouseover' event handler function on the 'rect' element and verify that the function fires when mouseing over it. Repeat the same thing using a 'mask' element with zero opacity.
+        ]]-->
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        <!--[[
+        Move the mouse over both the blue and grey boxes.
+        ]]-->
+      </p>
+      <p>
+        <!--[[
+        Test passes if both of the boxes turn orange.
+        ]]-->
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-pointer-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <mask id="normalMask">
+        <rect x="0" y="0" width="100" height="100" fill="#dddddd" />
+    </mask>
+    <rect x="0" y="0" width="100" height="100" fill="#aabbcc" mask="url(#normalMask)" onmouseover="test(this)" />
+    <rect id="passRect" x="200" y="0" width="100" height="100" fill="blue" />
+    <mask id="opacityMask" opacity="0">
+        <rect x="0" y="0" width="100" height="100" fill="black" />
+    </mask>
+    <rect x="200" y="0" width="100" height="100" fill="#dddddd" mask="url(#opacityMask)" onmouseover="testOpacity()" />
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            function test(testElement)
+            {
+                testElement.setAttribute("fill", "orange");
+            }
+
+            function testOpacity()
+            {
+                var passRect = document.getElementById("passRect");
+                passRect.setAttribute("fill", "orange");
+            }
+        }
+        catch(ex)
+        {
+            alert('ERROR: ' + ex.message);
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-zoom-01-t.svg b/Tests/W3CTestSuite/svg/interact-zoom-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e9f615823d92a299f5946c257ae8a76a3b57216d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-zoom-01-t.svg
@@ -0,0 +1,72 @@
+<svg version="1.1" baseProfile="tiny" zoomAndPan="magnify" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="CL" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: interact-zoom-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#EnableZoomAndPanControls">
+      <p>
+        Verify correct handling by Dynamic (interactive) viewers for the
+        "zoomAndPan" attribute on the 'svg' element.  This is the second of three
+        tests, and tests the default value.
+      </p>
+      <p>
+        The test consists of a set of black circles with a  blue stroke.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After the initial picture is displayed, the user should attempt to use
+        the magnify controls that are required on conforming Dynamic SVG
+        viewers.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The correct behaviour is that magnification and panning works
+        correctly, as required by a conformant viewer.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-zoom-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="6">
+      <text x="5" y="7" fill="black" font-family="Arial">Test default value of </text>
+      <text x="5" y="14" fill="black" font-family="Arial">zoomAndPan attribute.</text>
+      <g fill="black" stroke="blue" stroke-width="1">
+        <circle cx="20" cy="32" r="10"/>
+        <circle cx="30" cy="32" r="10"/>
+        <circle cx="60" cy="32" r="10"/>
+        <circle cx="50" cy="32" r="10"/>
+        <circle cx="40" cy="32" r="10"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-zoom-02-t.svg b/Tests/W3CTestSuite/svg/interact-zoom-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2c211f552893d5d8ed3e100cd1abfda4d6fb3ac1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-zoom-02-t.svg
@@ -0,0 +1,72 @@
+<svg version="1.1" baseProfile="tiny" zoomAndPan="magnify" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="CL" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: interact-zoom-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#EnableZoomAndPanControls">
+      <p>
+        Verify correct handling by Dynamic (interactive) viewers for the
+        "zoomAndPan" attribute on the 'svg' element.  This is the second of three
+        tests, and tests the value "magnify".
+      </p>
+      <p>
+        The test consists of a set of black circles with a  blue stroke.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After the initial picture is displayed, the user should attempt to use
+        the magnify controls that are required on conforming Dynamic SVG
+        viewers.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The correct behaviour is that magnification and panning works
+        correctly, as required by a conformant viewer.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-zoom-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="6">
+      <text x="5" y="7" fill="black" font-family="Arial">Test "magnify" value of </text>
+      <text x="5" y="14" fill="black" font-family="Arial">zoomAndPan attribute.</text>
+      <g fill="black" stroke="blue" stroke-width="1">
+        <circle cx="20" cy="32" r="10"/>
+        <circle cx="30" cy="32" r="10"/>
+        <circle cx="60" cy="32" r="10"/>
+        <circle cx="50" cy="32" r="10"/>
+        <circle cx="40" cy="32" r="10"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/interact-zoom-03-t.svg b/Tests/W3CTestSuite/svg/interact-zoom-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6821e1a4e07c9e87d52ef265507b10e99dafb924
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/interact-zoom-03-t.svg
@@ -0,0 +1,74 @@
+<svg version="1.1" baseProfile="tiny" zoomAndPan="disable" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="CL" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: interact-zoom-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/interact.html#EnableZoomAndPanControls">
+      <p>
+        Verify correct handling by Dynamic (interactive) viewers for the
+        "zoomAndPan" attribute on the 'svg' element.  This is the third of three
+        tests, and tests the value "disable".
+      </p>
+      <p>
+        The test consists of a set of black circles with a  blue stroke.
+      </p>
+     
+      
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After the initial picture is displayed, the user should attempt to use
+        the magnify controls that are required on conforming Dynamic SVG
+        viewers. 
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The correct behaviour is that the magnify and pan controls
+        shall have no effect -- the viewer shall disable them.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: interact-zoom-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="6" transform="scale(6,6)">
+      <!-- Title -->
+      <text x="5" y="7" fill="black" font-family="Arial">Test "disable" value of </text>
+      <text x="5" y="14" fill="black" font-family="Arial">zoomAndPan attribute.</text>
+      <g fill="black" stroke="blue" stroke-width="1">
+        <circle cx="20" cy="32" r="10"/>
+        <circle cx="30" cy="32" r="10"/>
+        <circle cx="60" cy="32" r="10"/>
+        <circle cx="50" cy="32" r="10"/>
+        <circle cx="40" cy="32" r="10"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-a-01-b.svg b/Tests/W3CTestSuite/svg/linking-a-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cf397adace4637775e427b6ab3f0e7637367da8b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-a-01-b.svg
@@ -0,0 +1,80 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: linking-a-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#Links">
+      <p>
+        This is the first of a set of three tests that verify the capability to
+        handle links into SVG content, using
+        each of the three fragment identifier forms permissible in SVG.
+      </p>
+      <p>
+        There is a colored arrow comprising the content of an 'a' element.  The
+        link destination is in an auxiliary file, linkingCircle-f.svg, and
+        is expressed by xlink:href="linkingCircle-f.svg#fragmentValue".
+        The initial view of this test contains one pale blue arrow plus labelling text.
+      </p>
+      <p>
+        The (blue) arrow uses the "bare name" fragment identifier
+        form, "#circle-2", to target the circle with id "circle-2" in the external
+        file. 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The user should activate the link on the center blue arrow.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Upon clicking the first arrow, the full image of the linkingCircle-f.svg
+        file should replace the initial view of this test case in the viewer frame.
+      </p>
+      <p>
+        The reference image illustrates the correct image after the  link is
+        activated (full view of linkingCircle-f.svg).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-a-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(2)">
+      <a xlink:href="../images/linkingCircle-f.svg#circle-2">
+        <path fill="aqua" stroke="blue" d="M 185,40 h -100 v -12 l -45 36 l 45 36 v -12 h 100 z"/>
+      </a>
+      <!-- Code from target file, linkingCircle-f.svg...
+        <circle id="circle-2" cx="85" cy="153" r="20"  stroke="lime" fill="yellow" stroke-width="4"  />
+        <text font-family="Arial" font-size="12"  x="65" y="189">circle-2</text>
+        <rect x="49" y="227" width="72" height="72" fill="none" stroke="black" />
+        -->
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-a-03-b.svg b/Tests/W3CTestSuite/svg/linking-a-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8e5ef764bca43b2cd93170a67bc0a47b8a6ccf5f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-a-03-b.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: linking-a-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#Links">
+      <p>
+        This is the third of a set of three tests that verify the capability to
+        handle links into SVG content, using
+        each of the three fragment identifier forms permissible in SVG.
+      </p>
+      <p>
+        There is a colored arrow comprising the content of an 'a' element.  The
+        link destination is in an auxiliary file, linkingCircle-f.svg, and
+        is expressed by "xlink:href=linkingCircle-f.svg#fragmentValue".
+        The initial view of this test contains one green arrow plus labelling text.
+      </p>
+      <p>
+        The (green) arrow uses the SVG view specification form,
+        "linkingCircle-f.svg#svgView(viewBox(63,226,74,74))",
+        to target the circle with id "circle-2"
+        in the external file.  
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The user should activate the link on the center green arrow.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Upon clicking this arrow, circle-2 should fill most of the
+        viewer frame (white space on each side is 25% of the diameter of the circle).
+      </p>
+      <p>
+        The reference image illustrates the correct image after the  link is
+        activated, with the circle-2's
+        framing rect filling the viewer frame, uniformly scaled.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-a-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(2)">
+      <a xlink:href="../images/linkingCircle-f.svg#svgView(viewBox(64,227,72,72))">
+        <path fill="lime" stroke="blue" d="M 185,40 h -100 v -12 l -45 36 l 45 36 v -12 h 100 z"/>
+      </a>
+      <!-- Code from target file, linkingCircle-f.svg...        
+        <circle id="circle-2" cx="85" cy="153" r="20"  stroke="lime" fill="yellow" stroke-width="4"  />
+        <text font-family="Arial" font-size="12"  x="65" y="189">circle-2</text>
+        <rect x="49" y="227" width="72" height="72" fill="none" stroke="black" />
+        -->
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-a-04-t.svg b/Tests/W3CTestSuite/svg/linking-a-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..02db16bfc96858c7138b791e47034a495d486000
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-a-04-t.svg
@@ -0,0 +1,113 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lee Klosterman" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: linking-a-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#Links">
+      <p>
+        Verify the capability to handle basic links out of SVG content
+        using the 'a' element, with the xlink:href attributes.
+        There are three subtests, in each of which one
+        of three colored arrows comprise the content of an 'a' element.  The
+        link destination is expressed by "xlink:href=".
+        The initial view of this test contains the three arrows, a colored
+        circle, labelling text, and the usual template legend and frame.
+      </p>
+    
+      <p>
+        There are several reference images associated with this test case.  The first
+        illustrates the correct "start" or initial state of the rendered SVG file.
+        The second illustrates the correct image after the first link is activated
+        (to the linkingToc.svg file).  The third (for browser-environment viewers)
+        should match the current image of the W3C home page, as viewed with a
+        conventional browser.  (Note.  This harness does not yet
+        provide access to multiple PNGs; the first, initial-state PNG is shown.)
+      </p>
+      <p>
+        The test uses the 'rect' and 'polygon' elements, as well as basic fill (solid simple colors),
+        stroke (black and colored wide and 1-pixel lines), font-family (Arial) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The user should interact with each of the arrows activating each of the links,
+        using the UA's back mechanism to restart each link test.
+      </p>
+     
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The top-most (yellow) arrow links to an external SVG file, which is
+        local (in the same directory).  The target file contains SVG 'text' elements
+        which comprise a TOC and brief description of all of the test files
+        for Linking.  Upon clicking the first arrow, the image of the linkingToc-t.svg
+        file should replace the initial view of this test case in the viewer frame.
+      </p>
+      <p>
+        The middle (green) arrow links to an object in this SVG test file, the yellow
+        circle (id="internal-circle") immediately to its right, using "#circle-object"
+        as the value of of the xlink:href attribute.
+        There should be no change to the viewer frame upon clicking this arrow.
+      </p>
+      <p>
+        The bottom-most (blue) arrow links to remote non-SVG content, the W3C home page
+        using xlink:href attribute value "http://www.w3.org".  For viewers in a Web
+        browser environment, the W3C home page should replace the initial view
+        of this test case in the browser/viewer frame.  For other viewers (e.g.,
+        interactive but SVG-only standalone viewers), the result is undefined, but could
+        include such actions as a diagnostic "Error parsing..." message.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-a-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="90" y="16" font-size="12">Basic out-bound links and the 'a' element.</text>
+    <!-- First linking test:  link to another SVG file in same location. -->
+    <a xlink:href="../images/linkingToc-t.svg">
+      <path fill="yellow" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+    </a>
+    <!-- Second linking test:  link to another object in this file. -->
+    <g transform="translate(0,90)">
+      <a xlink:href="#internal-circle">
+        <path fill="lime" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+      </a>
+    </g>
+    <!-- Third linking test:  links to external, remote, non-SVG content (for  -->
+    <!-- plugin viewers in browser environments.)                              -->
+    <g transform="translate(0,180)">
+      <a xlink:href="http://www.w3.org">
+        <path fill="aqua" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+      </a>
+    </g>
+    <!-- Link target of second test -->
+    <circle id="internal-circle" cx="390" cy="153" r="20" stroke="lime" fill="yellow" stroke-width="4"/>
+    <text x="350" y="189" font-size="10">id="internal-circle"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-a-05-t.svg b/Tests/W3CTestSuite/svg/linking-a-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7a6360e066dcbdb82aefd41f02fa1c0e6f9b6f7e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-a-05-t.svg
@@ -0,0 +1,102 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="MI" author="CN" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: linking-a-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#Links">
+      <p>
+        Verify if the 'a' element properly accept the transform
+        attibute. There are three subtests, in each of which one
+        of three sets of colored arrows comprise the content of
+        an 'a' element. The link destination is expressed by
+        "xlink:href=" as in the test 'linking-a-04-t.svg'.
+        The arrows transformed is in the brighter color, and the
+        arrows before transformation is shown in the darker color.
+        The transformation parameters used for each 'a' element is
+        shown on the left side of each arrow.
+      </p>
+      <p>
+        The top-most arrow (yellow) is rotated for 20 degree.
+        The middle arrow (green) is skewed horizontally for
+        -30 degree, and the last arrow (cyan) is translated
+        for (-10, -20).
+      </p>
+
+      <p>
+        The test uses the 'rect' and 'polygon' elements, as well as basic fill (solid simple colors and RGB values),
+        stroke (black and colored wide and 1-pixel lines), font-family (Arial) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The user should interact with each of the arrows activating each of the links,
+        using the UA's back mechanism to restart each link test.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Each arrow, i.e. link, should behave as described
+        in 'linking-a-04-t.svg'. The arrows in this test
+        have the same 'xlink:href' attribute as the 'linking-a-04-t'
+        test.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-a-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="90" y="16" font-size="12">Verify transform attributes in the 'a' element.</text>
+    <!-- First linking test:  link to another SVG file in same location. -->
+    <path fill="rgb(128,128,0)" stroke="rgb(0,0,128)" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+    <a xlink:href="../images/linkingToc-t.svg" transform="rotate(20,225,65)">
+      <path fill="yellow" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+    </a>
+    <text x="10" y="45" font-size="10">transform="rotate(20,225,65)</text>
+    <!-- Second linking test:  link to another object in this file. -->
+    <g transform="translate(0,90)">
+      <path fill="rgb(0,128,0)" stroke="rgb(0,0,128)" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+      <a xlink:href="#internal-circle" transform="skewX(-30)">
+        <path fill="lime" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+      </a>
+      <text x="10" y="45" font-size="10">transform="skewX(-30)</text>
+    </g>
+    <!-- Third linking test:  links to external, remote, non-SVG content (for  -->
+    <!-- plugin viewers in browser environments.)                              -->
+    <g transform="translate(0,180)">
+      <path fill="rgb(0,128,128)" stroke="rgb(0,0,128)" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+      <a xlink:href="http://www.w3.org" transform="translate(-10,-20)">
+        <path fill="aqua" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+      </a>
+      <text x="10" y="45" font-size="10">transform="translate(-10,-20)</text>
+    </g>
+    <!-- Link target of second test -->
+    <circle id="internal-circle" cx="390" cy="153" r="20" stroke="lime" fill="yellow" stroke-width="4"/>
+    <text x="350" y="189" font-size="10">id="internal-circle"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-a-07-t.svg b/Tests/W3CTestSuite/svg/linking-a-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7ea4441c788ea128adaf172eedb936b6312e959e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-a-07-t.svg
@@ -0,0 +1,110 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="BB" author="CL" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: linking-a-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#Links">
+      <p>
+        Verify that the target attribute on the 'a' element takes precedence over the xlink:show attribute.
+        There are three subtests, in each of which two similarly
+        colored arrows comprise the content of an 'a' element.  The arrow on the left, outlined
+        in blue, has no "target" attribute; the arrow on the right, outlined in red, has a
+        "target" attribute. The
+        link destination is expressed by "xlink:href=".
+        The initial view of this test contains the six arrows, labelling text, and the usual template legend and frame.
+      </p>
+      <p>
+        The top-most (yellow) arrows link to an external SVG file, which is
+        local (in the same directory).  The target file contains SVG 'text' elements
+        which comprise a TOC and brief description of all of the test files
+        for Linking. 
+      </p>
+      <p>
+        The middle (green) arrows links to the same external SVG file, but with xlink:show="new". 
+      </p>
+      <p>
+        The bottom-most (blue) arrows links to the same external SVG file, but with xlink:show="replace". 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Click each of the arrows once.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+	      <li>Upon clicking the left-most yellow arrow, the image of the linkingToc-t.svg
+	      file replaces the initial view of this test case in the viewer frame. On clicking the right-most yellow arrow,
+	      the image of the linkingToc-t.svg appears in a new frame.</li>
+	      <li>Upon clicking any of the green arrows the image of the linkingToc-t.svg appears in a new frame.</li>
+	      <li>Upon clicking the left-most blue arrow, the image of the linkingToc-t.svg file replaces the initial 
+	      view of this test case in the viewer frame. 
+	      On clicking the right blue arrow produces the image of the linkingToc-t.svg in a new frame.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-a-07-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="90" y="16" font-size="12">xlink 'show' attribute on  'a' element.</text>
+    <g transform="translate(-120)">
+      <a xlink:href="../images/linkingToc-t.svg">
+        <path fill="yellow" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+      </a>
+      <g transform="translate(0,90)">
+        <a xlink:href="../images/linkingToc-t.svg" xlink:show="new">
+          <path fill="lime" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+        </a>
+      </g>
+      <g transform="translate(0,180)">
+        <a xlink:href="../images/linkingToc-t.svg" xlink:show="replace">
+          <path fill="aqua" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+        </a>
+      </g>
+    </g>
+    <g transform="translate(120)">
+      <a xlink:href="../images/linkingToc-t.svg" target="foo">
+        <path fill="yellow" stroke="red" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+      </a>
+      <g transform="translate(0,90)">
+        <a xlink:href="../images/linkingToc-t.svg" xlink:show="new" target="foo">
+          <path fill="lime" stroke="red" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+        </a>
+      </g>
+      <g transform="translate(0,180)">
+        <a xlink:href="../images/linkingToc-t.svg" xlink:show="replace" target="foo">
+          <path fill="aqua" stroke="red" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
+        </a>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-a-08-t.svg b/Tests/W3CTestSuite/svg/linking-a-08-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c0c2ccdf80127c00669e9ef464d93e02d586ff9d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-a-08-t.svg
@@ -0,0 +1,61 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: linking-a-08-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#Links">
+        <p>
+        This is a simple test for links on text elements. The upper subtest has an 'a' element
+        inside a 'text' element; the lower subtest has the 'a' outside the 'text'.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+ 				Click each of the links once.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Both lines of text must be working links, and must take you to <a href="../../images/linkingToc-t.svg">the linking TOC svg</a> in the same frame.
+       </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-a-08-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="20">
+      <text x="240" y="150" text-anchor="middle">
+        <a xlink:href="../images/linkingToc-t.svg">Link inside text</a>
+      </text>
+      <a xlink:href="../images/linkingToc-t.svg">
+        <text x="240" y="230" text-anchor="middle">Link around text</text>
+      </a>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-a-09-b.svg b/Tests/W3CTestSuite/svg/linking-a-09-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1099cd75a9046fb01d0748689f835c3a7f85ff85
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-a-09-b.svg
@@ -0,0 +1,71 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: linking-a-09-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#Links">
+        <p>
+        This is a simple test for links on tspan elements. The upper subtest has an 'a' element
+        inside a 'tspan' element; the lower subtest has the 'a' outside the tspan.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Click each of the links once.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Both lines of text must be working links, and must take you to <a href="../../images/linkingToc-t.svg">the linking TOC svg</a> in the same frame.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-a-09-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="20">
+      <text x="240" y="150" text-anchor="middle">
+        A <tspan color="green">
+          <a xlink:href="../images/linkingToc-t.svg">
+            link
+            inside tspan
+          </a> for testing
+        </tspan>
+      </text>
+      <text x="240" y="230" text-anchor="middle">
+        A <a xlink:href="../images/linkingToc-t.svg">
+          <tspan color="green">
+            link
+            around tspan
+          </tspan>
+        </a> for testing
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-a-10-f.svg b/Tests/W3CTestSuite/svg/linking-a-10-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5138de88b62abd5cd6ce362ebcb4813834989122
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-a-10-f.svg
@@ -0,0 +1,83 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="accepted" version="$Revision: 1.4 $" testname="$RCSfile: linking-a-10-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/linking.html#AElement">
+      <p>
+        Test that the 'a' element supports various types of graphics and container elements as content.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+			<p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there are fourteen blue shapes on the page, in the sizes and positions
+        shown in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-a-10-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <a>
+        <rect x="360" width="100" height="100" fill="blue" />
+        <ellipse cx="120" cy="290" rx="25" ry="50" fill="blue" />
+        <line x1="380" y1="250" x2="320" y2="340" stroke-width="5" stroke="blue" />
+        <polygon fill="blue" points="0,0 0,100 100,100 100,0" />
+        <path d="M 280 250 L 250 350 L 310 330 z" fill="blue" />
+        <text x="10" y="320" font-size="100" fill="blue">X</text>
+        <image xlink:href="../images/blue_10x10.png" x="360" y="120" width="100" height="100" />
+        <g>
+            <rect x="240" y="120" width="100" height="100" fill="blue" />
+        </g>
+        <svg>
+            <rect y="120" width="100" height="100" fill="blue" />
+        </svg>
+        <defs>
+            <rect width="100" height="100" fill="blue" id="testRect" />
+            <linearGradient id="testGradient">
+                <stop offset="1" stop-color="blue" />
+            </linearGradient>
+            <symbol id="testSymbol">
+                <circle cx="40" cy="40" r="40" fill="blue" />
+            </symbol>
+            <marker id="testMarker">
+                <rect width="100" height="100" fill="blue" />
+            </marker>
+            <pattern id="testPattern" width="100" height="100" patternUnits="userSpaceOnUse" viewBox="0 0 100 100">
+                <rect width="100" height="100" fill="blue" />
+            </pattern>
+        </defs>
+        <use xlink:href="#testRect" x="120" />
+        <rect fill="url(#testGradient)" x="120" y="120" width="100" height="100" />
+        <use x="390" y="250" xlink:href="#testSymbol" />
+        <line x1="150" y1="260" x2="165" y2="260" stroke-width="25" marker-end="url(#testMarker)" />
+        <rect fill="url(#testPattern)" x="240" width="100" height="100" />
+    </a>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/linking-frag-01-f.svg b/Tests/W3CTestSuite/svg/linking-frag-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f69c50208cb5a8c5d6097bbc2025cafa9d5dadf2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-frag-01-f.svg
@@ -0,0 +1,66 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="" author="CL" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: linking-frag-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#Links">
+
+      <p>
+        Tests svgView(viewBox();transform()) syntax, with and without escaped semicolons.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. Click on the green arrow. If that results in circle-2 being displayed, go back to this test and click on the blue arrow. If that shows a quarter of circle-2, go back to this test and click on the purple arrow.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if you clicked on three arrows, and clicking the purple arrow results in a quarter of circle-2 being displayed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-frag-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+      <a xlink:href="../images/linkingCircle-f.svg#svgView(viewBox(64,227,72,72))">
+        <path fill="lime" stroke="blue" d="M 185,40 h -100 v -12 l -45 36 l 45 36 v -12 h 100 z"/>
+      </a>
+      <g transform="translate(0,100)">
+            <a xlink:href="../images/linkingCircle-f.svg#svgView(viewBox(64,227,72,72);transform(translate(36,36)))">
+        <path fill="blue" stroke="blue" d="M 185,40 h -100 v -12 l -45 36 l 45 36 v -12 h 100 z"/>
+      </a>
+      </g>
+            <g transform="translate(0,200)">
+            <a xlink:href="../images/linkingCircle-f.svg#svgView(viewBox(64,227,72,72)%3Btransform(translate(36,36)))">
+        <path fill="purple" stroke="lime" d="M 185,40 h -100 v -12 l -45 36 l 45 36 v -12 h 100 z"/>
+      </a>
+      </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-uri-01-b.svg b/Tests/W3CTestSuite/svg/linking-uri-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eebc9f62854259f54e0a07f06b9f083001078b7f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-uri-01-b.svg
@@ -0,0 +1,149 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lee Klosterman" status="accepted"
+    version="$Revision: 1.12 $" testname="$RCSfile: linking-uri-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#LinksIntoSVG">
+      <p>
+        Verify the capability to handle links to 'view' elements, and the
+        permissible attributes on those elements.  All of the links in this
+        test case are <em>internal</em>, i.e., to 'view' elements in the same SVG file.
+      </p>
+      <p>
+        This test is identical to linking-uri-02-b except that the links there are external.
+      </p>
+      <p>
+        In the four quadrants of the initial picture are four graphical objects.
+        Clockwise from upper right, they are
+        a purple rectangle, blue ellipse, green polygon (pentagon), and yellow
+        circle.  Each is labelled and tightly boxes with a rectangular frame.
+        These are identical to their counterparts in linking-uri-01-b.svg, in which
+        file each has an associated 'view' element, with attributes
+        per the labels in the initial picture.
+      </p>
+      <p>
+        In the center is a gray box with four lines of text, each of which says
+        "Go to" followed by Rectangle, Ellipse, Polygon, and Circle, respectively.
+        Each of these is contained within an 'a' element, whose xlink:href names
+        the respective 'view' element of the respective graphical object.
+      </p>
+      <p>
+        There are several reference images associated with this test case.  The first
+        illustrates the correct initial state of the rendered SVG file, which should
+        also be the correct picture after the Rectangle link is executed.
+        The second, third, and fourth illustrate the correct images as described
+        above after respectively the Ellipse, Polygon, and Circle links are activated.
+        (Note.  This harness does not yet provide access to multiple PNGs; the PNG for the
+        initial view is shown.)
+      </p>
+      <p>
+        The test uses the 'rect', 'circle', 'ellipse', and 'polygon' elements,
+        as well as basic fill (solid simple colors),
+        stroke (black and colored 1-pixel lines), font-family (Arial) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        In turn, activate each of the "Rectangle", "Ellipse", "Polygon" and "Circle" links
+        in the gray box in the middle of the document, navigating back (for example with
+        the Back button if in a browser) after activating each one.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all of the sub-tests have the correct behavior:
+      </p>
+      <ul>
+        <li>After activating the "Rectangle" link, the whole of the linking-uri-01-b.svg
+        document must be displayed; that is, there will be no visual change.  (The
+        'view' element has no attributes (other than id), so the correct view in
+        the frame is of the parent 'svg' element, which is the whole picture.)</li>
+        <li>After navigating back and activating the "Ellipse" link, the view must change so that it is
+        zoomed (uniformly scaled) and centered on the ellipse.  The black rectangle
+        surrounding the ellipse must be just within the frame.</li>
+        <li>After navigating back and activating the "Circle" link, the view must change so that it is
+        zoomed and centered on the yellow circle.  The view is scaled non-uniformly, however,
+        so that the circle is stretched horizontally ito an ellipse.  The black rectangle
+        surrounding it must be just within the frame.</li>
+        <li>After navigating back and activating the "Polygon" link, the view must not change.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-uri-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="65" y="16" font-size="12">Link test of the 'view' element and its attributes, 1 of 2, internal.</text>
+    <g font-size="14">
+      <g transform="translate(-150,75)">
+        <rect x="300" y="55" width="125" height="85" fill="#aaa"/>
+        <a xlink:href="#rect-view">
+          <text x="310" y="70" fill="purple">Go to Rectangle</text>
+        </a>
+        <a xlink:href="#ellipse-view">
+          <text x="310" y="90" fill="blue">Go to Ellipse</text>
+        </a>
+        <a xlink:href="#circle-view">
+          <text x="310" y="110" fill="yellow">Go to Circle</text>
+        </a>
+        <a xlink:href="#polygon-view">
+          <text x="310" y="130" fill="green">Go to Polygon</text>
+        </a>
+        <text x="315" y="152" font-size="12">Click element's line</text>
+        <text x="315" y="164" font-size="12">to link to its view</text>
+      </g>
+
+      <!-- View with no attributes.  Picture should not change. -->
+      <view id="rect-view"/>
+      <rect id="rect-object" fill="purple" x="295" y="36" width="135" height="68"/>
+      <text id="rect-label" x="362.5" y="116" text-anchor="middle">Rectangle</text>
+      <rect x="292" y="29" width="141" height="91" fill="none" stroke="black"/>
+      <text x="362.5" y="132" font-size="10" text-anchor="middle">No view attributes except id.</text>
+      <!-- Test viewBox.  Should blow-up the ellipse in the frame. -->
+      <view id="ellipse-view" viewBox="295 216 150 82"/>
+      <ellipse id="ellipse-object" fill="blue" cx="370" cy="251" rx="72" ry="32"/>
+      <text id="ellipse-label" x="370" y="295" text-anchor="middle">Ellipse</text>
+      <rect x="295" y="216" width="150" height="82" fill="none" stroke="black"/>
+      <text x="315" y="212" font-size="10">viewBox, should fill frame.</text>
+      <!-- Test preserveAspectRatio. -->
+      <view id="circle-view" viewBox="36 29 98 91" preserveAspectRatio="none"/>
+      <circle id="circle-object" fill="yellow" cx="85" cy="68" r="36"/>
+      <text id="circle-label" x="85" y="116" text-anchor="middle">Circle</text>
+      <rect x="36" y="29" width="98" height="91" fill="none" stroke="black"/>
+      <text x="85" y="130" font-size="10" text-anchor="middle">viewBox &amp; non-uniform</text>
+      <text x="85" y="139" font-size="10" text-anchor="middle">preserveAspectRatio</text>
+      <!-- Test viewTarget attribute, no change to the viewport. -->
+      <view id="polygon-view" viewTarget="polygon-object"/>
+      <polygon id="polygon-object" fill="green" points="87,211 134,238 116,283 57,283 39,238 87,211"/>
+      <text id="polygon-label" x="85" y="295" text-anchor="middle">Polygon</text>
+      <rect x="36" y="208" width="100" height="89" fill="none" stroke="black"/>
+      <text x="85" y="195" font-size="10" text-anchor="middle">viewTarget, no</text>
+      <text x="85" y="204" font-size="10" text-anchor="middle">changes to viewport</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.12 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-uri-02-b.svg b/Tests/W3CTestSuite/svg/linking-uri-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..69d8a47195f5195071e01eda488860c42c57f28d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-uri-02-b.svg
@@ -0,0 +1,156 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lee Klosterman" status="accepted"
+    version="$Revision: 1.10 $" testname="$RCSfile: linking-uri-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#LinksIntoSVG">
+      <p>
+        Verify the capability to handle links to 'view' elements, and the
+        permissible attributes on those elements.  All of the links in this
+        test case are <em>external</em>, i.e., to 'view' elements in another SVG file.
+        That file is linking-uri-01-b.svg.
+       </p>
+      <p>
+        This test is identical to linking-uri-01-b except that the links here are external.
+      </p>
+      <p>
+        In the four quadrants of the initial picture are four graphical objects.
+        Clockwise from upper right, they are
+        a purple rectangle, blue ellipse, green polygon (pentagon), and yellow
+        circle.  Each is labelled and tightly boxes with a rectangular frame.
+        These are identical to their counterparts in linking-uri-01-b.svg, in which
+        file each has an associated 'view' element, with attributes
+        per the labels in the initial picture.
+      </p>
+      <p>
+        In the center is a gray box with four lines of text, each of which says
+        "Go to" followed by Rectangle, Ellipse, Polygon, and Circle, respectively.
+        Each of these is contained within an 'a' element, whose xlink:href names
+        the respective 'view' element of the respective graphical object.
+      </p>
+      <p>
+        There are several reference images associated with this test case.  The first
+        illustrates the correct initial state of the rendered SVG file, which should
+        also be the correct picture after the Rectangle link is executed.
+        The second, third, and fourth illustrate the correct images as described
+        above after respectively the Ellipse, Polygon, and Circle links are activated.
+        (Note.  This harness does not yet provide access to multiple PNGs; the PNG for the
+        initial view is shown.)
+      </p>
+      <p>
+        The test uses the 'rect', 'circle', 'ellipse', and 'polygon' elements,
+        as well as basic fill (solid simple colors),
+        stroke (black and colored 1-pixel lines), font-family (Arial) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        In turn, activate each of the "Rectangle", "Ellipse", "Polygon" and "Circle" links
+        in the gray box in the middle of the document, navigating back (for example with
+        the Back button if in a browser) after activating each one.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all of the sub-tests have the correct behavior:
+      </p>
+      <ul>
+        <li>After activating the "Rectangle" link, the whole of linking-uri-01-b.svg
+        must be displayed, which is visually similar to this document, linking-uri-02-b.svg.
+        (The 'view' element has no attributes (other than id), so the correct view in
+        the frame is of the parent 'svg' element, which is the whole picture.)</li>
+        <li>After navigating back and activating the "Ellipse" link, the view must change so that it is
+        zoomed (uniformly scaled) and centered on the ellipse in linking-uri-01-b.svg.
+        The black rectangle surrounding the ellipse must be just within the frame.</li>
+        <li>After navigating back and activating the "Circle" link, the view must change so that it is
+        zoomed and centered on the yellow circle in linking-uri-01-b.svg.  The view is scaled non-uniformly, however,
+        so that the circle is stretched horizontally ito an ellipse.  The black rectangle
+        surrounding it must be just within the frame.</li>
+        <li>After navigating back and activating the "Polygon" link, the whole of
+        linking-uri-01-b.svg must be displayed.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-uri-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="50" y="16" font-size="12">Link test of the 'view' element and its attributes, 2 of 2, external.</text>
+    <g font-size="14">
+      <g transform="translate(-150,75)">
+        <rect x="300" y="55" width="125" height="85" fill="#aaa"/>
+        <a xlink:href="../images/linking-uri-01-b.svg#rect-view">
+          <text x="310" y="70" fill="purple">Go to Rectangle</text>
+        </a>
+        <a xlink:href="../images/linking-uri-01-b.svg#ellipse-view">
+          <text x="310" y="90" fill="blue">Go to Ellipse</text>
+        </a>
+        <a xlink:href="../images/linking-uri-01-b.svg#circle-view">
+          <text x="310" y="110" fill="yellow">Go to Circle</text>
+        </a>
+        <a xlink:href="../images/linking-uri-01-b.svg#polygon-view">
+          <text x="310" y="130" fill="green">Go to Polygon</text>
+        </a>
+        <text x="310" y="150" font-size="12">Click element's line</text>
+        <text x="310" y="162" font-size="12">to link to its view in</text>
+        <text x="310" y="174" font-size="12">linking-uri-01-b.</text>
+      </g>
+
+      <!-- In linking-uri-01-b, there is the following 'view' element. -->
+      <!-- View with no attributes.  Picture should not change. -->
+      <!-- <view id="rect-view" /> -->
+      <rect id="rect-object" fill="purple" x="295" y="36" width="135" height="68"/>
+      <text id="rect-label" x="362.5" y="116" text-anchor="middle">Rectangle</text>
+      <rect x="292" y="29" width="141" height="91" fill="none" stroke="black"/>
+      <text x="362.5" y="132" font-size="10" text-anchor="middle">No view attributes except id.</text>
+      <!-- In linking-uri-01-b, there is the following 'view' element. -->
+      <!-- Test viewBox.  Should blow-up the ellipse in the frame. -->
+      <!-- <view id="ellipse-view" viewBox="295 216 150 82"/> -->
+      <ellipse id="ellipse-object" fill="blue" cx="370" cy="251" rx="72" ry="32"/>
+      <text id="ellipse-label" x="370" y="295" text-anchor="middle">Ellipse</text>
+      <rect x="295" y="216" width="150" height="82" fill="none" stroke="black"/>
+      <text x="370" y="212" font-size="10" text-anchor="middle">viewBox, should fill frame.</text>
+      <!-- In linking-uri-01-b, there is the following 'view' element. -->
+      <!-- Test preserveAspectRatio. -->
+      <!-- <view id="circle-view" viewBox="20 29 128 91.5" preserveAspectRatio="none"/> -->
+      <circle id="circle-object" fill="yellow" cx="85" cy="68" r="36"/>
+      <text id="circle-label" x="85" y="116" text-anchor="middle">Circle</text>
+      <rect x="36" y="29" width="98" height="91" fill="none" stroke="black"/>
+      <text x="85" y="130" font-size="10" text-anchor="middle">viewBox &amp; non-uniform</text>
+      <text x="85" y="139" font-size="10" text-anchor="middle">preserveAspectRatio</text>
+      <!-- In linking-uri-01-b, there is the following 'view' element. -->
+      <!-- Test viewTarget attribute, no change to the viewport. -->
+      <!-- <view id="polygon-view" viewTarget="polygon-object" /> -->
+      <polygon id="polygon-object" fill="green" points="87,211 134,238 116,283 57,283 39,238 87,211"/>
+      <text id="polygon-label" x="85" y="295" text-anchor="middle">Polygon</text>
+      <rect x="36" y="208" width="100" height="89" fill="none" stroke="black"/>
+      <text x="85" y="195" font-size="10" text-anchor="middle">viewTarget, no</text>
+      <text x="85" y="204" font-size="10" text-anchor="middle">changes to viewport</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.10 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/linking-uri-03-t.svg b/Tests/W3CTestSuite/svg/linking-uri-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..52c766e027380461265388f4de574d17b4fc2c48
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/linking-uri-03-t.svg
@@ -0,0 +1,92 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lee Klosterman" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: linking-uri-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#LinksIntoSVG">
+      <p>
+        Verify the handling of the allowable xlink attributes on the 'a' element.
+        The initial view of this test contains a single green triangle, labelling text,
+        and the usual template legend and frame.
+      </p>
+      <p>
+        The purpose of the test is to
+        verify that viewers tolerate the presence of xlink attributes on the 'a'
+        element.  The presence of the attributes should not change the behavior of
+        the test in any way.
+      </p>
+      <p>
+        There are two reference images associated with this test case.  The first
+        illustrates the correct "start" or initial state of the rendered SVG file.
+        The second illustrates the correct image after the link is activated
+        (to the linkingToc-t.svg file).  (Note.  This harness does not yet
+        provide access to multiple PNGs; the first, initial-state PNG is shown.)
+      </p>
+      <p>
+        The test uses the 'rect' element, as well as basic fill (solid simple colors),
+        stroke (black and colored wide and 1-pixel lines), font-family (Arial) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Click on the center green triangle.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There is a link on the triangle, pointing to an external SVG file, which is
+        local (in the same directory).  The target file contains SVG 'text' elements
+        which comprise a TOC and brief description of all of the BE test files
+        for Linking.  Upon clicking the triangle, the image of the linkingToc-t.svg
+        file should replace the initial view of this test case in the viewer frame.
+      </p>
+      <p>
+        The results of executing the link should be identical
+        to executing the first (topmost) link of linking-a-04-t.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: linking-uri-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="75" y="16" font-size="12">Simple exercise of xlink attributes on the 'a' element.</text>
+    <a xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" xlink:href="../images/linkingToc-t.svg" xlink:role="figure-out-a-role-value-and-associated-xmlns" xlink:title="TOC of Linking BE tests." target="_self">
+      <path d="M 135 122 l 130 0 l -65 130 z" fill="lime" stroke="blue"/>
+    </a>
+    <text x="160" y="116" font-size="12">Click for TOC</text>
+    <text x="25" y="172" font-size="12">Link to local file</text>
+    <text x="25" y="182" font-size="12">linkingToc-t.svg.</text>
+    <rect x="19" y="160" width="100" height="26" fill="none" stroke="black"/>
+    <text x="275" y="144" font-size="10">xlink:type="simple"</text>
+    <text x="275" y="155" font-size="10">xlink:show="replace"</text>
+    <text x="275" y="166" font-size="10">xlink:actuate="onRequest"</text>
+    <text x="275" y="177" font-size="10">xlink:href="linkingToc-t.svg"</text>
+    <text x="275" y="188" font-size="10">xlink:role="figure-out-a-role"</text>
+    <text x="275" y="199" font-size="10">xlink:title="TOC of Linking BE tests."</text>
+    <text x="275" y="210" font-size="10">target="_self"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-filter-01-f.svg b/Tests/W3CTestSuite/svg/masking-filter-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..777c6c6933c30ec15560182bcb46a358936123e3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-filter-01-f.svg
@@ -0,0 +1,81 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="CM" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: masking-filter-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#Introduction">
+      <p>
+        This tests that the 'filter' property does not apply to 'mask'.
+      </p>
+      <p>
+        The mask 'm' covers a rectangular area (200 x 200) except for a window
+        (100 x 100) in the top left hand corner. Initially the mask window is
+        set on top of the green square. Hence, the green square is shown and
+        the red square is covered. If filters are supported the window within
+        the mask will be shifted by an offset of 100,100 placing it on top of
+        the red square.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if a green square is shown.  If any
+        red shows, the test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-filter-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g shape-rendering="geometricPrecision">
+      <text font-size="18" x="10" y="35">Testing 'filter' applied to 'mask'</text>
+
+      <defs>
+        <filter id="f" x="0" y="0" width="200" height="200"
+                filterUnits="userSpaceOnUse" filterPrimitiveUnits="userSpaceOnUse">
+          <feOffset dx="100" dy="100"/>
+        </filter>
+        <mask id="m" x="0" y="0" width="200" height="200"
+              maskUnits="userSpaceOnUse" maskContentUnits="userSpaceOnUse"
+              filter="url(#f)">
+          <rect width="100" height="100" fill="white"/>
+        </mask>
+      </defs>
+
+      <g mask="url(#m)" transform="translate(10,50)">
+        <rect width="100" height="100" fill="green"/>
+        <rect x="101" y="101" width="99" height="99" fill="red"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-intro-01-f.svg b/Tests/W3CTestSuite/svg/masking-intro-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4a0357bd722f4eacd3743d52b18b9a84a7bcaf67
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-intro-01-f.svg
@@ -0,0 +1,81 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: masking-intro-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#Introduction">
+      <p>
+        The rules are different regarding the geometry of a shape when clipping and masking.
+        For example, a clip-path does not take into account the stroke of the shape used for clipping.
+        It is however, used when masking.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are two identical darkblue circles at the top of the illustration, and
+        below those two circles, two more circles should appear. They are of lighter appearance,
+        the one on the left has a darker and thick stroke.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-intro-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g shape-rendering="geometricPrecision">
+      <title id="test-title">masking-mask-04-f.svg</title>
+      <desc id="test-desc">Tests the impact of strokes within clipPath and mask</desc>
+      <text font-size="18" x="240" y="35" text-anchor="middle">Testing stroke inclusion for 'clip-path' and 'mask'</text>
+
+      <defs>
+        <clipPath id="one" clipPathUnits="objectBoundingBox">
+          <circle cx="0.3" cy="0.5" r="0.2" stroke-width="0.15" fill="none" stroke="red"/>
+          <circle cx="0.7" cy="0.5" r="0.2" stroke-width="0.15" fill="none" stroke="none"/>
+        </clipPath>
+      </defs>
+
+      <rect x="150" y="0" width="200" height="200" fill="darkblue" clip-path="url(#one)"/>
+      <text x="50" y="110">With a 'clip-path':</text>
+
+      <defs>
+        <mask id="two" maskUnits="objectBoundingBox" maskContentUnits="objectBoundingBox" color-interpolation="linearRGB">
+          <circle cx="0.3" cy="0.5" r="0.2" stroke-width="0.15" fill="blue" stroke="red"/>
+          <circle cx="0.7" cy="0.5" r="0.2" stroke-width="0.15" fill="blue" stroke="none"/>
+        </mask>
+      </defs>
+
+      <rect x="150" y="150" width="200" height="200" fill="darkblue" mask="url(#two)"/>
+      <text x="50" y="260">With a 'mask':</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-mask-01-b.svg b/Tests/W3CTestSuite/svg/masking-mask-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5928d57ea392342cda329185deaf23a4a45c5788
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-mask-01-b.svg
@@ -0,0 +1,131 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: masking-mask-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#Masking">
+      <p>
+        Test to see if the masking features using the mask element and mask
+        property are available.
+      </p>
+      <p>
+        A red rectangle is displayed in the background to help view the result
+        of transparency and masking.
+      </p>
+      <p>
+        From top to bottom, the tests are as follows.
+      </p>
+      <p>
+        In the top test, a linear gradient is used inside the mask to change the opacity
+        of the rectangle from 1.0 (at the top) to 0.5 (at the bottom).
+      </p>
+      <p>
+        In the second test, a simple 50% opaque rectangle is used as a mask.
+      </p>
+      <p>
+        In the third test, no mask is used, but a rectangle is shown with 50% opacity.
+        The second and third test should look the same.
+      </p>
+      <p>
+        Lastly, a string of text has a mask applied to it. The mask only covers a partial
+        area of the text, so the text should only be half visible. Also the mask consists
+        of 4 rectangles with various levels of opacity.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except
+        variations are possible in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-mask-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  <style type="text/css">
+  @font-face {
+     font-family: larabie-anglepoise;
+     src: url(woffs/anglepoi.woff) format("woff");
+     }
+  </style>
+    <defs>
+      <font horiz-adv-x="313">
+        <!-- Converted from Larabie Anglepoise by Batik ttf2svg -->
+        <font-face font-family="larabie-anglepoise" units-per-em="1000" panose-1="0 0 4 0 0 0 0 0 0 0" ascent="703" descent="-300" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="500" d="M63 0V700H438V0H63ZM125 63H375V638H125V63Z"/>
+        <glyph unicode="S" glyph-name="S" horiz-adv-x="385" d="M371 1H29V144H264Q264 151 264 166Q265 180 265 188Q265 212 249 212H132Q83 212 55 247Q29 279 29 329V566H335V422H136V375Q136 360 144 356Q148 355 168 355H279Q327 355 352 309Q371 273 371 221V1Z"/>
+        <glyph unicode="V" glyph-name="V" horiz-adv-x="351" d="M365 563L183 -33L0 563H101L183 296L270 563H365Z"/>
+        <glyph unicode="G" glyph-name="G" horiz-adv-x="367" d="M355 1H18V564H355V420H125V144H248V211H156V355H355V1Z"/>
+        <hkern g1="V" g2="G" k="-40"/>
+      </font>
+    </defs>
+    <g font-family="SVGFreeSansASCII,sans-serif">
+    <text font-size="14" x="10" y="20">Test for mask support</text>
+    <!-- Draw a red rectangle in the background -->
+    <rect x="10" y="30" width="100" height="260" fill="red"/>
+    <!-- Apply a gradient ramp based opacity -->
+    <mask id="mask1" maskUnits="userSpaceOnUse" x="60" y="50" width="100" height="60" color-interpolation="linearRGB">
+      <defs>
+        <linearGradient gradientUnits="userSpaceOnUse" id="Grad1" x1="60" y1="50" x2="60" y2="120">
+          <stop stop-color="white" stop-opacity="1" offset="0"/>
+          <stop stop-color="white" stop-opacity="0.5" offset="1"/>
+        </linearGradient>
+      </defs>
+      <rect x="60" y="50" width="100" height="60" fill="url(#Grad1)"/>
+    </mask>
+    <rect x="60" y="50" width="100" height="60" fill="lime" mask="url(#mask1)"/>
+    <text font-size="12" x="200" y="65">Mask with linear gradient from</text>
+    <text font-size="12" x="200" y="80">opacity=1 to opactity=0.5</text>
+    <!-- Simulate a uniform opacity using a mask -->
+    <mask id="mask2" maskUnits="userSpaceOnUse" x="60" y="120" width="100" height="30" color-interpolation="linearRGB">
+      <rect x="60" y="120" width="100" height="30" fill-opacity="0.5" fill="white"/>
+    </mask>
+    <rect x="60" y="120" width="100" height="30" fill="lime" mask="url(#mask2)"/>
+    <text font-size="12" x="200" y="135">Mask with uniform opacity of 0.5</text>
+    <!-- Apply a uniform opacity -->
+    <rect x="60" y="160" width="100" height="30" fill="lime" fill-opacity="0.5"/>
+    <text font-size="12" x="200" y="175">Rectangle with uniform opacity of 0.5</text>
+    <!-- Apply a mask to text -->
+    <mask id="mask3" maskUnits="userSpaceOnUse" x="60" y="200" width="200" height="100" color-interpolation="linearRGB">
+      <rect x="60" y="200" width="200" height="25" fill="white" fill-opacity="0.5"/>
+      <rect x="60" y="225" width="200" height="25" fill="white" fill-opacity="0.2"/>
+      <rect x="60" y="250" width="200" height="25" fill="white" fill-opacity="1"/>
+      <rect x="60" y="275" width="200" height="25" fill="white" fill-opacity="0.7"/>
+    </mask>
+    <text x="60" y="280" font-family="larabie-anglepoise" font-size="110" fill="lime" mask="url(#mask3)">SVG</text>
+    <text  font-size="12" x="200" y="225">Text with mask containing rectangles</text>
+    <text  font-size="12" x="200" y="240">of various opacities</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-mask-02-f.svg b/Tests/W3CTestSuite/svg/masking-mask-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..38cd9420ee7a8a9dfc4a9beb625d5133a5b36114
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-mask-02-f.svg
@@ -0,0 +1,50 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="accepted" version="$Revision: 1.3 $" testname="$RCSfile: masking-mask-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/masking.html#Masking">
+      <p>
+        If the 'mask' property references a 'mask' element containing no children, the element referencing it is not rendered.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+			<p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is a single green rectangle, with no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-mask-02-f.svg,v $</title>
+    <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <mask id="testMask" />
+    <rect x="100" y="100" width="250" height="150" fill="green" />
+    <rect x="100" y="100" width="250" height="150" fill="red" mask="url(#testMask)" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/masking-opacity-01-b.svg b/Tests/W3CTestSuite/svg/masking-opacity-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ce34caeb623df6ed6d37abef94b0b006d3e2d96d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-opacity-01-b.svg
@@ -0,0 +1,125 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: masking-opacity-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#ObjectAndGroupOpacityProperties">
+      <p>
+        Test to see the effect of applying an opacity property to a group.
+      </p>
+      <p>
+        A blue rectangle with a green rectangle on top are contained in a
+        group. This opacity of the group and the opacity of the rectangles are
+        changed in this test. A red rectangle is provided in the background so
+        that opacity changes are obvious visually.
+      </p>
+      <p>
+        From top to bottom, the tests are as follows.
+      </p>
+      <p>
+        In the top test, the opacities of the group and the individual rectangles are
+        all set to 1. 
+      </p>
+      <p>
+        In the second test, the group is given an opacity of 0.5. 
+      </p>
+      <p>
+        In the third test, the group maintains a group opacity of 1 whereas each individual
+        rectangle is given an opacity of 0.5 in the group. 
+      </p>
+      <p>
+        Lastly, the group and individual rectangles are all given an opacity of 0.5.
+      </p>
+
+
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        In the top test, the green rectangle should appear on top of the blue
+        rectangle.
+      </p>
+      <p>
+        In the second test, the blue
+        rectangle should not show through in the region where the green and blue overlap.
+      </p>
+      <p>
+        In the third test, the blue rectangle
+        should show through in the overlap region.
+      </p>
+      <p>
+        Lastly, the
+        result should be similar to the previous test only fainter (because the opacity) is
+        resulting in less contribution.
+      </p>
+      <p>
+        The rendered picture should match the reference image exactly, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-opacity-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="24" x="50" y="27">Test for opacity property on a group.</text>
+    <rect x="10" y="30" width="100" height="260" fill="red"/>
+    <g opacity="1">
+      <rect x="60" y="50" width="80" height="40" fill="blue"/>
+      <rect x="70" y="60" width="80" height="40" fill="lime"/>
+    </g>
+    <text font-size="20" x="200" y="62">Group opacity: 1</text>
+    <text font-size="20" x="200" y="80">Blue rectangle opacity: 1</text>
+    <text font-size="20" x="200" y="98">Green rectangle opacity: 1</text>
+    <g opacity="0.5">
+      <rect x="60" y="110" width="80" height="40" fill="blue"/>
+      <rect x="70" y="120" width="80" height="40" fill="lime"/>
+    </g>
+    <text font-size="20" x="200" y="122">Group opacity: 0.5</text>
+    <text font-size="20" x="200" y="140">Blue rectangle opacity: 1</text>
+    <text font-size="20" x="200" y="158">Green rectangle opacity: 1</text>
+    <g opacity="1">
+      <rect x="60" y="170" width="80" height="40" fill="blue" opacity=".5"/>
+      <rect x="70" y="180" width="80" height="40" fill="lime" opacity=".5"/>
+    </g>
+    <text font-size="20" x="200" y="182">Group opacity: 1</text>
+    <text font-size="20" x="200" y="200">Blue rectangle opacity: 0.5</text>
+    <text font-size="20" x="200" y="218">Green rectangle opacity: 0.5</text>
+    <g opacity="0.5">
+      <rect x="60" y="230" width="80" height="40" fill="blue" opacity=".5"/>
+      <rect x="70" y="240" width="80" height="40" fill="lime" opacity=".5"/>
+    </g>
+    <text font-size="20" x="200" y="242">Group opacity: 0.5</text>
+    <text font-size="20" x="200" y="260">Blue rectangle opacity: 0.5</text>
+    <text font-size="20" x="200" y="278">Green rectangle opacity: 0.5</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-01-b.svg b/Tests/W3CTestSuite/svg/masking-path-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..81dbc8da5e30d0f6dea124f81eb70edfac6f5b02
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-01-b.svg
@@ -0,0 +1,95 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="LH" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: masking-path-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#ClippingPaths">
+      <p>
+        Test to see if the basic clipping works using the clipPath element
+        and the clip-path property.
+      </p>
+      <p>
+        This test uses the following elements : &lt;clipPath&gt; and the following
+        properties : clip-path.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test at the top shows an orange rectangle (with black stroke) being clipped by another rectangle.
+        So only the middle portion of the orange rectangle should be visible. Also the black stroke should
+        only be visible along the top and bottom edge of the rectangle.
+      </p>
+      <p>
+        The example at the bottom has a group containing a text string and two rectangles. The group
+        has a clipping path defined using two  overlapping rectangles. Of concern is the overlapping area
+        shared by the two rectangles. There should not be holes in this overlapping area, the
+        clip region is the union of the two rectangles. For clarity,
+        guide rectangles in grey show the position of the clipping rectangles.
+      </p>
+      <p>
+        The rendered picture should match the reference image exactly, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g shape-rendering="geometricPrecision">
+      <!--text font-size="14"  x="10" y="20">Test for clipping using clipPath element</text-->
+      <defs>
+        <clipPath id="clip1">
+          <rect x="200" y="10" width="60" height="100"/>
+        </clipPath>
+        <clipPath id="clip2">
+          <rect x="90" y="150" width="175" height="100"/>
+          <rect x="225" y="160" width="95" height="75"/>
+        </clipPath>
+      </defs>
+      <rect x="20" y="20" width="440" height="60" fill="orange" stroke="black" stroke-width="5" clip-path="url(#clip1)"/>
+      <text font-size="30" x="20" y="130">Rectangle being clipped</text>
+      <g clip-path="url(#clip2)">
+        <rect x="115" y="190" width="225" height="40" fill="aqua" stroke="blue" stroke-width="5"/>
+        <rect x="115" y="240" width="225" height="40" fill="lime" stroke="green" stroke-width="5"/>
+        <text font-size="30" x="115" y="180">Line of text to be clipped</text>
+      </g>
+      <text font-size="30" x="20" y="280">Group being clipped</text>
+      <!--  show the two rects and the overlap area -->
+      <g fill="none" stroke="#999" stroke-width="2">
+        <rect x="90" y="150" width="175" height="100"/>
+        <rect x="225" y="160" width="95" height="75"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-02-b.svg b/Tests/W3CTestSuite/svg/masking-path-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d952df142295b11669b9cdf29c7fac916338e25d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-02-b.svg
@@ -0,0 +1,84 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: masking-path-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#ClippingPaths">
+      <p>
+        Test to see if clipPathUnits attribute is handled properly on a
+        clipPath element. Only tests the userSpaceOnUse and
+        objectBoundingBox items of the clipPathUnits. userSpace has been
+        tested by the previous test as it is the default.
+      </p>
+      <p>
+        The test at the top shows a pink rectangle that has been clipped by a
+        rectangular clipping path. The clipping path is defined using clipPathUnits=objectBoundingBox.
+        
+      </p>
+      <p>
+        The example at the bottom a rotated blue rectangle that has been clipped by a
+        rectangular clipping path. The clipping path is defined using clipPathUnits=userSpaceOnUse.
+        
+      </p>
+      <p>
+        The rendered picture should match the reference image exactly, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if the pink rectangle and blue diamond do not have any
+        color painted outside of their black borders.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g shape-rendering="geometricPrecision">
+      <clipPath id="clip1" clipPathUnits="objectBoundingBox">
+        <rect x=".25" y=".5" width=".6" height="1"/>
+      </clipPath>
+      <rect x="10" y="10" width="430" height="80" fill="#F08" clip-path="url(#clip1)"/>
+      <rect x="117" y="50" width="258" height="40" fill="none" stroke="black" stroke-width="4"/>
+      <text font-size="30" x="20" y="130">clipPathUnits=objectBoundingBox</text>
+      <clipPath id="clip2" clipPathUnits="userSpaceOnUse">
+        <rect x="60" y="60" width="80" height="80"/>
+      </clipPath>
+      <rect transform="translate(100 200) rotate(-45)" x="0" y="0" width="120" height="120" fill="blue" clip-path="url(#clip2)"/>
+      <rect transform="translate(100 200) rotate(-45)" x="60" y="60" width="60" height="60" fill="none" stroke="black" stroke-width="4"/>
+      <text font-size="30" x="20" y="280">clipPathUnits=userSpaceOnUse</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-03-b.svg b/Tests/W3CTestSuite/svg/masking-path-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..92186a6c5065e1c7372dfc95ce18caa0c449b7b5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-03-b.svg
@@ -0,0 +1,134 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: masking-path-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#ClippingPaths">
+      <p>
+        Test 'overflow'/'clip' on outermost and inner 'svg' elements.
+      </p>
+      <p>
+        There are two parts to the test. The first part tests viewport clipping
+        on outermost 'svg' elements. The second part tests viewport clipping
+        on inner 'svg' elements.
+      </p>
+      <p>
+        The test case also tests the initial value of the 'overflow' property
+        to ensure that it is set to 'hidden' for all 'svg' elements.
+        Tester should zoom out and/or pan to check this.
+      </p>
+      <p>
+        To test clipping to the outermost 'svg' element,
+        a rectangle with a light blue interior, a light red border and a black
+        string that says "Clip to outer 'svg'" is painted four times such that
+        it will overflow each of the top, left, right and bottom
+        sides of the bounds of the outermost 'svg' element, respectively.
+      </p>
+      <p>
+        To test clipping to inner 'svg' elements, a rectangle with a light red
+        interior, a light blue border and a black string that says "Clip to
+        inner 'svg'" is painted four times such that it will overflow each of
+        the top, left, right and bottom sides of the bounds of an inner 'svg'
+        element, respectively.  
+      </p>
+      <p>
+        Note that minor text layout differences, as are permissible under CSS2
+        rules, can lead to slightly different visual results regarding where
+        the text strings get clipped.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if:</p>
+      <ul>
+        <li>The four "Outer Clip" boxed strings must not render outside the
+        outermost 'svg' element (the 480x360 rectangular viewport) and
+        must continue to be clipped to this viewport if the image is zoomed in or out,
+        or panned.</li>
+        <li>The four "Inner Clip" boxed strings must not render outside the
+        bounds of the green rectangle.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g shape-rendering="geometricPrecision">
+      <!--text font-size="18" text-anchor="middle" x="240" y="70">Test 'overflow'/'clip' on outermost and inner 'svg' elements</text-->
+      <text font-size="18" x="10" y="70">Test 'overflow'/'clip' on outermost and inner 'svg' elements</text>
+      <!-- Test initial value for 'overflow' property (i.e., hidden)
+       on outermost 'svg' -->
+      <g font-size="48" stroke-width="2">
+        <g transform="translate(115,-20)">
+          <rect width="250" height="60" fill="#ccccff" stroke="#ff8888"/>
+          <text x="15" y="45">Outer Clip</text>
+        </g>
+        <g transform="translate(-175,150)">
+          <rect width="250" height="60" fill="#ccccff" stroke="#ff8888"/>
+          <text x="15" y="45">Outer Clip</text>
+        </g>
+        <g transform="translate(405,150)">
+          <rect width="250" height="60" fill="#ccccff" stroke="#ff8888"/>
+          <text x="15" y="45">Outer Clip</text>
+        </g>
+        <g transform="translate(115,330)">
+          <rect width="250" height="60" fill="#ccccff" stroke="#ff8888"/>
+          <text x="15" y="45">Outer Clip</text>
+        </g>
+      </g>
+      <!-- Test initial value for 'overflow' property (i.e., hidden)
+       on inner 'svg' -->
+      <rect x="115" y="100" width="250" height="160" fill="none" stroke="#006600" stroke-width="5"/>
+      <svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="115" y="100" width="250" height="160">
+        <g font-size="32" stroke-width="2">
+          <g transform="translate(50,-15)">
+            <rect width="150" height="35" fill="#ffaaaa" stroke="#6666ff"/>
+            <text x="6" y="26">Inner Clip</text>
+          </g>
+          <g transform="translate(-50,62.5)">
+            <rect width="150" height="35" fill="#ffaaaa" stroke="#6666ff"/>
+            <text x="6" y="26">Inner Clip</text>
+          </g>
+          <g transform="translate(150,62.5)">
+            <rect width="150" height="35" fill="#ffaaaa" stroke="#6666ff"/>
+            <text x="6" y="26">Inner Clip</text>
+          </g>
+          <g transform="translate(50,140)">
+            <rect width="150" height="35" fill="#ffaaaa" stroke="#6666ff"/>
+            <text x="6" y="26">Inner Clip</text>
+          </g>
+        </g>
+      </svg>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-04-b.svg b/Tests/W3CTestSuite/svg/masking-path-04-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..983bfd1b4a703c88a5dd89c1c2754fcba7a3315b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-04-b.svg
@@ -0,0 +1,79 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: masking-path-04-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#ClippingPaths">
+      <p>
+        This test exercises basic user-specified clip paths, using a text
+        string (i.e., content of a 'text' element) as the clip path.
+      </p>
+      <p>
+        There is a rectangular image of a swirly blue pattern with large
+        yellow text, "Clip Test" superimposed. The image is a PNG file,
+        imported into the picture via the 'image' element.
+      </p>
+      <p>
+        The test uses the 'rect' element, as well as basic fill (solid primary
+        colors), stroke (black 1-pixel lines), font-family (Arial and
+        Impact) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for
+        possible variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-04-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g shape-rendering="geometricPrecision">
+      <defs>
+        <clipPath id="sample" clipPathUnits="userSpaceOnUse">
+          <text x="45" y="270" font-size="100" font-family="Impact">Clip Test</text>
+        </clipPath>
+      </defs>
+
+      <g>
+        <image xlink:href="../images/bluesquidj.png" preserveAspectRatio="none" x="30" y="20" width="410" height="140"/>
+        <text x="55" y="130" font-size="100" font-family="Impact" fill="yellow">Clip Test</text>
+      </g>
+      <g>
+        <image xlink:href="../images/bluesquidj.png" preserveAspectRatio="none" x="20" y="170" width="410" height="160" clip-path="url(#sample)"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-05-f.svg b/Tests/W3CTestSuite/svg/masking-path-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e6146eabd4d4a962fe846bf3b59d92c06fcb6e29
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-05-f.svg
@@ -0,0 +1,78 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: masking-path-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#ClippingPaths">
+      <p>
+        Test to see if clip-rule property has been implemented properly.
+      </p>
+      <p>
+        The test at the top shows a red rectangle that has been clipped by a
+        clipping path that overlaps itself.
+      </p>
+      <p>
+        The test at the bottom shows a blue rectangle that has been clipped by a
+        clipping path that overlaps itself.
+      </p>
+      <p>
+        The rendered picture should match the reference image exactly, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        In the first rectangle, the clip-rule is defined to be evenodd so the overlap should have a hole in it.
+        The clip-rule is defined to be nonzero so the overlap should be filled.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-05-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g shape-rendering="geometricPrecision">
+      <text font-size="14" x="150" y="20">Test for clip-rule property.</text>
+      <clipPath id="clip1">
+        <path clip-rule="evenodd" d="M200,40l20,0 0,60 20,0 0,-20 -60,0 0,-20 80,0 0,60 -60,0 0,-80z"/>
+      </clipPath>
+      <rect x="50" y="30" width="350" height="100" fill="red" clip-path="url(#clip1)"/>
+      <text font-size="12" x="100" y="140">clip-rule=evenodd</text>
+      <clipPath id="clip2">
+        <path clip-rule="nonzero" d="M200,170l20,0 0,60 20,0 0,-20 -60,0 0,-20 80,0 0,60 -60,0 0,-80z"/>
+      </clipPath>
+      <rect x="50" y="160" width="350" height="100" fill="blue" clip-path="url(#clip2)"/>
+      <text font-size="12" x="100" y="270">cliprule=nonzero</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-06-b.svg b/Tests/W3CTestSuite/svg/masking-path-06-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6d0425ab5dd0c3533edcfe15a5de2a6c8b5a0c7a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-06-b.svg
@@ -0,0 +1,66 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="issue"
+    version="$Revision: 1.8 $" testname="$RCSfile: masking-path-06-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#ClippingPaths">
+      <p>
+        The intent of this file to test the 'clip' property.  In this test, the clipped objects are
+        raster and SVG images.
+        
+        <!-- ED: The bottom right subtest is the source of the issue, since CSS2.1 changed how 'clip' should be interpreted compared to CSS2.0. -->
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The UA should render two images inside the red rectangles.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-06-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g shape-rendering="geometricPrecision">
+      <text font-size="20" x="240" y="30" text-anchor="middle">'clip' property on images</text>
+
+      <image x="35" y="45" width="200" height="120" overflow="hidden" clip="rect(10,10,10,10)" xlink:href="../images/plant.jpg" preserveAspectRatio="none"/>
+      <rect x="35" y="45" width="200" height="120" fill="none" stroke="blue"/>
+      <rect x="45" y="55" width="180" height="100" fill="none" stroke="red"/>
+      <text font-size="25" x="245" y="110">&lt;-- raster image</text>
+
+      <image x="245" y="180" width="200" height="120" overflow="hidden" clip="rect(10,10,10,10)" xlink:href="../images/SVGImageTest.svg" preserveAspectRatio="none"/>
+      <rect x="245" y="180" width="200" height="120" fill="none" stroke="blue"/>
+      <rect x="255" y="190" width="180" height="100" fill="none" stroke="red"/>
+      <text font-size="25" x="70" y="250">SVG image --&gt;</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-07-b.svg b/Tests/W3CTestSuite/svg/masking-path-07-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..63f73d821f53e04739244a70ef7b349095afb2f5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-07-b.svg
@@ -0,0 +1,147 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.11 $" testname="$RCSfile: masking-path-07-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#ClippingPaths">
+        <p>
+          This tests that 'clipPath' elements can be used together and how the clipping paths are intersected.
+        </p>
+      <p>
+        There is a gray-white pattern as a background for the two subtest rectangles. This is to show that the holes that are cut out using clip-paths are transparent.
+        The first subtest verifies that when you use the 'clip-path' property on a child element inside a 'clipPath' element the child element is clipped correctly.
+        The second subtest verifies that when a 'clipPath' element has a 'clip-path' property the result is the intersection of the two clip paths.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if the following conditions are met:
+			</p>
+			<ul>
+				<li>There is no red visible.</li>
+				<li>No shapes extend outside of the rects that have a thick black border.</li>
+				<li>For the left subtest:
+					<ul>
+						<li>There must be a large blue rect with a transparent smaller rect in it, and the intersection of two circles.</li>
+						<li>The borders of the clipregions are shown with black stroke.</li>
+						<li>The blue shapes must be visible only inside of these stroked regions.</li>
+				 	</ul>
+				</li>
+				<li>For the right subtest:
+					<ul>
+						<li>The test on the right must show part of the large blue rect shape with a transparent rect in it, and part of a circle.</li>
+						<li>The blue shapes must only be visible inside of the circle that has black stroke.</li>
+					</ul>
+				</li>
+			</ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-07-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <clipPath id="clipCircle1">
+        <circle id="c1" cx="100" cy="100" r="50"/>
+      </clipPath>
+
+      <clipPath id="clipCircle2">
+        <circle id="c2" cx="150" cy="150" r="50"/>
+      </clipPath>
+
+      <clipPath id="clipPath1">
+        <path id="p1" d="M10 10l100 0 0 100 -100 0ZM50 50l40 0 0 40 -40 0Z" clip-rule="evenodd"/>
+      </clipPath>
+
+      <!-- "If a valid 'clip-path' reference is placed on one of the children of a 'clipPath' element, 
+		      then the given child element is clipped by the referenced clipping path before OR'ing the 
+			  silhouette of the child element with the silhouettes of the other child elements." -->
+      <clipPath id="clipRects1">
+        <rect x="50" y="30" width="25" height="100"/>
+        <rect x="25" y="50" width="10" height="10" clip-path="url(#clipTwoCircles)"/>
+      </clipPath>
+
+      <!-- Test use in a clipPath -->
+      <clipPath id="clipTwoCircles">
+        <use xlink:href="#c1"/>
+        <use xlink:href="#c2"/>
+      </clipPath>
+
+      <clipPath id="clipInClip1">
+        <use xlink:href="#c2" clip-path="url(#clipCircle1)"/>
+        <use xlink:href="#p1"/>
+      </clipPath>
+
+      <clipPath id="clipOnClip1" clip-path="url(#clipCircle1)">
+        <use xlink:href="#c2"/>
+        <use xlink:href="#p1"/>
+      </clipPath>
+
+      <pattern patternUnits="userSpaceOnUse" id="pattern" x="0" y="0" width="20" height="20">
+        <rect x="0" y="0" width="10" height="10" fill="gray"/>
+        <rect x="10" y="10" width="10" height="10" fill="gray"/>
+      </pattern>
+    </defs>
+
+    <rect x="20" y="70" width="210" height="210" fill="url(#pattern)" stroke="black" stroke-width="4"/>
+		<rect x="250" y="70" width="210" height="210" fill="url(#pattern)" stroke="black" stroke-width="4"/>
+
+    <text x="240" y="2em" text-anchor="middle">Test clip unions and intersections</text>
+
+    <g transform="translate(20, 70)">
+      <g id="subtest1">
+        <use xlink:href="#p1" fill="red" fill-rule="evenodd"/>
+        <use xlink:href="#c2" fill="red" clip-path="url(#clipCircle1)"/>
+        <use xlink:href="#c1" fill="red" clip-path="url(#clipCircle2)"/>
+
+        <rect width="200" height="200" fill="blue" clip-path="url(#clipInClip1)"/>
+
+        <use xlink:href="#c2" fill="none" clip-path="url(#clipCircle1)" stroke="black"/>
+        <use xlink:href="#c1" fill="none" clip-path="url(#clipCircle2)" stroke="black"/>
+        <use xlink:href="#p1" fill="none" stroke="black"/>
+      </g>
+
+      <g id="subtest2" transform="translate(230,0)">
+        <g clip-path="url(#clipCircle1)">
+          <use xlink:href="#c2" fill="red"/>
+          <use xlink:href="#p1" fill="red" fill-rule="evenodd"/>
+        </g>
+
+        <rect width="300" height="300" fill="blue" clip-path="url(#clipOnClip1)"/>
+
+        <use xlink:href="#c1" fill="none" stroke="black"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.11 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-08-b.svg b/Tests/W3CTestSuite/svg/masking-path-08-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..17291ade903b355ddb221d6a05880ced69a0b3a5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-08-b.svg
@@ -0,0 +1,140 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: masking-path-08-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#EstablishingANewClippingPath">
+        <p>
+          This tests a few 'clip-path' cases to see that clipping paths are applied and constructed properly.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There are nine subtests in this test. There should be a big stroked rectangle with nine smaller rectangles inside. If all of the smaller rectangles are green the test has passed.
+      </p>
+      <p>
+        The test has passed if:
+      </p>
+			<ul>
+				<li>There is no red visible.</li>
+				<li>Each of the nine small rectangles are green.</li>
+			</ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-08-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+	
+		<defs>
+			<clipPath id="emptyclip">
+			</clipPath>
+			<clipPath id="hiddenclip">
+				<rect width="100" height="100" visibility="hidden"/>
+			</clipPath>
+			<clipPath id="displayclip">
+				<rect width="100" height="100" display="none"/>
+			</clipPath>
+			<clipPath id="opacityclip">
+				<rect width="100" height="100" opacity="0"/>
+			</clipPath>
+			<clipPath id="strokefillclip">
+				<rect width="100" height="100" stroke="none" fill="none"/>
+			</clipPath>
+			<clipPath id="strokewidthclip">
+				<rect x="40" y="40" width="20" height="20" stroke="black" stroke-width="80"/>
+			</clipPath>
+			<clipPath id="strokeopacityclip">
+				<rect x="40" y="40" width="20" height="20" stroke="black" stroke-opacity="0" stroke-width="80"/>
+			</clipPath>
+			<clipPath id="fillopacityclip">
+				<rect width="100" height="100" fill-opacity="0"/>
+			</clipPath>
+		</defs>
+		
+		<text x="240" y="50" text-anchor="middle">Establishing a new clipping path</text>
+		
+		<g transform="scale(0.5) translate(320 200)">
+			<rect width="100" height="100" fill="lime"/>
+			<rect width="100" height="100" fill="red" clip-path="url(#emptyclip)"/>
+
+			<g transform="translate(110 0)">
+				<rect width="100" height="100" fill="lime"/>
+				<rect width="100" height="100" fill="red" clip-path="url(#hiddenclip)"/>
+			</g>
+			
+			<g transform="translate(220 0)">
+				<rect width="100" height="100" fill="lime"/>
+				<rect width="100" height="100" fill="red" clip-path="url(#displayclip)"/>
+			</g>
+
+			<!-- This has an intentionally broken clip-path url -->
+			<g transform="translate(0 110)">
+				<rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+				<rect width="100" height="100" fill="lime" clip-path="url(#unknown)"/>
+			</g>
+			
+			<g transform="translate(110 110)">
+				<rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+				<rect width="100" height="100" fill="lime" clip-path="url(#opacityclip)"/>
+			</g>
+			
+			<g transform="translate(220 110)">
+				<rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+				<rect width="100" height="100" fill="lime" clip-path="url(#strokefillclip)"/>
+			</g>
+			
+			<g transform="translate(0 220)">
+				<rect width="100" height="100" fill="lime"/>
+				<rect width="100" height="100" fill="red" clip-path="url(#strokewidthclip)"/>
+				<rect x="39" y="39" width="22" height="22" fill="lime"/>
+			</g>
+			
+			<g transform="translate(110 220)">
+				<rect width="100" height="100" fill="lime"/>
+				<rect width="100" height="100" fill="red" clip-path="url(#strokeopacityclip)"/>
+				<rect x="39" y="39" width="22" height="22" fill="lime"/>
+			</g>
+			
+			<g transform="translate(220 220)">
+				<rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+				<rect width="100" height="100" fill="lime" clip-path="url(#fillopacityclip)"/>
+			</g>
+			
+			<rect width="320" height="320" fill="none" stroke="black"/>
+		</g>
+		
+		
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-09-b.svg b/Tests/W3CTestSuite/svg/masking-path-09-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d272e605ce86ade4db6a4497de63d351c95ae43f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-09-b.svg
@@ -0,0 +1,73 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DAS" author="CM" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: masking-path-09-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#EstablishingANewClippingPath">
+      <p>
+        This tests that a clip path applied to an element does not affect
+        bounding box computation.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the rectangle is green.  The test is failed
+        if any part of the rectangle is red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-09-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='40' font-size='13'>Test bounding box calculations with clip paths</text>
+
+    <clipPath id='c' clipPathUnits='userSpaceOnUse'>
+      <rect x='10' y='50' width='50' height='50'/>
+    </clipPath>
+
+    <g id='g' clip-path='url(#c)' fill='red'>
+      <rect x='10' y='50' width='50' height='50'/>
+      <rect x='60' y='50' width='50' height='50' fill='red'/>
+    </g>
+
+    <script>
+      var g = document.getElementById('g');
+      if (g.getBBox().width == 100) {
+        g.setAttribute('fill', 'green');
+      }
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-10-b.svg b/Tests/W3CTestSuite/svg/masking-path-10-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..251d34bdf013757ccea8e0d0ab2fe4678958d565
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-10-b.svg
@@ -0,0 +1,138 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="SVGWG" author="ED" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: masking-path-10-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#Masking">
+        <p>
+          This tests a few 'mask' cases to see that masks are applied and constructed properly.
+        </p>
+      <p>
+          There are nine subtests in this test. There should be a big stroked rectangle with nine smaller rectangles inside. If all of the smaller rectangles are green the test has passed.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+			<ul>
+				<li>There is no red visible.</li>
+				<li>Each of the nine small rectangles are green.</li>
+			</ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-10-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+	
+		<defs>
+			<mask id="emptymask"/>
+			<mask id="hiddenmask">
+				<rect width="100" height="100" visibility="hidden"/>
+			</mask>
+			<mask id="displaymask">
+				<rect width="100" height="100" display="none"/>
+			</mask>
+			<mask id="opacitymask">
+				<rect width="100" height="100" opacity="0"/>
+			</mask>
+			<mask id="strokefillmask">
+				<rect width="100" height="100" stroke="none" fill="none"/>
+			</mask>
+			<mask id="strokewidthmask">
+				<rect x="40" y="40" width="20" height="20" stroke="white" stroke-width="20"/>
+			</mask>
+			<mask id="strokeopacitymask">
+				<rect x="40" y="40" width="20" height="20" stroke="white" stroke-opacity="0" stroke-width="20"/>
+			</mask>
+			<mask id="fillopacitymask">
+				<rect width="100" height="100" fill-opacity="0"/>
+			</mask>
+		</defs>
+		
+		<text x="240" y="50" text-anchor="middle">Establishing a new masking path</text>
+		
+		<g transform="scale(0.5) translate(320 200)">
+			<rect width="100" height="100" fill="lime"/>
+			<rect width="100" height="100" fill="red" mask="url(#emptymask)"/>
+
+			<g transform="translate(110 0)">
+				<rect width="100" height="100" fill="lime"/>
+				<rect width="100" height="100" fill="red" mask="url(#hiddenmask)"/>
+			</g>
+			
+			<g transform="translate(220 0)">
+				<rect width="100" height="100" fill="lime"/>
+				<rect width="100" height="100" fill="red" mask="url(#displaymask)"/>
+			</g>
+
+			<!-- This has an intentionally broken mask url -->
+			<g transform="translate(0 110)">
+				<rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+				<rect width="100" height="100" fill="lime" mask="url(#unknown)"/>
+			</g>
+			
+			<g transform="translate(110 110)">
+				<rect x="0.5" y="0.5" width="99" height="99" fill="lime"/>
+				<rect width="100" height="100" fill="red" mask="url(#opacitymask)"/>
+			</g>
+			
+			<g transform="translate(220 110)">
+				<rect x="0.5" y="0.5" width="99" height="99" fill="lime"/>
+				<rect width="100" height="100" fill="red" mask="url(#strokefillmask)"/>
+			</g>
+			
+			<g transform="translate(0 220)">
+				<rect width="100" height="100" fill="lime"/>
+				<rect width="100" height="100" fill="red" mask="url(#strokewidthmask)"/>
+				<rect x="29" y="29" width="42" height="42" fill="lime"/>
+			</g>
+			
+			<g transform="translate(110 220)">
+				<rect width="100" height="100" fill="lime"/>
+				<rect width="100" height="100" fill="red" mask="url(#strokeopacitymask)"/>
+			</g>
+			
+			<g transform="translate(220 220)">
+				<rect x="0.5" y="0.5" width="99" height="99" fill="lime"/>
+				<rect width="100" height="100" fill="red" mask="url(#fillopacitymask)"/>
+			</g>
+			
+			<rect width="320" height="320" fill="none" stroke="black"/>
+		</g>
+		
+		
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-11-b.svg b/Tests/W3CTestSuite/svg/masking-path-11-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..957f85319ab398c354593b013a12ac5eb6595ea4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-11-b.svg
@@ -0,0 +1,67 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: masking-path-11-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/masking.html#Masking">
+      <p>
+        Test the mask element with child elements with white and black fills,
+        to create a mask that clips out some text in the middle.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the letters 'ABC' are visible inside a blue
+        circle, and the letters are transparent, showing the checkered
+        background image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-11-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <mask id="maskedtext">
+        <circle cx="50%" cy="50%" r="50" fill="white"/>
+        <text x="50%" y="55%" text-anchor="middle" font-size="48">ABC</text>
+      </mask>
+    </defs>
+    
+    <image xlink:href="../images/DisplaceChecker.png" x="140" y="80" width="200" height="200"/>
+    <rect width="100" height="100" x="190" y="130" fill="blue" mask="url(#maskedtext)"/>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/masking-path-12-f.svg b/Tests/W3CTestSuite/svg/masking-path-12-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..60c6894931b116b32d2bf1d69fe2a547fc234641
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-12-f.svg
@@ -0,0 +1,78 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="accepted" version="$Revision: 1.5 $" testname="$RCSfile: masking-path-12-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/masking.html#clipPath-geometry">
+      <p>
+        Properties inherit into the 'clipPath' element and its children.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+			<p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is a green rect visible, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-12-f.svg,v $</title>
+    <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g display="table">
+        <clipPath id="testClip" display="inherit">
+            <rect x="100" y="100" width="50" height="50" display="inherit" />
+        </clipPath>
+    </g>
+    
+    <rect id="pass" x="200" y="100" width="50" height="50" fill="green"/>
+    <rect id="fail" x="200" y="100" width="50" height="50" fill="red"/>
+    
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var test = document.getElementById("testClip");
+            var testChild = test.firstChild.nextSibling;
+            var testAppliedStyle = document.defaultView.getComputedStyle(test, null).getPropertyValue("display");
+            var testChildAppliedStyle = document.defaultView.getComputedStyle(testChild, null).getPropertyValue("display");
+            var testExpectedStyle = "table";
+            if((testAppliedStyle == testExpectedStyle) && (testChildAppliedStyle == testExpectedStyle))
+            {
+                document.getElementById("fail").setAttribute("display", "none");
+            }
+        }
+        catch(ex)
+        {
+          //alert('ERROR: ' + ex.message);
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/masking-path-13-f.svg b/Tests/W3CTestSuite/svg/masking-path-13-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..89b85421baef2ca1239e0ffe6c3196176c73f6b3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-13-f.svg
@@ -0,0 +1,52 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="accepted" version="$Revision: 1.2 $" testname="$RCSfile: masking-path-13-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/masking.html#clipPath-geometry">
+      <p>
+        Test that the children of the 'clipPath' element are not rendered directly.
+      </p>
+    </d:testDescription>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is a green rectangle, and no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-13-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  <rect x="100" y="100" width="200" height="100" fill="green" />
+    <clipPath id="testClip">
+        <rect x="100" y="100" width="200" height="100" fill="red" />
+    </clipPath>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/masking-path-14-f.svg b/Tests/W3CTestSuite/svg/masking-path-14-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b0c39c0f43ac2a7d90fa6d6977d018723b8808b4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/masking-path-14-f.svg
@@ -0,0 +1,72 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="accepted" version="$Revision: 1.2 $" testname="$RCSfile: masking-path-14-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/masking.html#EstablishingANewClippingPath">
+      <p>
+        The 'clipPath' element itself and its children elements do not inherit clipping paths from ancestors of the 'clipPath' element.
+      </p>
+             <p>
+        Overlay a red 'rect' with a black 'rect' of a larger size. Define a 'clipPath' with a 'rect' of the same size as the red 'rect', but different 'x' and 'y' offsets. Reference that 'clipPath' from a 'g' element containing another 'clipPath' element. In this latter 'clipPath', specify a 'rect' of the same size and same 'x' and 'y' offsets as the red 'rect', and reference it from the black 'rect' element. Reference the same 'clipPath' elements, but this time with a black 'rect' which overlays a red 'rect' of a larger size. If there is no red on the page, the first 'clipPath' was not inherited by the second 'clipPath'.
+      </p>
+    </d:testDescription>
+        <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there are two black rectangles, and there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: masking-path-14-f.svg,v $</title>
+    <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+        <clipPath id="testClipPathAncestor">
+        <rect x="50" y="50" width="50" height="50" />
+    </clipPath>
+    <g clip-path="url(#testClipPathAncestor)">
+        <clipPath id="testClipPath">
+            <rect x="0" y="0" width="50" height="50" />
+        </clipPath>
+    </g>
+    <svg x="0" y="0" width="200" height="200">
+        <rect x="0" y="0" width="50" height="50" fill="red" />
+        <rect x="0" y="0" width="200" height="200" fill="black" clip-path="url(#testClipPath)" />
+    </svg>
+    <svg x="200" y="0" width="200" height="200">
+        <rect x="0" y="0" width="200" height="200" fill="red" clip-path="url(#testClipPath)" />
+        <rect x="0" y="0" width="50" height="50" fill="black" />
+    </svg>
+  </g>
+   <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/metadata-example-01-t.svg b/Tests/W3CTestSuite/svg/metadata-example-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..69eda51c95dc9d047f0e43c8918ddc229bb64fbe
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/metadata-example-01-t.svg
@@ -0,0 +1,160 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: metadata-example-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/metadata.html#Example">
+        <p>
+          Check that metadata in a variety of namespaces, inside a metadata
+          element, does not affect rendering in any way. The file is not valid to 
+          the SVG 1.1 DTD, but is well formed.
+        </p>
+        <p>The diagram on the table is, by the way, a visualization of the 
+        RDF metadata in the graphic.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered result should match the reference image and there should be
+        no error messages or warnings
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: metadata-example-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  <metadata>
+    <rdf:RDF 
+      xmlns:prism="http://prismstandard.org/namespaces/1.0/basic/"
+      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+      xmlns:dc="http://purl.org/dc/elements/1.1/"
+      xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+      <!-- The empty value for the rdf:about attribute means it is describing  
+            the file this is contained in. -->
+         <rdf:Description rdf:about="">
+           <dc:description>Line drawing of woman in antique attire, 
+             which looks legal or perhaps mystical.</dc:description>
+           <dc:format>image/svg+xml</dc:format>
+           <dc:subject>Sibyll Trelawney</dc:subject>
+           <dc:type rdf:resource="http://prismstandard.org/vocabularies/1.0/resourcetype.xml#birdsEye"/>
+           <dc:type rdf:resource="http://prismstandard.org/vocabularies/1.0/resourcetype.xml#illustration"/>
+         </rdf:Description>
+       </rdf:RDF>
+    </metadata>
+    <g transform="scale(1.2)">
+      <g id="Sibyll" fill="#FFF" stroke="#000" stroke-miterlimit="4">
+        <g stroke="none">
+          <path fill="#000" d="M132.386,113.177c0.394-2.645,0.978-6.189,1.681-10.262c-7.597-5.655-19.264-14.488-26.764-25.988l-1.667-0.667c5.333,15.167,25,32.833,26.75,36.917l15.583,15.25c0,0,10,10.667,12.167,13.833c2.167,3.167,3.5,7.167,1.333,9.833     c-1.667-1-4.833-5.333-8-9.167c0,0-7-1.5-13.833-1.333c0,0,2.667,5.5,3.833,8c0.563,1.207,0.465,2.141,0.064,3.047c6.241,4.828,12.252,13.801,16.102,18.453c4,4.833,5.548,8.822,12.167,10.167c10.667,2.167,16.667,7.5,19.667,10s3,4,1.833,4.833     c0,0-4.167,1.5-11,2c-6.833,0.5-12.333-3.333-15.167-3.333c-4.333-0.167-6.333-3-7.833-6.333c-1.5-3.333-4.5-4.833-9.167-7.667c-4.293-2.606-14.858-7.894-19.053-14.174c-4.791,3.163-10.643,5.756-17.447,8.34l-1.333-1.333c-1.933,0.773-4.538,1.52-7.574,1.925     c2.113,6.17,7.926,15.123,10.157,16.908c2.5,2,4.25,4.25,4.25,6.5s-0.75,5.5-3.75,9.5c-0.5,13-6,19.75-12.5,22.25c-4.5-15-0.5-25.25,1.5-31.25c0,0-7.472-6.813-12.938-12.608c0.73,3.979,1.468,7.703,2.188,10.942c0,0-1.232,1.575-3.5,0.833     c-8.667-2.833-22.167-10.333-27.333-16.333c-2.667-7.833-6.5-33.667-7.667-44.333c0,0-5.167-1.333-10.167-2.667c0,0-0.667-0.333-1.5-3.5c0,0-5.667-1.667-11.833-3c-6.167-1.333-5.667-2.667-6.667-6.167s0.667-28.5,2.5-36.667c1.833-8.167,10.5-22.167,15.833-28     c0,0-1.006-0.135-1.833-2.5c-5.833-16.667-7.833-27.333-0.667-37.667c7.167-10.333,20.167-6,26.667-2.833c6.5,3.167,6.667,8.333,8.167,10.833s0.333,4.833,2,7.167c17.667,7,26.833,16.667,38.833,27.167c7.5,3.667,13.667,9.667,18.667,13.833     c1.124,0.937,2.323,2.151,3.556,3.525c1.444-7.663,2.858-14.936,3.944-20.275c3-14.75,9.5-47,10.25-49.25l3,0.25c29.25,0.25,69.75-1,69.75-1c0.25,20.25,0.25,62.5,0.25,74.25s0,39,0.25,42.25c0,0-3.75,2-8.333,2.75c1,0.167,1.667,2.5-0.167,3.333     c-3,0.167-25.333,0.167-33-1c-1.245-0.189-2.923-0.326-4.879-0.422c2.441,2.484,8.906,8.839,19.629,17.838l-0.25,8.25l-9,0.25l-31.952-26.426c-4.665,0.081-8.525,0.176-10.215,0.176l-15.583-15.25z"/>
+          <path fill="#000" d="M60.654,1.358c-0.844,0.915-1.808,2.263-2.857,3.938c-1.195-1.07-3.74-3.216-6.342-4.566l-1.904,2.413l6.058,5.882c-0.131,0.236-0.264,0.477-0.397,0.721C46.57,3.133,43.441,0.554,43.441,0.554l-2.39,2.766     c3.972,4.632,9.453,8.916,11.891,10.729c-0.211,0.413-0.423,0.831-0.636,1.255C39.417,5.651,34.449,0.917,34.449,0.917l-2.717,2.945c7.647,7.33,15.917,14.754,18.024,16.638c-0.204,0.425-0.408,0.854-0.613,1.284C36.8,12.691,27.994,4.367,25.422,0.449     l-2.39,2.765c8.104,8.539,20.319,19.211,24.227,22.583c-0.206,0.443-0.411,0.888-0.617,1.333c-9.527-6.31-14.627-11.31-18.931-15.432C23.201,7.377,17.976,1.917,15.896,0L13.02,3.119c7.717,8.503,25.108,24.004,31.619,28.399     c-0.243,0.537-0.485,1.073-0.726,1.607C30.32,22.46,10.721,5.175,6.985,2.362L4.901,4.448c8.872,9.074,31.669,29.336,36.615,34.038c-0.3,0.677-0.597,1.346-0.89,2.006C25.883,27.823,2.664,6.874,2.664,6.874L1.12,9.939c10.493,10.57,33.952,32.544,37.258,35.638     c-0.259,0.585-0.512,1.158-0.758,1.715C22.515,33.526,7.848,20.476,3.401,16.852l-2.237,2.426c11.139,10.986,30.478,28.518,34.581,32.227c-0.323,0.72-0.628,1.394-0.913,2.015C21.063,40.369,5.95,27.057,2.685,23.887l-2.383,2.932     c8.691,8.46,29.709,27.74,32.738,30.515c-0.304,0.651-0.648,1.404-1.029,2.247C18.259,46.584,5.606,34.76,2.869,32.553l-2.25,2.092c9.949,10.825,26.338,25.906,29.82,28.451c-0.32,0.724-0.656,1.485-1.006,2.28C16.333,52.826,2.679,40.233,2.679,40.233     l-2.224,2.759c9.067,9.678,23.141,23.04,27.343,26.12c-0.297,0.683-0.602,1.383-0.912,2.098C15.543,60.602,2.703,49.073,2.703,49.073C1.238,49.966,0,52.352,0,52.352C11.334,63.218,22.136,73.12,24.95,75.689c-0.261,0.606-0.525,1.22-0.792,1.841     C8.771,63.626,2.36,57.093,2.36,57.093l-1.884,2.912c8.419,8.851,18.809,19.06,21.778,21.963c-0.157,0.366-0.313,0.733-0.472,1.102C10.825,74.056,2.944,67.412,2.944,67.412l-1.737,2.405c8.374,8.123,16.46,14.983,18.948,17.065     c-0.242,0.567-0.484,1.137-0.728,1.709C10.261,82.019,3.115,75.745,3.115,75.745l-1.85,3.745c8.161,7.937,14.37,12.905,16.005,14.183c-0.244,0.576-0.488,1.152-0.732,1.729C7.159,87.785,4.131,84.377,4.131,84.377l-2.363,3.432     c5.442,5.678,11.379,9.753,13.319,11.023c-0.25,0.592-0.5,1.183-0.748,1.773l-10.71-8.035l-1.884,2.912l10.717,9.579c-0.152,0.362-0.303,0.723-0.455,1.083l-8.603-6.725l-1.724,2.738l8.792,7.647c-0.276,0.659-0.549,1.313-0.821,1.962l-6.45-5l-1.737,2.405     l6.509,6.618c-0.19,0.457-0.379,0.911-0.566,1.36l-5.095-3.509l-1.384,2.892l4.96,4.278c-0.144,0.347-0.286,0.69-0.427,1.031l-2.546-1.553l-1.211,3.051l2.199,2.281c-1.341,3.262-2.508,6.131-3.433,8.444l2.725,1.391c1.204-3.218,31.228-73.322,36-83.189     S60.577,7.7,62.173,1.797l-1.519-0.439z"/>
+          <path d="M142.803,106.261c-1,0.5-3,1-5-0.5c0,0-3.667,12.333-2.667,17.667c3.667,1.833,42.833,2.5,52.667,2.5c16.833,0,26.167,1,30,0.5c4.583-0.75,8.333-2.75,8.333-2.75c-0.25-3.25-0.25-30.5-0.25-42.25s1.333-54.354-0.25-74.25c0,0-40.5,1.25-69.75,1     c0.5,5.75-2.395,17.829-4,24.25c-1.5,6-5,25.25-9.929,48.894c3.256,4.04,6.499,8.469,9.012,11.273c0,0,0.089,1.697-0.189,3.521c3.856,1.062,6.481,3.062,7.981,5.312s2.25,5.625,1.375,7.875c0.625,3.125,0.5,5.375-0.875,5.75s-2.5,1-4.5,0.25     c-0.875,3.25-1.25,3.5-1.25,3.5c-1.75,0-2.375-0.125-2.375-0.125c-3-4.125-8.667-7.833-8.333-12.417z"/>
+          <path fill="#000" d="M207.303,18.594c0,0-19,6.167-39.167,13.333c0,0,0.716,6.012,1.617,11.404c-4.629,2.158-9.096,4.243-12.617,5.93c0,0,5,18,10.333,30.333c2.833-2.167,23-11.833,37.167-19.667c0,0-0.888-2.858-2.156-6.833     c1.809-0.587,7.883-2.55,9.156-2.833c1.5-0.333,1.5-2.833,1.5-2.833s-4.333-21.667-5.833-28.833z"/>
+          <path d="M133.469,159.427c-6.038,5.712-26.618,15.097-44.84,10.635c-1.833-11.777-3.345-23.232-3.993-29.635c-1.333-13.167-1.5-27.167-1.5-27.167c7,0.833,11.333-0.333,11.333-0.333c-0.333-4,0.5-9.5,0.5-9.5c2.5,3.167,7,5,8.333,1.833     c1.333-3.167,2.5-8.667,2.5-8.667c3.5,2.167,10,9.667,15.833,19c5.833,9.333,11.833,18.833,15.333,26.5c3.5,7.667,2.667,11.5-3.5,17.333z"/>
+          <path d="M150.303,98.094c-0.573,1.604-3.428,4.624-5.483,6.519c0.691,4.564,3.566,8.189,4.941,9.189s2.75,2,2.75,2c0.625-2.125-0.25-4.25-3.125-5.625c-0.375-1,0.75-3,1.75-2s2,0.375,2,0.375c1.875,2.75,2.125,4.125,2.125,4.125l2,0.5     c0-3.125-0.625-4.5,0.375-6.25c-1-3.75-2.292-7.042-7.333-8.833z"/>
+          <path d="M115.386,197.677c-1.5,7.25-3.25,13.25-4.5,16.25s-0.75,5.25-4.75,5c-3.25-1.5-3.5-3.75-2.25-8.5s3.5-9,3.5-12.25c-6.583-7.147-13.873-14.577-17.08-17.819c-0.354-2.073-0.703-4.181-1.043-6.295c4.057,1.386,8.024,1.841,11.607,1.757     c3.328,8.71,11.053,18.163,14.516,21.857z"/>
+          <path d="M141.636,155.761c0.054-0.094,0.108-0.187,0.164-0.277c7.517,8.107,12.258,14.859,14.67,17.111c2.5,2.333,6.5,8.667,10,9.833c3.5,1.167,11.833,4.167,14.333,5.333s2.667,1.833,2.167,3.667c-0.5,1.833-1.333,2.833-7,2.167     c-5.667-0.667-11.833-1.5-12.167-3.833c-0.333-2.333-7.333-9.5-11.833-11.5c-4.067-1.808-15.622-8.652-18.299-13.521c3.277-2.538,5.95-5.452,7.965-8.979z"/>
+          <path d="M193.136,150.927l-3,0.25c-13.131-11.256-23.025-19.555-27.146-22.997c1.969-0.023,3.993-0.039,5.991-0.041c9.588,10.269,24.155,22.788,24.155,22.788z"/>
+          <path d="M169.303,74.427c-4.667-11.833-7.833-23.667-7.833-23.667c13.333-6.333,32-15.167,32-15.167c2.5,9.167,7.333,23.333,7.333,23.333c-15.833,7.5-31.5,15.5-31.5,15.5z"/>
+          <path d="M201.697,50.65c-2.207-6.863-5.115-15.666-6.728-19.556c-2.217,1.478-12.056,6.098-21.979,10.728c-0.355-1.502-1.255-5.506-1.521-8.561c2.5-0.5,22.333-6.667,33.5-10.167c0.333,2.833,2.333,12.833,4.667,25.167c-1.124,0.75-5.709,1.873-7.938,2.389z"/>
+          <path d="M121.636,69.302l-0.333-2.333c5.333,3.333,20.667,18,26.167,25.667c0,2-1.833,1.333-2.833,0.333s-3.667-5.167-9-10.5c-5.333-5.333-12-13.333-14-13.167z"/>
+          <path d="M119.136,74.136c-0.667-6.833-3.333-11.333-12-18.5c-8.667-7.167-19.833-16.667-26.667-18.5c1.167,1.167,1.5,2.333,1.5,2.333c9.167,4.667,25.667,18.833,29.5,24.333s6.333,10,7.667,10.333z"/>
+          <path d="M68.441,165.532c-0.229-1.13-0.446-2.215-0.649-3.251c-1.987-0.381-3.908-1.266-5.172-1.943c0.2,1.172,0.399,2.327,0.595,3.453c1.945,0.734,3.919,1.353,5.227,1.741z"/>
+          <path d="M69.66,171.421c-2.355-0.877-4.315-1.616-5.454-2.046c0.217,1.205,0.426,2.347,0.622,3.412c2.266,0.833,4.26,1.692,5.618,2.308c-0.274-1.266-0.536-2.491-0.786-3.674z"/>
+          <path d="M61.589,154.129c2.229,0.848,3.901,1.444,4.997,1.822c-0.184-0.999-0.351-1.93-0.504-2.797c-1.253-0.34-2.919-0.923-4.952-1.916c0.151,0.962,0.304,1.927,0.46,2.891z"/>
+          <path d="M65.795,177.971c0.369,1.946,0.59,3.082,0.59,3.082s3.25,3.75,6.5,5c-0.317-1.384-0.622-2.732-0.916-4.042c-2.397-1.074-4.802-2.904-6.174-4.04z"/>
+          <path d="M64.884,145.852c-0.178-1.214-0.249-1.8-0.249-1.8l-4.75-1.25c0.093,0.678,0.189,1.366,0.288,2.06c1.966,0.497,3.552,0.803,4.711,0.99z"/>
+          <path d="M41.469,94.136c0.5,5.5,2.833,15.333,2.833,15.333l7.333,0.833l1.5,1.5c1-3.667,3.5-5.333,6.5-5.167s13.167,0,13.167,0c0.167-4.5,0.833-11,0.833-11c-2,4-3.5,4.833-6.333,4.167c-2.833-0.667-22.167-5.5-25.833-5.667z"/>
+          <path d="M44.303,90.636l2.167-2.833c11.667,1.5,25.333,5.667,25.333,5.667s-1,2.833-2.667,3.667c-12.333-2.667-24.833-6.5-24.833-6.5z"/>
+          <path d="M49.636,114.969c-0.5,2.167-0.5,8.5-0.5,8.5c3.333,0,4.833,0.5,4.667,1.833c1.5,0.167,2.833,1.5,2.833,1.5c2.833-0.333,5.167,1.333,9.167,1.5c4,0.167,5.5,2,8.5-0.667c-3.5,0.167-9.167-0.167-9.5-2.333c4.333-0.333,9.167,0.333,10.333-0.5     c0.833-1,0-1.667,0-1.667c-5.167,0-11.167-0.333-11-2c0.167-1.667,4.333-0.333,6.5-0.167c2.167,0.167,6,0.333,6.167-1.5c0.167-1.833-2.833-0.833-4.833-0.833s-7.5,0.167-7.333-1.5c0.167-1.667,2-1,5.5-0.833c3.5,0.167,6,0,6.167-1.333     c-3-0.5-7.5-1.333-9.833-1.667c-2.333-0.333-5.5-0.167-5.5-0.167c-0.5-1.667,1.333-2.833,4-2.167c2.667,0.667,5,0.667,5,0.667s3.5-0.667,2.5-1.667s-7.333-0.333-10.5-1c-3.167-0.667-6.167-0.333-6.833,2.167c-0.667,2.5-0.833,4.333-5.5,3.833z"/>
+          <path d="M52.969,128.302c-0.167,3-1.333,4.5-1.333,4.5c7,1.167,13.667,2,15.833,2.667c2.5-1.667,2.5-4,2.5-4c-6-0.167-11-1.167-17-3.167z"/>
+          <path d="M48.303,83.802c0.32-0.641,0.712-1.385,1.158-2.195c-3.615-2.958-6.491-4.972-6.491-4.972c0.531-1.044,1.041-2.015,1.535-2.927c2.657,2.698,5.046,4.441,6.417,5.345c0.384-0.646,0.789-1.311,1.211-1.984c-2.489-1.858-5.061-4.094-6.501-5.381     c0.501-0.871,0.986-1.675,1.458-2.414c2.28,2.454,5.479,4.286,6.863,5.014c0.36-0.527,0.728-1.049,1.1-1.563c-2.814-2.162-4.917-4.646-6.071-6.168c0.626-0.813,1.238-1.517,1.844-2.126c2.739,2.539,5.216,4.473,6.461,5.41c0.314-0.374,0.627-0.733,0.94-1.077     c-2.576-2.421-4.665-4.903-5.513-5.949c0.684-0.484,1.375-0.871,2.09-1.181c1.745,2.559,3.975,4.467,5.164,5.387c0.454-0.404,0.901-0.759,1.336-1.054l-3.5-4.167c0,0-4.5-1.167-11.167-2.333c-2.833,2.5-10.167,14-13.667,20.5s-5,22.5-5.167,28.167     c-0.167,5.667-0.833,12,0.5,15.333c0,0,0.506-0.025,1.369-0.083c0.068-3.272-0.202-6.251-0.202-6.251s0.64-0.07,1.667-0.163v6.307c0.644-0.051,1.375-0.113,2.167-0.188v-6.298c0.526-0.04,1.087-0.079,1.668-0.115l1.005,6.131c0.435-0.051,0.878-0.105,1.327-0.163     v-6.086c0.758-0.03,1.52-0.049,2.261-0.055l0.32,5.773c0.916-0.145,1.831-0.305,2.723-0.482l-0.111-5.215c0.679,0.048,1.292,0.12,1.806,0.223l0.974,4.384c0.064-0.017,0.129-0.034,0.192-0.051c0.167-2.667,0.333-6.333,1.667-8c0,0-4.333-0.833-7.833-1.667     c-3.5-0.833-7.167,1.333-7.167,1.333l-1-3.167c0,0,2.333-0.167,5.833-3.167c0,0,1.333-2.833,2.333-7c0,0,0.5-2.667-0.5-5c-1-2.333,0.167-4,1.667-4c0,0,1.667-1,2.833-4c-0.833-1-0.333-2.833-2.167-4.333l1-3.5c0,0,2.333,2.833,6.167,5.167z"/>
+          <path d="M72.469,87.636c-3-10-4.333-21.333-4.333-21.333c1.833,0.167,3-1.667,2.833-3.333c-0.167-1.667,0.167-3.833,0.167-3.833c2.5,0,6.833,2.667,6.5-2.167l1.833-0.5l-0.667,1.333c5.667,2.5,10.167,8,13,11c-0.167,3.167-1.333,4.833-1.333,4.833     c-7.5-8.5-10.667-11.667-17.5-13.5c-0.833-0.167-1.167,0.833-1.167,0.833c3.667,11.5,7.667,18.5,6.5,24.833c-1.167,1.833-5.833,1.833-5.833,1.833z"/>
+          <path d="M71.803,57.136c1.333-0.5,3.5-0.167,3.5-0.167v1c0,0-1.833,0.833-3.5-0.833z"/>
+          <path d="M69.303,59.469c-0.5,2-0.833,4.833-0.833,4.833c-2.833-0.5-7-2.167-8.333-5c-0.167-1.833-0.5-3.333-0.5-3.333c4.167,2.333,7.833,3.833,9.667,3.5z"/>
+          <path d="M61.041,22.638c1.264-0.02,4.413-0.208,7.262-1.502c-1.5-6.333-16.5-5.667-19-5.167s-6,3.833-7.333,6.667c0.407,0.078,0.821,0.147,1.241,0.209c0.353-0.971,0.765-1.43,0.967-1.61c0.539-0.141,1.064-0.269,1.579-0.386l-0.121,2.274     c0.448,0.038,0.897,0.069,1.347,0.094c0.278-0.639,0.836-1.885,1.368-2.879c0.916-0.149,1.796-0.258,2.648-0.325l-0.633,3.291c0.734-0.001,1.454-0.015,2.151-0.036l1.019-3.336c1.12,0.02,2.201,0.116,3.266,0.287v2.805c0.273-0.022,0.535-0.045,0.784-0.068     l1.205-2.329c0.706,0.176,1.409,0.385,2.118,0.627l0.132,1.386z"/>
+          <path d="M80.719,45.948c-1.216,1.93-3.617,3.119-4.833,3.229c0,0,1.265-2.633,3.503-5c0.58-0.479,0.58-1.229-0.12-1.646c-0.467,0.238-1.198,0.661-1.884,1.27c-1.125,1-2.75-0.25-3.25-1.5c0.781-1.45,3.351-1.408,4.961-1.827c0.622-0.527-0.128-1.34-0.128-1.34     c-2.833-3-7.167-4.333-7.167-6.833c0-1.414,0.373-2.507,0.697-3.191c-0.643,0.122-1.472-0.365-1.614-0.934c-0.201-0.805-0.323-1.369-1.407-2.732c-0.147,0.09-0.295,0.181-0.444,0.273c0.392,1.027,0.987,2.527,1.727,4.209c1.375,3.125-2.125,2.625-2.25,1.125     c-0.093-1.118-0.742-2.652-1.688-3.931c-0.119,0.078-0.237,0.157-0.356,0.236c0.75,1.878,1.31,4.497,1.793,6.819c0.625,3-2.375,2.25-2.625,1c-0.205-1.023-0.83-3.555-2.079-5.744c-0.127,0.098-0.253,0.196-0.379,0.296c0.56,2.288,0.947,5.64,1.333,7.573     c0.5,2.5-2.375,2.5-2.625,0.5c-0.212-1.696-0.245-2.944-1.242-5.878c-0.208,0.2-0.414,0.402-0.616,0.608c0.012,3.123-0.009,8.49-0.268,10.646c-0.375,3.125-2.875,2.375-2.75,1c0.109-1.197-0.161-3.154-0.068-7.767c-0.046,0.076-0.095,0.15-0.14,0.226     c-0.833,5.333-1.167,12.833,4.833,15.5s14.292,3.313,18,0.5c4.208-2.563,1.083-4.313,1.083-6.688z"/>
+          <g fill="#000">
+            <path d="M108.89,146.162c-0.826-0.792-1.639-1.586-2.431-2.375c-3.331,1.829-7.613,3.162-9.51,3.705c0.6,0.995,1.222,2.013,1.855,3.04c5.627-1.592,8.655-3.34,10.085-4.369z"/>
+            <path d="M101.191,138.181c-2.182,1.709-5.985,3.141-7.535,3.682c0.5,0.895,1.054,1.857,1.647,2.868c4.203-1.098,7.043-2.515,8.666-3.492c-0.993-1.046-1.926-2.07-2.778-3.058z"/>
+            <path d="M102.346,156.194c5.876-1.628,9.702-4.044,11.53-5.404c-0.834-0.752-1.673-1.518-2.508-2.293c-2.729,2.457-8.69,4.159-10.893,4.725c0.627,1.002,1.253,1.998,1.871,2.973z"/>
+            <path d="M123.275,158.893c-3.958,2.792-11.935,5.487-15.034,6.474c1.168,1.793,1.895,2.894,1.895,2.894s12.5-3.333,16.5-6.667c-0.892-0.694-2.039-1.613-3.361-2.701z"/>
+            <path d="M117.5,154c-3.033,2.28-10.208,4.545-13.112,5.402c0.657,1.026,1.285,2.002,1.869,2.907c6.353-1.963,11.13-4.771,13.516-6.351c-0.735-0.626-1.496-1.281-2.273-1.958z"/>
+            <path d="M99.333,135.915c-0.582-0.755-1.097-1.476-1.531-2.154c-2.333,1.5-6.667,3-6.667,3c0.173,0.519,0.483,1.221,0.902,2.066c2.759-0.008,4.985-0.774,7.296-2.913z"/>
+            <path d="M66.386,44.677c2.125-1.75,5.375-4.25,5.125-7.25l-1.25-0.625l-0.125-0.75c-5.125,3.25-7.75,4.375-8.5,5c0.875,1.875,2.5,1.375,2.5,1.375c2.125-1.125,4-2.375,4-2.375c-1.875,2.125-2.5,3.125-2.5,3.125s-0.125,0.875,0.75,1.5z"/>
+          </g>
+        </g>
+      </g>
+      <g id="vis" transform="translate(153,58) rotate(-27) scale(0.05)" stroke="rgb(66,105,66)" font-family="dialog, sans-serif" font-size="10">
+        <g fill="rgb(115,191,115)">
+          <ellipse cx="195" cy="210" rx="27" ry="18"/>
+          <ellipse cx="645" cy="102" rx="225" ry="18"/>
+          <ellipse cx="645" cy="156" rx="230" ry="18"/>
+        </g>
+        <g fill="rgb(255,223,123)" stroke="rgb(132,117,66)">
+          <rect height="36" width="100" x="595" y="192"/>
+          <rect height="36" width="276" x="507" y="246"/>
+          <rect height="36" width="106" x="592" y="300"/>
+        </g>
+        <g fill="none" stroke="rgb(90,89,206)">
+          <path d="M201 193C212 170 215 158 240 143 279 122 377 112 428 107"/>
+          <path d="M216 200C224 196 232 193 240 191 311 174 390 165 423 161"/>
+          <path d="M221 210C295 210 497 210 595 210"/>
+          <path d="M221 210C295 210 497 210 595 210"/>
+          <path d="M216 220C224 224 232 227 240 229 334 252 444 261 506 264"/>
+          <path d="M201 227C212 253 215 265 240 280 352 344 508 337 592 325"/>
+        </g>
+        <g fill="rgb(90,89,206)" stroke="none">
+          <polygon points="433,107 425,111 425,103"/>
+          <polygon points="428,160 421,165 420,157"/>
+          <polygon points="600,210 592,214 592,206"/>
+          <polygon points="511,264 503,268 503,260"/>
+          <polygon points="597,324 590,329 588,321"/>
+        </g>
+        <g fill="rgb(66,105,66)">
+          <text x="458" y="105">http://prismstandard.org/vocabularies/1.0/resourcetype.xml#birdsEye</text>
+          <text x="453" y="159">http://prismstandard.org/vocabularies/1.0/resourcetype.xml#illustration</text>
+          <text x="604" y="213">image/svg+xml</text>
+          <text x="530" y="267">Line drawing of woman in antique attire, ...</text>
+          <text x="177" y="213">online:</text>
+          <text x="601" y="321">Sibyll Trelawney</text>
+        </g>
+        <g stroke="rgb(90,89,206)" fill="rgb(90,89,206)">
+          <text x="256" y="158">http://purl.org/dc/elements/1.1/type</text>
+          <text x="250" y="206">http://purl.org/dc/elements/1.1/format</text>
+          <text x="250" y="276">http://purl.org/dc/elements/1.1/subject</text>
+          <text x="256" y="105">http://purl.org/dc/elements/1.1/type</text>
+          <text x="240" y="225">http://purl.org/dc/elements/1.1/description</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-control-01-f.svg b/Tests/W3CTestSuite/svg/painting-control-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..07c1261d58f954ce7e792d6ee1ae47fda9caa082
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-control-01-f.svg
@@ -0,0 +1,107 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: painting-control-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#VisibilityControl">
+      <p>
+        Elements are rendered when the 'display' attribute is set to any valid value other than 'none'.
+      </p>
+      <p>
+        For each valid 'display' value (except none), the test creates a 'rect' element with that 'display' value assigned. Under that 
+        element, a red 'rect' is placed at the exact same 'x', 'y' position with the same height and width. Test passes if the 'rect' 
+        with 'display' covers the red 'rect'.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+	<p>
+	Run the test. No interaction required.
+	</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if 16 black rectangles are shown and there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-control-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect width="48px" height="48px" fill="red" />
+    <rect width="48px" height="48px" display="inline" />
+
+    <rect x="50px" width="48px" height="48px" fill="red" />
+    <rect x="50px" width="48px" height="48px" display="block" />
+
+    <rect x="100px" width="48px" height="48px" fill="red" />
+    <rect x="100px" width="48px" height="48px" display="list-item" />
+
+    <rect x="150px" width="48px" height="48px" fill="red" />
+    <rect x="150px" width="48px" height="48px" display="run-in" />
+
+    <rect y="50px" width="48px" height="48px" fill="red" />
+    <rect y="50px" width="48px" height="48px" display="compact" />
+
+    <rect x="50px" y="50px" width="48px" height="48px" fill="red" />
+    <rect x="50px" y="50px" width="48px" height="48px" display="marker" />
+
+    <rect x="100px" y="50px" width="48px" height="48px" fill="red" />
+    <rect x="100px" y="50px" width="48px" height="48px" display="table" />
+
+    <rect x="150px" y="50px" width="48px" height="48px" fill="red" />
+    <rect x="150px" y="50px" width="48px" height="48px" display="inline-table" />
+
+    <rect y="100px" width="48px" height="48px" fill="red" />
+    <rect y="100px" width="48px" height="48px" display="table-row-group" />
+
+    <rect x="50px" y="100px" width="48px" height="48px" fill="red" />
+    <rect x="50px" y="100px" width="48px" height="48px" display="table-header-group" />
+
+    <rect x="100px" y="100px" width="48px" height="48px" fill="red" />
+    <rect x="100px" y="100px" width="48px" height="48px" display="table-footer-group" />
+
+    <rect x="150px" y="100px" width="48px" height="48px" fill="red" />
+    <rect x="150px" y="100px" width="48px" height="48px" display="table-row" />
+
+    <rect y="150px" width="48px" height="48px" fill="red" />
+    <rect y="150px" width="48px" height="48px" display="table-column-group" />
+
+    <rect x="50px" y="150px" width="48px" height="48px" fill="red" />
+    <rect x="50px" y="150px" width="48px" height="48px" display="table-column" />
+
+    <rect x="100px" y="150px" width="48px" height="48px" fill="red" />
+    <rect x="100px" y="150px" width="48px" height="48px" display="table-cell" />
+
+    <rect x="150px" y="150px" width="48px" height="48px" fill="red" />
+    <rect x="150px" y="150px" width="48px" height="48px" display="table-caption" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-control-02-f.svg b/Tests/W3CTestSuite/svg/painting-control-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8177e60bfccccdea42ba87bb8a36dad7c1f06f85
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-control-02-f.svg
@@ -0,0 +1,65 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: painting-control-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+      <p>
+        'Stroke' attributes affected by directionality start at the point at which the graphics element starts.
+      </p>
+      <p>
+        The test creates two 'path' elements that have the same 'stroke-dasharray' assignment. The paths will create the same visual shape,
+        but the start and end points will be opposite. Test passes if the 'stroke-dasharray' of each path is drawn differently.
+        Second subtest is the same but with stroke-dashoffset.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+	<p>
+	Run the test. No interaction required.
+	</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there are two lines, each composed of alternating black and orange boxes.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-control-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <path d="M 100 100 L 100 190" fill="none" stroke="orange" stroke-width="20" stroke-dasharray="10px 20px 20px" />
+    <path d="M 100 190 L 100 100" fill="none" stroke="black" stroke-width="20" stroke-dasharray="10px 20px 20px" />
+
+    <path d="M 200 100 L 200 190" fill="none" stroke="orange" stroke-width="20" stroke-dashoffset="5px" stroke-dasharray="10px 10px 10px" />
+    <path d="M 200 190 L 200 100" fill="none" stroke="black" stroke-width="20" stroke-dashoffset="5px" stroke-dasharray="10px 10px 10px" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-control-03-f.svg b/Tests/W3CTestSuite/svg/painting-control-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d76402359e6b579b12925505ea88f8c29ef1bc6f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-control-03-f.svg
@@ -0,0 +1,65 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: painting-control-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#FillProperties">
+      <p>
+        Open polyline and path elements are filled as if they were closed with the last point linked to the first point.
+      </p>
+      <p>
+        The test specifies two polylines and two paths on the page with five points each. One polyline/path closes the shape with the fifth
+        point linking to the first. One polyline/path is open (no link from fifth point to first). Both polylines/paths are filled.
+        The open subpath is placed over the closed one. Test passes if the open subpath fills over the closed path.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if two black shapes are shown and no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-control-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <path d="M 20 100 L 50 150 L 100 200 L 175 175 L 150 150 z" fill="red" />
+    <path d="M 20 100 L 50 150 L 100 200 L 175 175 L 150 150" fill="black" stroke="black" />
+
+    <polyline points="200 100 250 150 300 200 375 175 350 150 " fill="red" />
+    <polyline points="200 100 250 150 300 200 375 175 350 150 200 100" fill="black" stroke="black" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-control-04-f.svg b/Tests/W3CTestSuite/svg/painting-control-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..95b5262811e4a85e3cdbb0417e0fa8b2a25eacf4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-control-04-f.svg
@@ -0,0 +1,58 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: painting-control-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+      <p>
+        A zero length subpath with 'stroke-linecap' set to 'square' or 'round' is stroked, but not stroked when 'stroke-linecap' is set to 'butt'.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript> 
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is a blue circle, a blue square, and no red on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-control-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <path d="M 96 96 L 96 96" stroke="red" stroke-width="96" stroke-linecap="butt" />
+    <path d="M 196 96 L 196 96" stroke="blue" stroke-width="96" stroke-linecap="round" />
+    <path d="M 296 96 L 296 96" stroke="blue" stroke-width="96" stroke-linecap="square" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-control-05-f.svg b/Tests/W3CTestSuite/svg/painting-control-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..48a984d212d3d302d7dc51646057d812f6389b59
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-control-05-f.svg
@@ -0,0 +1,114 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="ED" author="Microsoft" status="accepted" version="$Revision: 1.3 $" testname="$RCSfile: painting-control-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#VisibilityControl">
+      <p>
+        This tests setting the 'display' property to 'none' on an element that is a child of a 'mask' or 'clipPath' element, which should cause the element to not be
+        included in the 'mask' or 'clip' region.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are 8 green rectangles visible, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-control-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <rect id="displaynone_rect" width="100%" height="100%" display="none" />
+        <rect id="rect" width="100%" height="100%" />
+        <use id="displaynone_use_rect" xlink:href="#displaynone_rect"/>
+        
+        <!-- an empty mask where the basic shape element has display=none -->
+        <mask id="testMask1">
+            <rect width="100%" height="100%" display="none" fill="white" />
+        </mask>
+        <!-- an empty mask where display=none is inherited down to the basic shape -->
+        <mask id="testMask2">
+            <g display="none">
+              <rect width="100%" height="100%" fill="white" />
+            </g>
+        </mask>
+        <!-- an empty mask where the referenced element has display=none -->
+        <mask id="testMask3">
+            <use xlink:href="#displaynone_rect" fill="white"/>
+        </mask>
+        <!-- an empty mask by two levels of indirection -->
+        <mask id="testMask4">
+            <use xlink:href="#displaynone_use_rect" fill="white"/>
+        </mask>
+
+        <!-- an empty clip-path where the basic shape element has display=none -->
+        <clipPath id="testClip1">
+            <rect width="100%" height="100%" display="none" />
+        </clipPath>
+        <!-- an empty clip-path where the referenced element has display=none -->
+        <clipPath id="testClip2">
+            <use xlink:href="#displaynone_rect"/>
+        </clipPath>
+        <!-- an empty clip-path where the referencing element has display=none -->
+        <clipPath id="testClip3">
+            <use xlink:href="#rect" display="none"/>
+        </clipPath>
+        <!-- an empty clip-path by having both a display=none element and a non-rendered rect that's visible -->
+        <clipPath id="testClip4">
+            <rect width="100%" height="100%" display="none" />
+            <rect width="0" height="0"/>
+        </clipPath>
+    </defs>
+    
+    <g id="reference" fill="lime" stroke="black">
+      <rect x="50" y="50" width="100" height="100"/>
+      <rect x="150" y="50" width="100" height="100"/>
+      <rect x="250" y="50" width="100" height="100"/>
+      <rect x="350" y="50" width="100" height="100"/>
+      <rect x="50" y="200" width="100" height="100"/>
+      <rect x="150" y="200" width="100" height="100"/>
+      <rect x="250" y="200" width="100" height="100"/>
+      <rect x="350" y="200" width="100" height="100"/>
+    </g>
+    
+    <rect x="50" y="50" width="100" height="100" fill="red" mask="url(#testMask1)"/>
+    <rect x="150" y="50" width="100" height="100" fill="red" mask="url(#testMask2)"/>
+    <rect x="250" y="50" width="100" height="100" fill="red" mask="url(#testMask3)"/>
+    <rect x="350" y="50" width="100" height="100" fill="red" mask="url(#testMask4)"/>
+    
+    <rect x="50" y="200" width="100" height="100" fill="red" clip-path="url(#testClip1)"/>
+    <rect x="150" y="200" width="100" height="100" fill="red" clip-path="url(#testClip2)"/>
+    <rect x="250" y="200" width="100" height="100" fill="red" clip-path="url(#testClip3)"/>
+    <rect x="350" y="200" width="100" height="100" fill="red" clip-path="url(#testClip4)"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-control-06-f.svg b/Tests/W3CTestSuite/svg/painting-control-06-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..58e4efd3204388d9c1faf09942bbb8a97cfe5b4f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-control-06-f.svg
@@ -0,0 +1,64 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" 
+    reviewer="ED" author="Microsoft" status="accepted" version="$Revision: 1.4 $" testname="$RCSfile: painting-control-06-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#VisibilityControl">
+      <p>
+        Setting the 'visibility' property to 'hidden' on a 'g' tag will affect its children, unless the children of the 'g' tag override the parent setting.
+      </p>
+      <p>
+        Have a 'g' tag with an red filled shape as a child. Set 'visibility: hidden' on the 'g' tag.  Verify no red is on the page.
+        Also, have a 'g' tag with a green filled shape as a child. Set 'visibility: hidden' on the 'g' tag. Set 'visibility: visible' on
+        the child tag. Verify that the green 'rect' renders on the page.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are two green squares visible on the page, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-control-06-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect x="96" y="96" width="96" height="96" fill="lime" />
+    <g visibility="hidden">
+        <rect x="96" y="96" width="96" height="96" fill="red" />
+    </g>
+    <rect x="196.5" y="196.5" width="95" height="95" fill="red"/>
+    <g visibility="hidden">
+        <rect x="196" y="196" width="96" height="96" fill="lime" visibility="visible" />
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-fill-01-t.svg b/Tests/W3CTestSuite/svg/painting-fill-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bb66cb0d9194e3c2822a703a00c9bac26ef1c9a8
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-fill-01-t.svg
@@ -0,0 +1,65 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kevin McCluskey" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-fill-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#FillProperties">
+        <p>
+          Verify the basic capability to handle the fill properties fill:none,
+          and fill with a color			(fill:green)
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There should be two rectangles, the rectangle on the left hollow (fill:none) and the rectangle on the right filled with green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-fill-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="36" x="40" y="42">Basic paint: fill properties.</text>
+
+    <!-- ============================================================================= -->
+    <!-- Draw two simple rectangles. One without fill other with fill:green              -->
+    <!-- ============================================================================= -->
+
+    <rect id="fill-01" fill="none" stroke="#000000" x="75" y="70" width="100" height="160"/>
+
+    <rect id="fill-02" fill="green" stroke="#000000" x="275" y="70" width="100" height="160"/>
+
+    <text font-size="36" x="75" y="280">fill="none"</text>
+    <text font-size="36" x="275" y="280">fill="green"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-fill-02-t.svg b/Tests/W3CTestSuite/svg/painting-fill-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..36413ac731d88492ad2fd5412be0d5937727e846
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-fill-02-t.svg
@@ -0,0 +1,69 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kevin McCluskey" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: painting-fill-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#FillProperties">
+        <p>
+          The test uses the "currentColor" value for the "fill" attribute.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rectangle on the left should be green filled, the rectangle on the right should be blue.
+        The text above the rectangles should be black.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-fill-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g color="green">
+
+      <text font-family="Arial" font-size="36" x="30" y="42">Basic paint: fill properties.</text>
+      <text font-family="Arial" font-size="36" x="100" y="80">fill="currentColor"</text>
+
+      <!-- ====================================================================== -->
+      <!-- Second set of rectangles with fill:currentColor                        -->
+      <!-- ====================================================================== -->
+
+      <rect id="fill-03" fill="currentColor" stroke="#000000" x="75" y="110" width="100" height="140"/>
+      <rect id="fill-04" color="blue" fill="currentColor" stroke="#000000" x="275" y="110" width="100" height="140"/>
+
+      <text font-family="Arial" font-size="36" x="80" y="280">green</text>
+      <text font-family="Arial" font-size="36" x="290" y="280">blue</text>
+
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-fill-03-t.svg b/Tests/W3CTestSuite/svg/painting-fill-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..158f7cf4d58f5ef704ecbb962cb5332a0b810b49
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-fill-03-t.svg
@@ -0,0 +1,62 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kevin McCluskey" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-fill-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#FillProperties">
+        <p>
+          Verify the basic capability to handle the fill rule properties evenodd and nonzero
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There should be two green filled stars, the leftmost star should be unfilled in the very center.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-fill-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="36" x="30" y="42">Basic paint: fill properties.</text>
+
+    <!-- ====================================================================== -->
+    <!-- Third test fill-rule:evenodd and fill-rule:nonzero                     -->
+    <!-- ====================================================================== -->
+
+    <path fill="lime" fill-rule="evenodd" d="M 110 75 l 50 160 l -130 -100 l 160 0 l -130 100 z"/>
+    <path fill="lime" fill-rule="nonzero" d="M 365 75 l 50 160 l -130 -100 l 160 0 l -130 100 z"/>
+    <text font-size="24" x="10" y="282">fill-rule="evenodd"</text>
+    <text font-size="24" x="260" y="282">fill-rule="nonzero"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-fill-04-t.svg b/Tests/W3CTestSuite/svg/painting-fill-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..73381091e60617dc7e1ff04a45fe080e21cf31e3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-fill-04-t.svg
@@ -0,0 +1,74 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: painting-fill-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#FillProperties">
+        <p>
+          This tests inheritance of three properties: "fill", "stroke" and "stroke-width". There is a "g" element (id="G1") which
+          sets fill="blue", stroke="purple", and stroke-width="5". The first two rectangles on top should inherit all those
+          properties. The middle left rectangle has fill="yellow" and stroke-width="2", it should inherit the stroke="purple"
+          from the parent container. The middle rectangle on the right has stroke="yellow", it should inherit fill and
+          stroke-width from the parent "g". The bottom two rectangles are in another "g" element (id="G2") which is a child
+          of "G1". "G2" sets fill="yellow". It should inherit the stroke and stroke width from the parent "G1". The two
+          bottom rectangles set no fill or stroke properties, they should inherit through the parents, stroke="purple"
+          and stroke-width="5".
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for possible
+        variations in the labeling text (per CSS2 rules).
+      </p>
+      <p>
+        The test uses the "rect" element, as well as basic fill (solid primary colors),
+        stroke (black 1-pixel lines), font-family (Arial) and font-size properties.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-fill-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="G1" fill="blue" stroke="purple" stroke-width="5" transform="translate(120,30)">
+      <rect x="0" y="0" width="90" height="70"/>
+      <rect x="100" y="0" width="90" height="70"/>
+      <rect x="0" y="80" width="90" height="70" fill="yellow" stroke-width="2"/>
+      <rect x="100" y="80" width="90" height="70" stroke="yellow"/>
+      <g id="G2" fill="yellow">
+        <rect x="0" y="160" width="90" height="70"/>
+        <rect x="100" y="160" width="90" height="70"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-fill-05-b.svg b/Tests/W3CTestSuite/svg/painting-fill-05-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a508b69b98b00b811af4201d2aefb3b3f0fbbf7e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-fill-05-b.svg
@@ -0,0 +1,75 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DJ" author="CN" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: painting-fill-05-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#FillProperties">
+        <p>
+          Test using "fill-opacity" values for "rect" element.
+          This test verifies that opacity is clamped to the
+          specified range.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The six rect elements on the left have varying 'fill-opacity' values
+        within the valid range of 0 to 1.  The six elements on the right have
+        'fill-opacity' values outside the 0 to 1 range, and must be clamped.
+        The top three rect elements on the right must have their 'fill-opacity'
+        clamped to 0, while the bottom three rect elements on the right must
+        be clamped to 1.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-fill-05-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <!-- Use multiple values for opacity -->
+    <rect x="20" y="20" width="60" height="60" fill-opacity="0.0" fill="#0000FF" stroke="black"/>
+    <rect x="50" y="50" width="60" height="60" fill-opacity="0.2" fill="#0000FF" stroke="black"/>
+    <rect x="80" y="80" width="60" height="60" fill-opacity="0.4" fill="#0000FF" stroke="black"/>
+    <rect x="110" y="110" width="60" height="60" fill-opacity="0.6" fill="#0000FF" stroke="black"/>
+    <rect x="140" y="140" width="60" height="60" fill-opacity="0.8" fill="#0000FF" stroke="black"/>
+    <rect x="170" y="170" width="60" height="60" fill-opacity="1.0" fill="#0000FF" stroke="black"/>
+    <!-- Values outside the range 0.0 - 1.0 should be clamped to this range -->
+    <rect x="200" y="20" width="60" height="60" fill-opacity="-100.0" fill="#0000FF" stroke="black"/>
+    <rect x="230" y="50" width="60" height="60" fill-opacity="-10.0" fill="#0000FF" stroke="black"/>
+    <rect x="260" y="80" width="60" height="60" fill-opacity="-0.1" fill="#0000FF" stroke="black"/>
+    <rect x="290" y="110" width="60" height="60" fill-opacity="1.1" fill="#0000FF" stroke="black"/>
+    <rect x="320" y="140" width="60" height="60" fill-opacity="10.0" fill="#0000FF" stroke="black"/>
+    <rect x="350" y="170" width="60" height="60" fill-opacity="100.0" fill="#0000FF" stroke="black"/>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-marker-01-f.svg b/Tests/W3CTestSuite/svg/painting-marker-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b48c390fcaa37a9c8658634ee8a68dbac0193665
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-marker-01-f.svg
@@ -0,0 +1,157 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Dean Jackson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-marker-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#Markers">
+        <p>
+          Tests the basic support for markers. 
+        </p>
+        <p>
+          The top test examines the basic support for the marker element and style. The markers are purple rectangles.
+        </p>
+        <p>
+          The middle test examines the support for the different styles of marker properties. The
+          "marker-start" property defines the marker to use at the first vertex of the marked path,
+          in this case a purple rectangle. The "marker-end" property defines the marker to use at the
+          last vertex of the marked path, in this case a blue triangle. The "marker-mid" property
+          defines the marker to use at all vertices, other than the first and last, of the marked path,
+          in this case a green circle.
+        </p>
+        <p>
+          The bottom test examines the support for marker orientation along the
+          path direction. The second vertex, the top right corner of the path, has a marker that
+          is rotated 45 degrees, since that is the average of the horizontal and vertical segments
+          each side. The last vertex, the bottom right corner of the path, has a marker rotated 90
+          degrees since that is the direction of the last path segment.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For the three tests, there should be two identical paths with markers drawn. 
+        The path on the left is rendered using the marker elements. The path on the 
+        right is rendered using the equivalent SVG, showing what the marked path should 
+        look like.
+      </p>
+      <p>
+        The rendered picture should match the reference image, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-marker-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <!-- ===================================================================== -->
+      <!-- Define a few simple marker elements                                   -->
+      <!-- ===================================================================== -->
+      <marker id="marker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
+        <rect width="10" height="10" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="marker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth" orient="auto">
+        <path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+      </marker>
+      <marker id="markerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
+        <rect width="10" height="10" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="markerMiddle" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
+        <circle cx="5" cy="5" r="5" fill="green" stroke="none"/>
+      </marker>
+      <marker id="markerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
+        <path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+      </marker>
+    </defs>
+    <!-- ===================================================================== -->
+    <!-- Basic Marker Test                                                     -->
+    <!-- ===================================================================== -->
+    <text x="170" y="30" font-size="14">Basic Markers</text>
+    <path fill="none" stroke="black" stroke-width="8" marker-start="url(#marker1)" marker-mid="url(#marker1)" marker-end="url(#marker1)" d="M 130 40 L 180 40 L 180 90"/>
+    <!-- ===================================================================== -->
+    <!-- Generate the equivalent SVG                                           -->
+    <!-- ===================================================================== -->
+    <g transform="translate(120,0)">
+      <path fill="none" stroke="black" stroke-width="8" d="M 130 40 L 180 40 L 180 90"/>
+      <g transform="translate(130,40) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+        <rect width="10" height="10" fill="purple" stroke="none"/>
+      </g>
+      <g transform="translate(180,40) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+        <rect width="10" height="10" fill="purple" stroke="none"/>
+      </g>
+      <g transform="translate(180,90) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+        <rect width="10" height="10" fill="purple" stroke="none"/>
+      </g>
+    </g>
+    <!-- ===================================================================== -->
+    <!-- Start, Middle and End Marker Test                                     -->
+    <!-- ===================================================================== -->
+    <text x="145" y="125" font-size="14">Start, Middle and End</text>
+    <path fill="none" stroke="black" stroke-width="8" marker-start="url(#markerStart)" marker-mid="url(#markerMiddle)" marker-end="url(#markerEnd)" d="M 130 135 L 180 135 L 180 185"/>
+    <!-- ===================================================================== -->
+    <!-- Generate the equivalent SVG                                           -->
+    <!-- ===================================================================== -->
+    <g transform="translate(120,0)">
+      <path fill="none" stroke="black" stroke-width="8" d="M 130 135 L 180 135 L 180 185"/>
+      <g transform="translate(130,135) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+        <rect width="10" height="10" fill="purple" stroke="none"/>
+      </g>
+      <g transform="translate(180,135) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+        <circle cx="5" cy="5" r="5" fill="green" stroke="none"/>
+      </g>
+      <g transform="translate(180,185) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+        <path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+      </g>
+    </g>
+    <!-- ===================================================================== -->
+    <!-- Auto Orientation Marker Test                                          -->
+    <!-- ===================================================================== -->
+    <text x="145" y="220" font-size="14">Automatic Orientation</text>
+    <path fill="none" stroke="black" stroke-width="8" marker-start="url(#marker2)" marker-mid="url(#marker2)" marker-end="url(#marker2)" d="M 130 230 L 180 230 L 180 280"/>
+    <!-- ===================================================================== -->
+    <!-- Generate the equivalent SVG                                           -->
+    <!-- ===================================================================== -->
+    <g transform="translate(120,0)">
+      <path fill="none" stroke="black" stroke-width="8" d="M 130 230 L 180 230 L 180 280"/>
+      <g transform="translate(130,230) rotate(0) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+        <path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+      </g>
+      <g transform="translate(180,230) rotate(45) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+        <path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+      </g>
+      <g transform="translate(180,280) rotate(90) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+        <path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-marker-02-f.svg b/Tests/W3CTestSuite/svg/painting-marker-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bab08fc2791772a4f7cdb39a3c56d320a7847463
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-marker-02-f.svg
@@ -0,0 +1,245 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Dean Jackson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-marker-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#Markers">
+        <p>
+          Tests the rendering of markers, specifically property inheritance. For the four tests, there should
+          be two identical paths with markers drawn. 
+        </p>
+        <p>
+          The top two tests examine the rendering of markers when the marker and the path
+          referencing it share the same parent and all painting properties are specfied on
+          that parent. The first test show inheritance of the 'fill' property and the
+          second the inheritance of the 'paint' property. In both tests, the marker
+          is painting using the same properties as the referencing object. Because of
+          scaling transformations on the marker, the stroke on the second test is thinner
+          than on the referencing object.
+        </p>
+        <p>
+          The third and fourth tests examine the rendering of markers in a situation where the
+          marker and referencing path do NOT share the same parent and painting
+          properties are specified both on the parent of the marked path and on the contents
+          of the marker itself. In both cases, the marker's parent specifies
+          fill="green" stroke="blue" stroke-width="8". For the third test, the marker contents
+          override with stroke="black". For the fourth test, the marker contents
+          override with fill="black". In neither case should you see
+          fill="orange" or stroke="blue" or "stroke="purple" on the markers as these properties
+          are specified on the ancestor of the referencing object or the referencing object itself
+          and thus shouldn't affect the marker.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The path on the left is rendered using the marker elements. 
+        The path on the right is rendered using the equivalent SVG, 
+        showing what the marked path should look like.  These should be 
+        identical and match the image to the right.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-marker-02-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <clipPath id="overflowHiddenClip1" clipPathUnits="userSpaceOnUse">
+        <rect x="0" y="0" width="2" height="2"/>
+      </clipPath>
+      <clipPath id="overflowHiddenClip" clipPathUnits="userSpaceOnUse">
+        <rect x="0" y="0" width="4" height="4"/>
+      </clipPath>
+    </defs>
+    <g fill="green">
+      <text x="125" y="30" font-size="14" fill="black">Marker Rendering Properties</text>
+      <!-- ===================================================================== -->
+      <!-- Fill property                                                         -->
+      <!-- ===================================================================== -->
+      <g fill="black" stroke="none" stroke-width="8">
+        <marker id="marker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
+          <rect width="10" height="10"/>
+        </marker>
+        <text x="100" y="140" font-size="10" fill="black" stroke="none">Fill Property</text>
+        <path marker-start="url(#marker1)" marker-mid="url(#marker1)" marker-end="url(#marker1)" d="M 30 60 L 80 60 L 80 110 Z"/>
+        <!-- ===================================================================== -->
+        <!-- Generate the equivalent SVG                                           -->
+        <!-- ===================================================================== -->
+        <g transform="translate(120,0)">
+          <path d="M 30 60 L 80 60 L 80 110 Z"/>
+          <g transform="translate(30,60) scale(8) translate(-1, -1)">
+            <g clip-path="url(#overflowHiddenClip1)">
+              <g transform="scale(0.2, 0.2)">
+                <rect width="10" height="10"/>
+              </g>
+            </g>
+          </g>
+          <g transform="translate(80,60) scale(8) translate(-1, -1)">
+            <g clip-path="url(#overflowHiddenClip1)">
+              <g transform="scale(0.2, 0.2)">
+                <rect width="10" height="10"/>
+              </g>
+            </g>
+          </g>
+          <g transform="translate(80,110) scale(8) translate(-1, -1)">
+            <g clip-path="url(#overflowHiddenClip1)">
+              <g transform="scale(0.2, 0.2)">
+                <rect width="10" height="10"/>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <!-- ===================================================================== -->
+      <!-- Stroke property                                                       -->
+      <!-- ===================================================================== -->
+      <g fill="none" stroke="black" stroke-width="4">
+        <marker id="marker2" viewBox="0 0 20 20" markerWidth="4" markerHeight="4" refX="10" refY="10" markerUnits="strokeWidth">
+          <rect width="20" height="20"/>
+        </marker>
+        <text x="340" y="140" font-size="10" fill="black" stroke="none">Stroke Property</text>
+        <path marker-start="url(#marker2)" marker-mid="url(#marker2)" marker-end="url(#marker2)" d="M 270 60 L 320 60 L 320 110 Z"/>
+        <!-- ===================================================================== -->
+        <!-- Generate the equivalent SVG                                           -->
+        <!-- ===================================================================== -->
+        <g transform="translate(120,0)">
+          <path d="M 270 60 L 320 60 L 320 110 Z"/>
+          <!-- ===================================================================== -->
+          <!-- Generate the equivalent SVG                                           -->
+          <!-- ===================================================================== -->
+          <g transform="translate(270,60) scale(4) translate(-2, -2)">
+            <g clip-path="url(#overflowHiddenClip)">
+              <g transform="scale(0.2, 0.2)">
+                <rect width="20" height="20"/>
+              </g>
+            </g>
+          </g>
+          <g transform="translate(320,60) scale(4) translate(-2, -2)">
+            <g clip-path="url(#overflowHiddenClip)">
+              <g transform="scale(0.2, 0.2)">
+                <rect width="20" height="20"/>
+              </g>
+            </g>
+          </g>
+          <g transform="translate(320, 110) scale(4) translate(-2, -2)">
+            <g clip-path="url(#overflowHiddenClip)">
+              <g transform="scale(0.2, 0.2)">
+                <rect width="20" height="20"/>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <!-- ===================================================================== -->
+      <!-- Define marker element with parents setting painting properties        -->
+      <!-- ===================================================================== -->
+      <g fill="green" stroke="blue" stroke-width="8">
+        <marker id="marker3" viewBox="0 0 20 20" markerWidth="4" markerHeight="4" refX="10" refY="10" markerUnits="strokeWidth">
+          <rect width="20" height="20" stroke="black"/>
+        </marker>
+        <marker id="marker4" viewBox="0 0 10 10" markerWidth="4" markerHeight="4" refX="5" refY="5" markerUnits="strokeWidth">
+          <rect width="10" height="10" fill="black" stroke-width="4"/>
+        </marker>
+      </g>
+      <!-- ===================================================================== -->
+      <!-- Parent and specified properties                                       -->
+      <!-- ===================================================================== -->
+      <g fill="orange" stroke="blue">
+        <text x="90" y="270" font-size="10" fill="black" stroke="none">Mixed Properties</text>
+        <path stroke="purple" stroke-width="4" marker-start="url(#marker3)" marker-mid="url(#marker3)" marker-end="url(#marker3)" d="M 30 190 L 80 190 L 80 240 Z"/>
+        <!-- ===================================================================== -->
+        <!-- Generate the equivalent SVG                                           -->
+        <!-- ===================================================================== -->
+        <g transform="translate(120,0)">
+          <path stroke="purple" stroke-width="4" d="M 30 190 L 80 190 L 80 240 Z"/>
+          <g fill="green" stroke="black" stroke-width="8">
+            <g transform="translate(30,190) scale(4) translate(-2, -2)">
+              <g clip-path="url(#overflowHiddenClip)">
+                <g transform="scale(.2, .2)">
+                  <rect width="20" height="20"/>
+                </g>
+              </g>
+            </g>
+            <g transform="translate(80,190) scale(4) translate(-2, -2)">
+              <g clip-path="url(#overflowHiddenClip)">
+                <g transform="scale(0.2, 0.2)">
+                  <rect width="20" height="20"/>
+                </g>
+              </g>
+            </g>
+            <g transform="translate(80,240) scale(4) translate(-2, -2)">
+              <g clip-path="url(#overflowHiddenClip)">
+                <g transform="scale(0.2, 0.2)">
+                  <rect width="20" height="20"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g fill="orange" stroke="green">
+        <text x="340" y="270" font-size="10" fill="black" stroke="none">Mixed Properties</text>
+        <path stroke="purple" stroke-width="4" marker-start="url(#marker4)" marker-mid="url(#marker4)" marker-end="url(#marker4)" d="M 270 190 L 320 190 L 320 240 Z"/>
+        <!-- ===================================================================== -->
+        <!-- Generate the equivalent SVG                                           -->
+        <!-- ===================================================================== -->
+        <g transform="translate(120,0)">
+          <path stroke="purple" stroke-width="4" d="M 270 190 L 320 190 L 320 240 Z"/>
+          <g fill="black" stroke="blue" stroke-width="4">
+            <g transform="translate(270,190) scale(4) translate(-2, -2)">
+              <g clip-path="url(#overflowHiddenClip)">
+                <g transform="scale(0.4, 0.4)">
+                  <rect width="10" height="10"/>
+                </g>
+              </g>
+            </g>
+            <g transform="translate(320,190) scale(4) translate(-2, -2)">
+              <g clip-path="url(#overflowHiddenClip)">
+                <g transform="scale(0.4, 0.4)">
+                  <rect width="10" height="10"/>
+                </g>
+              </g>
+            </g>
+            <g transform="translate(320,240) scale(4) translate(-2, -2)">
+              <g clip-path="url(#overflowHiddenClip)">
+                <g transform="scale(0.4, 0.4)">
+                  <rect width="10" height="10"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-marker-03-f.svg b/Tests/W3CTestSuite/svg/painting-marker-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..220935193287731b5f86da9540f36f64259edc84
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-marker-03-f.svg
@@ -0,0 +1,86 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DJ" author="BB" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: painting-marker-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#Markers">
+        <p>
+          The SVG specification defines three properties to reference markers: marker-start, marker-mid,
+          marker-end. It also provides a shorthand property,marker.  Using the marker property from a style sheet
+          is equivalent to using all three (start, mid, end). However, shorthand properties cannot be used as presentation attributes.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if the two rows of shapes are identical, and that
+        all of the shapes have small blue markers (26 in total per row).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-marker-03-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <marker id="marker1" markerUnits="strokeWidth" refX="50" refY="50" markerWidth="5" markerHeight="5" viewBox="0 0 100 100">
+        <rect width="100" height="100" fill="royalblue" stroke="none"/>
+      </marker>
+      <marker id="marker2" markerUnits="strokeWidth" refX="100" refY="100" markerWidth="15" markerHeight="15" viewBox="0 0 200 200">
+        <rect width="200" height="200" fill="red" stroke="none"/>
+      </marker>
+      <style type="text/css">
+        #markme { marker: url(#marker1) }
+      </style>
+    </defs>
+
+    <text font-size="20" x="240" y="28" text-anchor="middle">'marker' property test</text>
+
+    <text font-size="20" x="240" y="70" text-anchor="middle" fill="forestgreen">'marker' property</text>
+    <g fill="gold" stroke="black" fill-rule="evenodd" transform="translate(50,20)" id="markme">
+      <path d="M10,60 Q90,60 90,140 Q10,140 10,60 Z M10,140 Q10,60 90,60 Q90,140 10,140 Z M50,70 L80,100 50,130 20,100 Z"/>
+      <polygon points="100,60 120,140 140,60 160,140 180,60 180,100 100,100"/>
+      <polyline points="190,60 210,140 230,60 250,140 270,60 270,100 190,100"/>
+      <line x1="280" x2="370" y1="60" y2="140"/>
+      <line x1="370" x2="280" y1="60" y2="140"/>
+    </g>
+
+    <text font-size="20" x="240" y="200" text-anchor="middle" fill="forestgreen">'marker-start', 'marker-mid' &amp; 'marker-end' attribute</text>
+    <g marker-mid="url(#marker1)" marker-end="url(#marker1)" marker-start="url(#marker1)" fill="gold" stroke="black" fill-rule="evenodd" transform="translate(50,150)">
+      <path d="M10,60 Q90,60 90,140 Q10,140 10,60 Z M10,140 Q10,60 90,60 Q90,140 10,140 Z M50,70 L80,100 50,130 20,100 Z"/>
+      <polygon points="100,60 120,140 140,60 160,140 180,60 180,100 100,100"/>
+      <polyline points="190,60 210,140 230,60 250,140 270,60 270,100 190,100"/>
+      <line x1="280" x2="370" y1="60" y2="140"/>
+      <line x1="370" x2="280" y1="60" y2="140"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-marker-04-f.svg b/Tests/W3CTestSuite/svg/painting-marker-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6abd8cefb5162bdec52448ebc52852706f76f35e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-marker-04-f.svg
@@ -0,0 +1,84 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-marker-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#Markers">
+        <p>
+          The SVG specification defines three properties to reference markers: marker-start, marker-mid,
+          marker-end. It also provides a shorthand property,marker.  Using the marker property from a style sheet
+          is equivalent to using all three (start, mid, end). However, shorthand properties cannot be used as presentation attributes.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if the shapes in the top row have no markers,
+        while the shapes in the bottom rom have small blue markers
+        (26 in total).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-marker-04-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <marker id="marker1" markerUnits="strokeWidth" refX="50" refY="50" markerWidth="5" markerHeight="5" viewBox="0 0 100 100">
+        <rect width="100" height="100" fill="royalblue" stroke="none"/>
+      </marker>
+      <marker id="marker2" markerUnits="strokeWidth" refX="100" refY="100" markerWidth="15" markerHeight="15" viewBox="0 0 200 200">
+        <rect width="200" height="200" fill="red" stroke="none"/>
+      </marker>
+    </defs>
+
+    <text font-size="20" x="240" y="28" text-anchor="middle">'marker' attribute test</text>
+
+    <text font-size="20" x="240" y="70" text-anchor="middle" fill="forestgreen">'marker' attribute</text>
+    <g marker="url(#marker2)" fill="gold" stroke="black" fill-rule="evenodd" transform="translate(50,20)" id="markme">
+      <path d="M10,60 Q90,60 90,140 Q10,140 10,60 Z M10,140 Q10,60 90,60 Q90,140 10,140 Z M50,70 L80,100 50,130 20,100 Z"/>
+      <polygon points="100,60 120,140 140,60 160,140 180,60 180,100 100,100"/>
+      <polyline points="190,60 210,140 230,60 250,140 270,60 270,100 190,100"/>
+      <line x1="280" x2="370" y1="60" y2="140"/>
+      <line x1="370" x2="280" y1="60" y2="140"/>
+    </g>
+
+    <text font-size="20" x="240" y="200" text-anchor="middle" fill="forestgreen">'marker-start', 'marker-mid' &amp; 'marker-end' attributes</text>
+    <g marker-mid="url(#marker1)" marker-end="url(#marker1)" marker-start="url(#marker1)" fill="gold" stroke="black" fill-rule="evenodd" transform="translate(50,150)">
+      <path d="M10,60 Q90,60 90,140 Q10,140 10,60 Z M10,140 Q10,60 90,60 Q90,140 10,140 Z M50,70 L80,100 50,130 20,100 Z"/>
+      <polygon points="100,60 120,140 140,60 160,140 180,60 180,100 100,100"/>
+      <polyline points="190,60 210,140 230,60 250,140 270,60 270,100 190,100"/>
+      <line x1="280" x2="370" y1="60" y2="140"/>
+      <line x1="370" x2="280" y1="60" y2="140"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-marker-05-f.svg b/Tests/W3CTestSuite/svg/painting-marker-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..72aab38205a1444faf92a331057f8e75d217029a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-marker-05-f.svg
@@ -0,0 +1,240 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DOH" author="ED" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-marker-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#Markers">
+        <p>
+          Test all the 'overflow' property values except 'inherit' on the 'marker' element.
+        </p>
+        <p>
+          Each column tests a value of the 'overflow' property.
+          The first row uses the 'marker' property to set the same marker on start-, mid- and end-points on the path.
+          The second row uses 'marker-start', 'marker-mid' and 'marker-end' to give each point its own marker.
+          The third row uses the 'marker' property like the first row, but here the marker has orient="auto" set.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+
+        The columns labeled 'visible' and 'auto' show markers without clipping them.
+        All other columns show clipped markers.
+        The rendered picture matches the reference image, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-marker-05-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <marker id="marker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="marker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+      <marker id="markerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="markerMiddle" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
+        <circle cx="5" cy="5" r="7" fill="green" stroke="none"/>
+      </marker>
+      <marker id="markerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+
+      <marker id="vmarker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="visible">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="vmarker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto" overflow="visible">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+      <marker id="vmarkerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="visible">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="vmarkerMiddle" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth" overflow="visible">
+        <circle cx="5" cy="5" r="7" fill="green" stroke="none"/>
+      </marker>
+      <marker id="vmarkerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" overflow="visible">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+
+      <marker id="amarker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="auto">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="amarker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto" overflow="auto">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+      <marker id="amarkerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="auto">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="amarkerMiddle" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth" overflow="auto">
+        <circle cx="5" cy="5" r="7" fill="green" stroke="none"/>
+      </marker>
+      <marker id="amarkerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" overflow="auto">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+
+      <marker id="smarker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="scroll">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="smarker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto" overflow="scroll">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+      <marker id="smarkerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="scroll">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="smarkerMiddle" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth" overflow="scroll">
+        <circle cx="5" cy="5" r="7" fill="green" stroke="none"/>
+      </marker>
+      <marker id="smarkerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" overflow="scroll">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+
+      <marker id="hmarker1" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="hidden">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="hmarker2" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" orient="auto" overflow="hidden">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+      <marker id="hmarkerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="7.5" refY="7.5" markerUnits="strokeWidth" overflow="hidden">
+        <rect width="15" height="15" fill="purple" stroke="none"/>
+      </marker>
+      <marker id="hmarkerMiddle" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth" overflow="hidden">
+        <circle cx="5" cy="5" r="7" fill="green" stroke="none"/>
+      </marker>
+      <marker id="hmarkerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="10" refY="10" markerUnits="strokeWidth" overflow="hidden">
+        <path d="M 10 0 L 20 20 L 0 20 Z" fill="blue" stroke="none"/>
+      </marker>
+    </defs>
+
+    <style type="text/css">
+      .testpaths {
+      fill:none;
+      stroke:black;
+      stroke-width:8px;
+      }
+
+      /* no overflow specified */
+      #p1  { marker: url(#marker1); }
+      #p2  {
+      marker-start: url(#markerStart);
+      marker-mid:url(#markerMiddle);
+      marker-end: url(#markerEnd);
+      }
+      #p3  { marker: url(#marker2); }
+
+      /* overflow = visible */
+      #p4  { marker: url(#vmarker1); }
+      #p5  {
+      marker-start: url(#vmarkerStart);
+      marker-mid:url(#vmarkerMiddle);
+      marker-end: url(#vmarkerEnd);
+      }
+      #p6  { marker: url(#vmarker2); }
+
+      /* overflow = auto */
+      #p7  { marker: url(#amarker1); }
+      #p8  {
+      marker-start: url(#amarkerStart);
+      marker-mid:url(#amarkerMiddle);
+      marker-end: url(#amarkerEnd);
+      }
+      #p9  { marker: url(#amarker2); }
+
+      /* overflow = scroll */
+      #p10  { marker: url(#smarker1); }
+      #p11  {
+      marker-start: url(#smarkerStart);
+      marker-mid:url(#smarkerMiddle);
+      marker-end: url(#smarkerEnd);
+      }
+      #p12  { marker: url(#smarker2); }
+
+      /* overflow = hidden */
+      #p13  { marker: url(#hmarker1); }
+      #p14  {
+      marker-start: url(#hmarkerStart);
+      marker-mid:url(#hmarkerMiddle);
+      marker-end: url(#hmarkerEnd);
+      }
+      #p15  { marker: url(#hmarker2); }
+    </style>
+
+    <text x="50%" y="3em" style="font: 18px SVGFreeSansASCII,sans-serif; text-anchor:middle;">Test marker overflow</text>
+
+    <g style="font: 14px SVGFreeSansASCII,sans-serif; text-anchor:middle" transform="translate(0,280)">
+      <text x="60">default</text>
+      <text x="155">'visible'</text>
+      <text x="245">'auto'</text>
+      <text x="340">'scroll'</text>
+      <text x="430">'hidden'</text>
+    </g>
+
+    <g transform="translate(-30,75)">
+
+      <g id="subtest1" transform="scale(0.6)">
+        <path id="p1" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
+        <path id="p2" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
+        <path id="p3" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
+      </g>
+
+      <g id="subtest2" transform="scale(0.6) translate(150,0)">
+        <path id="p4" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
+        <path id="p5" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
+        <path id="p6" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
+      </g>
+
+      <g id="subtest3" transform="scale(0.6) translate(300,0)">
+        <path id="p7" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
+        <path id="p8" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
+        <path id="p9" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
+      </g>
+
+      <g id="subtest4" transform="scale(0.6) translate(450,0)">
+        <path id="p10" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
+        <path id="p11" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
+        <path id="p12" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
+      </g>
+
+      <g id="subtest5" transform="scale(0.6) translate(600,0)">
+        <path id="p13" class="testpaths" d="M 130 40 L 180 40 L 180 90"/>
+        <path id="p14" class="testpaths" d="M 130 135 L 180 135 L 180 185"/>
+        <path id="p15" class="testpaths" d="M 130 230 L 180 230 L 180 280"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-marker-06-f.svg b/Tests/W3CTestSuite/svg/painting-marker-06-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c1929f81e3d59f41286850fd7c1e1e707dd47442
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-marker-06-f.svg
@@ -0,0 +1,159 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="ED" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: painting-marker-06-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#MarkerElement">
+        <p>
+          Tests the basic support for markers. For the three tests, there
+          should be two identical paths with markers drawn. The path on the left is
+          rendered using the marker elements. The path on the right is rendered using
+          the equivalent SVG, showing what the marked path should look like.
+        </p>
+        <p>
+          This test is similar to the painting-marker-01-f.svg test, but has some viewBox attributes
+          that have a non-zero offset.
+        </p>
+        <p>
+          The top test examines the basic support for the marker element and style. The markers are purple rectangles.
+        </p>
+        <p>
+          The middle test examines the support for the different styles of marker properties. The
+          "marker-start" property defines the marker to use at the first vertex of the marked path,
+          in this case a purple rectangle. The "marker-end" property defines the marker to use at the
+          last vertex of the marked path, in this case a blue triangle. The "marker-mid" property
+          defines the marker to use at all vertices, other than the first and last, of the marked path,
+          in this case a green circle.
+        </p>
+        <p>
+          The bottom test examines the support for marker orientation along the
+          path direction. The second vertex, the top right corner of the path, has a marker that
+          is rotated 45 degrees, since that is the average of the horizontal and vertical segments
+          each side. The last vertex, the bottom right corner of the path, has a marker rotated 90
+          degrees since that is the direction of the last path segment.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-marker-06-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+		<!-- ===================================================================== -->
+		<!-- Define a few simple marker elements                                   -->
+		<!-- ===================================================================== -->
+    <marker id="marker1" viewBox="20 20 10 10" markerWidth="2" markerHeight="2" refX="25" refY="25" markerUnits="strokeWidth">
+      <rect x="20" y="20" width="10" height="10" fill="purple" stroke="none"/>
+    </marker>
+    <marker id="marker2" viewBox="-5 -5 10 10" markerWidth="2" markerHeight="2" markerUnits="strokeWidth" orient="auto">
+      <path d="M 0 -5 L 5 5 L -5 5 Z" fill="blue" stroke="none"/>
+    </marker>
+  	<marker id="markerStart" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
+			<rect width="10" height="10" fill="purple" stroke="none"/>
+		</marker>
+		<marker id="markerMiddle" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
+			<circle cx="5" cy="5" r="5" fill="green" stroke="none"/>
+		</marker>
+		<marker id="markerEnd" viewBox="0 0 10 10" markerWidth="2" markerHeight="2" refX="5" refY="5" markerUnits="strokeWidth">
+			<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+		</marker>
+	</defs>
+		<!-- ===================================================================== -->
+		<!-- Basic Marker Test                                                     -->
+		<!-- ===================================================================== -->
+		<text x="170" y="30" font-size="14">Basic Markers</text>
+		<path fill="none" stroke="black" stroke-width="8" marker-start="url(#marker1)" marker-mid="url(#marker1)" marker-end="url(#marker1)" d="M 130 40 L 180 40 L 180 90"/>
+		<!-- ===================================================================== -->
+		<!-- Generate the equivalent SVG                                           -->
+		<!-- ===================================================================== -->
+		<g transform="translate(120,0)">
+			<path fill="none" stroke="black" stroke-width="8" d="M 130 40 L 180 40 L 180 90"/>
+			<g transform="translate(130,40) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+				<rect width="10" height="10" fill="purple" stroke="none"/>
+			</g>
+			<g transform="translate(180,40) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+				<rect width="10" height="10" fill="purple" stroke="none"/>
+			</g>
+			<g transform="translate(180,90) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+				<rect width="10" height="10" fill="purple" stroke="none"/>
+			</g>
+		</g>
+		<!-- ===================================================================== -->
+		<!-- Start, Middle and End Marker Test                                     -->
+		<!-- ===================================================================== -->
+		<text x="145" y="125" font-size="14">Start, Middle and End</text>
+		<path fill="none" stroke="black" stroke-width="8" marker-start="url(#markerStart)" marker-mid="url(#markerMiddle)" marker-end="url(#markerEnd)" d="M 130 135 L 180 135 L 180 185"/>
+		<!-- ===================================================================== -->
+		<!-- Generate the equivalent SVG                                           -->
+		<!-- ===================================================================== -->
+		<g transform="translate(120,0)">
+			<path fill="none" stroke="black" stroke-width="8" d="M 130 135 L 180 135 L 180 185"/>
+			<g transform="translate(130,135) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+				<rect width="10" height="10" fill="purple" stroke="none"/>
+			</g>
+			<g transform="translate(180,135) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+				<circle cx="5" cy="5" r="5" fill="green" stroke="none"/>
+			</g>
+			<g transform="translate(180,185) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+				<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+			</g>
+		</g>
+		<!-- ===================================================================== -->
+		<!-- Auto Orientation Marker Test                                          -->
+		<!-- ===================================================================== -->
+		<text x="145" y="220" font-size="14">Automatic Orientation</text>
+		<path fill="none" stroke="black" stroke-width="8" marker-start="url(#marker2)" marker-mid="url(#marker2)" marker-end="url(#marker2)" d="M 130 230 L 180 230 L 180 280"/>
+		<!-- ===================================================================== -->
+		<!-- Generate the equivalent SVG                                           -->
+		<!-- ===================================================================== -->
+		<g transform="translate(120,0)">
+			<path fill="none" stroke="black" stroke-width="8" d="M 130 230 L 180 230 L 180 280"/>
+			<g transform="translate(130,230) rotate(0) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+				<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+			</g>
+			<g transform="translate(180,230) rotate(45) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+				<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+			</g>
+			<g transform="translate(180,280) rotate(90) scale(8) scale(0.2, 0.2) translate(-5, -5)" fill="none" stroke="black" stroke-width="8">
+				<path d="M 5 0 L 10 10 L 0 10 Z" fill="blue" stroke="none"/>
+			</g>
+		</g>    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-marker-07-f.svg b/Tests/W3CTestSuite/svg/painting-marker-07-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fc086730ed97b5a9425e30b85461bbd6179a07b3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-marker-07-f.svg
@@ -0,0 +1,66 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CL" author="Microsoft" status="accepted" version="$Revision: 1.3 $" testname="$RCSfile: painting-marker-07-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#Markers">
+      <p>
+        A 'marker' element with 'display' set to 'none' on that
+        element or any ancestor is rendered when referenced by another element.
+      </p>
+    </d:testDescription>
+        <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there are two green triangles visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-marker-07-f.svg,v $</title>
+    <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <marker id="testMarker" markerWidth="100" markerHeight="100" display="none">
+            <path d="M 0 0 L 200 200 L 0 150 z" fill="green" />
+        </marker>
+        <g display="none">
+          <marker id="testMarker2" markerWidth="100" markerHeight="100">
+            <path d="M 0 0 L 200 200 L 0 150 z" fill="green" />
+          </marker>
+        </g>
+    </defs>
+    <path d="M 0 0 L 25 25" marker-end="url(#testMarker)" />
+    <path d="M 100 0 L 125 25" marker-end="url(#testMarker2)" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/painting-marker-properties-01-f.svg b/Tests/W3CTestSuite/svg/painting-marker-properties-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cbac3a7dbf62f16c6b942f01e82560f908091de8
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-marker-properties-01-f.svg
@@ -0,0 +1,95 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="[reviewer]" author="Microsoft" status="created" version="$Revision: 1.2 $" testname="$RCSfile: painting-marker-properties-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/painting.html#MarkerProperties">
+      <p>
+        <!--[[
+        'Marker-start', 'marker-mid', and 'marker-end' only render markers at the appropriate vertices when applied to 'line', 'path', 'polygon' and 'polyline' elements.
+        ]]-->
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        <!--[[
+        For each attribute ('marker-start', 'marker-mid', and 'marker-end'), create a top 'rect' and a bottom 'rect' that define where the marker
+        'rect's should align. Create the 'line', 'path', 'polygon', and 'polyline' elements to render their markers between the top and bottom 'rect'
+        elements such that an unbreaking line is formed. The 'line' element does not create a mid marker, so the top marker for the 'mid' column is
+        larger than the rest.
+        ]]-->
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        <!--[[
+        Test passes if there are three unbroken blue rectangles visible on the page.
+        ]]-->
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <style type="text/css"><![CDATA[
+        .start
+        {
+            marker-start: url(#markerTest);
+        }
+        .end
+        {
+            marker-end: url(#markerTest);
+        }
+        .mid
+        {
+            marker-mid: url(#markerTest);
+        }]]>
+    </style>
+    <defs>
+        <marker id="markerTest" markerWidth="100" markerHeight="100" fill="blue">
+            <rect width="50" height="55" />
+        </marker>
+    </defs>
+    <rect width="50" height="55" fill="blue" />
+    <line class="start" y1="50" x2="100" y2="50" stroke="none" />
+    <path class="start" d="M 0 100 L 50 100 L 100 100" />
+    <polygon class="start" points="0,150 50,150 100,150" />
+    <polyline class="start" points="0,200 50,200 100,200" />
+    <rect y="250" width="50" height="50" fill="blue" />
+
+    <rect x="250" width="50" height="55" fill="blue" />
+    <line class="end" x1="150" y1="50" x2="250" y2="50" stroke="none" />
+    <path class="end" d="M 150 100 L 200 100 L 250 100" />
+    <polygon class="end" points="250,150 200,150" />
+    <polyline class="end" points="150,200 200,200 250,200" />
+    <rect x="250" y="250" width="50" height="50" fill="blue" />
+
+    <rect x="350" width="50" height="105" fill="blue" />
+    <path class="mid" d="M 300 100 L 350 100 L 400 100" />
+    <polygon class="mid" points="300,150 350,150" />
+    <polyline class="mid" points="300,200 350,200 400,200" />
+    <rect x="350" y="250" width="50" height="50" fill="blue" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-render-01-b.svg b/Tests/W3CTestSuite/svg/painting-render-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6367fb093f24f9ebaa997075d593f0109d68f8a3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-render-01-b.svg
@@ -0,0 +1,146 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-render-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#RenderingProperties">
+      <p>
+        This tests shows the same linear gradient used with different values for the
+        color-interpolation rendering property.  The top bar is painted using the
+        default color-interpolation value, which should produce the same result as
+        sRGB. The middle bar is painted using the 'sRGB' color-interpolation and
+        should be the same as the top bar. Finally, the bottom bar is painted using
+        the linearRGB interpolation, which produces a result visibly different from
+        the top two bars: the white to blue ramp is whiter, the blue to red ramp
+        goes through a pinkish color and the red to yellow ramp turns orange before
+        the similar sRGB rampl.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The top two gradients must look the same, and the bottom gradient must look
+        different to the top two. The rendered picture should match the reference image, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-render-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="gradientDefault" gradientUnits="objectBoundingBox">
+        <stop offset="0" stop-color="white"/>
+        <stop offset=".33" stop-color="blue"/>
+        <stop offset=".66" stop-color="red"/>
+        <stop offset="1" stop-color="yellow"/>
+      </linearGradient>
+      <linearGradient id="gradientSRGB" gradientUnits="objectBoundingBox" color-interpolation="sRGB">
+        <stop offset="0" stop-color="white"/>
+        <stop offset=".33" stop-color="blue"/>
+        <stop offset=".66" stop-color="red"/>
+        <stop offset="1" stop-color="yellow"/>
+      </linearGradient>
+      <linearGradient id="gradientLinearRGB" gradientUnits="objectBoundingBox" color-interpolation="linearRGB">
+        <stop offset="0" stop-color="white"/>
+        <stop offset=".33" stop-color="blue"/>
+        <stop offset=".66" stop-color="red"/>
+        <stop offset="1" stop-color="yellow"/>
+      </linearGradient>
+    </defs>
+    <text font-size="22" text-anchor="middle" x="225" y="30">Basic test of color-interpolation property.</text>
+    <!-- ====================================== -->
+    <!-- Default color-interpolation (sRGB)     -->
+    <!-- ====================================== -->
+    <g transform="translate(40, 80)">
+      <rect x="0" y="0" width="300" height="40" fill="url(#gradientDefault)" stroke="black"/>
+      <circle cx="0" cy="-10" r="3" fill="white" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black"/>
+      <rect x="48" y="18" width="4" height="4" fill="rgb(128, 128, 255)" stroke="black"/>
+      <line x1="50" y1="15" x2="50" y2="25" stroke="rgb(128, 128, 255)"/>
+      <circle cx="100" cy="-10" r="3" fill="blue" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black" transform="translate(100, 0)"/>
+      <rect x="148" y="18" width="4" height="4" fill="rgb(128, 0, 128)" stroke="black"/>
+      <line x1="150" y1="15" x2="150" y2="25" stroke="rgb(128, 0, 128)"/>
+      <circle cx="200" cy="-10" r="3" fill="red" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black" transform="translate(200, 0)"/>
+      <rect x="248" y="18" width="4" height="4" fill="rgb(255, 128, 0)" stroke="black"/>
+      <line x1="250" y1="15" x2="250" y2="25" stroke="rgb(255, 128, 0)"/>
+      <circle cx="300" cy="-10" r="3" fill="yellow" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black" transform="translate(300, 0)"/>
+      <text x="310" y="20" font-size="16">default (sRGB)</text>
+    </g>
+    <!-- ====================================== -->
+    <!-- sRGB color-interpolation               -->
+    <!-- ====================================== -->
+    <g transform="translate(40, 160)">
+      <rect x="0" y="0" width="300" height="40" fill="url(#gradientSRGB)" stroke="black"/>
+      <circle cx="0" cy="-10" r="3" fill="white" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black"/>
+      <rect x="48" y="18" width="4" height="4" fill="rgb(128, 128, 255)" stroke="black"/>
+      <line x1="50" y1="15" x2="50" y2="25" stroke="rgb(128, 128, 255)"/>
+      <circle cx="100" cy="-10" r="3" fill="blue" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black" transform="translate(100, 0)"/>
+      <rect x="148" y="18" width="4" height="4" fill="rgb(128, 0, 128)" stroke="black"/>
+      <line x1="150" y1="15" x2="150" y2="25" stroke="rgb(128, 0, 128)"/>
+      <circle cx="200" cy="-10" r="3" fill="red" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black" transform="translate(200, 0)"/>
+      <rect x="248" y="18" width="4" height="4" fill="rgb(255, 128, 0)" stroke="black"/>
+      <line x1="250" y1="15" x2="250" y2="25" stroke="rgb(255, 128, 0)"/>
+      <circle cx="300" cy="-10" r="3" fill="yellow" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black" transform="translate(300, 0)"/>
+      <text x="310" y="20" font-size="16">sRGB</text>
+    </g>
+    <!-- ====================================== -->
+    <!-- linearRGB color-interpolation          -->
+    <!-- ====================================== -->
+    <g transform="translate(40, 240)">
+      <rect x="0" y="0" width="300" height="40" fill="url(#gradientLinearRGB)" stroke="black"/>
+      <circle cx="0" cy="-10" r="3" fill="white" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black"/>
+      <rect x="48" y="18" width="4" height="4" fill="rgb(128, 128, 255)" stroke="black"/>
+      <line x1="50" y1="15" x2="50" y2="25" stroke="rgb(128, 128, 255)"/>
+      <circle cx="100" cy="-10" r="3" fill="blue" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black" transform="translate(100, 0)"/>
+      <rect x="148" y="18" width="4" height="4" fill="rgb(128, 0, 128)" stroke="black"/>
+      <line x1="150" y1="15" x2="150" y2="25" stroke="rgb(128, 0, 128)"/>
+      <circle cx="200" cy="-10" r="3" fill="red" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black" transform="translate(200, 0)"/>
+      <rect x="248" y="18" width="4" height="4" fill="rgb(255, 128, 0)" stroke="black"/>
+      <line x1="250" y1="15" x2="250" y2="25" stroke="rgb(255, 128, 0)"/>
+      <circle cx="300" cy="-10" r="3" fill="yellow" stroke="black"/>
+      <line x1="0" y1="-7" x2="0" y2="40" stroke="black" transform="translate(300, 0)"/>
+      <text x="310" y="20" font-size="16">linearRGB</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-render-02-b.svg b/Tests/W3CTestSuite/svg/painting-render-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1845b18421296975b38d211d7acf961cd591dc6a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-render-02-b.svg
@@ -0,0 +1,100 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="AG" author="CM" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-render-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperty">
+      <p>
+        This tests that the 'color-interpolation' property is honored when
+        alpha compositing is performed.
+      </p>
+      <p>
+        The test slide consists of seven rectangular regions,
+        each of which is filled with either a dark or light
+        shade of gray.  The 'color-interpolation' property
+        is used on the rectangles to control whether a
+        dark or light shade of gray appears.  Text inside each
+        rectangular region indicates whether the shade of gray
+        should be dark or light.  The top two rectangular regions
+        are references against which the remaining five are to
+        be compared.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>all rectangles marked as "dark" have the same fill color,</li>
+        <li>all rectangles marked as "light" have the same fill color,</li>
+        <li>the rectangle marked "dark or light" has the same fill color
+          as either the "dark" rectangles or the "light" rectangles, and</li>
+        <li>the rendering matches the reference rendering, except for
+          any differences in font used to render the text.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-render-02-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform='translate(90,10)'>
+      <rect y='100' width='300' height='200'/>
+      <g stroke='black' stroke-width='2'>
+        <rect width='150' height='100' fill='#7F7F7F'/>
+        <rect x='150' width='150' height='100' fill='#BBBBBB'/>
+        <g fill='white' fill-opacity='0.5'>
+          <rect y='100' width='100' height='100'/>
+          <g color-interpolation='linearRGB'>
+            <rect x='100' y='100' width='100' height='100' color-interpolation='linearRGB'/>
+            <rect x='200' y='100' width='100' height='100' color-interpolation='sRGB'/>
+            <rect y='200' width='150' height='100' color-interpolation='auto'/>
+            <rect x='150' y='200' width='150' height='100' color-interpolation='inherit'/>
+          </g>
+        </g>
+      </g>
+      <g text-anchor='middle' transform='translate(0,5)'>
+        <text x='75' y='50'>dark</text>
+        <text x='225' y='50'>light</text>
+        <text x='50' y='150'>dark</text>
+        <text x='150' y='150'>light</text>
+        <text x='250' y='150'>dark</text>
+        <text x='75' y='250'>dark or light</text>
+        <text x='225' y='250'>light</text>
+      </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-01-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..837a64b2e254e6401c39bbf750b8c4c8863cb9b6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-01-t.svg
@@ -0,0 +1,68 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kevin McCluskey" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: painting-stroke-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+      <p>
+        Verify the basic capability to handle the stroke properties ("stroke")
+        in combination with the "rect" element .
+        The pair should be rendered as two blue rectangles,
+        the upper one without a stroke and the lower with a green stroke.
+      </p>
+      <p>
+        The test uses the "rect" element, as well as basic "fill" (solid primary colors),
+        "stroke", stroke="green", "font-family" and "font-size" attributes.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for possible
+        variations in the labeling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ============================================================================= -->
+    <!-- Draw two simple rectangles. One without stroke other with stroke:green          -->
+    <!-- ============================================================================= -->
+    <text font-size="36" x="10" y="40">Basic paint: stroke properties.</text>
+    <rect id="stroke-01" fill="blue" stroke="none" x="90" y="70" width="300" height="50"/>
+    <rect id="stroke-02" fill="blue" stroke-width="20" stroke="green" x="90" y="190" width="300" height="50"/>
+    <text font-size="30" x="140" y="150">stroke="none"</text>
+    <text font-size="30" x="148" y="280">stroke="green"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-02-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0bde5eb0d512750cd80ae394ac98ca1f3b385e81
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-02-t.svg
@@ -0,0 +1,63 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kevin McCluskey" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-stroke-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+      <p>
+        Verify the basic capability to handle the stroke properties ("stroke", "stroke-width",
+        "stroke-linejoin") in combination with the "rect" element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The pair should be rendered as two blue rectangles without an interior fill.
+        The upper rectangle should have a thick stroke and sharp corners.
+        The lower rectangle should have a thick stroke and round corners.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Set of rectangles with stroke-width:10 and stroke-linejoin:round-->
+    <!-- ====================================================================== -->
+    <text font-size="36" x="10" y="40">Basic paint: stroke properties.</text>
+    <rect id="stroke-01" fill="none" stroke="blue" stroke-width="20" x="90" y="70" width="300" height="50"/>
+    <rect id="stroke-02" fill="none" stroke="blue" stroke-width="20" stroke-linejoin="round" x="90" y="190" width="300" height="50"/>
+    <text font-size="40" x="120" y="160">stroke-width="20"</text>
+    <text font-size="40" x="58" y="290">stroke-linejoin="round"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-03-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..719a8b0ae5c29871baf1bccacbde05a64aba9500
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-03-t.svg
@@ -0,0 +1,64 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kevin McCluskey" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: painting-stroke-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+      <p>
+        This test checks the basic capability of handling the stroke properties ("stroke", "stroke-width"
+        "stroke-linejoin", "stroke-linecap", "stroke-miterlimit")
+        with straight-line path commands.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The two paths should be rendered as two blue line segments.
+        The upper segment should have round end caps. The lower segment
+        should be chopped off where the two line segments meet.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Test stroke-linecap:round and stroke-miterlimit:1                -->
+    <!-- ====================================================================== -->
+    <text font-size="36" x="10" y="40">Basic paint: stroke properties.</text>
+    <path fill="none" stroke="blue" stroke-width="30" stroke-linecap="round" d="M 160 70 l 200 20 l -200 20 "/>
+    <path fill="none" stroke="blue" stroke-width="30" stroke-linejoin="miter" stroke-miterlimit="1" d="M 160 190 l 200 20 l -200 20"/>
+    <text font-size="40" x="60" y="160">stroke-linecap="round"</text>
+    <text font-size="40" x="130" y="280">stroke-miterlimit="1"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-04-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5e23638f63d963b9c86dcca8e871c0305c38cd0d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-04-t.svg
@@ -0,0 +1,60 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kevin McCluskey" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: painting-stroke-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+        <p>
+          This test checks the "stroke-dasharray" and "stroke-dashoffset" properties. Two lines are drawn, one blue
+        and one black. Both have a "stroke-dasharray" of "10,10" giving a dashed appearance
+        where the size of the gaps and the size of the dash is equal.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      Run the test. No interaction required.
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The black line is lower than but parallel to the blue line. The "stroke-dashoffset" on each line should make the dashes of each line line up with the gaps in the other line.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Test stroke-dasharray and stroke-dashoffset                            -->
+    <!-- ====================================================================== -->
+    <text font-size="36" x="10" y="60">Basic paint: stroke properties.</text>
+    <path id="stroke-7b" fill="none" stroke="blue" stroke-width="25" stroke-dashoffset="0" stroke-dasharray="10,10" d="M 50 120 L 430 120"/>
+    <path id="stroke-7c" fill="none" stroke="black" stroke-width="25" stroke-dashoffset="10" stroke-dasharray="10,10" d="M 50 140 L 430 140"/>
+    <text font-size="30" x="65" y="210">stroke-dasharray="10, 10"</text>
+    <text font-size="30" x="75" y="260">stroke-dashoffset="10"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-05-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f4027018858a874248ff95354265630038845cc7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-05-t.svg
@@ -0,0 +1,88 @@
+<svg version="1.1" baseProfile="tiny" shape-rendering="geometricPrecision" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: painting-stroke-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+      <p>
+        User agents may render graphical primitives with different levels of accuracy.
+        This test is aimed at determining how a UA renders thin strokes.
+      </p>
+      <p>
+        The test file contains a number of vertical and horizontal lines.
+        The stroke width of the vertical lines increase from left to right.
+        The stroke width of the horizontal lines increase from top to bottom.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      Run the test. No interaction required.
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if user is able to see a smooth stroke width
+        increment for the vertical and horizontal lines. The top left hand
+        corner should contain strokes that are very thin in width and the bottom
+        right hand corner should contain thick strokes.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="20" x="240" y="30" text-anchor="middle">Rendering thin strokes</text>
+
+    <polyline points="030,50 030,300" stroke="black" stroke-width="0.001"/>
+    <polyline points="50,50 50,300" stroke="black" stroke-width="0.1"/>
+    <polyline points="70,50 70,300" stroke="black" stroke-width="0.2"/>
+    <polyline points="90,50 90,300" stroke="black" stroke-width="0.3"/>
+    <polyline points="110,50 110,300" stroke="black" stroke-width="0.4"/>
+    <polyline points="130,50 130,300" stroke="black" stroke-width="0.5"/>
+    <polyline points="150,50 150,300" stroke="black" stroke-width="0.6"/>
+    <polyline points="170,50 170,300" stroke="black" stroke-width="0.7"/>
+    <polyline points="190,50 190,300" stroke="black" stroke-width="0.8"/>
+    <polyline points="210,50 210,300" stroke="black" stroke-width="0.9"/>
+    <polyline points="230,50 230,300" stroke="black" stroke-width="1.0"/>
+    <polyline points="250,50 250,300" stroke="black" stroke-width="1.1"/>
+    <polyline points="270,50 270,300" stroke="black" stroke-width="1.2"/>
+    <polyline points="290,50 290,300" stroke="black" stroke-width="1.3"/>
+    <polyline points="310,50 310,300" stroke="black" stroke-width="1.4"/>
+    <polyline points="330,50 330,300" stroke="black" stroke-width="1.5"/>
+    <polyline points="350,50 350,300" stroke="black" stroke-width="1.6"/>
+    <polyline points="370,50 370,300" stroke="black" stroke-width="1.7"/>
+    <polyline points="390,50 390,300" stroke="black" stroke-width="1.8"/>
+    <polyline points="410,50 410,300" stroke="black" stroke-width="1.9"/>
+    <polyline points="430,50 430,300" stroke="black" stroke-width="2.0"/>
+    <polyline points="450,50 450,300" stroke="black" stroke-width="2.1"/>
+
+    <line x1="10" x2="470" y1="100" y2="100" stroke="darkblue" stroke-width="0.1"/>
+    <line x1="10" x2="470" y1="150" y2="150" stroke="darkblue" stroke-width="0.5"/>
+    <line x1="10" x2="470" y1="200" y2="200" stroke="darkblue" stroke-width="1"/>
+    <line x1="10" x2="470" y1="250" y2="250" stroke="darkblue" stroke-width="2"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-06-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..829633f5ca10556030bbb665cd08e53b7481fcb2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-06-t.svg
@@ -0,0 +1,74 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-stroke-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+        <p>
+          Test default effects of stroke-dasharray.
+        </p>
+        <p>
+          This specifically tests the values of none and 0.
+          This also tests an odd number of values in a dash-array attribute
+          and in combination with an offset.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      Run the test. No interaction required.
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The top two lines must be solid black. The next line shows a thick
+        black line with a thinner blue line on top; both must have the same
+        dash pattern. The bottom two lines, one black and one blue, must render
+        so that the gaps of one correspond to the dashes of the other.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-06-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(1.8)">
+
+      <!-- No dasharray -->
+      <path stroke="black" stroke-width="10" fill="none" stroke-dasharray="none" d="   M  20 20   L  200 20"/>
+
+      <path stroke="black" stroke-width="10" fill="none" stroke-dasharray="0" d="   M  20 40   L  200 40"/>
+
+      <!-- Odd number, should repeat to make an even number -->
+      <path stroke="black" stroke-width="20" fill="none" stroke-dasharray="5,2,5,5,2,5" d="   M  20 60   L  200 60"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-dasharray="5,2,5" d="   M  20 60   L  200 60"/>
+
+      <!-- Odd number, with a dashoffset test -->
+      <path stroke="black" stroke-width="10" fill="none" stroke-dasharray="2" d="   M  20 80   L  200 80"/>
+
+      <path stroke="blue" stroke-width="10" fill="none" stroke-dasharray="2" stroke-dashoffset="2" d="         M  20 90   L  200 90"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-07-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..853bda4083ef03dc5e2108a40d908e9b83761e17
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-07-t.svg
@@ -0,0 +1,63 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-stroke-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+        <p>
+          Test effect of different stroke-miterlimits. For this particular combination of
+          stroke width and angle, the cut off value of stroke-miterlimit is 18.028.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first and second subtests should not truncate the stroke, and all the rest must truncate it.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-07-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(1.2) translate(60, 30)">
+      <!-- test different miterlimits -->
+      <path stroke="black" stroke-width="10" stroke-linejoin="miter" stroke-miterlimit="20" fill="none" d="M  20 20   L  200 30  L  20 40"/>
+      <path stroke="black" stroke-width="10" stroke-linejoin="miter" stroke-miterlimit="18.1" fill="none" d="M  20 50   L  200 60  L  20 70"/>
+      <path stroke="black" stroke-width="10" stroke-linejoin="miter" stroke-miterlimit="17.9" fill="none" d="M  20 80   L  200 90  L  20 100"/>
+      <path stroke="black" stroke-width="10" stroke-linejoin="miter" stroke-miterlimit="17" fill="none" d="M  20 110   L  200 120  L  20 130"/>
+      <path stroke="black" stroke-width="10" stroke-linejoin="miter" stroke-miterlimit="4" fill="none" d="M  20 140   L  200 150  L  20 160"/>
+      <path stroke="black" stroke-width="10" stroke-linejoin="miter" stroke-miterlimit="1" fill="none" d="M  20 170   L  200 180  L  20 190"/>
+
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-08-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-08-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a16b2965afed70d74795d16923c9b7eda6ab0a14
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-08-t.svg
@@ -0,0 +1,78 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: painting-stroke-08-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+        <p>
+          Test effects of stroke-opacity range. Values
+          outside the range 0-1.0 must be clamped.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      Run the test. No interaction required.
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There must be no blue bars visible beside the three pink dots.
+        Four semitransparent blue bars, increasingly more opaque,
+        must line up with the yellow dots. Three fully opaque
+        blue bars must line up with the green dots.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-08-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(50, 0) scale(1.7)">
+      <circle r="5" fill="#f66" cx="200" cy="20"/>
+      <circle r="5" fill="#f66" cx="200" cy="40"/>
+      <circle r="5" fill="#f66" cx="200" cy="60"/>
+      <circle r="5" fill="#f66" cx="200" cy="80"/>
+      <circle r="5" fill="#ff0" cx="200" cy="80"/>
+      <circle r="5" fill="#ff0" cx="200" cy="100"/>
+      <circle r="5" fill="#ff0" cx="200" cy="120"/>
+      <circle r="5" fill="#ff0" cx="200" cy="140"/>
+      <circle r="5" fill="#6f3" cx="200" cy="160"/>
+      <circle r="5" fill="#6f3" cx="200" cy="180"/>
+      <circle r="5" fill="#6f3" cx="200" cy="200"/>
+      <!-- Test range and values outside range (should be clamped to valid range) -->
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="-1.0" d="   M  20 20   L  200 20"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="-0.1" d="   M  20 40   L  200 40"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="0.0" d="   M  20 60   L  200 60"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="0.2" d="   M  20 80   L  200 80"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="0.4" d="   M  20 100   L  200 100"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="0.6" d="   M  20 120   L  200 120"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="0.8" d="   M  20 140   L  200 140"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="1.0" d="   M  20 160   L  200 160"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="1.1" d="   M  20 180   L  200 180"/>
+      <path stroke="blue" stroke-width="10" fill="none" stroke-opacity="2.0" d="   M  20 200  L  200 200"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-09-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-09-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..850962c843945e4b7362dde5474e04537817429d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-09-t.svg
@@ -0,0 +1,59 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: painting-stroke-09-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeDasharrayProperty">
+      <p>
+        This tests that the "stroke-dasharray" property accepts values
+        that are separated by white space.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if it matches the reference rendering
+        by showing a thick stroke with alternating long and short
+        stroke dashes.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-09-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Test stroke-dasharray and stroke-dashoffset                            -->
+    <!-- ====================================================================== -->
+    <path fill="none" stroke="black" stroke-width="25" stroke-dasharray="25  5 , 5 5" d="M50,120 h385"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/painting-stroke-10-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-10-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1bad081e684b129f55d1f4a666da7a249a586183
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/painting-stroke-10-t.svg
@@ -0,0 +1,78 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: painting-stroke-10-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/painting.html#StrokeProperties">
+      <p>
+        This tests that stroking of zero length subpaths will result in
+        some rendering if the 'stroke-linecap' property is set to
+        'square' or 'round', but not if it is set to 'butt'.
+      </p>
+      <p>
+        Simply load the test.  Two rows of shapes should be presented,
+        with a text label describing the row.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Simply load the test.  Two rows of shapes should be presented,
+        with a text label describing the row.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: painting-stroke-10-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='40'>Test stroking of zero length subpaths</text>
+
+    <g stroke-width='50' stroke='blue' fill='none'>
+      <path d='M190,170 L190,170' stroke-linecap='round'/>
+      <path d='M290,170 L290,170' stroke-linecap='square'/>
+      <path d='M390,170 L390,170' stroke-linecap='butt' stroke='red'/>
+
+      <path d='M190,240 c0,0 0,0 0,0' stroke-linecap='round'/>
+      <path d='M290,240 c0,0 0,0 0,0' stroke-linecap='square'/>
+      <path d='M390,240 c0,0 0,0 0,0' stroke-linecap='butt' stroke='red'/>
+    </g>
+
+    <g font-size='12'>
+      <text x='10' y='175'>Using an 'L' command:</text>
+      <text x='10' y='245'>Using a 'c' command:</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-01-t.svg b/Tests/W3CTestSuite/svg/paths-data-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e6b972d7a3c00111afd1f3b5aa10f9ddbf4220af
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-01-t.svg
@@ -0,0 +1,151 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: paths-data-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Test that the viewer has the basic capability to handle the 'path'
+          element and its data (d) attribute in combination with the cubic
+          Bezier curveto commands, C, c, S, s (plus Mm and Zz).
+        </p>
+        <p>
+          There are 8 subtests, each composed from the cubic Bezier path commands per
+          the label by the subtest.  On-curve control points (i.e., the curve position)
+          are marked by small blue squares.  Subtests are filled, or stroked, or
+          both, using simple style properties and colors.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- First Curve "X" that has subpath utilizing M, C, S, m, c, & s ======== -->
+    <!-- ====================================================================== -->
+    <text font-size="12" x="100" y="14">Cubic bezier curves drawn with commands:</text>
+    <path id="X_curve_MCSmcs" fill="#00FF00" stroke="#00C000" d="   M  210 130      C  145 130     110  80     110  80       S  75  25      10  25          m    0 105      c   65   0      100 -50     100 -50       s   35 -55     100 -55   "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points  ===================================== -->
+    <!-- ====================================================================== -->
+    <rect x="208" y="128" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="108" y="78" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="8" y="23" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="8" y="128" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="108" y="78" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="208" y="23" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-size="12" x="5" y="82">M, C, S, m, c, s</text>
+    <!-- ====================================================================== -->
+    <!-- Infinity using M, c, c, c, C & z ===================================== -->
+    <!-- ====================================================================== -->
+    <path id="Infinity_McccCz" fill="none" stroke="#000000" d="   M 240  90      c 0  30    7  50    50  0       c 43  -50    50  -30    50  0       c 0  83    -68  -34    -90  -30       C 240  60    240  90    240  90   z  "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="238" y="88" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="288" y="88" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="338" y="88" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="248" y="58" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-size="12" x="253" y="50">M, c, c, c, C, z</text>
+    <!-- ====================================================================== -->
+    <!-- Horizontal line utilizing M, C & Z =================================== -->
+    <!-- ====================================================================== -->
+    <path id="Line_MCZ" fill="none" stroke="#000000" d="M80 170   C100 170 160 170 180 170Z"/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="78" y="168" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="178" y="168" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-size="12" x="110" y="190">M, C, Z</text>
+    <!-- ====================================================================== -->
+    <!-- Inverted V using M, C, c & Z ========================================= -->
+    <!-- ====================================================================== -->
+    <path id="Inv_V_MCcZ" fill="#00C000" stroke="none" d="M5 260 C40 260 60 175  55 160 c  -5  15 15 100 50 100Z"/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="3" y="258" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="53" y="158" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="103" y="258" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-size="12" x="85" y="220">M, C, c, Z</text>
+    <!-- ====================================================================== -->
+    <!-- Remembrance Ribbon using m, c & s ==================================== -->
+    <!-- ====================================================================== -->
+    <path id="Rem_Rib_mcs" fill="none" stroke="#000000" d="m 200 260      c  50 -40     50 -100     25 -100       s -25  60     25  100  "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="198" y="258" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="223" y="158" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="248" y="258" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-size="12" x="165" y="210">m, c, s</text>
+    <!-- ====================================================================== -->
+    <!-- 90 degree arc using M & C ============================================ -->
+    <!-- ====================================================================== -->
+    <path id="Arc_MC" fill="#0000FF" stroke="#000000" d="   M 360 100   C 420 90 460 140 450 190"/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="358" y="98" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="448" y="188" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-size="12" x="360" y="150">M, C</text>
+    <!-- ====================================================================== -->
+    <!-- Circle using M, c, s, s, s & z ======================================= -->
+    <!-- ====================================================================== -->
+    <path id="Circle_Mcssz" fill="#FFFF00" stroke="#000000" d="M360 210      c   0  20    -16  36    -36  36       s -36 -16    -36 -36       s  16 -36     36 -36    s  36  16     36  36   z  "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="358" y="208" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="322" y="244" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="286" y="208" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="322" y="172" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-size="12" x="290" y="265">M, c, s, s, s, z</text>
+    <!-- ====================================================================== -->
+    <!-- Inverted horseshoe using m, c & z ==================================== -->
+    <!-- ====================================================================== -->
+    <path id="Horseshoe_Mcs" fill="#F0F0F0" stroke="#00AA00" d="m 360  325  c -40  -60     95 -100     80    0      z  "/>
+    <!-- ====================================================================== -->
+    <!-- Markers for path control points ====================================== -->
+    <!-- ====================================================================== -->
+    <rect x="358" y="323" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <rect x="438" y="323" width="4" height="4" fill="#4A83FF" stroke="none"/>
+    <text font-size="12" x="380" y="340">m, c, z</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-02-t.svg b/Tests/W3CTestSuite/svg/paths-data-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cad5865d6f7e0269385a44d87c6f26c0603958db
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-02-t.svg
@@ -0,0 +1,124 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: paths-data-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Test that the viewer has the basic capability to handle the 'path'
+          element and its data (d) attribute in combination with the quadratic
+          Bezier curveto commands, Q, q, T, t (plus Mm and Zz).
+        </p>
+        <p>
+          There are 7 subtests, each composed from the quadric Bezier path commands per
+          the label by the subtest.  On-curve control points (i.e., the curve position)
+          are marked by small colored squares.  Subtests are filled, or stroked, or
+          both, using simple style properties and colors.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="12" x="120" y="14">Quadric bezier curves drawn with commands:</text>
+    <!-- ====================================================================== -->
+    <!-- Quad Bezier with sub-path using M, Q, M, q, & z ====================== -->
+    <!-- ====================================================================== -->
+    <path id="Bez_MQMqz" fill="none" stroke="#0000FF" stroke-width="3" d="M  15   20      Q  30  120    130   30      M 180   80      q  -75 -100    -163  -60z"/>
+    <text font-size="12" x="80" y="86">M, Q, M, q, z</text>
+    <rect x="13" y="18" width="4" height="4" fill="#00C000" stroke="none"/>
+    <rect x="128" y="28" width="4" height="4" fill="#00C000" stroke="none"/>
+    <rect x="178" y="78" width="4" height="4" fill="#00C000" stroke="none"/>
+    <rect x="15" y="18" width="4" height="4" fill="#00C000" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Quad Bezier with sub-path using m, q, z, m, q, & z =================== -->
+    <!-- ====================================================================== -->
+    <path id="Bez_fill_MQzmqz" fill="#FFFF00" stroke="#0000CF" d="M372 130Q272 50 422 10zm70 0q50-150-80-90z"/>
+    <text font-size="12" x="352" y="150">m, q, z, m, q, z</text>
+    <rect x="370" y="128" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="420" y="8" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="440" y="128" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="360" y="38" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Simple Bezier using M, Q, & Z ======================================== -->
+    <!-- ====================================================================== -->
+    <path id="Bez_stroke_MQz" fill="none" stroke="#00FFFF" d="M224 103Q234 -12 304 33Z"/>
+    <text font-size="12" x="192" y="36">M, Q, Z</text>
+    <rect x="222" y="101" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="302" y="31" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Tri Bezier using M, Q, T, Q, & z ===================================== -->
+    <!-- ====================================================================== -->
+    <path id="Tri_MQTQz" fill="#00C000" stroke="#000000" d="M208 168Q258 268 308 168T258 118Q128 88 208 168z"/>
+    <text font-size="12" x="308" y="188">M, Q, T, Q, z</text>
+    <rect x="206" y="166" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="306" y="166" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="256" y="116" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="206" y="206" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Double Bezier using M, Q, Q, & z ===================================== -->
+    <!-- ====================================================================== -->
+    <path id="Inv_V_MCcZ" fill="#00CF00" stroke="none" d="   M   60 100      Q  -40 150      60 200      Q  160 150      60 100       z  "/>
+    <text font-size="12" x="80" y="200">M, Q, Q, z</text>
+    <rect x="58" y="98" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="58" y="198" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="58" y="98" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Sin Wave using M, q, t, t, t, t, & z ================================ -->
+    <!-- ====================================================================== -->
+    <path id="Sin_Mqttttz" fill="none" stroke="#40DD20" d="M240 296q25-100 47 0t47 0t47 0t47 0t47 0z"/>
+    <text font-size="12" x="380" y="236">M, q, t, t, t, t, z</text>
+    <rect x="238" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="285" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="332" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="379" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="426" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="473" y="294" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Double Spade using M, q, Q, q, Q, & z ================================ -->
+    <!-- ====================================================================== -->
+    <path id="Dbl_spd_MCcZ" fill="#0000C0" stroke="#00CF00" stroke-width="2" d="M172 193q-100 50 0 50Q72 243 172 293q100 -50 0 -50Q272 243 172 193z"/>
+    <text font-size="12" x="48" y="280">M, q, Q, q, Q, z</text>
+    <rect x="170" y="191" width="4" height="4" fill="#40DD20" stroke="none"/>
+    <rect x="170" y="241" width="4" height="4" fill="#40DD20" stroke="none"/>
+    <rect x="170" y="291" width="4" height="4" fill="#40DD20" stroke="none"/>
+    <rect x="170" y="241" width="4" height="4" fill="#40DD20" stroke="none"/>
+    <rect x="170" y="191" width="4" height="4" fill="#40DD20" stroke="none"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-03-f.svg b/Tests/W3CTestSuite/svg/paths-data-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3f087fdce3a06e003ff2ed847be9030441043476
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-03-f.svg
@@ -0,0 +1,113 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: paths-data-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Test that the viewer has the basic capability to handle the 'path'
+          element and its data (d) attribute in combination with the elliptical
+          arc curveto commands, A, a (plus Mm and Zz).
+        </p>
+        <p>
+          There are 6 subtests, each composed from the elliptical arc path commands per
+          the label by the subtest.  The curve positions
+          are marked by small colored squares.  Subtests are filled, or stroked, or
+          both, using simple style properties and colors.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-03-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="12" x="120" y="14">Elliptical arc curves drawn with commands:</text>
+    <!-- ====================================================================== -->
+    <!-- Simple circle using MAZ  ============================ -->
+    <!-- ====================================================================== -->
+    <path id="Arc_MAZ" fill="none" stroke="#03DD20" stroke-width="10" d="   M  25   70      A  40   40      0         1      0     25   69   Z    "/>
+    <text font-size="12" x="48" y="70">M, A, Z</text>
+    <rect x="23" y="68" width="4" height="4" fill="#00C000" stroke="none"/>
+    <rect x="23" y="67" width="4" height="4" fill="#00C000" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- filled arc using m, a, & z =================== -->
+    <!-- ====================================================================== -->
+    <path id="Arc_fill_maz" fill="#00FF00" stroke="#0000FF" d="   m  150   100      a  50    40       0          1       0      25   -70   z  "/>
+    <text font-size="12" x="124" y="45">m, a, z</text>
+    <rect x="148" y="98" width="4" height="4" fill="#CF0000" stroke="none"/>
+    <rect x="173" y="28" width="4" height="4" fill="#CF0000" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Unterminated arc using M & a ======================================== -->
+    <!-- ====================================================================== -->
+    <path id="Arc_Ma" fill="none" stroke="#000000" d="   M  350    245      a   40    40       0          1       0      80    60       "/>
+    <text font-size="12" x="390" y="300">M, a</text>
+    <rect x="348" y="243" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="428" y="303" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Triple Arc using M, A, a, a, & z ===================================== -->
+    <!-- ====================================================================== -->
+    <path id="Tri_MAaaz" fill="#0067C0" stroke="none" fill-rule="evenodd" d="   M   270   30      A   50    50       0          1       0     345   30         a   50    50       0          1       0      50    0         a   50    50       0          1       0      25    0    z  "/>
+    <text font-size="12" x="280" y="135">M, A, a, a, z</text>
+    <rect x="268" y="28" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="343" y="28" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="393" y="28" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="418" y="28" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Tripple arc using M, a, Z, m, A, Z, m, a & z ===================================== -->
+    <!-- ====================================================================== -->
+    <path id="Arc_MaZmAzmaz" fill="#609040" stroke="#000000" stroke-width="3" d="   M  30   150      a   40    40       0          0       1      65    50          Z                    m   30       30                         A   20       20              0              0              0             125   230        Z             m   40       24                         a   20       20              0              0              1              65    50        z "/>
+    <text font-size="12" x="25" y="270">M, a, Z, m, A, Z, m, a, z</text>
+    <rect x="28" y="148" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="93" y="198" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="58" y="178" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="123" y="228" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="98" y="202" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="163" y="252" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <!-- ====================================================================== -->
+    <!-- Sin Wave using M, q, t, t, t, t, & z ================================ -->
+    <!-- ====================================================================== -->
+    <path id="Sin_MAAAAA" fill="none" stroke="#40DD20" d="   M   215    190      A   40    200      10          0       0      265    190    A   40    200      20          0       1     315    190        A   40    200      30          0       0     365    190    A   40    200      40          0       1     415    190        A   40    200      50          0       0     465    190                     "/>
+    <text font-size="12" x="215" y="246">M, A, A, A, A</text>
+    <rect x="213" y="188" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="263" y="188" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="313" y="188" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="363" y="188" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="413" y="188" width="4" height="4" fill="#0000FF" stroke="none"/>
+    <rect x="463" y="188" width="4" height="4" fill="#0000FF" stroke="none"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-04-t.svg b/Tests/W3CTestSuite/svg/paths-data-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..63fef435838b7d4620407323d12df3110db33ee9
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-04-t.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: paths-data-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Verify the basic capability to handle the 'path' element, and its data attribute (d)
+          in combination with the straight-line path commands.
+          Two pairs of concentric equilateral triangles are drawn using respectively
+          M,L,Z and m,l,z.  The shapes are identical, with one stroked and
+          one filled.  The fill-mode default of "even-odd" means that
+          the inner triangle is hollow.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- First Group of Triangles using M, L & Z commands ===================== -->
+    <!-- ====================================================================== -->
+    <g transform="scale(1.8)">
+      <!--		<text font-size="12"  x="160" y="14">Lines drawn with commands:</text> -->
+      <text font-size="12" x="88" y="30">M, L, L, L, Z,</text>
+      <text font-size="12" x="98" y="46">subpath</text>
+      <text font-size="12" x="88" y="61">M, L, L, L, Z</text>
+      <path id="Triangle_stroke_MLZ" fill="none" stroke="#000000" d="   M   62.00000   56.00000    L  113.96152  146.00000   L   10.03848  146.00000    L   62.00000   56.00000   Z    M   62.00000  71.00000   L  100.97114  138.50000   L   23.02886  138.50000   L   62.00000  71.00000   Z  "/>
+      <rect x="60.00000" y="54.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="111.96152" y="144.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="8.03848" y="144.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="60.00000" y="69.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="98.97114" y="136.50000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="21.02886" y="136.50000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <text font-size="12" x="42" y="162">stroked</text>
+      <path id="Triangle_fill_MLZ" fill="#7FA" stroke="none" fill-rule="evenodd" d="   M  177.00000   56.00000    L  228.96152  146.00000   L  125.03848  146.00000    L  177.00000   56.00000   Z    M  177.00000  71.00000   L  215.97114  138.50000   L  138.02886  138.50000   L  177.00000  71.00000   Z  "/>
+      <rect x="175.00000" y="54.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="226.96152" y="144.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="123.03848" y="144.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="175.00000" y="69.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="213.97114" y="136.50000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="136.02886" y="136.50000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <text font-size="12" x="162" y="162">filled</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-05-t.svg b/Tests/W3CTestSuite/svg/paths-data-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cea68ca97f76d89ff1ae45b664db028070dbb2a7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-05-t.svg
@@ -0,0 +1,79 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: paths-data-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Verify the basic capability to handle the 'path' element, and its data attribute (d)
+          in combination with the straight-line path commands.
+          Two pairs of concentric equilateral triangles are drawn using respectively
+          M,L,Z and m,l,z. The shapes in each pair are identical, with one stroked and
+          one filled.   The fill-mode default of "even-odd" means that
+          the inner triangle is hollow.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Second Group of Triangles using m, l & z commands===================== -->
+    <!-- ====================================================================== -->
+    <g transform="scale(1.8) translate(0, -150)">
+      <text font-size="12" x="96" y="180">m, l, l, l, z,</text>
+      <text font-size="12" x="100" y="194">subpath</text>
+      <text font-size="12" x="97" y="208">m, l, l, l, z</text>
+      <path id="Triangle_stroke_mlz" fill="none" stroke="#000000" d="   m   62.00000  190.00000    l   51.96152   90.00000   l -103.92304    0.00000    l   51.96152  -90.00000   z    m    0.00000   15.00000   l   38.97114   67.50000   l  -77.91228    0.00000   l   38.97114  -67.50000   z  "/>
+      <rect x="60.00000" y="188.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="111.96152" y="278.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="8.03848" y="278.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="60.00000" y="203.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="98.97114" y="270.50000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="21.02886" y="270.50000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <path id="Triangle_fill_mlz" fill="#006000" stroke="none" fill-rule="evenodd" d="   m  177.00000  190.00000    l   51.96152   90.00000   l -103.92304    0.00000    l   51.96152  -90.00000   z    m    0.00000   15.00000   l   38.97114   67.50000   l  -77.91228    0.00000   l   38.97114  -67.50000   z  "/>
+      <rect x="175.00000" y="188.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="226.96152" y="278.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="123.03848" y="278.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="175.00000" y="203.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="213.97114" y="270.50000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="136.02886" y="270.50000" width="4" height="4" fill="#40DD20" stroke="none"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-06-t.svg b/Tests/W3CTestSuite/svg/paths-data-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5e0fa31c16be22fa4e44ab09f67da471d8b95d32
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-06-t.svg
@@ -0,0 +1,83 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: paths-data-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Verify the basic capability to handle the 'path' element, and its data attribute (d)
+          in combination with the straight-line path commands.
+          Two pairs of staircase figures are drawn using
+          respectively M,H,V,Z and m,h,v,z. The shapes in each pair are identical, with one stroked and
+          one filled.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-06-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(1.8) translate(-200, 0)">
+      <!-- ====================================================================== -->
+      <!-- First Group of Stairs using M, H, V & Z commands====================== -->
+      <!-- ====================================================================== -->
+      <text font-size="12" x="288" y="30">M, H, V, H,</text>
+      <text font-size="12" x="288" y="46">V. H, V, H,</text>
+      <text font-size="12" x="304" y="62">V, Z</text>
+      <path id="Stairs_stroke_MHVZ" fill="none" stroke="#000000" d="   M  240.00000  56.00000    H  270.00000   V  86.00000    H  300.00000   V  116.00000    H  330.00000   V  146.00000    H  240.00000   V  56.00000    Z  "/>
+      <rect x="238.00000" y="54.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="268.00000" y="54.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="268.00000" y="84.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="298.00000" y="84.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="298.00000" y="114.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="328.00000" y="114.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="328.00000" y="144.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="238.00000" y="144.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <path id="Stairs_fill_MHVZ" fill="#0000FF" stroke="none" d="   M  350.00000  56.00000   H  380.00000   V  86.00000    H  410.00000   V  116.00000    H  440.00000   V  146.00000    H  350.00000   V  56.00000    Z  "/>
+      <rect x="348.00000" y="54.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="378.00000" y="54.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="378.00000" y="84.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="408.00000" y="84.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="408.00000" y="114.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="438.00000" y="114.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="438.00000" y="144.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <rect x="348.00000" y="144.00000" width="4" height="4" fill="#FFFF00" stroke="none"/>
+      <!-- ====================================================================== -->
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-07-t.svg b/Tests/W3CTestSuite/svg/paths-data-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..806e0b569a8578228dc40f4501c1ccc652ee3ed1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-07-t.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: paths-data-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Verify the basic capability to handle the 'path' element, and its data attribute (d)
+          in combination with the straight-line path commands.
+          Two pairs of staircase figures are drawn using
+          respectively M,H,V,Z and m,h,v,z. The shapes in each pair are identical, with one stroked and
+          one filled.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-07-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(1.8) translate(-200, -150)">
+      <!-- ====================================================================== -->
+      <!-- Second Group of Stairs using m, h, v & z commands====================== -->
+      <!-- ====================================================================== -->
+      <text font-size="12" x="288" y="180">m, h, v, h</text>
+      <text font-size="12" x="288" y="194">v, h, v, h</text>
+      <text font-size="12" x="304" y="208">v, z</text>
+      <path id="Stairs_stroke_mhvz" fill="none" stroke="#000000" d="   m  240.00000  190.00000    h   30.00000   v   30.00000    h   30.00000   v   30.00000    h   30.00000   v   30.00000    h  -90.00000   v  -90.00000    z  "/>
+      <rect x="238.00000" y="188.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="268.00000" y="188.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="268.00000" y="218.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="298.00000" y="218.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="298.00000" y="248.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="328.00000" y="248.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="328.00000" y="278.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="238.00000" y="278.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <path id="Stairs_fill_mhvz" fill="#FFFF00" stroke="none" d="   m  350.00000  190.00000    h   30.00000   v   30.00000    h   30.00000   v   30.00000    h   30.00000   v   30.00000    h  -90.00000   v  -90.00000    z  "/>
+      <rect x="348.00000" y="188.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="378.00000" y="188.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="378.00000" y="218.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="408.00000" y="218.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="408.00000" y="248.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="438.00000" y="248.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="438.00000" y="278.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+      <rect x="348.00000" y="278.00000" width="4" height="4" fill="#0000FF" stroke="none"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-08-t.svg b/Tests/W3CTestSuite/svg/paths-data-08-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5b2af84fdc7a14a124d0b12701e2c1d7604d05d7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-08-t.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="SH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: paths-data-08-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Verify the basic capability to handle the 'path' element, and its data attribute (d)
+          in combination with the straight-line path commands.
+          Two pairs of concentric equilateral triangles are drawn using
+          M and Z.  No L commands are used in this test as they are implied after
+          an M or Z command.  The shapes are identical, with one stroked and
+          one filled.  The fill-mode default of "even-odd" means that
+          the inner triangle is hollow.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-08-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- First Group of Triangles using M & Z commands ======================== -->
+    <!-- ====================================================================== -->
+    <text font-size="24" x="75" y="34">Lines drawn with commands:</text>
+    <text font-size="24" x="180" y="64">M and Z</text>
+
+    <g transform="scale(1.8)">
+      <path id="Triangle_stroke_MZ" fill="none" stroke="#000000" d="   M   62.00000   56.00000    113.96152  146.00000   10.03848  146.00000    62.00000   56.00000   Z    M   62.00000  71.00000   100.97114  138.50000   23.02886  138.50000   62.00000  71.00000   Z  "/>
+      <rect x="60.00000" y="54.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="111.96152" y="144.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="8.03848" y="144.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="60.00000" y="69.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="98.97114" y="136.50000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="21.02886" y="136.50000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <text font-size="12" x="42" y="162">stroked</text>
+      <path id="Triangle_fill_MZ" fill="#05D" stroke="none" fill-rule="evenodd" d="   M  177.00000   56.00000    228.96152  146.00000   125.03848  146.00000    177.00000   56.00000   Z    M  177.00000  71.00000   215.97114  138.50000   138.02886  138.50000   177.00000  71.00000   Z  "/>
+      <rect x="175.00000" y="54.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="226.96152" y="144.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="123.03848" y="144.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="175.00000" y="69.00000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="213.97114" y="136.50000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <rect x="136.02886" y="136.50000" width="4" height="4" fill="#00C000" stroke="none"/>
+      <text font-size="12" x="162" y="162">filled</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-09-t.svg b/Tests/W3CTestSuite/svg/paths-data-09-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d2908c20710d5b6fc4f97e103da9c6262dbf035a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-09-t.svg
@@ -0,0 +1,79 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="SH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: paths-data-09-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Verify the basic capability to handle the 'path' element, and its data attribute (d)
+          in combination with the straight-line path commands.
+          Two pairs of concentric equilateral triangles are drawn using
+          m and z.  No l commands are used in this test as they are implied after
+          an m or z command.  The shapes are identical, with one stroked and
+          one filled.  The fill-mode default of "even-odd" means that
+          the inner triangle is hollow.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-09-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Second Group of Triangles using m & z commands   ===================== -->
+    <!-- ====================================================================== -->
+    <text font-size="24" x="75" y="34">Lines drawn with commands:</text>
+    <text font-size="24" x="180" y="64">m and z</text>
+    <g transform="scale(1.8) translate(0, -150)">
+      <path id="Triangle_stroke_mz" fill="none" stroke="#000000" d="   m   62.00000  190.00000    51.96152   90.00000   -103.92304    0.00000    51.96152  -90.00000   z    m    0.00000   15.00000   38.97114   67.50000   -77.91228    0.00000   38.97114  -67.50000   z  "/>
+      <rect x="60.00000" y="188.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="111.96152" y="278.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="8.03848" y="278.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="60.00000" y="203.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="98.97114" y="270.50000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="21.02886" y="270.50000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <path id="Triangle_fill_mz" fill="#006000" stroke="none" fill-rule="evenodd" d="   m  177.00000  190.00000    51.96152   90.00000   -103.92304    0.00000    51.96152  -90.00000   z    m    0.00000   15.00000   38.97114   67.50000   -77.91228    0.00000   38.97114  -67.50000   z  "/>
+      <rect x="175.00000" y="188.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="226.96152" y="278.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="123.03848" y="278.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="175.00000" y="203.00000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="213.97114" y="270.50000" width="4" height="4" fill="#40DD20" stroke="none"/>
+      <rect x="136.02886" y="270.50000" width="4" height="4" fill="#40DD20" stroke="none"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-10-t.svg b/Tests/W3CTestSuite/svg/paths-data-10-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ebfcda85119d2c44606004d1293a0b33913c49d5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-10-t.svg
@@ -0,0 +1,111 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="SH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: paths-data-10-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Verify that the viewer renders the line caps and line joins for
+          open and closed paths properly.
+          Verify that the open triangular paths are stroked differently at
+          ends of the path than they are at their intermediate corners.
+          In contrast, the corners of a closed path should all appear the
+          same.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-10-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(10,10)">
+      <text font-size="18" x="10" y="20">open</text>
+      <text font-size="18" x="10" y="38">join=round</text>
+      <text font-size="18" x="10" y="56">cap=butt</text>
+      <text font-size="18" x="10" y="74">M, L</text>
+      <g transform="translate(115,0)">
+        <path id="triangle-01" fill="green" stroke="#39D" stroke-width="15" stroke-linecap="butt" stroke-linejoin="round" d="M 100 0 L 100 80 0 40 100 0"/>
+      </g>
+    </g>
+    <g transform="translate(10,115)">
+      <text font-size="18" x="10" y="20">open</text>
+      <text font-size="18" x="10" y="38">join=bevel</text>
+      <text font-size="18" x="10" y="56">cap=round</text>
+      <text font-size="18" x="10" y="74">m, l</text>
+      <g transform="translate(115,0)">
+        <path id="triangle-02" fill="green" stroke="#39D" stroke-width="15" stroke-linecap="round" stroke-linejoin="bevel" d="m 100 0 l 0 80 -100 -40 100 -40"/>
+      </g>
+    </g>
+    <g transform="translate(10,220)">
+      <text font-size="18" x="10" y="20">open</text>
+      <text font-size="18" x="10" y="38">join=miter</text>
+      <text font-size="18" x="10" y="56">cap=square</text>
+      <text font-size="18" x="10" y="74">M, L</text>
+      <g transform="translate(115,0)">
+        <path id="triangle-03" fill="green" stroke="#39D" stroke-width="15" stroke-linecap="square" stroke-linejoin="miter" d="M 100 0 L 100 80 0 40 100 0"/>
+      </g>
+    </g>
+    <g transform="translate(250,10)">
+      <text font-size="18" x="125" y="20">closed</text>
+      <text font-size="18" x="125" y="38">join=round</text>
+      <text font-size="18" x="125" y="56">cap=butt</text>
+      <text font-size="18" x="125" y="74">M, L, Z</text>
+      <g transform="translate(0,0)">
+        <path id="triangle-04" fill="green" stroke="#39D" stroke-width="15" stroke-linecap="butt" stroke-linejoin="round" d="M 0 0 L 100 40 0 80 Z"/>
+      </g>
+    </g>
+    <g transform="translate(250,115)">
+      <text font-size="18" x="125" y="20">closed</text>
+      <text font-size="18" x="125" y="38">join=bevel</text>
+      <text font-size="18" x="125" y="56">cap=round</text>
+      <text font-size="18" x="125" y="74">m, l, z</text>
+      <g transform="translate(0,0)">
+        <path id="triangle-05" fill="green" stroke="#39D" stroke-width="15" stroke-linecap="round" stroke-linejoin="bevel" d="m 0 0 l 100 40 -100 40 z"/>
+      </g>
+    </g>
+    <g transform="translate(250,220)">
+      <text font-size="18" x="125" y="20">closed</text>
+      <text font-size="18" x="125" y="38">join=miter</text>
+      <text font-size="18" x="125" y="56">cap=square</text>
+      <text font-size="18" x="125" y="74">M, L, Z</text>
+      <g transform="translate(0,0)">
+        <path id="triangle-06" fill="green" stroke="#39D" stroke-width="15" stroke-linecap="square" stroke-linejoin="miter" d="M 0 0 L 100 40 0 80 Z"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-12-t.svg b/Tests/W3CTestSuite/svg/paths-data-12-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ef5666c45cc3c25cb72e1ff2a6e624bc44381fa6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-12-t.svg
@@ -0,0 +1,66 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CN" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: paths-data-12-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Test using multiple coord sets to build a polybeizer, and implicit values for initial S.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image exactly, except for possible variations in the labelling text (per CSS2 rules).
+      </p>
+
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-12-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Use multiple coord sets to build a polybeizer-->
+    <path fill="none" stroke="black" stroke-width="3" d="M  100 100    C  100 20   200 20   200 100   S   300 180   300 100"/>
+    <rect x="100" y="100" width="4" height="4" fill="blue" stroke="none"/>
+    <rect x="200" y="100" width="4" height="4" fill="blue" stroke="none"/>
+    <rect x="300" y="100" width="4" height="4" fill="blue" stroke="none"/>
+    <!-- Test if S not preceeded by either C or S ,  first control point is coincident with the current point.-->
+    <path fill="none" stroke="black" stroke-width="3" d="M  100 250    S  200 200   200 250     300 300   300 250"/>
+    <rect x="100" y="250" width="4" height="4" fill="blue" stroke="none"/>
+    <rect x="200" y="200" width="4" height="4" fill="blue" stroke="none"/>
+    <rect x="200" y="250" width="4" height="4" fill="blue" stroke="none"/>
+    <rect x="200" y="300" width="4" height="4" fill="blue" stroke="none"/>
+    <rect x="300" y="300" width="4" height="4" fill="blue" stroke="none"/>
+    <rect x="300" y="250" width="4" height="4" fill="blue" stroke="none"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-13-t.svg b/Tests/W3CTestSuite/svg/paths-data-13-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8525043b260d69dc76a207ef23619aa27ee13e6e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-13-t.svg
@@ -0,0 +1,56 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CN" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: paths-data-13-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Test multiple coordinates for V and H. 
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+      Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test is passed if there is one horizontal green line and one vertical blue line.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-13-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Use multiple coords to H, should get a straight horizontal line -->
+    <path stroke="green" stroke-width="5" d="   M  240.00000  56.00000    H  270.00000         300.00000 320.00000 400.00000   "/>
+
+    <!-- Use multiple coords to V, should get a straight vertical line -->
+    <path stroke="blue" stroke-width="5" d="   M  240.00000  156.00000    V  180.00000         200.00000 260.00000 300.00000   "/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-14-t.svg b/Tests/W3CTestSuite/svg/paths-data-14-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..543370e1c8f406008f8b1ae8f2af85aa3a99e797
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-14-t.svg
@@ -0,0 +1,56 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: paths-data-14-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Test implicit values for moveto. If the first command is 'm' it should be taken as an absolute moveto, plus implicit lineto.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test is passed if the three triangles are shown: two concentric, unfilled
+      triangles with black strokes on the left, and one unfilled triangle with
+      a thick blue stroke on the right.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-14-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(1.8)">
+      <!-- If the first command is 'm' it should be taken as an absolute moveto, plus implicit lineto. -->
+      <path fill="none" stroke="#000000" d="   m   62.00000  56.00000    51.96152   90.00000   -103.92304         0.00000    51.96152  -90.00000   z    m    0.00000   15.00000   38.97114   67.50000   -77.91228         0.00000   38.97114  -67.50000   z  "/>
+      <!-- Test implicit lineto. -->
+      <path fill="#0000FF" stroke="none" fill-rule="evenodd" d="   M  177.00000   56.00000    228.96152         146.00000   125.03848  146.00000    177.00000   56.00000   Z    M  177.00000  71.00000   215.97114         138.50000   138.02886  138.50000   177.00000  71.00000   Z  "/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-15-t.svg b/Tests/W3CTestSuite/svg/paths-data-15-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7b9dcbbb221ad8c2932ac4108c80c23fe70ec158
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-15-t.svg
@@ -0,0 +1,60 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: paths-data-15-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+        <p>
+          Test using multiple coord sets to build a polybezier, then T with no preceding Q or T.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, apart from any allowable font selection differences due to CSS2.</p>
+      <p>A purple wavy line above a short, blue horizontal line must be shown.
+      Small black triangles pointing to the start, middle and end of the blue
+      line must also be shown.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-15-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(1.8) translate(20 50)">
+      <!-- Use multiple coord sets to build a polybezier-->
+      <path fill="none" stroke="purple" stroke-width="3" d="M  20 20    Q  50 10   80 20   110 30   140 20         170 10   200 20"/>
+      <!-- Test if T not preceded by either Q or T , control point should be coincident with the current point.-->
+      <path fill="none" stroke="blue" stroke-width="3" d="M  20 50    T  50 50   80 50"/>
+      <path d="M 20,52 l-2,4 h4 z"/>
+      <path d="M 50,52 l-2,4 h4 z"/>
+      <path d="M 80,52 l-2,4 h4 z"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-16-t.svg b/Tests/W3CTestSuite/svg/paths-data-16-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ce768ecca0635dd519c5c8060d83a4e634e35fec
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-16-t.svg
@@ -0,0 +1,69 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CM" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: paths-data-16-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathData">
+      <p>
+        This tests that any implicit lineto commands that result from an
+        'M' or 'm' command with more than one pair of coordinates are absolute
+        if the moveto was specified with 'M' and relative if the moveto was
+        specified with 'm'.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After loading the test, the test is passed if two yellow
+        triangles with black borders are shown.  Otherwise, the
+        test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-16-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='40' font-size='13'>Test relative-ness of implicit lineto path commands</text>
+
+    <g fill='red' stroke='red' stroke-width='16' stroke-linejoin='round'>
+      <path d='M100,120 L160,220 L40,220 z'/>
+      <path d='M350,120 L410,220 L290,220 z'/>
+    </g>
+    <g fill='gold' stroke='black' stroke-width='16' stroke-linejoin='round'>
+      <path d='M100,120 160,220 40,220 z'/>
+      <path d='m350,120 60,100 -120,0 z'/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-17-f.svg b/Tests/W3CTestSuite/svg/paths-data-17-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d6801a8640dcc1d476c3406bfa4204416bb4ed4c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-17-f.svg
@@ -0,0 +1,65 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Microsoft" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: paths-data-17-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathDataClosePathCommand">
+      <p>
+        Test that the 'z' and 'Z' command have the same effect.
+      </p>
+      <p>
+        Specify four 'path' elements that each use three 'L' commands to draw three sides of a square. The fourth line of each
+        square is drawn via a 'closepath' command. A red square closed via 'z' is covered with a black square closed via 'Z' and
+        vice versa.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if two black-stroked, unfilled squares are visible and
+	there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-17-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <path d="M 50 50 L 50 150 L 150 150 L 150 50 z" stroke-width="5" stroke="red" fill="none" />
+    <path d="M 50 50 L 50 150 L 150 150 L 150 50 Z" stroke-width="6" stroke="black" fill="none" />
+    <path d="M 250 50 L 250 150 L 350 150 L 350 50 Z" stroke-width="5" stroke="red" fill="none" />
+    <path d="M 250 50 L 250 150 L 350 150 L 350 50 z" stroke-width="6" stroke="black" fill="none" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-18-f.svg b/Tests/W3CTestSuite/svg/paths-data-18-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e50a85079d3380f3a6c8728b3ddcbb44c0f12e7e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-18-f.svg
@@ -0,0 +1,100 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: paths-data-18-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathDataGeneralInformation">
+      <p>
+        The 'path' element's 'd' attribute ignores additional whitespace, newline characters, and commas, and BNF processing consumes as much content as possible, stopping as soon as a character that doesn't satisfy the production is encountered.
+      </p>
+      <p>
+        Various black path segments are rendered that each demonstrate one of the parsing rules. Each path segment is placed on top
+        of a similar path segment that lacks the particular parsing rule that is being tested. Test passes if no red is visible.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if seven thick black horizontal lines are shown with corresponding
+        gold horizontal lines just above them, and the black and gold lines are all of the
+        same length and horizontal position.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-18-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g fill="gold">
+      <rect x="220" y="40" width="160" height="8"/>
+      <rect x="220" y="80" width="160" height="8"/>
+      <rect x="220" y="120" width="160" height="8"/>
+      <rect x="220" y="160" width="160" height="8"/>
+      <rect x="64.6" y="200" width="319.5" height="8"/>
+      <rect x="140" y="240" width="160" height="8"/>
+      <rect x="220" y="280" width="160" height="8"/>
+    </g>
+
+    <g transform="translate(60,-30) scale(8,2)">
+      <path d="M 20 40 H 40" stroke-width="2" stroke="red" />
+      <path d="M 20 40
+                 H 40" stroke-width="4" stroke="black" />
+  
+      <path d="M 20 60 H 40" stroke-width="2" stroke="red" />
+      <path d="
+                  M
+                  20
+                  60
+                  H
+                  40
+                  " stroke-width="4" stroke="black" />
+  
+      <path d="M 20 80 H40" stroke-width="2" stroke="red" />
+      <path d="M       20,80          H    40" stroke-width="4" stroke="black" />
+  
+      <path d="M 20 100 H 40#90" stroke-width="2" stroke="red" />
+      <path d="M 20 100 H 40" stroke-width="4" stroke="black" />
+  
+      <path d="M 20 120 H 40.5 0.6" stroke-width="2" stroke="red" />
+      <path d="M 20 120 H 40.5.6" stroke-width="4" stroke="black" />
+  
+      <path d="M 20 140 h 10 -20" stroke-width="2" stroke="red" />
+      <path d="M 20 140 h 10-20" stroke-width="4" stroke="black" />
+  
+      <path d="M 20 160 H 40" stroke-width="2" stroke="red" />
+      <path d="M 20 160 H 40#90" stroke-width="4" stroke="black" />
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-19-f.svg b/Tests/W3CTestSuite/svg/paths-data-19-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5d6d49a9ed9fbcacc23792e2f15b2900f350427e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-19-f.svg
@@ -0,0 +1,107 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: paths-data-19-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathDataGeneralInformation">
+      <p>
+        Test that additional parameters to pathdata commands are treated as additional calls to the most recent command.
+      </p>
+      <p>
+        Each of the applicable 'pathdata' commands are used in separate 'path' elements. Each command is repeated in red and
+        overlayed with another 'path' element with identical coordinates specified but without the repeated command in black.
+        Commands that do not render or do not take parameters are omitted.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-19-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <path d="M20 20 H40 H60" stroke-width="3" stroke="red" fill="none" />
+    <path d="M20 20 H40 60" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M20 40 h20 h20" stroke-width="3" stroke="red" fill="none" />
+    <path d="M20 40 h20 20" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M120 20 V40 V60" stroke-width="3" stroke="red" fill="none" />
+    <path d="M120 20 V40 60" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M140 20 v20 v20" stroke-width="3" stroke="red" fill="none" />
+    <path d="M140 20 v20 20" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M220 20 L 240 20 L260 20" stroke-width="3" stroke="red" fill="none" />
+    <path d="M220 20 L 240 20 260 20 " stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M220 40 l 20 0 l 20 0" stroke-width="3" stroke="red" fill="none" />
+    <path d="M220 40 l 20 0 20 0" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M50 150 C50 50 200 50 200 150 C200 50 350 50 350 150" stroke-width="3" stroke="red" fill="none" />
+    <path d="M50 150 C50 50 200 50 200 150 200 50 350 50 350 150" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M50, 200 c0,-100 150,-100 150,0 c0,-100 150,-100 150,0" stroke-width="3" stroke="red" fill="none" />
+    <path d="M50, 200 c0,-100 150,-100 150,0 0,-100 150,-100 150,0" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M50 250 S125 200 200 250 S275, 200 350 250" stroke-width="3" stroke="red" fill="none" />
+    <path d="M50 250 S125 200 200 250 275, 200 350 250" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M50 275 s75 -50 150 0 s75, -50 150 0" stroke-width="3" stroke="red" fill="none" />
+    <path d="M50 275 s75 -50 150 0 75, -50 150 0" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M50 300 Q 125 275 200 300 Q 275 325 350 300" stroke-width="3" stroke="red" fill="none" />
+    <path d="M50 300 Q 125 275 200 300 275 325 350 300" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M50 325 q 75 -25 150 0 q 75 25 150 0" stroke-width="3" stroke="red" fill="none" />
+    <path d="M50 325 q 75 -25 150 0 75 25 150 0" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M425 25 T 425 75 T 425 125" stroke-width="3" stroke="red" fill="none" />
+    <path d="M425 25 T 425 75 425 125" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M450 25 t 0 50 t 0 50" stroke-width="3" stroke="red" fill="none" />
+    <path d="M450 25 t 0 50 0 50" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M400,200 A25 25 0 0 0 425 150 A25 25 0 0 0 400 200" stroke-width="3" stroke="red" fill="none" />
+    <path d="M400,200 A25 25 0 0 0 425 150 25 25 0 0 0 400 200" stroke-width="3" stroke="black" fill="none" />
+
+    <path d="M400,300 a25 25 0 0 0 25 -50 a25 25 0 0 0 -25 50" stroke-width="3" stroke="red" fill="none" />
+    <path d="M400,300 a25 25 0 0 0 25 -50 25 25 0 0 0 -25 50" stroke-width="3" stroke="black" fill="none" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-data-20-f.svg b/Tests/W3CTestSuite/svg/paths-data-20-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b0827e5ca9db126dfd74fcf0d30882a2aa575a24
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-data-20-f.svg
@@ -0,0 +1,87 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: paths-data-20-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#PathDataEllipticalArcCommands">
+      <p>
+        Tests parsing of the elliptical arc path syntax.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if the image looks as if there are eight green circles that have
+        two white rectangles overlapping them, like in the reference image. If any red is visible
+        the test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-data-20-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <!-- no commawsp between arc flags --> 
+    <path d="M120,120 h25 a25,25 0 1,0 -25,25 z" fill="red" stroke="lime"/>
+    <path d="M120,120 h25 a25,25 0 10 -25,25z" fill="lime"/>
+
+    <!-- no commawsp between arc flags and no commawsp after arc flags -->
+    <path d="M200,120 h-25 a25,25 0 1,1 25,25 z" fill="red" stroke="lime"/>
+    <path d="M200,120 h-25 a25,25 0 1125,25 z" fill="lime"/>
+  
+    <!-- out of range large-arc-flag value -->
+    <path d="M280,120 h25 a25,25 0 1,0 -25,25 z" fill="lime" stroke="lime"/>
+    <path d="M280,120 h25 a25,25 0 6 0 -25,25 z" fill="red"/>
+  
+    <!-- negative sweep-flag value -->
+    <path d="M360,120 h-25 a25,25 0 1,1 25,25 z" fill="lime" stroke="lime"/>
+    <path d="M360,120 h-25 a25,25 0 1 -1 25,25 z" fill="red"/>
+   
+    <!-- no commawsp between sweep-flag and following coordinate-pair -->
+    <path d="M120,200 h25 a25,25 0 1,1 -25,-25 z" fill="red" stroke="lime"/>
+    <path d="M120,200 h25 a25,25 0 1 1-25,-25 z" fill="lime"/>
+  
+    <!-- no commawsp before arc flags -->
+    <path d="M200,200 h-25 a25,25 0 1,0 25,-25 z" fill="lime" stroke="lime"/>
+    <path d="M200,200 h-25 a25,2501 025,-25 z" fill="red"/>
+
+    <!-- out of range sweep-flag value -->
+    <path d="M280,200 h25 a25,25 0 1,1 -25,-25 z" fill="lime" stroke="lime"/>
+    <path d="M280,200 h25 a25 25 0 1 7 -25 -25 z" fill="red"/>
+
+    <!-- negative large-arc-flag value -->
+    <path d="M360,200 h-25 a25,25 0 1,0 25,-25 z" fill="lime" stroke="lime"/>
+    <path d="M360,200 h-25 a25,25 0 -1 0 25,-25 z" fill="red"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-dom-01-f.svg b/Tests/W3CTestSuite/svg/paths-dom-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7c79f352fe79d470ee9181fbea87bc40dca701ec
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-dom-01-f.svg
@@ -0,0 +1,140 @@
+<svg version="1.1" baseProfile="full" onload="init();" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.6 $" testname="$RCSfile: paths-dom-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#DOMInterfaces">
+      <p>
+        Test the getTotalLength, getPointAtLength and getPathSegAtLength DOM methods.
+      </p>
+      <p>
+        The left green rect should have text around it. The text should start at 50 user units distance-along-the-path, which is the same as half the rect width.
+        The right green rect should also have text around it, but the text should start 50 units along the path relative to the provided pathLength. Since 50 is
+        half of the provided pathLength the text will start at the lower right-hand corner, and if the text is too long to fit it will be cut off when reaching
+        the upper left corner of the rect.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test has passed if:</p>
+      <ul>
+        <li>the value for getTotalLength is "300" for both rects</li>
+        <li>the value for getPointAtLength is "(60,80)" for the left rect, and "(300,80)" for the right rect</li>
+        <li>the value for getPathSegAtLength is "0" on the first line for both rects, and on the second line "m 60 80" for the left rect and "m 300 80" for the right rect</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-dom-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script><![CDATA[
+      function init()
+      {
+      var box = document.getElementById("box");
+      var boxpl = document.getElementById("boxWithPathlength");
+
+      document.getElementById("tl1").firstChild.data = box.getTotalLength();
+      document.getElementById("tl2").firstChild.data = boxpl.getTotalLength();
+
+      var pt = box.getPointAtLength(0);
+      document.getElementById("tp1").firstChild.data = "(" + pt.x + ", " + pt.y + ")";
+      var circle = document.createElementNS("http://www.w3.org/2000/svg", "circle");
+      circle.setAttribute("cx", pt.x);
+      circle.setAttribute("cy", pt.y);
+      circle.setAttribute("r", 3);
+      circle.setAttribute("fill", "blue");
+      document.getElementById("test-body-content").appendChild(circle);
+
+      pt = boxpl.getPointAtLength(0);
+      document.getElementById("tp2").firstChild.data = "(" + pt.x + ", " + pt.y + ")";
+      circle = document.createElementNS("http://www.w3.org/2000/svg", "circle");
+      circle.setAttribute("cx", pt.x);
+      circle.setAttribute("cy", pt.y);
+      circle.setAttribute("r", 3);
+      circle.setAttribute("fill", "cyan");
+      document.getElementById("test-body-content").appendChild(circle);
+
+      var segnum = box.getPathSegAtLength(0);
+      var seg = box.pathSegList.getItem(segnum);
+      document.getElementById("ts1").firstChild.data = segnum;
+      document.getElementById("tss1").firstChild.data = seg.pathSegTypeAsLetter + " " + seg.x + " " + seg.y;
+
+      segnum = boxpl.getPathSegAtLength(0);
+      seg = boxpl.pathSegList.getItem(segnum);
+      document.getElementById("ts2").firstChild.data = segnum;
+      document.getElementById("tss2").firstChild.data = seg.pathSegTypeAsLetter + " " + seg.x + " " + seg.y;
+      }
+    ]]></script>
+    <defs>
+      <path id="box" d="m 60 80 h 100 v 50 h -100 v -50" fill="green"/>
+      <path id="boxWithPathlength" d="m 300 80 h 100 v 50 h -100 v -50" fill="green" pathLength="100"/>
+    </defs>
+    <g font-size="14">
+      <text x="30" y="30">Using startOffset="50":</text>
+
+      <use xlink:href="#box"/>
+      <text>
+        <textPath xlink:href="#box" startOffset="50">
+          The text goes around the rect.
+        </textPath>
+      </text>
+
+      <text x="270" y="30">Using startOffset="50" and</text>
+      <text x="270" y="50">pathLength="100":</text>
+      <use xlink:href="#boxWithPathlength"/>
+      <text>
+        <textPath xlink:href="#boxWithPathlength" startOffset="50">
+          The text goes around the rect.
+        </textPath>
+      </text>
+
+      <g id="dom-results" transform="translate(0,-10)">
+        <text x="10" y="180">getTotalLength:</text>
+        <text x="60" y="200" id="tl1">-1</text>
+        <text x="300" y="200" id="tl2">-1</text>
+
+        <text x="10" y="220">getPointAtLength(0):</text>
+        <text x="60" y="240" id="tp1">-1</text>
+        <text x="300" y="240" id="tp2">-1</text>
+
+        <text x="10" y="260">getPathSegAtLength(0):</text>
+        <text x="60" y="280" id="ts1">
+          -1<tspan x="60" dy="20" id="tss1">n/a</tspan>
+        </text>
+        <text x="300" y="280" id="ts2">
+          -1<tspan x="300" dy="20" id="tss2">n/a</tspan>
+        </text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/paths-dom-02-f.svg b/Tests/W3CTestSuite/svg/paths-dom-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5274ffcfe3a1c987ae07051434845a213c2c22fc
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/paths-dom-02-f.svg
@@ -0,0 +1,274 @@
+<svg version="1.1" baseProfile="full" onload="CreatePath();setTimeout('AnimatePath();', 500);" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.5 $" testname="$RCSfile: paths-dom-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/paths.html#DOMInterfaces">
+        <p>
+          This test is designed to test the PathSegList interface. At first a flower-like shape with 6 petals should be displayed.
+          The roundness and number of petals are then animated using script.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The roundness of the petals is animated from star-like sharp petals to softly rounded petals and back again, and is repeated like that until the animation stops.
+        The number of petals should increase one by one until the flower has a total of 12 petals, and then go back one by one until it has 6 petals, then increase again one by one until the flower has 9 petals.
+        Then the animation will stop. The rendered image should look exactly like the reference image.
+      </p>
+      <p>
+        If the flower is clicked after the animation has finished, it will restart the animation and repeat it for some time.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[Describe the pass criteria of the test here. The pass criteria is what
+        should be displayed when the test is run.]]
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: paths-dom-02-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script><![CDATA[
+      var offset_angle = 90;
+      var current_shift = 0;
+      var shift_inc = 1;
+      var THRESHOLD = 60;
+      var segments_added = 0;
+      var seg_diff = 1;
+      var adjust_count = 0;
+      var anim_count = 0;
+      var adjust_count_max = 8;
+      var anim_count_max = 10;
+      var stopped = false;
+
+      function DegToRad(degs)
+      {
+      return (degs * Math.PI) / 180;
+      }
+
+      function CreatePath()
+      {
+      var pathelm = document.getElementById("mypath");
+      var pathlist = pathelm.pathSegList;
+
+      var move = pathelm.createSVGPathSegMovetoAbs(240 + 30 * Math.cos(DegToRad(offset_angle - 30)),
+      180 + 30 * Math.sin(DegToRad(offset_angle - 30)));
+      pathlist.appendItem(move);
+
+      var angle = offset_angle;
+      for (var i = 0; i < 6; i++)
+      {
+      var x, y, xcp, ycp;
+
+      x = 240 + 30 * Math.cos(DegToRad(angle + 30));
+      y = 180 + 30 * Math.sin(DegToRad(angle + 30));
+
+      xcp = 240 + 120 * Math.cos(DegToRad(angle));
+      ycp = 180 + 120 * Math.sin(DegToRad(angle));
+
+      var curve = pathelm.createSVGPathSegCurvetoCubicAbs(x, y,
+      xcp, ycp,
+      xcp, ycp);
+
+      pathlist.appendItem(curve);
+
+      angle += 60;
+      }
+
+      pathlist.appendItem(pathelm.createSVGPathSegClosePath());
+      setTimeout('AdjustPath()', 500);
+      }
+
+      function AddSegment()
+      {
+      var pathelm = document.getElementById("mypath");
+      var pathlist = pathelm.pathSegList;
+
+      var segments = pathlist.numberOfItems - 2; // Not MoveTo and Close
+      var angle = offset_angle;
+      var inc_angle = 360/(segments+1);
+      var shift_v_x, shift_v_y, xcp, ycp;
+
+      var move = pathlist.getItem(0);
+      move.x = 240 + 30 * Math.cos(DegToRad(offset_angle - inc_angle/2));
+      move.y = 180 + 30 * Math.sin(DegToRad(offset_angle - inc_angle/2));
+
+      for (var i = 0; i < segments; i++)
+      {
+      var curve = pathlist.getItem(1+i);
+
+      shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
+      shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
+
+      xcp = 240 + 120 * Math.cos(DegToRad(angle));
+      ycp = 180 + 120 * Math.sin(DegToRad(angle));
+
+      curve.x = 240 + 30 * Math.cos(DegToRad(angle + inc_angle/2));
+      curve.y = 180 + 30 * Math.sin(DegToRad(angle + inc_angle/2));
+
+      curve.x1 = xcp - shift_v_x;
+      curve.y1 = ycp - shift_v_y;
+
+      curve.x2 = xcp + shift_v_x;
+      curve.y2 = ycp + shift_v_y;
+
+      angle += inc_angle;
+      }
+
+      shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
+      shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
+
+      xcp = 240 + 120 * Math.cos(DegToRad(angle));
+      ycp = 180 + 120 * Math.sin(DegToRad(angle));
+
+      var x = 240 + 30 * Math.cos(DegToRad(angle + inc_angle/2));
+      var y = 180 + 30 * Math.sin(DegToRad(angle + inc_angle/2));
+
+      var curve = pathelm.createSVGPathSegCurvetoCubicAbs(x, y,
+      xcp - shift_v_x,
+      ycp - shift_v_y,
+      xcp + shift_v_x,
+      ycp + shift_v_y);
+
+      pathlist.insertItemBefore(curve, pathlist.numberOfItems-1);
+      }
+
+      function RemoveSegment()
+      {
+      var pathelm = document.getElementById("mypath");
+      var pathlist = pathelm.pathSegList;
+
+      var segments = pathlist.numberOfItems - 2; // Not MoveTo and Close
+      var angle = offset_angle;
+      var inc_angle = 360/(segments-1);
+      var shift_v_x, shift_v_y, xcp, ycp;
+
+      var move = pathlist.getItem(0);
+      move.x = 240 + 30 * Math.cos(DegToRad(offset_angle - inc_angle/2));
+      move.y = 180 + 30 * Math.sin(DegToRad(offset_angle - inc_angle/2));
+
+      for (var i = 0; i < segments-1; i++)
+      {
+      var curve = pathlist.getItem(1+i);
+
+      shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
+      shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
+
+      xcp = 240 + 120 * Math.cos(DegToRad(angle));
+      ycp = 180 + 120 * Math.sin(DegToRad(angle));
+
+      curve.x = 240 + 30 * Math.cos(DegToRad(angle + inc_angle/2));
+      curve.y = 180 + 30 * Math.sin(DegToRad(angle + inc_angle/2));
+
+      curve.x1 = xcp - shift_v_x;
+      curve.y1 = ycp - shift_v_y;
+
+      curve.x2 = xcp + shift_v_x;
+      curve.y2 = ycp + shift_v_y;
+
+      angle += inc_angle;
+      }
+
+      pathlist.removeItem(pathlist.numberOfItems-2);
+      }
+
+      function AdjustPath()
+      {
+      if (seg_diff > 0)
+      {
+      AddSegment();
+      }
+      else
+      {
+      RemoveSegment();
+      }
+
+      segments_added += seg_diff;
+
+      if (segments_added > 5)
+      seg_diff = -1;
+      else if (segments_added <= 0)
+      seg_diff = 1;
+
+      if(adjust_count < adjust_count_max)
+      {
+      adjust_count++;
+      setTimeout('AdjustPath()', 500);
+      }
+      }
+
+      function AnimatePath()
+      {
+      var pathelm = document.getElementById("mypath");
+      var pathlist = pathelm.pathSegList;
+
+      var segments = pathlist.numberOfItems - 2; // Not MoveTo and Close
+      var angle = offset_angle;
+      var inc_angle = 360/segments;
+      for (var i = 0; i < segments; i++)
+      {
+      var curve = pathlist.getItem(1+i);
+
+      var shift_v_x, shift_v_y, xcp, ycp;
+
+      shift_v_x = current_shift * Math.cos(DegToRad(angle + 90));
+      shift_v_y = current_shift * Math.sin(DegToRad(angle + 90));
+
+      xcp = 240 + 120 * Math.cos(DegToRad(angle));
+      ycp = 180 + 120 * Math.sin(DegToRad(angle));
+
+      curve.x1 = xcp - shift_v_x;
+      curve.y1 = ycp - shift_v_y;
+
+      curve.x2 = xcp + shift_v_x;
+      curve.y2 = ycp + shift_v_y;
+
+      angle += inc_angle;
+      }
+
+      current_shift += shift_inc;
+      if (current_shift >= THRESHOLD || current_shift < 0)
+      shift_inc = -shift_inc;
+
+      if(adjust_count >= adjust_count_max)
+      {
+      anim_count++;
+      }
+
+      if(anim_count < anim_count_max)
+      setTimeout('AnimatePath();', 50);
+      else
+      document.getElementById("mypath").addEventListener("click", function func() { adjust_count_max=32768;anim_count_max=32768; AdjustPath(); AnimatePath(); }, false);
+      }
+
+    ]]></script>
+    <path d="" id="mypath" stroke="black" fill="blue"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-01-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..77b7565378cb8f3fb518650fef2d2489e98c78c7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-01-b.svg
@@ -0,0 +1,69 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: pservers-grad-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+        <p>
+          Test that the viewer can handle the xlink:href attribute on
+          linear gradients. The top rectangle has a simple
+        blue (left) to lime (right) linear gradient. The lower one
+        has a different gradient definition, but
+        should look the same as the one above, because the gradient makes a
+        reference to the first gradient, without modifying any attribute.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are two rectangles, both with a blue to lime gradient. 
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Linear Gradient using a xlink:href to another linear gradient          -->
+    <!-- ====================================================================== -->
+    <linearGradient id="Grad1a" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="0">
+      <stop stop-color="blue" offset="0"/>
+      <stop stop-color="lime" offset="1"/>
+    </linearGradient>
+    <linearGradient id="Grad1b" xlink:href="#Grad1a"/>
+    <rect x="20" y="20" width="440" height="80" fill="url(#Grad1a)"/>
+    <text font-size="30" x="20" y="130">Linear gradient.</text>
+    <rect x="20" y="150" width="440" height="80" fill="url(#Grad1b)"/>
+    <text font-size="30" x="20" y="260">Referencing gradient below.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-02-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bbdfb9b03585e6dc571d3ceea9ff07853e383a87
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-02-b.svg
@@ -0,0 +1,79 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: pservers-grad-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that the viewer can handle the xlink:href attribute on
+        radial gradients.
+      </p>
+      <p>
+        There are two rectangles. The top one has
+        a radial gradient (black to orange) that should appear elliptical
+        to fit the aspect ratio of the rectangle. The units are
+        specified in objectBoundingBox space. The gradient
+        on the lower one
+        references the gradient of the top rectangle, but modifies
+        the units to use userSpace instead. So it is only using the
+        stops from the gradient to the left, with a different geometry. The radial gradient appears circular.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, except
+      for any differences in text due to CSS2 rules.  Specifically:</p>
+      <ul>
+        <li>The top rectangle is filled with an elliptical radial gradient,
+        with black in the center and orange at the outside edges of the rectangle.</li>
+        <li>The bottom rectangle is filled with a circular radial gradient,
+        with black in the center and orange at the top and bottom edges of the rectangle.
+        Outside the circular area, the rectangle is filled with plain orange.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Radial Gradient using a xlink:href to another radial gradient          -->
+    <!-- ====================================================================== -->
+    <radialGradient id="Grad2a" gradientUnits="objectBoundingBox" cx=".5" cy=".5" fx=".5" fy=".5" r=".5">
+      <stop stop-color="black" offset="0"/>
+      <stop stop-color="rgb(255,165,0)" offset="1"/>
+    </radialGradient>
+    <radialGradient id="Grad2b" xlink:href="#Grad2a" gradientUnits="userSpaceOnUse" cx="240" cy="190" fx="240" fy="190" r="40"/>
+    <rect x="20" y="20" width="440" height="80" fill="url(#Grad2a)"/>
+    <text font-size="30" x="20" y="130">Radial gradient.</text>
+    <rect x="20" y="150" width="440" height="80" fill="url(#Grad2b)"/>
+    <text font-size="30" x="20" y="260">Referencing gradient below.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-03-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f3dfc259ce3549e266e95f138dc2bcf9c0df5a42
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-03-b.svg
@@ -0,0 +1,77 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: pservers-grad-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that the viewer can handle the xlink:href attribute on
+        patterns.
+      </p>
+      <p>
+        There are two rectangles with a pattern fill made
+        up of 4 rectangles. The pattern definition of the lower one references the pattern definition
+        of the upper one, using the xlink:href attribute. Because
+        the particular way that the patterns and rectangles are
+        defined in this test case, the two fills will appear the
+        same - the rectangles are positioned on pattern-size
+        boundaries, so that the offsets into the pattern at the left
+        edges of the respective rectangles is identical.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, except
+      for any differences in text due to CSS2 rules.  Note that the top rectangle must
+      look identical to the bottom rectangle.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Pattern filled rectangles using a xlink:href to another pattern fill   -->
+    <!-- ====================================================================== -->
+    <pattern id="Pat3a" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
+      <rect x="0" y="0" width="10" height="10" fill="#93D"/>
+      <rect x="10" y="0" width="10" height="10" fill="green"/>
+      <rect x="0" y="10" width="10" height="10" fill="blue"/>
+      <rect x="10" y="10" width="10" height="10" fill="yellow"/>
+    </pattern>
+    <pattern id="Pat3b" xlink:href="#Pat3a" width="20" height="20"/>
+    <rect x="20" y="20" width="440" height="80" fill="url(#Pat3a)"/>
+    <text font-size="30" x="20" y="130">Pattern fill.</text>
+    <rect x="20" y="160" width="440" height="80" fill="url(#Pat3b)"/>
+    <text font-size="30" x="20" y="270">Referencing pattern fill below.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-04-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-04-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..876a07a646eae7af7365f3ac75dd35f7ff04ec02
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-04-b.svg
@@ -0,0 +1,88 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: pservers-grad-04-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that checks the capability of the stop element in linear and radial
+        gradients.
+      </p>
+      <p>
+        The first rectangle has a linear gradient fill with a vector starting at top left
+        and going to bottom right. The stop colors are at 20% spacing apart and are in the
+        following order : violet, blue, lime, yellow, orange, green.
+        Because the gradient vector vector goes from (0,0) to (1,1) in object bounding box space
+        and because the object bounding box has a larger width than height, the gradient vector
+        is skewed off of a pure 45 degree angle. The gradient stripes are also skewed
+        so that they are no longer perpendicular to the gradient vector.
+      </p>
+      <p>
+        The next rectangle has a radial gradient fill with a multi-color stops from innermost
+        to outermost in the following order: black, yellow, orange, blue, white, green.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">           
+      <p>
+				Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, except for
+      any differences in text due to CSS2 rules.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-04-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <linearGradient id="Grad1" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="1">
+      <stop stop-color="rgb(238,130,238)" offset="0"/>
+      <stop stop-color="blue" offset="0.2"/>
+      <stop stop-color="lime" offset="0.4"/>
+      <stop stop-color="yellow" offset="0.6"/>
+      <stop stop-color="rgb(255,165,0)" offset="0.8"/>
+      <stop stop-color="green" offset="1"/>
+    </linearGradient>
+    <rect x="20" y="20" width="440" height="80" fill="url(#Grad1)"/>
+    <text font-size="30" x="20" y="130">Multi-color linear gradient.</text>
+    <!-- ====================================================================== -->
+    <!-- Radial gradient on the stroke of a rectangle                  ======== -->
+    <!-- ====================================================================== -->
+    <radialGradient id="Grad2" gradientUnits="userSpaceOnUse" cx="240" cy="210" r="220" fx="240" fy="210">
+      <stop stop-color="black" offset="0"/>
+      <stop stop-color="yellow" offset="0.2"/>
+      <stop stop-color="orange" offset="0.4"/>
+      <stop stop-color="blue" offset="0.6"/>
+      <stop stop-color="white" offset="0.8"/>
+      <stop stop-color="green" offset="1"/>
+    </radialGradient>
+    <rect x="20" y="150" width="440" height="80" fill="url(#Grad2)" stroke-width="40"/>
+    <text font-size="30" x="20" y="260">Multi-color radial gradient.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-05-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-05-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d08e1f7e5eeb9df76f9637dffadf9c46e8c2b23b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-05-b.svg
@@ -0,0 +1,94 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: pservers-grad-05-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that checks the capability of the stop opacity in linear and radial
+        gradients.
+      </p>
+      <p>
+        There are two tests which contain rectangles with gradients using stop-opacity properties.
+        A cyan color text string "Background" is put behind both of the rectangles to help
+        demonstrate the opacity concept.
+      </p>
+      <p>
+        From top-down the appearance of objects is as follows.
+      </p>
+      <p>
+        The first rectangle has a linear gradient fill with a vector starting at top left
+        and going to bottom right. The stop colors are at 20% spacing apart and are in the
+        following order : violet, blue, lime, yellow, orange, black.
+        Also a stop opacity is given to the colors in the following order: 1, 0.2, 0.5, 0, 0.8, 1
+        Because the gradient vector vector goes from (0,0) to (1,1) in object bounding box space
+        and because the object bounding box has a larger width than height, the gradient vector
+        is skewed off of a pure 45 degree angle. The gradient stripes are also skewed
+        so that they are no longer perpendicular to the gradient vector.
+      </p>
+      <p>
+        The next rectangle has a radial gradient fill with a multi-color stops from innermost
+        to outermost in the following order: black, yellow, red, blue, white, green.
+        Also a stop opacity is given to the colors in the following order: 1, 0.2, 0.5, 0, 0.8, 1
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, except for
+      any differences in text due to CSS2 rules.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-05-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="60" fill="aqua" x="70" y="80">Background</text>
+    <linearGradient id="Grad1" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="1">
+      <stop stop-color="rgb(238,130,238)" stop-opacity="1" offset="0"/>
+      <stop stop-color="blue" stop-opacity="0" offset="0.2"/>
+      <stop stop-color="lime" stop-opacity="0.5" offset="0.4"/>
+      <stop stop-color="yellow" stop-opacity="0.2" offset="0.6"/>
+      <stop stop-color="rgb(255,165,0)" stop-opacity="0.8" offset="0.8"/>
+      <stop stop-color="black" stop-opacity="1" offset="1"/>
+    </linearGradient>
+    <rect x="20" y="20" width="440" height="80" fill="url(#Grad1)"/>
+
+    <text font-size="60" fill="aqua" x="70" y="210">Background</text>
+    <radialGradient id="Grad2" gradientUnits="userSpaceOnUse" cx="240" cy="210" r="220" fx="240" fy="210">
+      <stop stop-color="black" stop-opacity="1" offset="0"/>
+      <stop stop-color="yellow" stop-opacity="0" offset="0.2"/>
+      <stop stop-color="red" stop-opacity="0.5" offset="0.4"/>
+      <stop stop-color="blue" stop-opacity="0.2" offset="0.6"/>
+      <stop stop-color="white" stop-opacity="0.8" offset="0.8"/>
+      <stop stop-color="green" stop-opacity="1" offset="1"/>
+    </radialGradient>
+    <rect x="20" y="150" width="440" height="80" fill="url(#Grad2)" stroke-width="40"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-06-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-06-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..374b1e3e2ecec65b34861b06176ecdcf9d646bc5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-06-b.svg
@@ -0,0 +1,109 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: pservers-grad-06-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that the viewer can handle the gradientTransform and the patternTransform
+        attribute on gradients and patterns respectively.
+      </p>
+      <p>
+        From top-down the appearance of objects is as follows.
+      </p>
+      <p>
+        The top rectangle has a linear gradient whose coordinate system has been scaled down by
+        a half. So the gradient travelling from left to right (from blue to green to lime) should
+        only occuply the left half the rectangle.
+      </p>
+      <p>
+        The next rectangle has radial gradient that has been translated to the center and skewed
+        in the positive X direction by 45 degrees. Therefore the gradient should appear
+        ellipltical and rotated around the center.
+      </p>
+      <p>
+        The last row contains a rectangle with pattern on the fill. The transformation on the
+        pattern moves the coordinate system to the top left of the rectangle and then scales it
+        by a factor of 2 and then skew's it in the X direction by 45 degrees. The pattern
+        consists of a 2 by 2 array of colored rectangles.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, apart
+      from any differences in font choice due to CSS2 rules.  Specifically:</p>
+      <ul>
+        <li>The top rectangle is filled with a linear gradient from blue on the left,
+        to lime in the middle.  The right half of the rectangle is filled with plain lime.</li>
+        <li>The middle rectangle is filled with an elliptical radial gradient with
+        black on the inside and orange on the outside.  The center point of the gradient
+        is near the center-bottom of the rectangle.  The gradient is skewed, so that it appears
+        as a rotated elliptical gradient.</li>
+        <li>The bottom rectangle is filled with a repeating pattern of tiled
+        red, green, yellow and blue parallelograms.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-06-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Linear Gradient with gradientTransforms                                -->
+    <!-- ====================================================================== -->
+    <linearGradient id="Grad1" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="430" y2="0" gradientTransform="translate(25 35) scale(0.5)">
+      <stop stop-color="blue" offset="0"/>
+      <stop stop-color="green" offset="0.5"/>
+      <stop stop-color="lime" offset="1"/>
+    </linearGradient>
+    <rect x="20" y="20" width="440" height="50" fill="url(#Grad1)"/>
+    <text font-size="30" x="20" y="100">scale(0.5) on gradient</text>
+    <!-- ====================================================================== -->
+    <!-- Radial Gradiant with a gradientTransform                               -->
+    <!-- ====================================================================== -->
+    <radialGradient id="Grad2" gradientUnits="userSpaceOnUse" cx="0" cy="0" fx="0" fy="0" r="60" gradientTransform="translate(240,155) skewX(45)">
+      <stop stop-color="black" offset="0"/>
+      <stop stop-color="rgb(255,165,0)" offset="1"/>
+    </radialGradient>
+    <rect x="20" y="110" width="440" height="50" fill="url(#Grad2)"/>
+    <text font-size="30" x="20" y="190">skewX(45) on gradient</text>
+    <!-- ====================================================================== -->
+    <!-- Pattern filled rectangles with a patternTransform.                     -->
+    <!-- ====================================================================== -->
+    <pattern patternUnits="userSpaceOnUse" id="Pat3" x="0" y="0" width="20" height="20" patternTransform="translate(25 215) scale(2) skewX(45)">
+      <rect x="0" y="0" width="10" height="10" fill="maroon"/>
+      <rect x="10" y="0" width="10" height="10" fill="green"/>
+      <rect x="0" y="10" width="10" height="10" fill="blue"/>
+      <rect x="10" y="10" width="10" height="10" fill="yellow"/>
+    </pattern>
+    <rect x="20" y="210" width="440" height="50" fill="url(#Pat3)"/>
+    <text font-size="30" x="20" y="290">scale(2), skewX(45) on pattern</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-07-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-07-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9e9b32dc026bd58e68b63d45a90412551636de5f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-07-b.svg
@@ -0,0 +1,88 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: pservers-grad-07-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that the viewer has basic capability to handle linear gradients
+        on fills and stroke of objects and text.
+      </p>
+      <p>
+        This test uses the following elements : &lt;linearGradient&gt;, &lt;stop&gt;
+        and the following properties : stop-color, fill:url(#  ), stroke(url# )
+      </p>
+      <p>
+        Both elements in this test use the same simple gradient. It is a linear gradient from
+        blue (left) to lime (right). From top-down the appearance of objects is as follows.
+      </p>
+      <p>
+        The top rectangle should be filled with the gradient.
+      </p>
+      <p>
+        The next rectangle has no fill, but has a thick stroke on which the gradient is
+        applied.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, apart
+      from any differences in font choice due to CSS2 rules.  Specifically:</p>
+      <ul>
+        <li>The top rectangle is filled with a gradient from blue on the left to lime on the right.</li>
+        <li>The bottom rectangle is unfilled and stroked with a thick stroke using a gradient from blue on the left to lime on the right.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-07-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(1, 1.5)">
+      <!-- ====================================================================== -->
+      <!-- Very simple blue to red linear gradient from left to right  ========== -->
+      <!-- ====================================================================== -->
+      <linearGradient id="Gradient" gradientUnits="userSpaceOnUse" x1="10" y1="10" x2="440" y2="10">
+        <stop stop-color="blue" offset="0"/>
+        <stop stop-color="lime" offset="1"/>
+      </linearGradient>
+      <!-- ====================================================================== -->
+      <!-- Linear gradient on the fill of a rectangle                    ======== -->
+      <!-- ====================================================================== -->
+      <rect x="10" y="10" width="430" height="60" fill="url(#Gradient)"/>
+      <text font-size="24" x="10" y="90">Linear gradient filled rectangle</text>
+      <!-- ====================================================================== -->
+      <!-- Linear gradient on the stroke of a rectangle                  ======== -->
+      <!-- ====================================================================== -->
+      <rect x="25" y="110" width="400" height="30" fill="none" stroke="url(#Gradient)" stroke-width="20"/>
+      <text font-size="24" x="10" y="170">Linear gradient on stroke of rectangle</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-08-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-08-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..654ec8d409b5a11b86036b428b65def3adbfba26
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-08-b.svg
@@ -0,0 +1,100 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.13 $" testname="$RCSfile: pservers-grad-08-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that the viewer has basic capability to handle linear gradients
+        on fills and stroke of text.
+      </p>
+      <p>
+        Both elements in this test use the same simple gradient. It is a linear gradient from blue (left) to lime (right). From top-down the appearance of objects is as follows.
+      </p>
+      <p>
+        The first item is a text string "Gradient on fill" with the gradient on the fill of the text.
+      </p>
+      <p>
+        The second item is a text string that is not filled. It has a 2 user unit stroke on which the gradient is applied.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, apart
+      from any differences in font choice due to CSS2 rules.  Specifically:</p>
+      <ul>
+        <li>The text string "Gradient on fill" must be filled with a gradient
+        from blue on the left to lime on the right.</li>
+        <li>The text string "Gradient on stroke" must be unfilled and stroked with
+        a gradient from blue on the left to lime on the right.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-08-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  <style type="text/css">
+    @font-face {
+      font-family: Blocky;
+      src: url(woffs/Blocky.woff) format("woff");
+  </style>
+  <defs>
+      <font-face font-family="Blocky" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/Blocky.svg#Blocky"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+    <g transform="scale(1, 1.5)">
+      <!-- ====================================================================== -->
+      <!-- Very simple blue to red linear gradient from left to right  ========== -->
+      <!-- ====================================================================== -->
+      <linearGradient id="Gradient" gradientUnits="userSpaceOnUse" x1="10" y1="10" x2="440" y2="10">
+        <stop stop-color="blue" offset="0"/>
+        <stop stop-color="lime" offset="1"/>
+      </linearGradient>
+      <!-- ====================================================================== -->
+      <!-- Gradient on fill of text                                      ======== -->
+      <!-- ====================================================================== -->
+      <text font-family="Blocky" font-size="68" fill="url(#Gradient)" x="20" y="70">Gradient on fill</text>
+      <!-- ====================================================================== -->
+      <!-- Gradient on stroke of text                                    ======== -->
+      <!-- ====================================================================== -->
+      <text font-family="Blocky" x="20" y="160" font-size="55" fill="none" stroke="url(#Gradient)" stroke-width="3">Gradient on stroke</text>
+
+    </g>
+      <g font-family="SVGFreeSansASCII,sans-serif" font-size="28">
+        <text  x="40" y="145">Linear gradient on filled text</text>
+        <text  x="30" y="280">Linear gradient on stroke of text</text>
+      </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.13 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-09-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-09-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..670e914bf4d4d54780daf072ff9e8cdbf1193e60
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-09-b.svg
@@ -0,0 +1,107 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: pservers-grad-09-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that the viewer can handle the gradientUnits attribute on linear gradients.
+        It tests the following values of gradientUnits: default (userSpace), objectBoundingBox,
+        and userSpaceOnUse.
+      </p>
+      <p>
+        From top-down the appearance of objects is as follows.
+      </p>
+      <p>
+        The first rectangle uses the default attributes on the linearGradient element.
+        Therefore the linear gradient should default to objectBoundingBox. It should appear
+        from the left edge of the rectangle (blue) to the right edge of the rectangle (lime).
+        The rectangle is smaller than the viewport, because a previous version of the SVG spec had the default value be 'viewport'.
+        The test fails if only a portion of the gradient is shown.
+      </p>
+      <p>
+        The next rectangle uses gradientUnits=objectBoundingBox. The linear gradient should
+        travel from blue (top) to lime (bottom).
+      </p>
+      <p>
+        The last rectangle uses gradientUnits=userSpaceOnUse. The rectangle element is given it's
+        own transformation and the gradient is assumed to be in this user space.
+        The gradient should appear as a linear gradient from lime (left) to blue (right).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, apart
+      from any differences in font choice due to CSS2 rules.  Specifically:</p>
+      <ul>
+        <li>The top rectangle is filled with a linear gradient from lime on the left to blue on the right.</li>
+        <li>The middle rectangle is filled with a linear gradient from blue on the top to lime on the bottom.</li>
+        <li>The bottom rectangle is filled with a linear gradient from lime on the left to blue on the right.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-09-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="15" x="10" y="25">Testing gradientUnits attribute</text>
+    <!-- ====================================================================== -->
+    <!-- Linear gradient with default attributes on <linear gradient> element.  -->
+    <!-- ====================================================================== -->
+    <linearGradient id="Grad1">
+      <stop stop-color="lime" offset="0"/>
+      <stop stop-color="blue" offset="1"/>
+    </linearGradient>
+    <rect x="125" y="35" width="200" height="50" fill="url(#Grad1)"/>
+    <!--<text font-size="12" x="10" y="100">Linear gradient with default attributes (thus, same as objectBoundingBox)</text>-->
+    <!--text font-size="12"  x="10" y="125">Gradient is from the viewport left edge (lime) to viewport right edge (blue)</text-->
+    <!--<text font-size="12" x="10" y="115">Gradient is from the object left edge (lime) to object right edge (blue)</text>-->
+    <!-- ====================================================================== -->
+    <!-- Linear gradient with gradientUnits=objectBoundingBox          ======== -->
+    <!-- ====================================================================== -->
+    <linearGradient id="Grad2" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="0" y2="1">
+      <stop stop-color="blue" offset="0"/>
+      <stop stop-color="lime" offset="1"/>
+    </linearGradient>
+    <rect x="10" y="125" width="430" height="50" fill="url(#Grad2)"/>
+    <!--<text font-size="12" x="10" y="190">gradientUnits=objectBoundingBox</text>-->
+    <!--<text font-size="12" x="10" y="205">Gradient is from the object top edge (blue) to object bottom edge (lime)</text>-->
+    <!-- ====================================================================== -->
+    <!-- Gradient using gradientUnits="userSpaceOnUse"                          -->
+    <!-- ====================================================================== -->
+    <linearGradient id="Grad3" x1="0" y1="0" x2="0" y2="430" gradientUnits="userSpaceOnUse">
+      <stop stop-color="lime" offset="0"/>
+      <stop stop-color="blue" offset="1"/>
+    </linearGradient>
+    <rect transform="translate(10, 260) rotate(-90)" x="0" y="0" width="50" height="430" fill="url(#Grad3)"/>
+    <!--<text font-size="12" x="10" y="275">gradientUnits=userSpaceOnUse</text>-->
+    <!--<text font-size="12" x="10" y="290">Gradient is from the object left edge (lime) to object right edge (blue)</text>-->
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-10-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-10-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..52d893e3e8b93f9f11819c4d4c120977c7c232e5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-10-b.svg
@@ -0,0 +1,93 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: pservers-grad-10-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that the viewer can handle the spreadMethod attribute on linear gradients.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>
+				Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, apart
+      from any differences in font choice due to CSS2 rules.  Each of the
+      three rectangles is filled with a linear gradient from blue on the left
+      to lime on the right.  The width of the gradient is only a fifth of
+      the width of the rectangle, so:</p>
+      <ul>
+        <li>The top rectangle is filled with plain blue in the left two-fifths
+        and with plain lime in the right two-fifths.</li>
+        <li>The middle rectangle is filled with alternating copies of the blue-to-lime
+        gradient.  Thus, from left to right, the rectangle is filled with
+        a gradient that goes from blue to lime to blue to lime to blue to lime.</li>
+        <li>The bottom rectangle is filled with five copies of the blue-to-lime
+        gradient.  Thus, from left to right, the rectangle is filled with
+        a gradient that goes from blue to lime, abruptly changing back to blue
+        then smoothly changing to lime, etc.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-10-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="15" x="10" y="25">Testing spreadMethod attribute</text>
+    <!-- ====================================================================== -->
+    <!-- Linear Gradient with spreadMethod=pad                                  -->
+    <!-- ====================================================================== -->
+    <linearGradient id="Grad1" gradientUnits="objectBoundingBox" x1=".4" y1="0" x2=".6" y2="0" spreadMethod="pad">
+      <stop stop-color="blue" offset="0"/>
+      <stop stop-color="lime" offset="1"/>
+    </linearGradient>
+    <rect x="10" y="35" width="460" height="55" fill="url(#Grad1)"/>
+    <text font-size="12" x="10" y="105">spreadMethod=pad</text>
+    <!-- ====================================================================== -->
+    <!-- Linear Gradient with spreadMethod=reflect                              -->
+    <!-- ====================================================================== -->
+    <linearGradient id="Grad2" gradientUnits="objectBoundingBox" x1=".4" y1="0" x2=".6" y2="0" spreadMethod="reflect">
+      <stop stop-color="blue" offset="0"/>
+      <stop stop-color="lime" offset="1"/>
+    </linearGradient>
+    <rect x="10" y="120" width="460" height="55" fill="url(#Grad2)"/>
+    <text font-size="12" x="10" y="190">spreadMethod=reflect</text>
+    <!-- ====================================================================== -->
+    <!-- Linear Gradient with spreadMethod=repeat                               -->
+    <!-- ====================================================================== -->
+    <linearGradient id="Grad3" gradientUnits="objectBoundingBox" x1=".4" y1="0" x2=".6" y2="0" spreadMethod="repeat">
+      <stop stop-color="blue" offset="0"/>
+      <stop stop-color="lime" offset="1"/>
+    </linearGradient>
+    <rect x="10" y="205" width="460" height="55" fill="url(#Grad3)"/>
+    <text font-size="12" x="10" y="275">spreadMethod=repeat</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="lime" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-11-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-11-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..dc5e21209b8ae605b3774b8e0ca8545d099f268e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-11-b.svg
@@ -0,0 +1,124 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: pservers-grad-11-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that the viewer has basic capability to handle radial gradients
+        on fills and stroke of objects and text.
+      </p>
+      <p>
+        This test uses the following elements : &lt;radialGradient&gt;, &lt;stop&gt;
+        and the following properties : stop-color, fill:url(#  ), stroke(url# )
+      </p>
+      <p>
+        From top-down (left to right) the appearance of objects is as follows.
+      </p>
+      <p>
+        The top left rectangle  should be a radial gradient from dark blue (in) to lime (outside).
+        The gradient is applied to the fill of the rectangle.
+      </p>
+      <p>
+        The next rectangle has no fill, but has a thick stroke on which the gradient is
+        applied. The gradient goes from dark orange(in) to pale yellow (out).
+      </p>
+      <p>
+        The next item is a text with a radial gradient on the fill. The gradient goes
+        from green (in) to yellow (out).
+      </p>
+      <p>
+        The last item is a text with a 2 user unit stroke on which a black (in) to magenta
+        (out) linear gradient is applied.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering matches the reference image, apart
+      from any differences in font choice due to CSS2 rules.  Specifically:</p>
+      <ul>
+        <li>The top-left rectangle must be filled with a circular radial gradient
+        with dark blue inside and lime outside.  The center point of the gradient
+        is in the lower-left quadrant of the rectangle.</li>
+        <li>The top-right rectangle has no fill, but a thick stroke which is painted
+        with a radial gradient with dark orange inside and yellow outside.  The
+        center point of this gradient is in the lower-left quadrant of the
+        rectangle.</li>
+        <li>The "Gradient on text fill" text must be filled with a circular radial
+        gradient with green inside and yellow outside.  The center point of the
+        gradient is the center of the text.</li>
+        <li>The "Gradient on text stroke" has no fill, but a stroke which is painted with
+        a circular radial gradient with black inside and pink outside.  The center point of the
+        gradient is the center of the text.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-11-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Very simple black to red radial gradient                      ======== -->
+    <!-- ====================================================================== -->
+    <radialGradient gradientUnits="userSpaceOnUse" id="Grad1" cx="75" cy="100" r="130" fx="75" fy="100">
+      <stop stop-color="#009" offset="0"/>
+      <stop stop-color="#2e2" offset="1"/>
+    </radialGradient>
+    <rect x="10" y="10" width="210" height="140" fill="url(#Grad1)"/>
+    <text font-family="Arial" font-size="12" x="10" y="165">Radial gradient on fill of rectangle</text>
+    <!-- ====================================================================== -->
+    <!-- Radial gradient on the stroke of a rectangle                  ======== -->
+    <!-- ====================================================================== -->
+    <radialGradient id="Grad2" gradientUnits="userSpaceOnUse" cx="295" cy="100" r="150" fx="295" fy="100">
+      <stop stop-color="#e22" offset="0"/>
+      <stop stop-color="#ff6" offset="1"/>
+    </radialGradient>
+    <rect x="250" y="30" width="170" height="100" fill="none" stroke="url(#Grad2)" stroke-width="40"/>
+    <text font-family="Arial" font-size="12" x="230" y="165">Radial gradient on stroke of rectangle</text>
+    <!-- ====================================================================== -->
+    <!-- Gradient on fill of text                                      ======== -->
+    <!-- ====================================================================== -->
+    <radialGradient id="Grad3" gradientUnits="userSpaceOnUse" cx="225" cy="180" r="90" fx="225" fy="180">
+      <stop stop-color="#060" offset="0"/>
+      <stop stop-color="yellow" offset="1"/>
+    </radialGradient>
+    <text font-family="Arial" font-size="50" fill="url(#Grad3)" x="10" y="210">Gradient on text fill</text>
+    <text font-family="Arial" font-size="12" x="10" y="225">Radial gradient on text, black to yellow</text>
+    <!-- ====================================================================== -->
+    <!-- Gradient on stroke of text                                    ======== -->
+    <!-- ====================================================================== -->
+    <radialGradient id="Grad4" gradientUnits="userSpaceOnUse" cx="225" cy="245" r="90" fx="225" fy="245">
+      <stop stop-color="black" offset="0"/>
+      <stop stop-color="#D6D" offset="1"/>
+    </radialGradient>
+    <text font-family="Arial" font-size="45" fill="none" stroke="url(#Grad4)" stroke-width="2" x="10" y="270">Gradient on text stroke</text>
+    <text font-family="Arial" font-size="12" x="10" y="285">Radial gradient on stroke of text, black to red</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-12-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-12-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d00f73af8c83c60a4aae1e7304bdef3d9a05a8ab
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-12-b.svg
@@ -0,0 +1,110 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: pservers-grad-12-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test that the viewer can handle the gradientUnits attribute on radial gradients.
+        It tests the following values of gradientUnits: default (objectBoundingBox), objectBoundingBox,
+        and userSpaceOnUse.
+      </p>
+      <p>
+        From top-down the appearance of objects is as follows.
+      </p>
+      <p>
+        The first rectangle uses the default attributes on the radialGradient element.
+        Therefore the radial gradient should be relative to the object bounding box. It should appear
+        from the center of the viewport (blue) to the edges of the viewport (lime).
+        The rectangle is wider than tall so it the gradient should be elliptical, not circular.
+      </p>
+      <p>
+        The next rectangle uses gradientUnits=objectBoundingBox. The radial gradient should
+        travel from a center of 20%, 20% of the rectangle with a radius of 50%.
+      </p>
+      <p>
+        The last rectangle uses gradientUnits=userSpaceOnUse. The rectangle element is given it's
+        own transformation and the gradient is assumed to be in this user space.
+        The gradient should appear in the center of the rectangle as a radial gradient from yellow (center) to blue (edge).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendering of the three rectangles matches those
+      in the reference image.  Specifically:</p>
+      <ul>
+        <li>The upper rectangle is filled with an elliptical radial gradient
+        with blue at the center and lime at its edges.</li>
+        <li>The middle rectangle is also filled with an elliptical radial
+        gradient with blue inside and lime outside, but with the center
+        point of the gradient in the top-left quadrant of the rectangle.</li>
+        <li>The bottom rectangle is filled with a circular radial gradient
+        with yellow at the center and blue at its edges.  Since it is circular,
+        most of the rectangle is filled with plain blue.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-12-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="15" x="10" y="25">Testing gradientUnits attribute</text>
+    <!-- ====================================================================== -->
+    <!-- Radial gradient with default attributes on <radial gradient> element.  -->
+    <!-- ====================================================================== -->
+    <radialGradient id="Grad1">
+      <stop stop-color="#009" offset="0"/>
+      <stop stop-color="lime" offset="1"/>
+    </radialGradient>
+    <rect x="10" y="35" width="460" height="50" fill="url(#Grad1)"/>
+    <text font-size="12" x="10" y="100">Radial gradient with default attributes (from blue to yellow)</text>
+    <text font-size="12" x="10" y="115">Gradient is blue at the object center and lime at the object edges</text>
+    <!-- ====================================================================== -->
+    <!-- Radial gradient with gradientUnits=objectBoundingBox          ======== -->
+    <!-- ====================================================================== -->
+    <radialGradient id="Grad2" gradientUnits="objectBoundingBox" cx=".2" cy=".2" fx=".2" fy=".2" r=".5">
+      <stop stop-color="#009" offset="0"/>
+      <stop stop-color="lime" offset="1"/>
+    </radialGradient>
+    <rect x="10" y="125" width="460" height="50" fill="url(#Grad2)"/>
+    <text font-size="12" x="10" y="190">gradientUnits=objectBoundingBox</text>
+    <text font-size="12" x="10" y="205">cx=.2, cy=.2, r=.5, fx=.2 fy=.2</text>
+    <!-- ====================================================================== -->
+    <!-- Gradient using gradientUnits="userSpaceOnUse"                          -->
+    <!-- ====================================================================== -->
+    <radialGradient id="Grad3" cx="25" cy="215" r="25" fx="25" fy="215" gradientUnits="userSpaceOnUse">
+      <stop stop-color="yellow" offset="0"/>
+      <stop stop-color="blue" offset="1"/>
+    </radialGradient>
+    <rect transform="translate(10, 260) rotate(-90)" x="0" y="0" width="50" height="460" fill="url(#Grad3)"/>
+    <text font-size="12" x="10" y="275">gradientUnits=userSpaceOnUse</text>
+    <text font-size="12" x="10" y="290">Gradient is yellow to blue radial gradient from center to horizontal bounds</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-13-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-13-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..02d67691e9ccffe5720d660bf6ca764720035fc2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-13-b.svg
@@ -0,0 +1,171 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: pservers-grad-13-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+        <p>
+          The purpose of this file is to test several values for focal points of radial gradients.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendered image matches the reference image, except
+      for any differences in font choice due to CSS2.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-13-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="240" y="30" font-size="20" text-anchor="middle">Radial gradient focal point</text>
+    <defs>
+      <g id="alpha">
+        <rect x="00" y="0" width="100" height="60" fill="yellow"/>
+        <rect x="00" y="0" width="10" height="60" fill="gold"/>
+        <rect x="15" y="0" width="10" height="60" fill="orange"/>
+        <rect x="30" y="0" width="10" height="60" fill="sienna"/>
+        <rect x="45" y="0" width="10" height="60" fill="gold"/>
+        <rect x="60" y="0" width="10" height="60" fill="sienna"/>
+        <rect x="75" y="0" width="10" height="60" fill="orange"/>
+        <rect x="90" y="0" width="10" height="60" fill="gold"/>
+        <rect x="00" y="0" width="100" height="60"/>
+        <!-- inherits a radial gradient -->
+      </g>
+    </defs>
+    <defs>
+      <radialGradient id="grad1a" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="00.00%" fy="00%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad2a" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="16.66%" fy="00%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad4a" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="50.00%" fy="00%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad6a" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="83.33%" fy="00%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+
+      <radialGradient id="grad1b" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="00.00%" fy="25%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad2b" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="16.66%" fy="25%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad4b" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="50.00%" fy="25%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad6b" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="83.33%" fy="25%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+
+      <radialGradient id="grad1c" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="00.00%" fy="50%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad2c" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="16.66%" fy="50%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad4c" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="50.00%" fy="50%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad6c" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="83.33%" fy="50%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+
+      <radialGradient id="grad1d" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="00.00%" fy="75%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad2d" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="16.66%" fy="75%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad4d" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="50.00%" fy="75%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad6d" gradientUnits="objectBoundingBox" cx="10%" cy="10%" r="75%" fx="83.33%" fy="75%">
+        <stop offset="0" stop-opacity="0"/>
+        <stop offset=".5" stop-color="darkblue"/>
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+    </defs>
+
+    <g id="group1" stroke="black" stroke-width="0.5">
+      <use xlink:href="#alpha" x="017.5" y="045" fill="url(#grad1a)"/>
+      <use xlink:href="#alpha" x="130" y="045" fill="url(#grad2a)"/>
+      <use xlink:href="#alpha" x="242.5" y="045" fill="url(#grad4a)"/>
+      <use xlink:href="#alpha" x="355" y="045" fill="url(#grad6a)"/>
+
+      <use xlink:href="#alpha" x="017.5" y="110" fill="url(#grad1b)"/>
+      <use xlink:href="#alpha" x="130" y="110" fill="url(#grad2b)"/>
+      <use xlink:href="#alpha" x="242.5" y="110" fill="url(#grad4b)"/>
+      <use xlink:href="#alpha" x="355" y="110" fill="url(#grad6b)"/>
+
+      <use xlink:href="#alpha" x="017.5" y="175" fill="url(#grad1c)"/>
+      <use xlink:href="#alpha" x="130" y="175" fill="url(#grad2c)"/>
+      <use xlink:href="#alpha" x="242.5" y="175" fill="url(#grad4c)"/>
+      <use xlink:href="#alpha" x="355" y="175" fill="url(#grad6c)"/>
+
+      <use xlink:href="#alpha" x="017.5" y="240" fill="url(#grad1d)"/>
+      <use xlink:href="#alpha" x="130" y="240" fill="url(#grad2d)"/>
+      <use xlink:href="#alpha" x="242.5" y="240" fill="url(#grad4d)"/>
+      <use xlink:href="#alpha" x="355" y="240" fill="url(#grad6d)"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-14-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-14-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..63045cfa6d2e28d6fbef99292a7a33a8e205b9d5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-14-b.svg
@@ -0,0 +1,120 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: pservers-grad-14-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        The intent of this file is to test the 4 allowed spread methods for linear and radial gradients.
+        The 4 values (pad, reflect, repeat and default) are available for both types of gradients.
+        On the left side are the linear gradient results, and on the right, the radial results.
+        The UA should render a result equivalent to the reference image.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the rendered image matches the reference image, except
+      for any differences in font choice due to CSS2.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-14-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="lgSpreadPad" gradientUnits="userSpaceOnUse" y1="0" x1="50" y2="0" x2="100" spreadMethod="pad">
+        <stop offset="000%" stop-color="black"/>
+        <stop offset="100%" stop-color="gold"/>
+      </linearGradient>
+
+      <linearGradient id="lgSpreadReflect" gradientUnits="userSpaceOnUse" y1="0" x1="50" y2="0" x2="100" spreadMethod="reflect">
+        <stop offset="000%" stop-color="black"/>
+        <stop offset="100%" stop-color="gold"/>
+      </linearGradient>
+
+      <linearGradient id="lgSpreadRepeat" gradientUnits="userSpaceOnUse" y1="0" x1="50" y2="0" x2="100" spreadMethod="repeat">
+        <stop offset="000%" stop-color="black"/>
+        <stop offset="100%" stop-color="gold"/>
+      </linearGradient>
+
+      <linearGradient id="lgSpreadDefault" gradientUnits="userSpaceOnUse" y1="0" x1="50" y2="0" x2="100">
+        <stop offset="000%" stop-color="black"/>
+        <stop offset="100%" stop-color="gold"/>
+      </linearGradient>
+
+      <radialGradient id="rgSpreadPad" gradientUnits="objectBoundingBox" cx="0.5" cy="0.5" r="0.2" spreadMethod="pad">
+        <stop offset="000%" stop-color="black"/>
+        <stop offset="100%" stop-color="gold"/>
+      </radialGradient>
+
+      <radialGradient id="rgSpreadReflect" gradientUnits="objectBoundingBox" cx="0.5" cy="0.5" r="0.2" spreadMethod="reflect">
+        <stop offset="000%" stop-color="black"/>
+        <stop offset="100%" stop-color="gold"/>
+      </radialGradient>
+
+      <radialGradient id="rgSpreadRepeat" gradientUnits="objectBoundingBox" cx="0.5" cy="0.5" r="0.2" spreadMethod="repeat">
+        <stop offset="000%" stop-color="black"/>
+        <stop offset="100%" stop-color="gold"/>
+      </radialGradient>
+
+      <radialGradient id="rgSpreadDefault" gradientUnits="objectBoundingBox" cx="0.5" cy="0.5" r="0.2">
+        <stop offset="000%" stop-color="black"/>
+        <stop offset="100%" stop-color="gold"/>
+      </radialGradient>
+    </defs>
+
+    <text font-size="20" x="240" y="30" text-anchor="middle">Gradient 'spreadMethod' values</text>
+
+    <rect x="10" y="060" width="225" height="40" fill="url(#lgSpreadPad)" stroke="none"/>
+    <text font-size="16" x="10" y="55">spreadMethod="pad"</text>
+
+    <rect x="10" y="130" width="225" height="40" fill="url(#lgSpreadReflect)" stroke="none"/>
+    <text font-size="16" x="10" y="125">spreadMethod="reflect"</text>
+
+    <rect x="10" y="200" width="225" height="40" fill="url(#lgSpreadRepeat)" stroke="none"/>
+    <text font-size="16" x="10" y="195">spreadMethod="repeat"</text>
+
+    <rect x="10" y="270" width="225" height="40" fill="url(#lgSpreadDefault)" stroke="none"/>
+    <text font-size="16" x="10" y="265">spreadMethod="default"</text>
+
+
+    <rect x="245" y="060" width="225" height="40" fill="url(#rgSpreadPad)" stroke="none"/>
+    <text font-size="16" x="245" y="55">spreadMethod="pad"</text>
+
+    <rect x="245" y="130" width="225" height="40" fill="url(#rgSpreadReflect)" stroke="none"/>
+    <text font-size="16" x="245" y="125">spreadMethod="reflect"</text>
+
+    <rect x="245" y="200" width="225" height="40" fill="url(#rgSpreadRepeat)" stroke="none"/>
+    <text font-size="16" x="245" y="195">spreadMethod="repeat"</text>
+
+    <rect x="245" y="270" width="225" height="40" fill="url(#rgSpreadDefault)" stroke="none"/>
+    <text font-size="16" x="245" y="265">spreadMethod="default"</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-15-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-15-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..84ecd8f256b26442c2a4cf4ba248c56136c8bbb1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-15-b.svg
@@ -0,0 +1,70 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: pservers-grad-15-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+        <p>
+          Test linear and radial gradient defaults. Includes
+          testing defaults for linear grad x1,y1,y2 = 0%, x2 = 100%.
+          and testing defaults for radial grad cx,cy,r = 50%, fx,fy = cx,cy.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The top rectangle must be blue at the lefthand side and fuchsia at the right
+        hand side, fading smoothly accross. The lower rectangle must be fuchsia at
+        the edges with a black centre to the radial gradient at the centre of the
+        rectangle, and the gradient occupying the whole rectangle.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-15-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Test defaults for linear grad x1,y1,y2 = 0%, x2 = 100%. -->
+    <linearGradient id="defs1" gradientUnits="objectBoundingBox">
+      <stop stop-color="blue" offset="0"/>
+      <stop stop-color="fuchsia" offset="1"/>
+    </linearGradient>
+    <!-- Test defaults for radial grad cx,cy,r = 50%, fx,fy = cx,cy. -->
+    <radialGradient id="defs2" gradientUnits="objectBoundingBox">
+      <stop stop-color="black" offset="0"/>
+      <stop stop-color="fuchsia" offset="1"/>
+    </radialGradient>
+
+    <rect x="20" y="20" width="440" height="80" fill="url(#defs1)"/>
+    <rect x="20" y="150" width="440" height="80" fill="url(#defs2)"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-16-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-16-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1f62ca83890fe27cafe964741906158c17a7b067
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-16-b.svg
@@ -0,0 +1,81 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: pservers-grad-16-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+        <p>
+          Test gradient stop rules. Including:
+          No stops, like fill = none.
+          One stop, like fill = black.
+          If a stop less than all previous stops, it is set equal to the largest stop.
+          If two stops are equal the last stop controls the color at the overlap point.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[
+        Describe how to use the here. The instructions should specify any
+        steps requied to run the test or any manual operation that need
+        to be performed to run the test.
+        ]]
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The top rectangle must have a pink outline and no fill. The middle rectangle must have a
+        solid black fill. The lower rectangle must have a yellow to pink to green
+        linear gradient on the left-hand half and a solid blue fill for the right hand half.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-16-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- No stops, like fill = none -->
+    <linearGradient id="defs1" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="0">
+    </linearGradient>
+    <!-- One stop, like fill = black -->
+    <linearGradient id="defs2" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="0">
+      <stop stop-color="black" offset="1"/>
+    </linearGradient>
+    <!-- If a stop less than all previous stops, it is set equal to the largest stop-->
+    <!-- This also tests if two stops are equal the last stop controls the color at the overlap point-->
+    <linearGradient id="defs3" gradientUnits="objectBoundingBox" x1="0" y1="0" x2="1" y2="0">
+      <stop stop-color="yellow" offset="0"/>
+      <stop stop-color="#f48" offset=".25"/>
+      <stop stop-color="green" offset=".5"/>
+      <stop stop-color="blue" offset=".1"/>
+    </linearGradient>
+
+    <rect x="20" y="10" width="440" height="80" fill="url(#defs1)" stroke="#f48"/>
+    <rect x="20" y="110" width="440" height="80" fill="url(#defs2)"/>
+    <rect x="20" y="210" width="440" height="80" fill="url(#defs3)"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-17-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-17-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2095289358d313c6036a25af3586d557e4fe1ab7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-17-b.svg
@@ -0,0 +1,92 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AE" author="ED" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: pservers-grad-17-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+        <p>
+          This test has a gradient with gradientUnits='objectBoundingBox' which is a fade from black to white.
+          The gradient is used for the stroke of a line. Vertical and horizontal lines don't have a boundingbox,
+          since they are one-dimensional, even though the
+          stroke-width makes it look like they should have a boundingbox with non-zero width and height.
+          See the coordinate chapter, last paragraph of 7.11.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[
+        Describe how to use the here. The instructions should specify any
+        steps requied to run the test or any manual operation that need
+        to be performed to run the test.
+        ]]
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The left rectangle has four 'line' elements rotated in different ways. The stroke for the lines have a green solid stroke fallback which
+        should be used if the gradient should be ignored. For this sub-test to pass there must be three lines with solid green stroke, and one line
+        (from bottom left to top right) with a gradient stroke, visible in the rectangle.
+      </p>
+      <p>
+        The right rectangle is the same as the left rectangle except that the stroke paintservers don't have a fallback specified.
+        For this sub-test to pass only the line from bottom left to top right must be visible in the rectangle, and it must have a gradient stroke.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-17-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="grad">
+        <stop offset="0" stop-color="black"/>
+        <stop offset="1" stop-color="white"/>
+      </linearGradient>
+    </defs>
+
+    <!-- sub-test 1: stroke with solid color fallback -->
+    <g transform="translate(50, 100) scale(0.3)">
+      <line x1="0" y1="180" x2="480" y2="180" stroke="url(#grad) #0f0" stroke-width="20"/>
+      <line x1="0" y1="180" x2="480" y2="180" stroke="url(#grad) #0f0" stroke-width="20" transform="rotate(45 240 180)"/>
+      <line x1="0" y1="180" x2="480" y2="180" stroke="url(#grad) #0f0" stroke-width="20" transform="rotate(90 240 180)"/>
+      <line x1="410" y1="10" x2="70" y2="350" stroke="url(#grad) #0f0" stroke-width="20"/>
+      <rect x="0" y="-60" width="480" height="480" fill="none" stroke="black"/>
+    </g>
+    <text x="120" y="250" text-anchor="middle">With fallback</text>
+
+    <!-- sub-test 2: stroke without a fallback -->
+    <g transform="translate(280,100) scale(0.3)">
+      <line x1="0" y1="180" x2="480" y2="180" stroke="url(#grad)" stroke-width="20"/>
+      <line x1="0" y1="180" x2="480" y2="180" stroke="url(#grad)" stroke-width="20" transform="rotate(45 240 180)"/>
+      <line x1="0" y1="180" x2="480" y2="180" stroke="url(#grad)" stroke-width="20" transform="rotate(90 240 180)"/>
+      <line x1="410" y1="10" x2="70" y2="350" stroke="url(#grad)" stroke-width="20"/>
+      <rect x="0" y="-60" width="480" height="480" fill="none" stroke="black"/>
+    </g>
+    <text x="350" y="250" text-anchor="middle">Without fallback</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-18-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-18-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3bb4411c0220e6b4e0d76f7b9f42eea8192f4209
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-18-b.svg
@@ -0,0 +1,114 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CC" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: pservers-grad-18-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+        <p>
+          This test shows rectangles filled with gradient.
+          Several gradients are defined, with two stops:
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+        For the top-left rectangle's gradient:
+        The first stop defines a fully-opaque green color.
+        The second stop explicitly inherits (i.e. using the 'inherit' keyword) its stop-color.        
+      </p>
+      <p>
+        For the top-right rectangle's gradient:
+        The first stop defines a fully-opaque green color.
+        The second stop defines a green stop-color but explicitly inherits (i.e. using the 'inherit' keyword) the stop-opacity.        
+      </p>
+      <p>
+        For the bottom-left rectangle's gradient:
+        The first stop defines a fully-opaque green color.
+        The second stop does not specify the stop-color and the stop-opacity.
+        Since both properties are not inherited, the initial value should be used.        
+      </p>
+      <p>
+        For the bottom-right rectangle's gradient:
+        The first stop defines a fully-opaque green color.
+        The second stop specifies the stop-color using the 'currentColor' keyword.        
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The result should be:
+      </p>
+      <p>
+        The top-left rectangle is filled with a gradient from green to pink since
+        the stop-color is inherited from the location of the gradient definition.
+      </p>
+      <p>
+        The top-right rectangle filled in green with a gradient opacity.
+      </p>
+      <p>
+        The lower-left rectangle filled with a gradient going from fully-opaque green to fully-opaque black.
+      </p>
+      <p>
+        The lower-right rectangle filled with a gradient going from fully-opaque green to fully-opaque yellow.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-18-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="g0" stop-color="#f48" stop-opacity="0.5" color="yellow">
+      <linearGradient id="MyGradient1" stop-color="inherit">
+        <stop offset="0" stop-color="green" stop-opacity="1"/>
+        <stop offset="1" stop-color="inherit" stop-opacity="1"/>
+      </linearGradient>
+      <linearGradient id="MyGradient2" stop-opacity="inherit">
+        <stop offset="0" stop-color="green" stop-opacity="1"/>
+        <stop offset="1" stop-color="green" stop-opacity="inherit"/>
+      </linearGradient>
+      <linearGradient id="MyGradient3">
+        <stop offset="0" stop-color="green" stop-opacity="1"/>
+        <stop offset="1"/>
+      </linearGradient>
+      <linearGradient id="MyGradient4">
+        <stop offset="0" stop-color="green" stop-opacity="1"/>
+        <stop offset="1" stop-color="currentColor" stop-opacity="1"/>
+      </linearGradient>
+    </g>
+    <g id="g1" stop-color="blue">
+      <rect id="r1" fill="url(#MyGradient1)" width="100" height="100" x="50" y="50"/>
+    </g>
+    <g id="g2" stop-opacity="1">
+      <rect id="r2" fill="url(#MyGradient2)" width="100" height="100" x="200" y="50"/>
+    </g>
+    <g id="g3" stop-opacity="1" stop-color="blue">
+      <rect id="r3" fill="url(#MyGradient3)" width="100" height="100" x="50" y="200"/>
+    </g>
+    <g id="g4" color="blue">
+      <rect id="r4" fill="url(#MyGradient4)" width="100" height="100" x="200" y="200"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-20-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-20-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e1812a12c8d2813b9bda9aaca0ea91b5482ca25f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-20-b.svg
@@ -0,0 +1,92 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="ED" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: pservers-grad-20-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/animate.html#InterfaceSVGAnimationElement">
+        <p>
+          This test has a gradient with gradientUnits='objectBoundingBox' which is a fade from black to white.
+          The gradient is used for the stroke of a line. Vertical and horizontal lines don't have a boundingbox, since they are one-dimensional, even though the
+          stroke-width makes it look like they should have a boundingbox with non-zero width and height.
+          See the coordinate chapter, last paragraph of 7.11.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The left rectangle has four 'line' elements rotated in different ways. The stroke for the lines have a green solid stroke fallback which
+        should be used if the gradient should be ignored.
+
+        The right rectangle is the same as the left rectangle except that the stroke paintservers don't have a fallback specified.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if
+      </p>
+      <ul>
+        <li>
+          there are three lines with solid green stroke, and one line
+          (from bottom left to top right) with a gradient stroke, visible in the left rectangle.
+        </li>
+        <li>there is a line from bottom left to top right with a gradient stroke, visible in the right rectangle.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-20-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="grad">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-color="white" />
+      </linearGradient>
+    </defs>
+    
+    <!-- sub-test 1: stroke with solid color fallback -->
+    <g transform="translate(50, 100) scale(0.3)">
+      <path d="M0 180L480 180" stroke="url(#grad) #0f0" stroke-width="20"/>
+      <path d="M0 180L480 180" stroke="url(#grad) #0f0" stroke-width="20" transform="rotate(45 240 180)"/>
+      <path d="M0 180L480 180" stroke="url(#grad) #0f0" stroke-width="20" transform="rotate(90 240 180)"/>
+      <path d="M410 10L70 350" stroke="url(#grad) #0f0" stroke-width="20"/>
+      <rect x="0" y="-60" width="480" height="480" fill="none" stroke="black"/>
+    </g>
+    <text x="120" y="250" text-anchor="middle">With fallback</text>
+    
+    <!-- sub-test 2: stroke without a fallback -->
+    <g transform="translate(280,100) scale(0.3)">
+      <path d="M0 180L480 180"	stroke="url(#grad)" stroke-width="20"/>
+      <path d="M0 180L480 180" stroke="url(#grad)" stroke-width="20" transform="rotate(45 240 180)"/>
+      <path d="M0 180L480 180" stroke="url(#grad)" stroke-width="20" transform="rotate(90 240 180)"/>
+      <path d="M410 10L70 350" stroke="url(#grad)" stroke-width="20"/>
+      <rect x="0" y="-60" width="480" height="480" fill="none" stroke="black"/>
+    </g>
+    <text x="350" y="250" text-anchor="middle">Without fallback</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-21-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-21-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8024d520b2718466c31bcc823c27135970f8a82f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-21-b.svg
@@ -0,0 +1,146 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="ED" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: pservers-grad-21-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Gradients">
+      <p>
+        Test the inheritance of radial gradient attributes. The test has six ellipses with blue stroke, each filled
+        with two gradients. 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>the gradient fills don't extend outside the blue ellipses</li>
+        <li>the gradient fills in the left column exactly match the corresponding reference gradient fills in the right column</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-21-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <radialGradient id="grad1" cx="100%" r="20%">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad2" xlink:href="#grad1" cx="0%"/>
+      <radialGradient id="grad3" cx="100%" r="20%" fx="0%">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad4" xlink:href="#grad3" cx="0%"/>
+      <radialGradient id="grad5" cx="100%" r="20%" fx="25%">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad6" xlink:href="#grad5" cx="0%"/>
+      
+      <radialGradient id="grad1-ref" cx="100%" r="20%">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad2-ref" cx="0%" r="20%">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad3-ref" cx="100%" r="20%" fx="0%">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad4-ref" cx="0%" r="20%" fx="0%">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad5-ref" cx="100%" r="20%" fx="25%">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+      <radialGradient id="grad6-ref" cx="0%" r="20%" fx="25%">
+        <stop offset="0" stop-color="black" />
+        <stop offset="1" stop-opacity="0"/>
+      </radialGradient>
+    </defs>
+    
+    <g transform="translate(100 60)">
+      <!-- first line of tests -->
+      <rect fill="url(#grad1)" x="-60" width="120" height="90"/>
+      <rect fill="url(#grad2)" x="60" width="120" height="90"/>
+      <ellipse cx="60" cy="45" rx="24" ry="18" fill="none" stroke="blue"/>
+
+      <!-- reference for first line -->
+      <g transform="translate(100 0)">
+        <rect fill="url(#grad1-ref)" x="-60" width="120" height="90"/>
+        <rect fill="url(#grad2-ref)" x="60" width="120" height="90"/>
+        <ellipse cx="60" cy="45" rx="24" ry="18" fill="none" stroke="blue"/>
+      </g>
+
+      <!-- second line of tests -->
+      <g transform="translate(0 50)">
+        <rect fill="url(#grad3)" x="-60" width="120" height="90"/>
+        <rect fill="url(#grad4)" x="60" width="120" height="90"/>
+        <ellipse cx="60" cy="45" rx="24" ry="18" fill="none" stroke="blue"/>
+      </g>
+      
+      <!-- reference for second line -->
+      <g transform="translate(100 50)">
+        <rect fill="url(#grad3-ref)" x="-60" width="120" height="90"/>
+        <rect fill="url(#grad4-ref)" x="60" width="120" height="90"/>
+        <ellipse cx="60" cy="45" rx="24" ry="18" fill="none" stroke="blue"/>
+      </g>
+
+      <!-- third line of tests -->
+      <g transform="translate(0 100)">
+        <rect fill="url(#grad5)" x="-60" width="120" height="90"/>
+        <rect fill="url(#grad6)" x="60" width="120" height="90"/>
+        <ellipse cx="60" cy="45" rx="24" ry="18" fill="none" stroke="blue"/>
+      </g>
+      
+      <!-- reference for third line -->
+      <g transform="translate(100 100)">
+        <rect fill="url(#grad5-ref)" x="-60" width="120" height="90"/>
+        <rect fill="url(#grad6-ref)" x="60" width="120" height="90"/>
+        <ellipse cx="60" cy="45" rx="24" ry="18" fill="none" stroke="blue"/>
+      </g>
+      
+      <rect x="120" y="20" width="80" height="200" fill="none" stroke="green"/>
+      <text y="200" x="160" text-anchor="middle" font-size="12">Reference</text> 
+    </g>
+    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-22-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-22-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b4289b60630403fd9812963867e55346483fa3e7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-22-b.svg
@@ -0,0 +1,97 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="AG" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: pservers-grad-22-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/master/pservers.html#Gradients">
+      <p>
+        Tests that transforms affect the rendering of a gradient.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+   </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if each of the two gradient-filled rectangles
+        towards the top of the test slide is identical to the one below it.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-22-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <linearGradient id="g1" x1="0" y1="0" x2="400" y2="50" gradientUnits="userSpaceOnUse" >
+        <stop offset="0" stop-color="blue"/>
+        <stop offset="0.5" stop-color="yellow"/>
+        <stop offset="1.0" stop-color="blue"/>
+      </linearGradient>
+
+      <linearGradient id="g2" x1="0" y1="0" x2="200" y2="12.5" gradientUnits="userSpaceOnUse">
+        <stop offset="0" stop-color="blue"/>
+        <stop offset="0.5" stop-color="yellow"/>
+        <stop offset="1.0" stop-color="blue"/>
+      </linearGradient>
+
+      <linearGradient id="g3" x1="0" y1="0" x2="400" y2="50" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-37) scale(0.89 1)">
+        <stop offset="0" stop-color="blue"/>
+        <stop offset="0.5" stop-color="yellow"/>
+        <stop offset="1.0" stop-color="blue"/>
+      </linearGradient>
+
+      <linearGradient id="g4" x1="0" y1="0" x2="200" y2="12.5" gradientUnits="userSpaceOnUse" gradientTransform="rotate(-20)">
+        <stop offset="0" stop-color="blue"/>
+        <stop offset="0.5" stop-color="yellow"/>
+        <stop offset="1.0" stop-color="blue"/>
+      </linearGradient>
+    </defs>
+
+    <g transform="translate(20,50)">
+      <g transform="scale(0.5,1)">
+        <rect width="400" height="50" fill="url(#g1)" />
+      </g>
+    </g>
+
+    <g transform="translate(20,120)">
+      <rect width="200" height="50" fill="url(#g2)" />
+    </g>
+
+    <g transform="translate(250,80)">
+      <rect width="400" height="50" fill="url(#g3)" transform="scale(0.5,1)"/>
+    </g>
+
+    <g transform="translate(250,150)">
+      <rect width="200" height="50" fill="url(#g4)" />
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-23-f.svg b/Tests/W3CTestSuite/svg/pservers-grad-23-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3029214d7bcc531fdf307f5bbf49a609d2b1a250
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-23-f.svg
@@ -0,0 +1,80 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="[reviewer]" author="Microsoft" status="created" version="$Revision: 1.3 $" testname="$RCSfile: pservers-grad-23-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/pservers.html#Gradients">
+      <p>
+        <!--[[
+        Properties do not inherit from elements referencing 'linearGradient' or 'radialGradient' elements.
+        ]]-->
+      </p>
+      <p>
+        <!--[[
+        Specify a 'stop-color' attribute equal to 'red' on a 'g' element ancestor of a 'rect' element. Specify a 'linearGradient' with a single 
+        'stop' that has a 'stop-color' of 'inherit'. Reference the 'linearGradient' from the 'rect' element and verify that the 'rect' is not red. 
+        Repeat the same process with a sibling 'rect' element referencing a 'radialGradient' element.
+        ]]-->
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required
+      </p>
+      <p>
+        <!--[[
+        
+        ]]-->
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        <!--[[
+        Test passes if there is no red visible on the page.
+        ]]-->
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-23-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <defs>
+        <linearGradient id="testLinear" stop-color="inherit">
+            <stop offset="100%" stop-color="inherit" />
+        </linearGradient>
+        <radialGradient id="testRadial" stop-color="inherit">
+            <stop offset="100%" stop-color="inherit" />
+        </radialGradient>
+    </defs>
+    <g stop-color="red">
+        <rect x="30" y="30" width="100" height="100" fill="url(#testLinear)" stop-color="inherit" />
+        <rect x="150" y="30" width="100" height="100" fill="url(#testRadial)" stop-color="inherit" />
+    </g>
+    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-24-f.svg b/Tests/W3CTestSuite/svg/pservers-grad-24-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2aa02986a3bfde104299b2f546b9b78e862f9bcc
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-24-f.svg
@@ -0,0 +1,68 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.3 $" testname="$RCSfile: pservers-grad-24-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/pservers.html#Gradients">
+      <p>
+        Test that the 'linearGradient' and 'radialGradient' elements are neither rendered directly nor via the 'use' element.
+      </p>
+      <p>
+        The test defines 'linearGradient' and 'radialGradient' elements with a red 'stop' and references them from a 'use' element. 'linearGradient'
+        and 'radialGradient' elements with a red 'stop' are also specified outside of a 'defs' tag as if they were regular graphical elements.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-24-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <linearGradient id="testLinear">
+            <stop offset="100%" stop-color="red" />
+        </linearGradient>
+        <radialGradient id="testRadial">
+            <stop offset="100%" stop-color="red" />
+        </radialGradient>
+    </defs>
+    <text x="10" y="50">There should be no red.</text>
+    <use x="0" y="0" xlink:href="url(#testLinear)" />
+    <use x="0" y="150" xlink:href="url(#testRadial)" />
+    <linearGradient x1="0" x2="100" y1="150" y2="250">
+        <stop offset="100%" stop-color="red" />
+    </linearGradient>
+    <radialGradient cx="200" cy="300" r="50" fx="200" fy="300">
+        <stop offset="100%" stop-color="red" />
+    </radialGradient>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-grad-stops-01-f.svg b/Tests/W3CTestSuite/svg/pservers-grad-stops-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d7d1581350accf6b689f9984cbdda019b2339c73
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-grad-stops-01-f.svg
@@ -0,0 +1,70 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.3 $" testname="$RCSfile: pservers-grad-stops-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG/pservers.html#GradientStops">
+      <p>
+        Test that gradient offset values less than zero are rounded up to zero and values more than one are rounded down to one.
+      </p>
+      <p>
+        The test defines four gradients, each with a single stop where the 'stop-color' is set to 'blue'.
+        The four gradients have 'offset' set to '-1', '-1%', '101%' and '2'.  Four rectangles reference
+        the gradients.  All of these should render as if they have plain blue fills.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passed if there are four blue boxes on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-grad-stops-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <linearGradient id="gradient1">
+            <stop offset="-1" stop-color="blue" />
+        </linearGradient>
+        <linearGradient id="gradient2">
+            <stop offset="-1%" stop-color="blue" />
+        </linearGradient>
+        <linearGradient id="gradient3">
+            <stop offset="2" stop-color="blue" />
+        </linearGradient>
+        <linearGradient id="gradient4">
+            <stop offset="101%" stop-color="blue" />
+        </linearGradient>
+    </defs>
+    <rect fill="url(#gradient1)" stroke="black" stroke-width="5" x="10" y="10" width="100" height="100" />
+    <rect fill="url(#gradient2)" stroke="black" stroke-width="5" x="120" y="10" width="100" height="100" />
+    <rect fill="url(#gradient3)" stroke="black" stroke-width="5" x="10" y="120" width="100" height="100" />
+    <rect fill="url(#gradient4)" stroke="black" stroke-width="5" x="120" y="120" width="100" height="100" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-01-b.svg b/Tests/W3CTestSuite/svg/pservers-pattern-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2081855a4e5e2801678a171ff964f32d1fec299e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-pattern-01-b.svg
@@ -0,0 +1,108 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Haroon Sheikh" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: pservers-pattern-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Patterns">
+        <p>
+          Test that the viewer has basic capability to handle patterns
+          on fills and stroke of objects and text.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        From top-down the appearance of objects is as follows.
+      </p>
+      <p>
+        The top rectangle should be filled with a pattern composed of a green
+        rectangle on top of yellow rectangle. A default stroke has been applied to the original
+        rectangle to see the boundary of the rectangle.
+      </p>
+      <p>
+        The next rectangle has no fill, but has a thick stroke on which the pattern is
+        applied. The pattern consists of 4 colored rectangles.
+      </p>
+      <p>
+        The next item is a text with a pattern on the fill. The pattern appears as
+        alternating rows of orange and green.
+      </p>
+      <p>
+        The last item is a text with a 2 user unit stroke on which a pattern is applied.
+        The pattern appears as alternating columns of maroon and blue.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-pattern-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Rectangle with a pattern fill                                 ======== -->
+    <!-- ====================================================================== -->
+    <pattern patternUnits="userSpaceOnUse" id="pat1" x="10" y="10" width="20" height="20">
+      <rect x="5" y="5" width="10" height="10" fill="yellow"/>
+      <rect x="10" y="10" width="10" height="10" fill="green"/>
+    </pattern>
+    <rect x="25" y="10" width="430" height="60" stroke="black" fill="url(#pat1)"/>
+    <text font-family="Arial" font-size="12" x="25" y="85">Pattern created using yellow and green rectangles applied to fill of rectangle</text>
+    <!-- ====================================================================== -->
+    <!-- Rectangle with a pattern on the stroke                        ======== -->
+    <!-- ====================================================================== -->
+    <pattern patternUnits="userSpaceOnUse" id="pat2" x="0" y="0" width="20" height="20">
+      <rect x="0" y="0" width="10" height="10" fill="maroon"/>
+      <rect x="10" y="0" width="10" height="10" fill="green"/>
+      <rect x="0" y="10" width="10" height="10" fill="blue"/>
+      <rect x="10" y="10" width="10" height="10" fill="yellow"/>
+    </pattern>
+    <rect x="35" y="110" width="410" height="40" fill="none" stroke="url(#pat2)" stroke-width="20"/>
+    <text font-family="Arial" font-size="12" x="25" y="175">Pattern of 4 rectangles applied to a stroke of a rectangle.</text>
+    <!-- ====================================================================== -->
+    <!-- Pattern filled text                                           ======== -->
+    <!-- ====================================================================== -->
+    <pattern patternUnits="userSpaceOnUse" id="pat3" x="0" y="0" width="10" height="20">
+      <rect x="0" y="0" width="10" height="10" fill="orange"/>
+      <rect x="0" y="10" width="10" height="10" fill="green"/>
+    </pattern>
+    <text font-family="Arial" font-size="50" fill="url(#pat3)" x="25" y="220">Pattern on fill</text>
+    <text font-family="Arial" font-size="12" x="25" y="235">Pattern consists of orange and green rows</text>
+    <!-- ====================================================================== -->
+    <!-- Pattern on stroke of text                                     ======== -->
+    <!-- ====================================================================== -->
+    <pattern patternUnits="userSpaceOnUse" id="pat4" x="0" y="0" width="20" height="10">
+      <rect x="0" y="0" width="10" height="10" fill="maroon"/>
+      <rect x="10" y="0" width="10" height="10" fill="blue"/>
+    </pattern>
+    <text font-family="Arial" font-size="40" fill="none" stroke="url(#pat4)" stroke-width="2" x="25" y="275">Pattern on stroke</text>
+    <text font-family="Arial" font-size="12" x="25" y="290">Pattern consists of maroon and blue columns</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-02-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d2e8655ac2198f915704bdae90f5c21e29d0016e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-pattern-02-f.svg
@@ -0,0 +1,61 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: pservers-pattern-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#PatternElement">
+      <p>
+        Test that the 'patternTransform' attribute has an effect on the 'pattern' element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the testframe is filled with a blue and white
+        diamond pattern.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-pattern-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <pattern id="pattern" viewBox="0 0 100 100" patternTransform="rotate(45)" height="0.1" width="0.1">
+        <rect y="50" width="50" height="50" fill="blue"/>
+        <rect x="50" width="50" height="50" fill="blue"/>
+      </pattern>
+    </defs>
+    <rect fill="url(#pattern)" width="480" height="480"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-03-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..dbf9f4796c38709e4c4b462ce142b95e343c7cdc
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-pattern-03-f.svg
@@ -0,0 +1,91 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: pservers-pattern-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Patterns">
+      <p>
+        Test that empty patterns are not rendered, and that the fallback color is used instead.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are 8 green rectangles visible, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-pattern-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <pattern id="invisible1">
+        <rect width="100%" height="100%" fill="red"/>
+      </pattern>
+      <pattern id="invisible2" patternUnits="objectBoundingBox" patternContentUnits="objectBoundingBox">
+        <rect width="100%" height="100%" fill="red"/>
+      </pattern>
+      <pattern id="invisible3" width="0" height="0" patternUnits="objectBoundingBox" patternContentUnits="objectBoundingBox">
+        <rect width="1" height="1" fill="red"/>
+      </pattern>
+      <pattern id="invisible4" width="0" patternUnits="objectBoundingBox" patternContentUnits="objectBoundingBox">
+        <rect width="1" height="1" fill="red"/>
+      </pattern>
+      <pattern id="invisible5" width="0" height="0" patternUnits="userSpaceOnUse" patternContentUnits="objectBoundingBox">
+        <rect width="1" height="1" fill="red"/>
+      </pattern>
+      <pattern id="invisible6" height="0" patternUnits="userSpaceOnUse" patternContentUnits="objectBoundingBox">
+        <rect width="1" height="1" fill="red"/>
+      </pattern>
+      <pattern id="invisible7" height="0" patternUnits="userSpaceOnUse" patternContentUnits="userSpaceOnUse">
+        <rect width="100%" height="100%" fill="red"/>
+      </pattern>
+    </defs>
+
+    <g transform="translate(40 60)" stroke="black">
+      <rect width="100" height="100" fill="url(#invisible1) lime"/>
+      <rect x="100" width="100" height="100" fill="url(#invisible2) lime"/>
+      <rect x="200" width="100" height="100" fill="url(#invisible3) lime"/>
+      <rect x="300" width="100" height="100" fill="url(#invisible4) lime"/>
+
+      <rect y="100" width="100" height="100" fill="url(#invisible5) lime"/>
+      <rect x="100" y="100" width="100" height="100" fill="url(#invisible6) lime"/>
+      <rect x="200" y="100" width="100" height="100" fill="url(#invisible7) lime"/>
+      
+      <!-- note that this is on purpose testing a broken uri -->
+      <rect x="300" y="100" width="100" height="100" fill="url(#invisible8) lime"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-04-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e24dd33d3beb3ae23a9eca3847b051a1bbc91652
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-pattern-04-f.svg
@@ -0,0 +1,70 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: pservers-pattern-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Patterns">
+      <p>
+        Inherited attributes from a referenced 'pattern' are not applied if they are already defined on the referencing 'pattern' element.
+      </p>
+      <p>
+        Define a pattern 'pattern1' with circles that have red fill. Inherit 'pattern1' into 'pattern2' and add circles at different 'y'
+        attribute and with 'fill' set to 'lime' on 'pattern2'. Reference 'pattern1' from a square using 'fill' attribute. Reference 'pattern2'
+        from a different square using 'fill' attribute. Position the second square directly over the first square.  Verify that there is green visible.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are four green circles visible on the page, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-pattern-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <pattern id="pattern1" patternUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" viewBox="0 0 10 10" >
+            <circle cx="5" cy="5" r="1.9" fill="red" />
+        </pattern>
+        <pattern id="pattern2" xlink:href="#pattern1" y="30">
+            <circle cx="5" cy="2" r="2" fill="lime" />
+        </pattern>
+    </defs>
+    <rect fill="url(#pattern1)" stroke="none" x="1" y="1" width="200" height="200" />
+    <rect fill="url(#pattern2)" stroke="none" x="1" y="1" width="200" height="200" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-05-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4fe22ab11ea403580fe14c2f940afb4a1acda089
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-pattern-05-f.svg
@@ -0,0 +1,64 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.3 $" testname="$RCSfile: pservers-pattern-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG/pservers.html#Patterns">
+      <p>
+        Test that a 'pattern' element can inherit attributes through multiple levels of
+        'xlink:href' referencing.
+      </p>
+      <p>
+        The test defines a pattern 'pattern1' with some attributes that scale the contents. The attributes on
+        'pattern1' are inherited into 'pattern2' and then inherited from 'pattern2'
+        into 'pattern3'.  'pattern3' has a green circle as its graphical content.
+        A 'rect' uses 'pattern3' as its fill, if the attributes are correctly inherited into
+        'pattern3', then the green circle will occlude a red circle in the same position.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passed if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-pattern-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <pattern id="Pattern1" patternUnits="userSpaceOnUse" width="100" height="100" viewBox="0 0 10 10" />
+        <pattern id="Pattern2" xlink:href="#Pattern1" />
+        <pattern id="Pattern3" xlink:href="#Pattern2">
+            <circle cx="5" cy="5" r="2" fill="green"/>
+        </pattern>
+    </defs>
+    <circle cx="50" cy="50" r="20" fill="red" />
+    <rect fill="url(#Pattern3)" width="100" height="100" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-06-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-06-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..721988449c5c634c7ef1942064368e908fdc76ab
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-pattern-06-f.svg
@@ -0,0 +1,65 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="[reviewer]" author="Microsoft" status="created" version="$Revision: 1.2 $" testname="$RCSfile: pservers-pattern-06-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG/pservers.html#Patterns">
+      <p>
+        <!--[[
+        The 'pattern' element is neither rendered directly nor via the 'use' element.
+        ]]-->
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        <!--[[
+        Define a 'pattern' element with a red 'rect' and reference it from a 'use' element. Also specify one 'pattern' elements with a red 'rect'
+        outside of a 'defs' tag. Verify there is no red on the page.
+        ]]-->
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        <!--[[
+        Test passes if there is no red visible on the page.
+        ]]-->
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-pattern-06-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <pattern id="testPattern" patternUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" viewBox="0 0 10 10" >
+            <rect x="5" y="5" width="10" height="10" fill="red" />
+        </pattern>
+    </defs>
+    <use x="100" y="100" xlink:href="url(#testPattern)" />
+    <pattern patternUnits="userSpaceOnUse" x="10" y="10" width="20" height="20">
+        <rect x="5" y="5" width="10" height="10" fill="red" />
+    </pattern>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-07-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-07-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8701df130a4342c6582ef430d9f733d2dc842161
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-pattern-07-f.svg
@@ -0,0 +1,65 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="reviewed"
+    version="$Revision: 1.2 $" testname="$RCSfile: pservers-pattern-07-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Patterns">
+      <p>
+        Test that an invalid xlink:href on a 'pattern' element has no effect on the pattern.
+        The pattern dimensions and coordinate-system are defined completely on the pattern that has the invalid xlink:href,
+        to test that they're not overridden by the non-existant pattern that is referenced.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are four green circles visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-pattern-07-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <pattern id="pattern1" patternUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" viewBox="0 0 10 10">
+            <circle cx="5" cy="5" r="1.7" fill="red" />
+        </pattern>
+        <pattern id="pattern2" xlink:href="#invalidlink" patternUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" viewBox="0 0 10 10">
+            <circle cx="5" cy="5" r="2" fill="lime" />
+        </pattern>
+    </defs>
+    <rect fill="url(#pattern1)" stroke="none" x="1" y="1" width="200" height="200" />
+    <rect fill="url(#pattern2)" stroke="none" x="1" y="1" width="200" height="200" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-08-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-08-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e15cb8458f93eb237fda227ff0c32c2bac250b4d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-pattern-08-f.svg
@@ -0,0 +1,66 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="reviewed"
+    version="$Revision: 1.2 $" testname="$RCSfile: pservers-pattern-08-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Patterns">
+      <p>
+        Test that an invalid xlink:href on a 'pattern' element has no effect on the pattern.
+        This test specifies only 'width' and 'height' on the pattern that is tested in order to catch 
+        incorrectly overridden values from a non-existant pattern. The result is tested
+        with a reference pattern using slightly different syntax.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are four green circles visible on the page, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-pattern-08-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <pattern id="pattern1" patternUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" viewBox="0 0 10 10">
+            <circle cx="5" cy="5" r="1.7" fill="red" />
+        </pattern>
+        <pattern id="pattern2" xlink:href="#invalidlink" width="0.5" height="0.5">
+            <circle cx="50" cy="50" r="20" fill="lime" />
+        </pattern>
+    </defs>
+    <rect fill="url(#pattern1)" stroke="none" x="1" y="1" width="200" height="200" />
+    <rect fill="url(#pattern2)" stroke="none" x="1" y="1" width="200" height="200" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-09-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-09-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4d0ec1ae10e38f8f58bcdb9838739ec0be028875
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/pservers-pattern-09-f.svg
@@ -0,0 +1,70 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: pservers-pattern-09-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/pservers.html#Patterns">
+      <p>
+        Test that an invalid xlink:href on a 'pattern' element has no effect on the pattern, and that the
+        pattern isn't rendered since the default 'width' and 'height' is 0.
+        A subtest that explicitly specifies 'width' and 'height' as 0 is added as a reference. 
+        Both of these cases should result in the fallback color being used.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is a green rectangle visible on the page, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: pservers-pattern-09-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <pattern id="pattern1" patternUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" viewBox="0 0 10 10">
+            <circle cx="5" cy="5" r="1.7" fill="red" />
+        </pattern>
+        <pattern id="pattern2" xlink:href="#invalidlink">
+            <circle cx="50" cy="50" r="20" fill="red" />
+        </pattern>
+        <pattern id="pattern3" patternUnits="userSpaceOnUse" x="0" y="0" width="0" height="0" viewBox="0 0 10 10">
+            <circle cx="5" cy="5" r="1.7" fill="red" />
+        </pattern>
+    </defs>
+    <rect fill="url(#pattern1)" stroke="none" x="1" y="1" width="200" height="200" />
+    <rect fill="url(#pattern2) lime" stroke="none" x="1" y="1" width="200" height="200" />
+    <rect fill="url(#pattern3) lime" stroke="none" x="201" y="1" width="200" height="200" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/render-elems-01-t.svg b/Tests/W3CTestSuite/svg/render-elems-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ec391f88e3190198f39ded69142c0ffccdb46851
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/render-elems-01-t.svg
@@ -0,0 +1,64 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: render-elems-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/render.html#Elements">
+        <p>
+          Verifies that shapes can be filled.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There is one pair of octagons.  These are filled.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: render-elems-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- First, fill shape with two different colors                            -->
+    <!-- ====================================================================== -->
+    <g transform="translate(30, 80)">
+      <g fill="green">
+        <path d="M60,0 l60,0 l60,60 l0,60 l-60,60 l-60,0 l-60,-60 l0,-60 z"/>
+      </g>
+      <g fill="black" transform="translate(200, 0)">
+        <path d="M60,0 l60,0 l60,60 l0,60 l-60,60 l-60,0 l-60,-60 l0,-60 z"/>
+      </g>
+      <text x="130" y="-30" font-size="28">Shape fill</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/render-elems-02-t.svg b/Tests/W3CTestSuite/svg/render-elems-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..30646c64b22a21a8048c1bb71e35c6779cebeab0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/render-elems-02-t.svg
@@ -0,0 +1,64 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: render-elems-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/render.html#Elements">
+        <p>
+          Verifies that shapes can be stroked.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There is one pair of octagons.  These are stroked.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: render-elems-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Now, stroke shape with two different stroke width and color            -->
+    <!-- ====================================================================== -->
+    <g transform="translate(30, 80)">
+      <g fill="none" stroke="green" stroke-width="3">
+        <path d="M60,0 l60,0 l60,60 l0,60 l-60,60 l-60,0 l-60,-60 l0,-60 z"/>
+      </g>
+      <g fill="none" stroke="black" stroke-width="9" transform="translate(200, 0)">
+        <path d="M60,0 l60,0 l60,60 l0,60 l-60,60 l-60,0 l-60,-60 l0,-60 z"/>
+      </g>
+      <text x="110" y="-30" font-size="28">Shape stroke</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/render-elems-03-t.svg b/Tests/W3CTestSuite/svg/render-elems-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b5a6b1a9ffb7399c080d1a32340051879b57e641
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/render-elems-03-t.svg
@@ -0,0 +1,63 @@
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd" [
+  <!ENTITY shape "<path d='M60,0 l60,0 l60,60 l0,60 l-60,60 l-60,0 l-60,-60 l0,-60 z'/>">
+]>
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: render-elems-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/render.html#Elements">
+        <p>
+          Verifies that shapes can be filled, stroked and the order of filling and stroking.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There is one pair of octagons. These are filled plus stroked.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: render-elems-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Now, fill and stroke. The fill should happen first                     -->
+    <!-- ====================================================================== -->
+    <g transform="translate(30, 80)">
+      <g fill="yellow" stroke="green" stroke-width="8" >&shape;</g>
+      <g stroke="black" fill="blue" stroke-width="8"  transform="translate(200, 0)">&shape;</g>
+      <text x="70" y="-30" font-size="28">Shape fill and stroke</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/render-elems-06-t.svg b/Tests/W3CTestSuite/svg/render-elems-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ef2002b05ee4da56fb2c44a835edab2813e90dfe
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/render-elems-06-t.svg
@@ -0,0 +1,74 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: render-elems-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/render.html#Elements">
+        <p>
+          Verifies that text can be filled. 
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+The
+          test shows two 'G' characters that are filled 
+          (green to the left, and with navy to the right) and not stroked.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: render-elems-06-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs >
+      <font-face font-family="Blocky" unicode-range="U+0-7F">
+        <font-face-src>
+          <font-face-uri xlink:href="../resources/Blocky.svg#Blocky"/>
+        </font-face-src>
+      </font-face>
+       <style type="text/css">
+          @font-face {
+             font-family: BlockyWoff;
+             src: url(woffs/Blocky.woff) format("woff");
+        </style>
+    </defs>
+    <!-- ====================================================================== -->
+    <!-- First, fill text with two different colors                             -->
+    <!-- ====================================================================== -->
+    <text x="180" y="40" font-size="30">Text fill</text>
+    <g font-size="300" font-family="Blocky, BlockyWoff">
+      <text x="60" y="280" fill="green">G</text>
+      <text x="260" y="280" fill="navy">G</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/render-elems-07-t.svg b/Tests/W3CTestSuite/svg/render-elems-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..427e626ea1e4ea9f2188c0fa069d2c0450815127
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/render-elems-07-t.svg
@@ -0,0 +1,71 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: render-elems-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/render.html#Elements">
+        <p>
+          Verifies that text can be stroked. The
+          
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+   The test shows two characters that are stroked and not filled.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: render-elems-07-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+        <defs>
+      <font-face font-family="Blocky" unicode-range="U+0-7F">
+        <font-face-src>
+          <font-face-uri xlink:href="../resources/Blocky.svg#Blocky"/>
+        </font-face-src>
+      </font-face>
+       <style type="text/css">
+          @font-face {
+             font-family: BlockyWoff;
+             src: url(woffs/Blocky.woff) format("woff");
+        </style>
+    </defs>
+    <!-- ====================================================================== -->
+    <!-- Now, stroke text with two different stroke width and color             -->
+    <!-- ====================================================================== -->
+    <text x="180" y="40" font-size="30">Text stroke</text>
+    <g font-size="300" font-family="Blocky, BlockyWoff">
+      <text x="60" y="280" fill="none" stroke="green" stroke-width="12">G</text>
+      <text x="260" y="280" fill="none" stroke="navy" stroke-width="12">G</text>
+    </g>
+    <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.9 $</text>
+    <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  </g>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/render-elems-08-t.svg b/Tests/W3CTestSuite/svg/render-elems-08-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fb946e7f9b13a2fea39089d5301232bdeefcfc53
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/render-elems-08-t.svg
@@ -0,0 +1,73 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.10 $" testname="$RCSfile: render-elems-08-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/render.html#Elements">
+        <p>
+          Verifies that text can be stroked.
+          
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+       The test shows two 'G' characters that are both stroked and filled.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: render-elems-08-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font-face font-family="Blocky" unicode-range="U+0-7F">
+        <font-face-src>
+          <font-face-uri xlink:href="../resources/Blocky.svg#Blocky"/>
+        </font-face-src>
+      </font-face>
+       <style type="text/css">
+          @font-face {
+             font-family: BlockyWoff;
+             src: url(woffs/Blocky.woff) format("woff");
+        </style>
+    </defs>
+    <!-- ====================================================================== -->
+    <!-- Now, fill and stroke. The fill should happen first                     -->
+    <!-- ====================================================================== -->
+    <text x="120" y="40" font-size="30">Text fill and stroke</text>
+    <g font-size="300" font-family="Blocky, BlockyWoff">
+      <text x="60" y="280" fill="#2f8" stroke="green" stroke-width="12">G</text>
+      <text x="260" y="280" fill="#e9a" stroke="navy" stroke-width="12">G</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.10 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/render-groups-01-b.svg b/Tests/W3CTestSuite/svg/render-groups-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..035f30c221934183e64283bfa7301b071b0372a2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/render-groups-01-b.svg
@@ -0,0 +1,109 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: render-groups-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/render.html#Grouping">
+        <p>
+          Verifies implicit rendering order (paragraph 3.3) and grouping mechanism (paragraphs 3.4).
+          It also validates basic Shape, Image and text rendering.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>
+Run the test. No interaction required.
+      </p>
+      <p>
+        The rendered image should match the reference image exactly.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test renders 3  elements: a text string "SVG", then
+        a shape, then an image. Because of their definition order and coordinates, the image
+        should be on top of the rectangle and the rectangle on top of the text. The
+        test validates that groups are conceptually rendered offscreen before being
+        rendered on the canvas. This is done by grouping the same overlapping objects and
+        rendering the group at half opacity. The background pattern (vertical stripes) should
+        show through all the group elements. However, none of the "SVG" text string should show through the
+        rectangle and none of the rectangle should show through the image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: render-groups-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="313">
+        <!-- Converted from Larabie Anglepoise by Batik ttf2svg -->
+        <font-face font-family="s-larabie-anglepoise" units-per-em="1000" panose-1="0 0 4 0 0 0 0 0 0 0" ascent="703" descent="-300" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="500" d="M63 0V700H438V0H63ZM125 63H375V638H125V63Z"/>
+        <glyph unicode="S" glyph-name="S" horiz-adv-x="385" d="M371 1H29V144H264Q264 151 264 166Q265 180 265 188Q265 212 249 212H132Q83 212 55 247Q29 279 29 329V566H335V422H136V375Q136 360 144 356Q148 355 168 355H279Q327 355 352 309Q371 273 371 221V1Z"/>
+        <glyph unicode="V" glyph-name="V" horiz-adv-x="351" d="M365 563L183 -33L0 563H101L183 296L270 563H365Z"/>
+        <glyph unicode="G" glyph-name="G" horiz-adv-x="367" d="M355 1H18V564H355V420H125V144H248V211H156V355H355V1Z"/>
+        <hkern g1="V" g2="G" k="-40"/>
+      </font>
+      <style type="text/css">
+        @font-face {
+          font-family: anglepoise;
+          src: url(woffs/anglepoi.woff) format("woff");
+        }
+      </style>
+    </defs>
+    <!-- ====================================================================== -->
+    <!--  3 overlapping elements in a group with opacity    -->
+    <!-- ====================================================================== -->
+    <g transform="scale(1.8, 1.8)">
+      <!-- Background pattern -->
+      <rect x="20" y="10" width="230" height="155" fill="rgb(192, 192, 192)"/>
+      <line x1="40" y1="10" x2="40" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="70" y1="10" x2="70" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="100" y1="10" x2="100" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="130" y1="10" x2="130" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="160" y1="10" x2="160" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="190" y1="10" x2="190" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="220" y1="10" x2="220" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="250" y1="10" x2="250" y2="175" stroke="white" stroke-width="15"/>
+      <rect x="20" y="10" width="230" height="155" fill="none" stroke="black"/>
+      <!-- The following group, as a whole, should be rendered with a .5 opacity -->
+      <!-- Conceptually, this means that the object is contains are first        -->
+      <!-- rendered offscreen. Then, the offscreen is painted on the canvas with -->
+      <!-- half opacity.                                                         -->
+      <g opacity="0.5">
+        <!-- The following text, rectangle and image are drawn, fully opaque, in -->
+        <!-- the order they are defined. Therefore, none of the 'A' under the    -->
+        <!-- rectangle should show. Neither should any of the rectangle under    -->
+        <!-- the image.                                                          -->
+        <text font-family="s-larabie-anglepoise, anglepoise" font-size="120" x="30" y="90">SVG</text>
+        <rect x="70" y="55" width="130" height="70" fill="rgb(130, 0, 50)"/>
+        <image x="162" y="75" width="80" height="80" xlink:href="../images/sign.png"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/render-groups-03-t.svg b/Tests/W3CTestSuite/svg/render-groups-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..92f5da0ca6bce6e530655f1c1e9a5cc8478a6d36
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/render-groups-03-t.svg
@@ -0,0 +1,100 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: render-groups-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/render.html#Grouping">
+        <p>
+          Verifies implicit rendering order (paragraph 3.3) and grouping mechanism (paragraphs 3.4).
+          It also validates basic Shape, Image and text rendering.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">            
+      <p>
+Run the test. No interaction required.
+      </p>
+      <p>
+        The rendered image should match the reference image exactly.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test renders 3  elements: a text string "SVG", then
+        a shape, then an image. Because of their definition order and coordinates, the image
+        should be on top of the rectangle and the rectangle on top of the text. None
+        of the "SVG" text string should show through the
+        rectangle and none of the rectangle should show through the image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: render-groups-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font horiz-adv-x="313">
+        <!-- Converted from Larabie Anglepoise by Batik ttf2svg -->
+        <font-face font-family="s-larabie-anglepoise" units-per-em="1000" panose-1="0 0 4 0 0 0 0 0 0 0" ascent="703" descent="-300" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="500" d="M63 0V700H438V0H63ZM125 63H375V638H125V63Z"/>
+        <glyph unicode="S" glyph-name="S" horiz-adv-x="385" d="M371 1H29V144H264Q264 151 264 166Q265 180 265 188Q265 212 249 212H132Q83 212 55 247Q29 279 29 329V566H335V422H136V375Q136 360 144 356Q148 355 168 355H279Q327 355 352 309Q371 273 371 221V1Z"/>
+        <glyph unicode="V" glyph-name="V" horiz-adv-x="351" d="M365 563L183 -33L0 563H101L183 296L270 563H365Z"/>
+        <glyph unicode="G" glyph-name="G" horiz-adv-x="367" d="M355 1H18V564H355V420H125V144H248V211H156V355H355V1Z"/>
+        <hkern g1="V" g2="G" k="-40"/>
+      </font>
+      <style type="text/css">
+        @font-face {
+          font-family: anglepoise;
+          src: url(woffs/anglepoi.woff) format("woff");
+        }
+      </style>
+    </defs>
+    <!-- ====================================================================== -->
+    <!--  3 overlapping elements in a group with opacity    -->
+    <!-- ====================================================================== -->
+    <g transform="scale(1.8, 1.8)">
+      <!-- Background pattern -->
+      <rect x="20" y="10" width="230" height="155" fill="rgb(192, 192, 192)"/>
+      <line x1="40" y1="10" x2="40" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="70" y1="10" x2="70" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="100" y1="10" x2="100" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="130" y1="10" x2="130" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="160" y1="10" x2="160" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="190" y1="10" x2="190" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="220" y1="10" x2="220" y2="175" stroke="white" stroke-width="15"/>
+      <line x1="250" y1="10" x2="250" y2="175" stroke="white" stroke-width="15"/>
+      <rect x="20" y="10" width="230" height="155" fill="none" stroke="black"/>
+      <!-- The following text, rectangle and image are drawn, fully opaque, in -->
+      <!-- the order they are defined. Therefore, none of the 'A' under the    -->
+      <!-- rectangle should show. Neither should any of the rectangle under    -->
+      <!-- the image.                                                          -->
+      <text font-family="s-larabie-anglepoise, anglepoise" font-size="120" x="30" y="90">SVG</text>
+      <rect x="70" y="55" width="130" height="70" fill="rgb(130, 0, 50)"/>
+      <image x="162" y="75" width="80" height="80" xlink:href="../images/sign.png"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/script-handle-01-b.svg b/Tests/W3CTestSuite/svg/script-handle-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b99bb864f2109a802bb01a8e7f64f3fca0426ed0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/script-handle-01-b.svg
@@ -0,0 +1,95 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: script-handle-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/script.html#EventHandling">
+      <p>
+        Tests basic mouse event handler and DOM manipulation through
+        ECMAScript binding.
+      </p>
+      <p>
+        The test uses ECMAScript and initially displays a target with
+        a message asking the user to click on the target. Once the user
+        has done so, and if both event handling and DOM manipulation are
+        supported, then the target and initial text are hidden and a text
+        message indicating that the test was successful is displayed.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>Load the test. Click on the blue square.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if, after clicking on the blue square, it and
+      the instruction text "Click on the blue square" is removed
+      and replaced with green text stating "Scripting Test Passed!".</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: script-handle-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Displayed Title -->
+    <text x="140" y="20" fill="black">
+      Event and DOM Access Test
+    </text>
+
+    <!-- When the user clicks on the "target" group, the onMouseClick should -->
+    <!-- be invoked. That handler will hide the target and show a message    -->
+    <!-- indicating that the test passed.                                    -->
+    <g id="targetGroup">
+      <g id="target" onclick="onMouseClick( evt )">
+        <text x="70" y="150">Click on the blue square</text>
+        <rect x="60" y="160" width="20" height="20" fill="blue" stroke="none"/>
+      </g>
+      <g id="testPassed" visibility="hidden">
+        <text x="70" y="170" fill="green" font-size="30" font-weight="bold">Scripting Test Passed!</text>
+      </g>
+    </g>
+
+    <script type="text/ecmascript"><![CDATA[
+
+      function onMouseClick(evt) {
+
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      // Make test result visible
+      var testPassed = doc.getElementById('testPassed');
+      testPassed.setAttribute('visibility', 'visible');
+
+      // Make target invisible
+      var target = doc.getElementById('target');
+      target.setAttribute('visibility', 'hidden');
+      }
+
+    ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/script-handle-02-b.svg b/Tests/W3CTestSuite/svg/script-handle-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b26e98ad0410ee65fa519cbf16e037ddd7a13aba
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/script-handle-02-b.svg
@@ -0,0 +1,124 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="issue"
+    version="$Revision: 1.9 $" testname="$RCSfile: script-handle-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/script.html#EventHandling">
+      <p>
+        <strong>Resolved to unapproved this test because elements being
+        focusable and activatable is underdefined in the spec. ACTION-2977</strong>
+      </p>
+      <p>
+        Tests basic mouse event handlers.
+      </p>
+      <p>
+        The test shows a target that can be used to generate the various
+        kinds of events supported in SVG. Below the
+        target, the list of events is shown with red markers next to each.
+      </p>      
+      <p>
+        If the test passes, all the markers should have turned to green
+        after the events have been triggered on the target. If any event
+        has not triggered, its marker will remain red.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>Load the test. Focus the gray circle, activate it, then move the focus away from the circle.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if, after following the operator script, the three rectangles are green.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: script-handle-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <!-- Displayed Title -->
+    <text x="100" y="40" fill="black" font-size="24">
+      Mouse event handlers test.
+    </text>
+
+    <!-- The test defines a target and defines all the handlers for the target -->
+    <!-- There are legends for each handler that are modified after the handler-->
+    <!-- has been invoked                                                      -->
+
+    <g id="targetGroup" transform="translate(60, 140)">
+      <text x="-40" y="-50" font-size="32">Target</text>
+      <text x="60" y="7" font-size="24">Use the target to trigger events</text>
+      <!-- The target has all the event handlers defined -->
+      <!-- Use this <g> instead -->
+      <g id="target" onfocusin="onEvent(evt, 'onfocusin')" onfocusout="onEvent(evt, 'onfocusout')" onactivate="onEvent(evt, 'onactivate')">
+
+        <circle cx="0" cy="0" r="30" fill="#cccccc" stroke="black"/>
+        <line x1="-30" y1="0" x2="30" y2="0"/>
+        <line x1="0" y1="-30" x2="0" y2="30"/>
+      </g>
+    </g>
+    <!-- targetGroup -->
+
+    <g id="labels">
+      <g id="mouseEvents" transform="translate(65, 190)">
+        <g id="mouseEventsLabels">
+          <text x="10" y="20" font-size="32">onfocusin</text>
+          <text x="10" y="50" font-size="32">onfocusout</text>
+          <text x="10" y="80" font-size="32">onactivate</text>
+        </g>
+        <g id="mouseEventsTestIndicators">
+          <!-- onfocusin -->
+          <rect x="-15" y="2" width="20" height="20" fill="green"/>
+          <rect id="onfocusin" x="-15" y="2" width="20" height="20" fill="red"/>
+
+          <!-- onfocusout -->
+          <rect x="-15" y="32" width="20" height="20" fill="green"/>
+          <rect id="onfocusout" x="-15" y="32" width="20" height="20" fill="red"/>
+
+          <!-- onactivate -->
+          <rect x="-15" y="62" width="20" height="20" fill="green"/>
+          <rect id="onactivate" x="-15" y="62" width="20" height="20" fill="red"/>
+
+        </g>
+      </g>
+      <!-- Mouse Events -->
+    </g>
+
+    <script type="text/ecmascript"><![CDATA[
+
+      function onEvent(evt, indicatorId){
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      // Mark test as passed
+      var testPassed = doc.getElementById(indicatorId);
+      testPassed.setAttribute('visibility', 'hidden');
+      }
+    ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/script-handle-03-b.svg b/Tests/W3CTestSuite/svg/script-handle-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f2280fc0c9c27edd3a57e1351f16ae7bb862ce04
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/script-handle-03-b.svg
@@ -0,0 +1,120 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: script-handle-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/script.html#EventHandling">
+      <p>
+        Tests basic mouse event handlers.
+      </p>
+      <p>
+        The test shows a target that can be used to generate the various
+        kinds of mouse events supported in SVG. Below the
+        target, the list of events is shown with red markers next to each.
+      </p>      
+      <p>
+        If the test passes, all the markers should have turned to green
+        after the events have been triggered on the target. If any event
+        has not triggered, its marker will remain red.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>Load the test.  Click on the gray circle.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if, after clicking the gray circle, the three rectangles are green.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: script-handle-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <!-- Displayed Title -->
+    <text x="100" y="40" fill="black" font-size="24">
+      Mouse event handlers test.
+    </text>
+
+    <!-- The test defines a target and defines all the handlers for the target -->
+    <!-- There are legends for each handler that are modified after the handler-->
+    <!-- has been invoked                                                      -->
+
+    <g id="targetGroup" transform="translate(60, 140)">
+      <text x="-40" y="-50" font-size="32">Target</text>
+      <text x="60" y="7" font-size="24">Use the target to trigger events</text>
+      <!-- The target has all the event handlers defined -->
+      <!-- Use this <g> instead -->
+      <g id="target" onmousedown="onEvent(evt, 'onmousedown')" onmouseup="onEvent(evt, 'onmouseup')" onclick="onEvent(evt, 'onclick')">
+
+        <circle cx="0" cy="0" r="30" fill="#cccccc" stroke="black"/>
+        <line x1="-30" y1="0" x2="30" y2="0"/>
+        <line x1="0" y1="-30" x2="0" y2="30"/>
+      </g>
+    </g>
+    <!-- targetGroup -->
+
+    <g id="labels">
+      <g id="mouseEvents" transform="translate(65, 190)">
+        <g id="mouseEventsLabels">
+          <text x="10" y="20" font-size="32">onmousedown</text>
+          <text x="10" y="50" font-size="32">onmouseup</text>
+          <text x="10" y="80" font-size="32">onclick</text>
+        </g>
+        <g id="mouseEventsTestIndicators">
+          <!-- onmousedown -->
+          <rect x="-15" y="2" width="20" height="20" fill="green"/>
+          <rect id="onmousedown" x="-15" y="2" width="20" height="20" fill="red"/>
+
+          <!-- onmouseup -->
+          <rect x="-15" y="32" width="20" height="20" fill="green"/>
+          <rect id="onmouseup" x="-15" y="32" width="20" height="20" fill="red"/>
+
+          <!-- onclick -->
+          <rect x="-15" y="62" width="20" height="20" fill="green"/>
+          <rect id="onclick" x="-15" y="62" width="20" height="20" fill="red"/>
+
+        </g>
+      </g>
+      <!-- Mouse Events -->
+    </g>
+
+    <script type="text/ecmascript"><![CDATA[
+
+      function onEvent(evt, indicatorId){
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      // Mark test as passed
+      var testPassed = doc.getElementById(indicatorId);
+      testPassed.setAttribute('visibility', 'hidden');
+      }
+    ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/script-handle-04-b.svg b/Tests/W3CTestSuite/svg/script-handle-04-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2859a4dc6e1224dbf14cf3474882ed6e1ecb7fc0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/script-handle-04-b.svg
@@ -0,0 +1,120 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: script-handle-04-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/script.html#EventHandling">
+      <p>
+        Tests basic mouse event handlers.
+      </p>
+      <p>
+        The test shows a target that can be used to generate the various
+        kinds of mouse events supported in SVG. Below the
+        target, the list of events is shown with red markers next to each.
+      </p>      
+      <p>
+        If the test passes, all the markers should have turned to green
+        after the events have been triggered on the target. If any event
+        has not triggered, its marker will remain red.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Load the test.  Move the pointing device over the gray circle, and then away from it.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if, after moving the mouse away from the gray circle, all three rectangles are green.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: script-handle-04-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <!-- Displayed Title -->
+    <text x="100" y="40" fill="black" font-size="24">
+      Mouse event handlers test.
+    </text>
+
+    <!-- The test defines a target and defines all the handlers for the target -->
+    <!-- There are legends for each handler that are modified after the handler-->
+    <!-- has been invoked                                                      -->
+
+    <g id="targetGroup" transform="translate(60, 140)">
+      <text x="-40" y="-50" font-size="32">Target</text>
+      <text x="60" y="7" font-size="24">Use the target to trigger events</text>
+      <!-- The target has all the event handlers defined -->
+      <!-- Use this <g> instead -->
+      <g id="target" onmouseover="onEvent(evt, 'onmouseover')" onmousemove="onEvent(evt, 'onmousemove')" onmouseout="onEvent(evt, 'onmouseout')">
+
+        <circle cx="0" cy="0" r="30" fill="#cccccc" stroke="black"/>
+        <line x1="-30" y1="0" x2="30" y2="0"/>
+        <line x1="0" y1="-30" x2="0" y2="30"/>
+      </g>
+    </g>
+    <!-- targetGroup -->
+
+    <g id="labels">
+      <g id="mouseEvents" transform="translate(65, 190)">
+        <g id="mouseEventsLabels">
+          <text x="10" y="20" font-size="32">onmouseover</text>
+          <text x="10" y="50" font-size="32">onmousemove</text>
+          <text x="10" y="80" font-size="32">onmouseout</text>
+        </g>
+        <g id="mouseEventsTestIndicators">
+          <!-- onmouseover -->
+          <rect x="-15" y="2" width="20" height="20" fill="green"/>
+          <rect id="onmouseover" x="-15" y="2" width="20" height="20" fill="red"/>
+
+          <!-- onmousemove -->
+          <rect x="-15" y="32" width="20" height="20" fill="green"/>
+          <rect id="onmousemove" x="-15" y="32" width="20" height="20" fill="red"/>
+
+          <!-- onmouseout -->
+          <rect x="-15" y="62" width="20" height="20" fill="green"/>
+          <rect id="onmouseout" x="-15" y="62" width="20" height="20" fill="red"/>
+
+        </g>
+      </g>
+      <!-- Mouse Events -->
+    </g>
+
+    <script type="text/ecmascript"><![CDATA[
+
+      function onEvent(evt, indicatorId){
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      // Mark test as passed
+      var testPassed = doc.getElementById(indicatorId);
+      testPassed.setAttribute('visibility', 'hidden');
+      }
+    ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/script-specify-01-f.svg b/Tests/W3CTestSuite/svg/script-specify-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a4ea296718aacc6d9d158f72be74c906fa6231f0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/script-specify-01-f.svg
@@ -0,0 +1,67 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/noSuchLanguage"
+	onload="document.getElementById('testPassed').setAttribute('visibility', 'hidden');
+	        document.getElementById('testFailed').setAttribute('visibility', 'visible');">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="CL" status="reviewed"
+    version="$Revision: 1.6 $" testname="$RCSfile: script-specify-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/script.html#ScriptingLanguage">
+        <p>
+          Tests the assertion that "The ‘contentScriptType’ attribute on the ‘svg’ element specifies the default scripting language" by setting it to an unknown value and checking the script is not executed.
+          The test uses an unknown (bogus) script language,  which looks exactly like ECMAScript.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Load the test.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if string "Good, script didn't run" is displayed.
+				It fails if the string "No! This is not ECMAScript!" is displayed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: script-specify-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+		<!-- Displayed Title -->
+		<text x="140" y="20" fill="black">
+			contentScriptType Test
+		</text>
+
+		<!-- The onload handler would only be run if the user agent implemented the
+		     bogus scripting language MIME type specified in contentScriptType="". -->
+		<g font-size="24" font-weight="bold" transform="translate(240,170)" text-anchor="middle">
+			<text id="testPassed" fill="green">Good, script didn't run.</text>
+			<text id="testFailed" fill="red" visibility="hidden">No! This is not ECMAScript!</text>
+		</g>
+	</g>
+	<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
+
diff --git a/Tests/W3CTestSuite/svg/script-specify-02-f.svg b/Tests/W3CTestSuite/svg/script-specify-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f575b734506cd918517cca2bfb7127356bec45e1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/script-specify-02-f.svg
@@ -0,0 +1,69 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="CL" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: script-specify-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/script.html#ScriptingLanguage">
+        <p>
+          Tests the assertion that "It is also possible to specify the scripting language for each individual ‘script’ element by specifying a ‘type’ on the ‘script’ element." by setting it to an unknown value and checking the script is not executed.
+          The test uses an unknown (bogus) script language, which looks exactly like ECMAScript.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Load the test.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if string "Good, script didn't run" is displayed.
+				It fails if the string "No! This is not ECMAScript!" is displayed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: script-specify-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+		<!-- Displayed Title -->
+		<text x="240" y="20" fill="black" text-anchor="middle">
+			Test unknown type attribute value on script element
+		</text>
+
+		<g font-size="24" font-weight="bold" transform="translate(240,170)" text-anchor="middle">
+			<text id="testPassed" fill="green">Good, script didn't run.</text>
+			<text id="testFailed" fill="red" visibility="hidden">No! This is not ECMAScript!</text>
+		</g>
+
+		<!-- The script should be run only if the user agent implemented the bogus language. -->
+		<script type="application/noSuchLanguage"><![CDATA[
+			document.getElementById('testPassed').setAttribute('visibility', 'hidden');
+			document.getElementById('testFailed').setAttribute('visibility', 'visible');
+		]]></script>
+	</g>
+	<g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
+
diff --git a/Tests/W3CTestSuite/svg/shapes-circle-01-t.svg b/Tests/W3CTestSuite/svg/shapes-circle-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9d8aa46bc591afb513c8e5701b6717ed229f2df3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-circle-01-t.svg
@@ -0,0 +1,58 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: shapes-circle-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#CircleElement">
+        <p>
+Tests the circle element
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Six circles are displayed, with position, size, fill and stroke matching the reference image
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-circle-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <circle cx="100" cy="100" r="50" fill="none" stroke="black"/>
+    <circle cx="220" cy="100" r="35" fill="green" stroke="black"/>
+    <circle cx="340" cy="100" r="20" fill="black" stroke="lime" stroke-width="4"/>
+    <circle cx="100" cy="260" r="20" stroke="lime" fill="yellow" stroke-width="4"/>
+    <circle cx="220" cy="260" r="35" stroke="none" fill="blue"/>
+    <circle cx="340" cy="260" r="50" stroke="green" fill="none" stroke-width="10"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-circle-02-t.svg b/Tests/W3CTestSuite/svg/shapes-circle-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f058462f80fd9e3863050eabad4534501a796db9
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-circle-02-t.svg
@@ -0,0 +1,68 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DJ" author="CN" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: shapes-circle-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#CircleElement">
+        <p>
+          Default attributes test with circle.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if a group of four circles is displayed, arranged as shown in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-circle-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g fill="green" stroke="#000000">
+      <!-- Set cx and cy coordinate to default.-->
+      <circle r="50"/>
+
+      <!-- Set cx coordinate to default.-->
+      <circle cy="100" r="50"/>
+
+      <!-- Set cy coordinate to default.-->
+      <circle cx="100" r="50"/>
+
+      <!-- Set r attribute to 0 (should not display a circle).-->
+      <circle cx="100" cy="100" r="0"/>
+
+      <!-- Set all values to draw a circle -->
+      <circle cx="100" cy="100" r="50"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-ellipse-01-t.svg b/Tests/W3CTestSuite/svg/shapes-ellipse-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9466f06532e73cb3f6b46fdabfdc79b3baf9636d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-ellipse-01-t.svg
@@ -0,0 +1,71 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kelvin R" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: shapes-ellipse-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#EllipseElement">
+        <p>
+          Test the ellipse element.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+          Seven ellipses are displayed, with position, size, fill and stroke matching the reference image
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-ellipse-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- First pair of ellipses.                                                -->
+    <!-- ====================================================================== -->
+    <ellipse id="ellipse-01" fill="none" stroke="#000000" cx="50" cy="75" rx="30" ry="50"/>
+    <ellipse id="ellipse-02" fill="green" cx="160" cy="75" rx="30" ry="50"/>
+    <!-- ====================================================================== -->
+    <!-- Second pair of ellipses, should actually draw circles.                 -->
+    <!-- ====================================================================== -->
+    <ellipse id="ellipse-03" fill="none" stroke="#000000" cx="270" cy="80" rx="35" ry="35"/>
+    <ellipse id="ellipse-04" fill="green" cx="370" cy="80" rx="35" ry="35"/>
+    <!-- ====================================================================== -->
+    <!-- Third pair of ellipses.                                                -->
+    <!-- ====================================================================== -->
+    <ellipse id="ellipse-05" fill="none" stroke="#0000FF" stroke-width="8" cx="50" cy="220" rx="30" ry="50"/>
+    <ellipse id="ellipse-06" fill="#00FF00" stroke="#0000FF" stroke-width="8" cx="160" cy="220" rx="30" ry="50"/>
+    <!-- ====================================================================== -->
+    <!-- Fourth pair of ellipses.                                               -->
+    <!-- ====================================================================== -->
+    <ellipse id="ellipse-07" fill="#00FF00" stroke="#0000FF" stroke-width="8" cx="330" cy="220" rx="70" ry="40"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-ellipse-02-t.svg b/Tests/W3CTestSuite/svg/shapes-ellipse-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..dff0bf03df416bdf6f1e79b1c9f2d68a7eea81cf
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-ellipse-02-t.svg
@@ -0,0 +1,62 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DJ" author="CN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: shapes-ellipse-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#EllipseElement">
+      <p>
+        Defaults test with ellipse.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if one blue ellipse is shown completely within the test slide,
+      and a quarter ellipse is shown in the top-left corner of the test slide.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-ellipse-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g fill="blue" stroke="#000000">
+      <!-- Set cx and cy coordinate to default.-->
+      <ellipse rx="100" ry="50"/>
+
+      <!-- Set rx attribute to 0.-->
+      <ellipse cx="100" cy="150" rx="0" ry="50"/>
+
+      <!-- Set ry attribute to 0.-->
+      <ellipse cx="200" cy="50" rx="100" ry="0"/>
+
+      <!-- Set all values attribute to drawn an ellipse.-->
+      <ellipse cx="250" cy="250" rx="100" ry="50"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-ellipse-03-f.svg b/Tests/W3CTestSuite/svg/shapes-ellipse-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..21e7aec34e83e1321413edafea4b2444e1bb0b90
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-ellipse-03-f.svg
@@ -0,0 +1,72 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Microsoft" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: shapes-ellipse-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#EllipseElement">
+      <p>
+        The 'ellipse' element defines an ellipse which is axis-aligned with the current user coordinate system when it is not the initial user coordinate system.
+      </p>
+      <p>
+        The test shows an 'ellipse' element originating at (0,0) of the current user coordinate system, which has been altered via 'transform' from
+        the initial user coordinate system. Two perpendicular lines which also originate at (0,0) and advance along the x and y axes of 
+        the current user coordinate system are shown. These lines overlap the top and left edges of the ellipse and verifies that the ellipse is 
+        thus axis-aligned with its current user coordinate system.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if both ellipses are divided into four equal parts by two sets of crossing lines, and the rightmost ellipse and crossing lines are rotated together. 
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-ellipse-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="translate(150,150)">
+        <line x1="0" y1="-100" x2="0" y2="100" stroke="black" />
+        <line x1="-100" y1="0" x2="100" y2="0" stroke="black" />
+        <ellipse  cx="0" cy="0" rx="80" ry="50" fill="none" stroke="black" />
+    </g>
+
+    <g transform="translate(350,150) rotate(-30)">
+        <line x1="0" y1="-100" x2="0" y2="100" stroke="black" />
+        <line x1="-100" y1="0" x2="100" y2="0" stroke="black" />
+        <ellipse  cx="0" cy="0" rx="80" ry="50" fill="none" stroke="black" />
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-grammar-01-f.svg b/Tests/W3CTestSuite/svg/shapes-grammar-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..50183a9e77b615ef0ef23081ac8229051f54e5c3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-grammar-01-f.svg
@@ -0,0 +1,71 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: shapes-grammar-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#PointsBNF">
+      <p>
+Check that negative second coordinate in a coordinate pair does not need separating wsp-comma.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+The test is passed if each shape seems to have a double stroke, dark green and light green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-grammar-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="translate(0,400)">
+        <g stroke="#070" stroke-width="8">  
+            <polyline fill="#396" 
+                points="270,-225 300,-245 320,-225 340,-245 280,-280                   
+                390,-280 420,-240 280,-185"/>
+            <polygon fill="#5F9"    
+                points="179,-185,218,-203,228,-245,202,-279,159,-280,131,-247,139,-205"/>
+        </g>
+        <g stroke="#3C6" stroke-width="3" fill="none">
+           <polyline 
+                points="270-225 300-245 320-225 340-245 280-280                   
+                390-280 420-240 280-185"/>
+            <polygon     
+                points="179-185,218-203,228-245,202-279,159-280,131-247,139-205"/>
+        </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-intro-01-t.svg b/Tests/W3CTestSuite/svg/shapes-intro-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0060bf71f2027b4c9ca6405a95a60c6a02738f59
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-intro-01-t.svg
@@ -0,0 +1,108 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="SH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: shapes-intro-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#Introduction">
+        <p>
+          Tests the degenerate cases of the basic shapes.  The shapes are positioned
+          within the black rectangles.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the 11 rectangles are empty.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-intro-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- Draw the boxes to contain the shapes and the text labels for the boxes -->
+    <!-- ====================================================================== -->
+    <g fill="none" stroke="#000000">
+      <!-- rects -->
+      <rect x="50" y="50" width="35" height="60"/>
+      <rect x="50" y="155" width="35" height="60"/>
+      <rect x="130" y="50" width="35" height="60"/>
+      <rect x="130" y="155" width="35" height="60"/>
+
+      <!-- circles -->
+      <rect x="210" y="50" width="60" height="60"/>
+      <rect x="210" y="155" width="60" height="60"/>
+
+      <!-- ellipses -->
+      <rect x="315" y="50" width="35" height="60"/>
+      <rect x="315" y="155" width="35" height="60"/>
+      <rect x="394" y="50" width="35" height="60"/>
+      <rect x="394" y="155" width="35" height="60"/>
+
+      <!-- line -->
+      <rect x="235" y="260" width="10" height="10"/>
+    </g>
+
+    <g font-family="Arial" font-size="8">
+      <text x="5" y="90">Stroked</text>
+      <text x="5" y="195">Unstroked</text>
+      <text x="50" y="135">Zero width rect</text>
+      <text x="130" y="135">Zero height rect</text>
+      <text x="210" y="135">Zero radius circle</text>
+      <text x="315" y="135">Zero x radius ellipse</text>
+      <text x="394" y="135">Zero y radius ellipse</text>
+      <text x="235" y="290">Zero length line</text>
+    </g>
+    <!-- ====================================================================== -->
+    <!-- Draw 4 rectangles, two with zero width, two with zero height           -->
+    <!-- (stroked and unstroked)                                                -->
+    <!-- ====================================================================== -->
+    <rect id="Zero-width-stroked-rect" fill="none" stroke="#000000" x="55" y="55" width="0" height="50"/>
+    <rect id="Zero-width-unstroked-rect" fill="#FF0000" stroke="none" x="55" y="160" width="0" height="50"/>
+    <rect id="Zero-height-stroked-rect" fill="#00FF00" stroke="#0000FF" x="135" y="55" width="25" height="0"/>
+    <rect id="Zero-height-rect" fill="#00FF00" stroke="none" x="135" y="160" width="25" height="0"/>
+    <!-- ====================================================================== -->
+    <!-- Draw two zero radius circles (stroked and unstroked)                   -->
+    <!-- ====================================================================== -->
+    <circle id="Zero-radius-stroked-circle" fill="none" stroke="#000000" cx="240" cy="80" r="0"/>
+    <circle id="Zero-radius-unstroked-circle" fill="#FF0000" stroke="none" cx="240" cy="185" r="0"/>
+    <!-- ====================================================================== -->
+    <!-- Draw 4 ellipses, two with a zero x radius, two with a zero y radius    -->
+    <!-- (stroked and unstroked)                                                -->
+    <!-- ====================================================================== -->
+    <ellipse id="Zero-x-radius-stroked-ellipse" fill="#00FF00" stroke="#0000FF" cx="332" cy="80" rx="0" ry="25"/>
+    <ellipse id="Zero-x-radius-unstroked-ellipse" fill="#00FF00" stroke="none" cx="332" cy="185" rx="0" ry="25"/>
+    <ellipse id="Zero-y-radius-stroked-ellipse" fill="none" stroke="#000000" cx="411" cy="80" rx="12" ry="0"/>
+    <ellipse id="Zero-y-radius-unstroked-ellipse" fill="#FF0000" stroke="none" cx="411" cy="185" rx="12" ry="0"/>
+    <!-- ====================================================================== -->
+    <!-- Draw a zero-length line                                                -->
+    <!-- ====================================================================== -->
+    <line id="Zero-length-line" stroke="#0000FF" x1="240" y1="265" x2="240" y2="265"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-intro-02-f.svg b/Tests/W3CTestSuite/svg/shapes-intro-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..668ced41318084b2327d7230e4361b4ac3540821
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-intro-02-f.svg
@@ -0,0 +1,89 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: shapes-intro-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#Introduction">
+      <p>
+        Test that basic shape elements are equivalent to a 'path' element that constructs the same shape.
+      </p>
+      <p>
+        For each basic shape, a 'path' reference element that is red is created.
+        A basic shape is then placed on top of the 'path' element. 
+        For each basic shape there's also a reverse test that uses the shape as a reference for the 'path' element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-intro-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <path d="M35 25 L115 25 A 10 20 0 0 1 125 45 L 125 105 A 10 20 0 0 1 115 125 L 35 125 A 10 20 0 0 1 25 105 L 25 45 A 10 20 0 0 1 35 25" fill="red" />
+    <rect x="25" y="25" rx="10" ry="20" width="100" height="100" fill="black" />
+    <rect x="130" y="25" rx="10" ry="20" width="100" height="100" fill="red" />
+    <path d="M140 25 L220 25 A 10 20 0 0 1 230 45 L 230 105 A 10 20 0 0 1 220 125 L 140 125 A 10 20 0 0 1 130 105 L 130 45 A 10 20 0 0 1 140 25" fill="black" />
+
+    <path d="M300 125 A50 50 0 1 0 299.9999 125" fill="red" />
+    <circle cx="300" cy="75" r="50" fill="black" />
+    <circle cx="401" cy="75" r="50" fill="red" />
+    <path d="M401 125 A50 50 0 1 0 400.9999 125" fill="black" />
+
+    <path d="M60 305 A50 80 0 1 0 59.9999 305 Z" fill="red" />
+    <ellipse cx="60" cy="225" rx="50" ry="80" fill="black" />
+    <ellipse cx="161" cy="225" rx="50" ry="80" fill="red" />
+    <path d="M161 305 A50 80 0 1 0 160.9999 305 Z" fill="black" />
+
+    <path d="M220 150 L270 200 L220 250 Z" fill="red" />
+    <polygon points="220,150 270,200 220,250" fill="black" />
+    <polygon points="270,150 320,200 270,250" fill="red" />
+    <path d="M270 150 L320 200 L270 250 Z" fill="black" />
+
+    <path d="M350 250 L350 350 L400 350 L400 250 L450 250 L450 350" fill="none" stroke="red" stroke-width="10" />
+    <polyline fill="none" stroke="black" stroke-width="10" points="350,250 350,350 400,350 400,250 450,250 450,350" />
+    <polyline fill="none" stroke="red" stroke-width="10" points="350,135 350,235 400,235 400,135 450,135 450,235" />
+    <path d="M350 135 L350 235 L400 235 L400 135 L450 135 L450 235" fill="none" stroke="black" stroke-width="10" />
+
+    <path d="M225 275 L325 275" stroke-width="10" stroke="red" />
+    <line x1="225" y1="275" x2="325" y2="275" stroke-width="10" stroke="black" />
+    <line x1="225" y1="325" x2="325" y2="325" stroke-width="10" stroke="red" />
+    <path d="M225 325 L325 325" stroke-width="10" stroke="black" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-line-01-t.svg b/Tests/W3CTestSuite/svg/shapes-line-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ad6338be317abe9ff723d92d117f674cc45bec91
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-line-01-t.svg
@@ -0,0 +1,80 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: shapes-line-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#LineElement">
+        <p>
+Tests the line element.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+The test is passed if five diagonal lines are displayed on the top row. On the bottom row, a square wave pattern is displayed. The position, size, fill and stroke of the lines matches the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-line-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="diagonal-line-set">
+      <line x1="37.5" y1="137" x2="112.5" y2="50" fill="none" stroke="black" stroke-width="1"/>
+      <line x1="112.5" y1="137" x2="187.5" y2="50" fill="none" stroke="yellow" stroke-width="5"/>
+      <line x1="187.5" y1="137" x2="262.5" y2="50" fill="none" stroke="green" stroke-width="7.5"/>
+      <line x1="262.5" y1="137" x2="337.5" y2="50" fill="none" stroke="blue" stroke-width="10"/>
+      <line x1="337.5" y1="137" x2="412.5" y2="50" fill="none" stroke="fuchsia" stroke-width="12.5"/>
+    </g>
+    <g id="middle-figure" stroke="black" stroke-width="1">
+      <line x1="170" y1="200" x2="220" y2="200"/>
+      <line x1="220" y1="200" x2="220" y2="250"/>
+      <line x1="220" y1="250" x2="270" y2="250"/>
+      <line x1="270" y1="250" x2="270" y2="200"/>
+      <line x1="270" y1="200" x2="320" y2="200"/>
+    </g>
+    <g id="lower-left-figure" stroke="blue" stroke-width="10">
+      <line x1="25" y1="200" x2="75" y2="200"/>
+      <line x1="75" y1="200" x2="75" y2="250"/>
+      <line x1="75" y1="250" x2="125" y2="250"/>
+      <line x1="125" y1="250" x2="125" y2="200"/>
+      <line x1="125" y1="200" x2="175" y2="200"/>
+    </g>
+    <g id="lower-right-figure" stroke-width="10">
+      <line x1="370" y1="250" x2="420" y2="250" stroke="black"/>
+      <line x1="420" y1="200" x2="470" y2="200" stroke="fuchsia"/>
+      <line x1="320" y1="200" x2="370" y2="200" stroke="blue"/>
+      <line x1="370" y1="200" x2="370" y2="250" stroke="green"/>
+      <line x1="420" y1="250" x2="420" y2="200" stroke="orange"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-line-02-f.svg b/Tests/W3CTestSuite/svg/shapes-line-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f6f2bbec5a16c83e8675ad99306ec605271409eb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-line-02-f.svg
@@ -0,0 +1,57 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: shapes-line-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#LineElement">
+      <p>
+        The 'fill' attribute has no effect on the 'line' element.
+      </p>
+    </d:testDescription>    
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-line-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <line x1="100" y1="100" x2="300" y2="100" stroke-width="10" stroke="black" fill="red" />
+    <line x1="100" y1="100" x2="300" y2="100" stroke-width="10" stroke="black" fill="red" transform="rotate(15)"/>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/shapes-polygon-01-t.svg b/Tests/W3CTestSuite/svg/shapes-polygon-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9d4e76e316770b7500bb07efb78bf9fcdb4a4296
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-polygon-01-t.svg
@@ -0,0 +1,76 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kelvin R" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: shapes-polygon-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#PolygonElement">
+      <p>
+        This test draws six different polygons excercising portions of the path attribute.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The six polygons drawn should match the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-polygon-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Test case label. -->
+    <!-- ====================================================================== -->
+    <!-- First two polygons, convex and "regular".                              -->
+    <!-- ====================================================================== -->
+    <!-- Open, convex, "regular". -->
+    <polygon id="polygon-01" fill="none" stroke="#000000" points="59,45,95,63,108,105,82,139,39,140,11,107,19,65"/>
+    <!-- Closed, convex, "regular". -->
+    <polygon id="polygon-02" fill="blue" points="179,45,218,63,228,105,202,139,159,140,131,107,139,65,179,45"/>
+    <!-- ====================================================================== -->
+    <!-- Third polygon, concave and irregular.                                  -->
+    <!-- ====================================================================== -->
+    <!-- Closed, convex, "irregular". -->
+    <polygon id="polygon-03" fill="blue" stroke="black" stroke-width="6" points="350,45 375,80 410,95 375,110 350,145 325,120 290,95 325,70,350,45"/>
+    <!-- ====================================================================== -->
+    <!-- Fourth and fifth polygons.                                             -->
+    <!-- ====================================================================== -->
+    <!-- Closed, convex, "regular". -->
+    <polygon id="polygon-05" fill="none" stroke="#0000FF" stroke-width="8" points="59,185,98,203,108,245,82,279,39,280,11,247,19,205,59,185"/>
+    <!-- Open, convex, "regular". -->
+    <polygon id="polygon-06" fill="#00FF00" stroke="#0000FF" stroke-width="8" points="179,185,218,203,228,245,202,279,159,280,131,247,139,205"/>
+    <!-- ====================================================================== -->
+    <!-- Sixth polygons, irregular with both concave and convex angles.         -->
+    <!-- ====================================================================== -->
+    <polygon id="polygon-07" fill="none" stroke="#00FF00" stroke-width="8" points="270,225 300,245 320,225 340,245 280,280                   390,280 420,240 280,185"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-polygon-02-t.svg b/Tests/W3CTestSuite/svg/shapes-polygon-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d0e4e7ad89538b4ea0c8b764c2ebc0bfe0958942
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-polygon-02-t.svg
@@ -0,0 +1,81 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="CL" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: shapes-polygon-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#PolygonElement">
+        <p>
+Checks that polygons and the equivalent paths are indeed equivalent.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+The test is passed if each shape seems to have a double stroke, dark green and light green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-polygon-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+ 
+    <g stroke="#070" stroke-width="8">    
+    <polygon id="polygon-01" fill="none"
+        points="59,45,95,63,108,105,82,139,39,140,11,107,19,65"/>
+    <polygon id="polygon-02" fill="#592" 
+        points="179,45,218,63,228,105,202,139,159,140,131,107,139,65,179,45"/>
+    <polygon id="polygon-03" fill="#3D8" 
+        points="350,45 375,80 410,95 375,110 350,145 325,120 290,95 325,70,350,45"/>
+    <polygon id="polygon-05" fill="none"  
+        points="59,185,98,203,108,245,82,279,39,280,11,247,19,205,59,185"/>
+    <polygon id="polygon-06" fill="#5F9"    
+        points="179,185,218,203,228,245,202,279,159,280,131,247,139,205"/>
+    <polygon id="polygon-07" fill="none" 
+       points="270,225 300,245 320,225 340,245 280,280                   
+       390,280 420,240 280,185"/>
+    </g>
+    <!-- now the equivalent paths-->
+    <g stroke="#3C6" stroke-width="3" fill="none">
+        <path d="M59,45 L95,63,108,105,82,139,39,140,11,107,19,65z"/>
+        <path d="M179,45 L218,63,228,105,202,139,159,140,131,107,139,65,179,45z"/>
+        <path d="M350,45 L375,80 410,95 375,110 350,145 325,120 290,95 325,70,350,45z"/>
+        <path d="M59,185 L98,203,108,245,82,279,39,280,11,247,19,205,59,185z"/>
+        <path d="M179,185 L218,203,228,245,202,279,159,280,131,247,139,205z"/>
+        <path d="M270,225 L300,245 320,225 340,245 280,280                   
+       390,280 420,240 280,185z"/>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+<!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-polygon-03-t.svg b/Tests/W3CTestSuite/svg/shapes-polygon-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..76c1e4038453a4201668eda7c06fdb83145d207e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-polygon-03-t.svg
@@ -0,0 +1,58 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="ED" author="Microsoft" status="accepted" version="$Revision: 1.1 $" testname="$RCSfile: shapes-polygon-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#PolygonElement">
+      <p>
+        Test that 'polyline' and 'polygon' elements with an odd number of coordinates render up to the invalid coordinate.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if four green triangles are visible on the page, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-polygon-03-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <polyline fill="red" points="80,200 80,300 150,250 80,200 250" />
+    <polyline fill="lime" points="80,200 80,300 150,250 80,200" />
+    <polyline fill="red" points="180,200 180,300 250,250 180,200" />
+    <polyline fill="lime" points="180,200 180,300 250,250 180,200 250" />
+    <polygon fill="red" points="80,60 80,160 150,110 80" />
+    <polygon fill="lime" points="80,60 80,160 150,110" />
+    <polygon fill="red" points="180,60 180,160 250,110" />
+    <polygon fill="lime" points="180,60 180,160 250,110 180" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-polyline-01-t.svg b/Tests/W3CTestSuite/svg/shapes-polyline-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..952f1e513b2f3110185ca6f57a4018108d425809
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-polyline-01-t.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author=" Lofton" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: shapes-polyline-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#PolylineElement">
+        <p>
+Tests the polyline element.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if polylines are displayed whose position, size, fill and stroke  matches the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-polyline-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Test case label. -->
+    <!-- ====================================================================== -->
+    <!-- First two polylines.                                                   -->
+    <!-- ====================================================================== -->
+    <!-- Open sawtooth line. -->
+    <polyline id="polyline-01" fill="none" stroke="#000000" points="10,50,35,150,60,50,85,150,110,50,135,150"/>
+    <!-- text font-family="Arial" font-size="12"  x="52" y="40">stroked</text-->
+    <!-- Closed pentagon shaped polyline (5 segments). -->
+    <polyline id="polyline-02" fill="none" stroke="blue" stroke-width="8" points="220,50,267,84,249,140,190,140,172,84,220,50"/>
+    <!--text font-family="Arial" font-size="12"  x="202" y="40">stroked</text-->
+    <!-- ====================================================================== -->
+    <!-- Third polyline.                                                        -->
+    <!-- ====================================================================== -->
+    <!-- The sawtooth again, polylines can be filled. -->
+    <polyline id="polyline-03" fill="blue" stroke="#00FF00" stroke-width="4" points="310,50,335,150,360,50,385,150,410,50,435,150"/>
+    <!--text font-family="Arial" font-size="12"  x="340" y="40">filled &amp; stroked</text-->
+    <!-- ====================================================================== -->
+    <!-- Fourth and fifth polylines.                                             -->
+    <!-- ====================================================================== -->
+    <!-- An unclosed "septagon" shaped polyline (7th segment omitted). -->
+    <polyline id="polyline-04" fill="none" stroke="green" stroke-width="8" points="59,185,98,203,108,245,82,279,39,280,11,247,19,205"/>
+    <!--text font-family="Arial" font-size="12"  x="36" y="175">stroked</text-->
+    <!-- Same shape, filled, shows difference with 'polygon'. -->
+    <polyline id="polyline-05" fill="#00FF00" stroke="#0000FF" stroke-width="8" points="189,185,228,203,238,245,212,279,169,280,141,247,149,205"/>
+    <!--text font-family="Arial" font-size="12"  x="148" y="175">filled &amp; stroked</text-->
+    <!-- ====================================================================== -->
+    <!-- Sixth polylines, irregular with both concave and convex angles.         -->
+    <!-- ====================================================================== -->
+    <polyline id="polyline-06" fill="#FF00FF" stroke="none" stroke-width="8" points="270,225 300,245 320,225 340,245 280,280                   390,280 420,240 280,185"/>
+    <!--text font-family="Arial" font-size="12"  x="330" y="175">filled</text-->
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-polyline-02-t.svg b/Tests/W3CTestSuite/svg/shapes-polyline-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7cc146ee7f3b47a75805251d85943b6cae9a515f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-polyline-02-t.svg
@@ -0,0 +1,81 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author=" CL" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: shapes-polyline-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#PolylineElement">
+        <p>
+Checks that polylines and the equivalent paths are indeed equivalent.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+The test is passed if each shape seems to have a double stroke, dark green and light green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-polyline-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g stroke="#070" stroke-width="8">    
+    <!-- Open sawtooth line. -->
+    <polyline id="polyline-01" fill="none"   points="10,50,35,150,60,50,85,150,110,50,135,150"/>
+    <!-- Closed pentagon shaped polyline (5 segments). -->
+    <polyline id="polyline-02" fill="none"  points="220,50,267,84,249,140,190,140,172,84,220,50"/>
+    <!-- The sawtooth again, polylines can be filled. -->
+    <polyline id="polyline-03" fill="#396"  points="310,50,335,150,360,50,385,150,410,50,435,150"/>
+    <!-- An unclosed "septagon" shaped polyline (7th segment omitted). -->
+    <polyline id="polyline-04" fill="none"  points="59,185,98,203,108,245,82,279,39,280,11,247,19,205"/>
+    <!-- Same shape, filled, shows difference with 'polygon'. -->
+    <polyline id="polyline-05" fill="#396"  points="189,185,228,203,238,245,212,279,169,280,141,247,149,205"/>
+    <polyline id="polyline-06" fill="#396" 
+    points="270,225 300,245 320,225 340,245 280,280                   
+    390,280 420,240 280,185"/>
+    </g>
+    
+    <!-- now the equivalent paths-->
+    <g stroke="#3C6" stroke-width="3" fill="none">
+      <path d="M10,50 L35,150,60,50,85,150,110,50,135,150"/>
+      <path d="M220,50 L267,84,249,140,190,140,172,84,220,50"/>
+      <path d="M310,50 L335,150,360,50,385,150,410,50,435,150"/>
+      <path d="M59,185 L98,203,108,245,82,279,39,280,11,247,19,205"/>
+      <path d="M189,185 L228,203,238,245,212,279,169,280,141,247,149,205"/>
+      <path d="M270,225 L300,245 320,225 340,245 280,280                   
+        390,280 420,240 280,185"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+<!--
+<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-rect-01-t.svg b/Tests/W3CTestSuite/svg/shapes-rect-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..219a4764fcaae5868829ff0fc0f737108b58f5e9
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-rect-01-t.svg
@@ -0,0 +1,73 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Kelvin R" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: shapes-rect-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#RectElement">
+        <p>
+          This is a simple test of the rect element.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if all four sets of two rectangles are drawn and
+        they match the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-rect-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- ====================================================================== -->
+    <!-- First of all draw two simple rectangles. One stroked , one filled.     -->
+    <!-- ====================================================================== -->
+    <rect id="Simple-rect-no-fill" fill="none" stroke="#000000" x="30" y="46" width="50" height="80"/>
+    <rect id="Simple-rect-filled" fill="fuchsia" x="130" y="46" width="50" height="80"/>
+    <!-- ====================================================================== -->
+    <!-- Second set of rectangles this time with rounded corners.               -->
+    <!-- ====================================================================== -->
+    <rect id="Simple-round-rect-no-fill" fill="none" stroke="#000000" x="250" y="46" width="50" height="80" rx="30"/>
+    <rect id="Simple-round-rect-filled" fill="fuchsia" x="350" y="46" width="50" height="80" rx="30"/>
+    <!-- ====================================================================== -->
+    <!-- Third set of rectangles.                                               -->
+    <!-- ====================================================================== -->
+    <rect id="rect-03" fill="none" stroke="#0000FF" stroke-width="8" x="30" y="196" width="50" height="80"/>
+    <rect id="rect-04" fill="#00FF00" stroke="#0000FF" stroke-width="8" x="130" y="196" width="50" height="80"/>
+    <!-- ====================================================================== -->
+    <!-- Fourth set of rectangles.                                              -->
+    <!-- ====================================================================== -->
+    <rect id="rect-05" fill="none" stroke="#0000FF" stroke-width="8" x="250" y="196" width="50" height="80" rx="30" ry="50"/>
+    <rect id="rect-06" fill="#00FF00" x="350" y="196" width="50" height="80" rx="30" ry="50"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-rect-02-t.svg b/Tests/W3CTestSuite/svg/shapes-rect-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6c487d5f299548c6d0426b18817787d8adb24764
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-rect-02-t.svg
@@ -0,0 +1,71 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DJ" author="CN" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: shapes-rect-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#RectElement">
+        <p>
+          Test x, y, width, height, rx and ry default/lacuna values on a rect element.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        There should be four green rectangles visible, two of them should have rounded corners.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-rect-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g fill="green" stroke="#000000">
+      <!-- Set x coordinate to default. -->
+      <rect y="46" width="50" height="80"/>
+
+      <!-- Set y coordinate to default. -->
+      <rect x="130" width="50" height="80"/>
+
+      <!-- Set width to default. -->
+      <rect x="250" y="46" height="80" width="0"/>
+
+      <!-- Set height to default. -->
+      <rect x="350" y="46" height="0" width="50"/>
+
+      <!-- Set rx to default. -->
+      <rect x="30" y="196" width="50" height="80" ry="20"/>
+
+      <!-- Set ry to default. -->
+      <rect x="130" y="196" width="50" height="80" rx="20"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-rect-03-t.svg b/Tests/W3CTestSuite/svg/shapes-rect-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4e51412ccb74568ae02f9595fb051c70b25ba52d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-rect-03-t.svg
@@ -0,0 +1,139 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: shapes-rect-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#RectElement">
+      <p>
+        Tests rx and ry clamping and aliasing.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>There is no red visible</li>
+        <li>There is no green outside the black borders of each rectangle</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-rect-03-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    
+    <g transform="translate(0, 30)">
+      <g fill="red">
+        <g id="references">
+          <rect x="100" width="20" height="100" rx="50" ry="20"/>
+          <rect x="130" width="20" height="100" rx="10" ry="20"/>
+          <rect x="160" width="20" height="100" rx="10" ry="20"/>
+          
+          <rect x="190" width="20" height="100" rx="10" ry="50"/>
+          <rect x="220" width="20" height="100" rx="10" ry="20"/>
+          <rect x="250" width="20" height="100" rx="10" ry="10"/>
+          
+          <rect x="280" width="20" height="100" rx="5" ry="5"/>
+          <rect x="310" width="20" height="100" rx="0" ry="0"/>
+          <rect x="340" width="20" height="100" rx="0" ry="0"/>    
+    
+          <g transform="translate(45,0)">
+            <rect x="10" y="120" width="100" height="20" rx="50" ry="10"/>
+            <rect x="10" y="150" width="100" height="20" rx="15" ry="10"/>
+            <rect x="10" y="180" width="100" height="20" rx="10" ry="10"/>
+            
+            <rect x="130" y="120" width="100" height="20" rx="50" ry="10"/>
+            <rect x="130" y="150" width="100" height="20" rx="20" ry="10"/>
+            <rect x="130" y="180" width="100" height="20" rx="10" ry="10"/>
+            
+            <rect x="250" y="120" width="100" height="20" rx="5" ry="5"/>
+            <rect x="250" y="150" width="100" height="20" rx="0" ry="0"/>
+            <rect x="250" y="180" width="100" height="20" rx="0" ry="0"/>
+          </g>
+    
+          <g transform="translate(100,100)">
+            <rect x="10" y="120" width="50" height="20" rx="25" ry="10"/>
+            <rect x="80" y="120" width="20" height="50" rx="10" ry="25"/>
+            
+            <rect x="120" y="120" width="50" height="20" rx="25" ry="10"/>
+            
+            <rect stroke-width="0.5" width="20" height="30" rx="10" ry="15" transform="translate(-10 -15) scale(2) translate(10 15) translate(85 52.5)"/>
+            <rect x="230" y="120" width="20" height="30" rx="10" ry="25"/>
+          </g>
+        </g>
+      </g>    
+      <g id="tests" fill="lime">
+        <rect x="100" width="20" height="100" rx="50" ry="20"/>
+        <rect x="130" width="20" height="100" rx="15" ry="20"/>
+        <rect x="160" width="20" height="100" rx="10" ry="20"/>
+        
+        <rect x="190" width="20" height="100" rx="80"/>
+        <rect x="220" width="20" height="100" rx="20"/>
+        <rect x="250" width="20" height="100" rx="10"/>
+        
+        <rect x="280" width="20" height="100" rx="5"/>
+        <rect x="310" width="20" height="100" rx="0"/>
+        <rect x="340" width="20" height="100" rx="0" ry="0"/>
+        
+        <g transform="translate(45,0)">
+          <rect x="10" y="120" width="100" height="20" rx="50" ry="20"/>
+          <rect x="10" y="150" width="100" height="20" rx="15" ry="20"/>
+          <rect x="10" y="180" width="100" height="20" rx="10" ry="20"/>
+          
+          <rect x="130" y="120" width="100" height="20" ry="50"/>
+          <rect x="130" y="150" width="100" height="20" ry="20"/>
+          <rect x="130" y="180" width="100" height="20" ry="10"/>
+          
+          <rect x="250" y="120" width="100" height="20" ry="5"/>
+          <rect x="250" y="150" width="100" height="20" ry="0"/>
+          <rect x="250" y="180" width="100" height="20" rx="0" ry="0"/>
+        </g>
+        
+        <g transform="translate(100,100)">
+          <rect x="10" y="120" width="50" height="20" rx="50"/>
+          <rect x="80" y="120" width="20" height="50" ry="50"/>
+          
+          <rect x="120" y="120" width="50" height="20" rx="200" ry="200"/>
+          
+          <rect width="20" height="30" rx="50" transform="translate(-10 -15) scale(2) translate(10 15) translate(85 52.5)"/>
+          <rect x="230" y="120" width="20" height="30" ry="50"/>
+        </g>
+      </g>
+      
+      <use xlink:href="#references" fill="none" stroke="black"/>
+      
+    </g>    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect xml:id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/shapes-rect-04-f.svg b/Tests/W3CTestSuite/svg/shapes-rect-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fdd83059501d753661aa4955fe5e5920af60b2c1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-rect-04-f.svg
@@ -0,0 +1,66 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: shapes-rect-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#RectElement">
+      <p>
+        'Rect' elements with unspecified 'rx' and 'ry' attributes will use the specified 'rx' and 'ry' value if the other one is specified; if neither is specified, the 'rect' has square edges. 
+      </p>
+      <p>
+        Creates one 'rect' element with an unspecified 'ry'. Places it over a red 'rect' element with both 'rx' and 'ry' specified.  Repeat with unspecified 'rx'. Finally creates a 'rect' element that has neither 'rx' or
+        'ry' specified.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if the two shapes on top are rounded rectangles, the shape below has square corners, and no red is visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-rect-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect x="25" y="25" width="200" height="100" rx="50" ry="50" fill="red" />
+    <rect x="25" y="25" width="200" height="100" rx="50" fill="black" />
+
+    <rect x="275" y="25" width="200" height="100" rx="50" ry="50" fill="red" />
+    <rect x="275" y="25" width="200" height="100" ry="50" fill="black" />
+
+    <rect x="150" y="135" width="200" height="100" fill="black" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/shapes-rect-05-f.svg b/Tests/W3CTestSuite/svg/shapes-rect-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..85e82a22809bc920c5286aac54973176c6d0c71c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-rect-05-f.svg
@@ -0,0 +1,74 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: shapes-rect-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#RectElement">
+      <p>
+        The 'rect' element defines a rect which is axis-aligned with the default user coordinate system when it is not the initial user coordinate system.
+      </p>
+      <p>
+        Draws a 'rect' element originating at (0,0) of the current user coordinate system, which has been altered via 'transform' from the
+        initial user coordinate system. Draws perpendicular lines which also originate at (0,0) and advance along the x and y axes of the
+        current user coordinate system. Verifies that the lines overlap the top and left edges of the rectangle and that the rectangle is
+        thus axis-aligned with its current user coordinate system.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if the top and left of the rectangle is black while the right and bottom are orange, and the right half of the diamond is orange and the left half is black.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-rect-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g transform="translate(100,100)">
+        <rect x="0" y="0" width="75" height="100" fill="none" stroke="orange" stroke-width="10" />
+        <line x1="0" y1="0" x2="75" y2="0" stroke-width="10" stroke="black" stroke-linecap="square" />
+        <line x1="0" y1="0" x2="0" y2="100" stroke-width="10" stroke="black" stroke-linecap="square" />
+    </g>
+
+    <g transform="translate(100,100) rotate(-30) skewX(20)">
+        <rect x="100" y="100" width="100" height="100" fill="none" stroke="orange" stroke-width="5" />
+        <line x1="100" y1="100" x2="100" y2="200" stroke-width="5" stroke="black" stroke-linecap="square" />
+        <line x1="100" y1="100" x2="200" y2="100" stroke-width="5" stroke="black" stroke-linecap="square" />
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/shapes-rect-06-f.svg b/Tests/W3CTestSuite/svg/shapes-rect-06-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0f9d4ea53b90339658a6616af9d46fd4ec56c009
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-rect-06-f.svg
@@ -0,0 +1,70 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: shapes-rect-06-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#RectElement">
+      <p>
+        When 'rect' attributes 'rx' and 'ry' have a value greater than half of the width/height of the rectangle, they are treated as half the width/height of the rectangle.
+      </p>
+      <p>
+        The test creates one 'rect' element with 'rx' greater than 1/2 the 'rect' width. Underneath that element, it creates a red 'rect' element with
+        'rx' set to 1/2 the width.  Repeats with 'ry' attribute.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-rect-06-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect x="25" y="50" width="200" height="100" rx="100" ry="50" fill="red" />
+    <rect x="25" y="50" width="200" height="100" rx="150" ry="50" fill="black" />
+    <rect x="25" y="200" width="200" height="100" rx="150" ry="50" fill="red" />
+    <rect x="25" y="200" width="200" height="100" rx="100" ry="50" fill="black" />
+
+    <rect x="275" y="50" width="200" height="100" ry="50" rx="100" fill="red" />
+    <rect x="275" y="50" width="200" height="100" ry="75" rx="100" fill="black" />
+    <rect x="275" y="200" width="200" height="100" ry="75" rx="100" fill="red" />
+    <rect x="275" y="200" width="200" height="100" ry="50" rx="100" fill="black" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/shapes-rect-07-f.svg b/Tests/W3CTestSuite/svg/shapes-rect-07-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7dbe04644c12abd12dfac7e4422e38525e09c838
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/shapes-rect-07-f.svg
@@ -0,0 +1,61 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: shapes-rect-07-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/shapes.html#RectElement">
+      <p>
+        Checks that unspecified 'ry' and 'rx' attributes are copied from each other before their values are clamped.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: shapes-rect-07-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect x="25" y="50" width="200" height="100" rx="100" fill="red" />
+    <rect x="25" y="50" width="200" height="100" rx="100" ry="50" fill="black" />
+    <rect x="25" y="200" width="200" height="100" rx="100" ry="50" fill="red" />
+    <rect x="25" y="200" width="200" height="100" rx="100" fill="black" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/struct-cond-01-t.svg b/Tests/W3CTestSuite/svg/struct-cond-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5238f9fb744534844c5f6bc06403d9e83adedd10
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-cond-01-t.svg
@@ -0,0 +1,61 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWGh" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-cond-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ConditionalProcessing">
+        <p>
+          This test evaluates a switch statement.
+        </p>
+      <p>
+        The test uses the 'rect' element, as well as basic fill (solid primary colors),
+        stroke (black 1-pixel lines), font-family (Arial) and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The result should be a green rectangle in the lower left quarter of the output window.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-cond-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <switch>
+      <rect fill="red" x="0" y="0" width="220" height="150" requiredExtensions="http://example.org/bogus"/>
+      <rect fill="green" x="0" y="150" width="220" height="150"/>
+      <rect fill="blue" x="240" y="0" width="220" height="150"/>
+    </switch>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-cond-02-t.svg b/Tests/W3CTestSuite/svg/struct-cond-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6883e0a85ee793d8c4a8e2fdcf0f2d7dc34efa0e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-cond-02-t.svg
@@ -0,0 +1,585 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: struct-cond-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ConditionalProcessing">
+      <p>
+        This tests ability to use the 'systemLanguage' as a test attribute within a
+        switch element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        To pass, either the name (in English) of the current system language, or
+        the names of the three languages (English, French and Japanese) of W3C
+        must appear. The second case will occur if either the user language is
+        not one of the (60 or so) languages present in the test, or if there is
+        no user language information available.
+      </p>
+      <p>
+        It is an error to display no output; the last child of switch has no test, so
+        it will always be taken unless a more suitable child has already evaluated to true.
+      </p>
+      <p>
+        In addition, the string "Why don't they just speak &lt;language&gt;" should appear
+        in the center of the graphic, translated into that language. It is not an error for
+        some or all of this string to display as 'missing character'  glyphs, if no
+        suitable font is available - however, this is unlikely if the language is indeed
+        the users primary language. (It can easily occur during testing, however).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-cond-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g fill="black" stroke="none" font-size="24" font-weight="normal" font-family="Arial, Tahoma, Verdana, 'Arial Unicode MS', Code2000">
+      <!-- a blank one
+<text x="20" y="220" xml:lang="">
+<tspan font-weight="bold" >
+ ?</text>
+<text x="230" y="150" xml:lang="en"></text>
+-->
+      <!-- put sample here for testing -->
+      <switch>
+        <g systemLanguage="af">
+          <text x="20" y="220" xml:lang="af" font-size="16">Waarom kan hulle nie net doodgewoon Afrikaans praat nie?</text>
+          <text x="230" y="150" xml:lang="en">Afrikaans</text>
+        </g>
+        <g systemLanguage="am">
+          <text x="20" y="220" xml:lang="am" font-family="'GF Zemen Unicode',Code2000" font-size="28">ለምንድነው አማርኛ የማይናገሩት፧</text>
+          <text x="230" y="150" xml:lang="en">Amharic</text>
+        </g>
+        <g systemLanguage="ar">
+          <!-- this is a tiny test so there is no text-anchor, thus rtl text is explicitly positioned -->
+          <text x="20" y="220" xml:lang="ar-SA" font-family=" Tahoma,'MS Farsi','Arial Unicode MS'" font-size="19">لماذا لا يتكلمون اللّغة العربية فحسب؟</text>
+          <text x="230" y="150" xml:lang="en">Arabic (SA)</text>
+        </g>
+        <g systemLanguage="bg">
+          <text x="20" y="220" xml:lang="bg" font-size="18">Защо те просто не могат да говорят български ?</text>
+          <text x="230" y="150" xml:lang="en">Bulgarian</text>
+        </g>
+        <g systemLanguage="bn">
+          <text x="20" y="220" xml:lang="bn" font-family="'Arial Unicode MS','UT Bengali Khulna'" font-size="28">ওরা েকন বাংলা বলেত পাের না ?</text>
+          <text x="230" y="150" xml:lang="en">Bengali</text>
+        </g>
+        <!-- 
+Tibetan needs complex layout: this will not work correctly though the font has the right glyphs: 
+<g systemLanguage="bo">
+					<text x="20" y="220" xml:lang="bo" font-family="'Arial Unicode MS'" font-size="18">
+						
+ག་རེ་བྱས་ཁོ་རང་ཚོས་ བོད་ སྐད་ཆ་དེ་ག་རང་བཤད་ཀྱི་མ་རེད།</text>
+					<text x="230" y="150" xml:lang="en">Tibetan</text>
+				</g>-->
+        <g systemLanguage="ca">
+          <text x="20" y="220" xml:lang="bg" font-size="20">Per què no poden simplement parlar en català ?</text>
+          <text x="230" y="150" xml:lang="en">Catalan</text>
+        </g>
+        <g systemLanguage="cs">
+          <text x="20" y="220" xml:lang="cs">Proč prostě nemluví česky ?</text>
+          <text x="230" y="150" xml:lang="en">Czech</text>
+        </g>
+        <g systemLanguage="cy">
+          <text x="20" y="220" xml:lang="cy" font-size="20">Pam dydyn nhw ddim yn siarad Cymraeg ?</text>
+          <text x="230" y="150" xml:lang="en">Welsh</text>
+        </g>
+        <g systemLanguage="da">
+          <text x="20" y="220" xml:lang="da">Hvorfor kan de ikke bare tale dansk ?</text>
+          <text x="230" y="150" xml:lang="en">Danish</text>
+        </g>
+        <!-- need a generic german, too -->
+        <g systemLanguage="de-DE">
+          <text x="20" y="220" xml:lang="de-DE" font-size="22">Warum sprechen sie nicht einfach Deutsch ?</text>
+          <text x="230" y="150" xml:lang="en">German (DE)</text>
+        </g>
+        <g systemLanguage="el">
+          <text x="20" y="220" xml:lang="el-GR" font-size="22">Μα γιατί δεν μπορούν να μιλήσουν Ελληνικά ;</text>
+          <text x="230" y="150" xml:lang="en">Greek (modern, GR)</text>
+        </g>
+        <g systemLanguage="en">
+          <text x="20" y="220" xml:lang="en-US">Why can't they just speak English ?</text>
+          <text x="230" y="150" xml:lang="en">English (US)</text>
+        </g>
+        <g systemLanguage="es">
+          <text x="20" y="220" xml:lang="es-ES" font-size="18">¿Por qué no pueden simplemente hablar en castellano ?</text>
+          <text x="230" y="150" xml:lang="en">Spanish (ES)</text>
+        </g>
+        <g systemLanguage="eu">
+          <text x="20" y="220" xml:lang="eu" font-size="21">Zergatik ezin dute  Euzkeraz bakarrik hitzegin?</text>
+          <text x="230" y="150" xml:lang="en">Basque</text>
+        </g>
+        <g systemLanguage="fa">
+          <text x="20" y="220" xml:lang="fa" font-family=" Tahoma,'MS Farsi','Arial Unicode MS'" font-size="22">خب، چرا فارسى صحبت نمى كنند؟</text>
+          <text x="230" y="150" xml:lang="en">Farsi</text>
+        </g>
+        <g systemLanguage="fi">
+          <text x="20" y="220" xml:lang="fi" font-size="20">Miksi he eivät yksinkertaisesti puhu suomea ?</text>
+          <text x="230" y="150" xml:lang="en">Finnish</text>
+        </g>
+        <!-- put Canadian French before generic French -->
+        <g systemLanguage="fr">
+          <text x="20" y="220" xml:lang="fr-fR" font-size="17">Pourquoi, tout simplement, ne parlent-ils pas en Français ?</text>
+          <text x="230" y="150" xml:lang="en">French (FR)</text>
+        </g>
+        <g systemLanguage="gd">
+          <text x="20" y="220" xml:lang="gd" font-size="20">Carson nach eil iad a'bruidhinn na Gàidhlige ?</text>
+          <text x="230" y="150" xml:lang="en">Scots Gaelic</text>
+        </g>
+        <g systemLanguage="gu">
+          <text x="20" y="220" xml:lang="gu" font-family="'Arial Unicode MS'" font-size="28">બદ્ધા લોકો ગુજરાતી કૅમ નથી બોલતા?</text>
+          <text x="230" y="150" xml:lang="en">Gujarti (IN)</text>
+        </g>
+        <g systemLanguage="he">
+          <!-- he or iw, check -->
+          <text x="20" y="220" xml:lang="he" font-family="Tahoma,'Arial Unicode MS'" font-size="22">למה הם פשוט לא מדברים עברית ?</text>
+          <text x="230" y="150" xml:lang="en">Hebrew (modern)</text>
+        </g>
+        <g systemLanguage="hi">
+          <text x="20" y="220" xml:lang="hi" font-family="Mangal,Code2000,'Arial Unicode MS'">यह लोग हिन्दी क्यों नहीं बोल सकते हैं ?</text>
+          <text x="230" y="150" xml:lang="en">Hindi</text>
+        </g>
+        <g systemLanguage="hr">
+          <text x="20" y="220" xml:lang="hr">Zašto jednostavno ne govore hrvatski ?</text>
+          <text x="230" y="150" xml:lang="en">Croatian</text>
+        </g>
+        <g systemLanguage="hu">
+          <text x="20" y="220" xml:lang="hu" font-size="22">Miért nem beszélnek egyszerűen magyarul ?</text>
+          <text x="230" y="150" xml:lang="en">Hungarian</text>
+        </g>
+        <g systemLanguage="hy">
+          <text x="20" y="220" xml:lang="hy" font-family="Sylfaen,Code2000,'Arial Unicode MS'" font-size="22">
+            Ինչու՞ նրանք չեն խոսում Հայերեն
+          </text>
+          <text x="230" y="150" xml:lang="en">Armenian</text>
+        </g>
+        <g systemLanguage="id">
+          <text x="20" y="220" xml:lang="id" font-size="18">Mengapa mereka tidak bisa bicara bahasa Indonesia ?</text>
+          <text x="230" y="150" xml:lang="en">Indonesian</text>
+        </g>
+        <g systemLanguage="is">
+          <text x="20" y="220" xml:lang="is" font-size="20">Hvers vegna geta þeir ekki réttlátur tala Íslenska ?</text>
+          <text x="230" y="150" xml:lang="en">Icelandic</text>
+        </g>
+        <g systemLanguage="it">
+          <text x="20" y="220" xml:lang="it" font-size="18">Perchè non possono semplicemente parlare italiano ?</text>
+          <text x="230" y="150" xml:lang="en">Italian</text>
+        </g>
+        <g systemLanguage="iu">
+          <!-- unable to distinguish North Baffin Island Inuktitut from 
+			     South/Central Baffin Island Inuktitut
+			     because ISO 3166 codes do not offer any finer 
+			     resolution than 'Canadian' -->
+          <text x="20" y="220" xml:lang="iu" font-family="NunacomU,'Ballymun RO','Arial Unicode MS'" font-size="28">ᓱᒻᒪᓂᒃᑯᐊ ᐃᓄᒃᑎᑐ ᑐᐃᓐᓇᔭᙱᓚᑦ</text>
+          <text x="230" y="150" xml:lang="en">Inuktitut</text>
+        </g>
+        <g systemLanguage="ja-JP">
+          <text x="20" y="220" xml:lang="ja-JP" font-family="'MS Gothic',MS ゴシック,'MS Mincho',MS 明朝,Code2000,'Arial Unicode MS',DFP-SMTWSong" font-size="22">なぜ、みんな日本語を話してくれないのか?</text>
+          <text x="230" y="150" xml:lang="en">Japanese (JP)</text>
+        </g>
+        <g systemLanguage="jw">
+          <text x="20" y="220" xml:lang="jw" font-size="20">Kenapa kok ora nganggo  basa Jawa  wae?</text>
+          <text x="230" y="150" xml:lang="en">Javanese</text>
+        </g>
+        <g systemLanguage="ka">
+          <text x="20" y="220" xml:lang="ka" font-family="Sylfaen,Code2000,'Arial Unicode MS'" font-size="20">რატომ არ ლაპარაკობენ ისინი ქართულად ?</text>
+          <text x="230" y="150" xml:lang="en">Georgian</text>
+        </g>
+        <g systemLanguage="kk">
+          <text x="20" y="220" xml:lang="kk" font-family="'Arial Unicode MS',Code2000">Олар неге қазақ тiлiнде сойлемейдi?</text>
+          <text x="230" y="150" xml:lang="en">Kazakh</text>
+        </g>
+        <g systemLanguage="kn">
+          <text x="20" y="220" xml:lang="kn" font-family="'Arial Unicode MS',Code2000" font-size="28">ಅವರು ಕನ್ನಡ ಮಾತನಾಡಬಹುದಲ್ಲಾ?</text>
+          <text x="230" y="150" xml:lang="en">Kannada</text>
+        </g>
+        <g systemLanguage="ko">
+          <text x="20" y="220" xml:lang="ko" font-family="GulimChe,굴림체,Gulim,굴림,BatangChe,바탕체,Batang,바탕,Code2000,'Arial Unicode MS'" font-size="15">세계의 모든 사람들이 한국어 를 이해한다면 얼마나 좋을까?</text>
+          <text x="230" y="150" xml:lang="en">Korean</text>
+        </g>
+        <g systemLanguage="ky">
+          <text x="20" y="220" xml:lang="ky" font-family="'Arial Unicode MS',Code2000">Емне үчүн алар кыргызча сүйлбйт?</text>
+          <text x="230" y="150" xml:lang="en">Kirghiz</text>
+        </g>
+        <g systemLanguage="lt">
+          <text x="20" y="220" xml:lang="lt" font-size="28">Kodėl gi jie nekalba lietuviškai ?</text>
+          <text x="230" y="150" xml:lang="en">Lithuanian</text>
+        </g>
+        <g systemLanguage="mk">
+          <text x="20" y="220" xml:lang="mk" font-size="20">Зошто тие едноставно не говорат македонски ?</text>
+          <text x="230" y="150" xml:lang="en">Macedonian</text>
+        </g>
+        <g systemLanguage="mr">
+          <text x="20" y="220" xml:lang="mr" font-family="Mangal,Code2000,'Arial Unicode MS'" font-size="26">लोकांना मराठी का बोलता येत नाही?</text>
+          <text x="230" y="150" xml:lang="en">Marathi</text>
+        </g>
+        <g systemLanguage="nl">
+          <text x="20" y="220" xml:lang="nl" font-size="21">Waarom spreken ze niet gewoon Nederlands ?</text>
+          <text x="230" y="150" xml:lang="en">Dutch</text>
+        </g>
+        <g systemLanguage="no">
+          <text x="20" y="220" xml:lang="no" font-size="21">Hvorfor kan de ikke bare snakke norsk ?</text>
+          <text x="230" y="150" xml:lang="en">Norwegian</text>
+        </g>
+        <g systemLanguage="or">
+          <text x="20" y="220" xml:lang="or" font-family="'Arial Unicode MS',Code2000" font-size="26">ସେମାନେ ଉଡିଯା ରେ କହିନ୍କି କହିବେ ନହିଁ?</text>
+          <text x="230" y="150" xml:lang="en">Oriya</text>
+        </g>
+        <g systemLanguage="pl">
+          <text x="20" y="220" xml:lang="pl">Dlaczego oni nie mówią po polsku ?</text>
+          <text x="230" y="150" xml:lang="en">Polish</text>
+        </g>
+        <!-- test two specific types of Portugese, then a generic alternative -->
+        <g systemLanguage="pt-PT">
+          <text x="20" y="220" xml:lang="pt-PT" font-size="18">Porque é que eles não falam simplesmente em Português ?</text>
+          <text x="230" y="150" xml:lang="en">Portugese (PT)</text>
+        </g>
+        <g systemLanguage="pt-BR">
+          <text x="20" y="220" xml:lang="pt-BR" font-size="17">Porque é que eles não falam em Português (do Brasil) ?</text>
+          <text x="230" y="150" xml:lang="en">Portugese (BR)</text>
+        </g>
+        <g systemLanguage="pt">
+          <text x="20" y="220" xml:lang="pt-PT" font-size="18">Porque é que eles não falam simplesmente em Português ?</text>
+          <text x="230" y="150" xml:lang="en">Portugese</text>
+        </g>
+        <g systemLanguage="ro">
+          <text x="20" y="220" xml:lang="ro">De ce ei nu vorbesc moldoveneşte ?</text>
+          <text x="230" y="150" xml:lang="en">Romanian</text>
+        </g>
+        <g systemLanguage="ru">
+          <text x="20" y="220" xml:lang="ru">Почему же они не говорят по-русски ?</text>
+          <text x="230" y="150" xml:lang="en">Russian</text>
+        </g>
+        <g systemLanguage="sa">
+          <text x="20" y="220" xml:lang="sa" font-family="Mangal,Code2000,'Arial Unicode MS'" font-size="26">ते किं संस्कृतः माम वदन्ति ?</text>
+          <text x="230" y="150" xml:lang="en">Sanskrit</text>
+        </g>
+        <g systemLanguage="sr">
+          <text x="20" y="220" xml:lang="sr">Zašto jednostavno ne govore srpski ?</text>
+          <text x="230" y="150" xml:lang="en">Serbian</text>
+        </g>
+        <g systemLanguage="si">
+          <text x="20" y="220" xml:lang="si" font-family="'Andale Mono WT J'" font-size="26">අැයි ඔවුන්ට ඉංගරිස කතා ෛනබ ?</text>
+          <text x="230" y="150" xml:lang="en">Sinhalese</text>
+          <!-- Sinhalese needs somewhat complex layout (many paired special cases, see 
+http://www-texdev.mpce.mq.edu.au/l2h/indic/Sinhala/lreport/node1.html 
+so this 'chart' font is not entirely suitable-->
+        </g>
+        <g systemLanguage="sl">
+          <text x="20" y="220" xml:lang="sl">Zakaj vendar ne govorijo slovensko ?</text>
+          <text x="230" y="150" xml:lang="en">Slovenian</text>
+        </g>
+        <g systemLanguage="sq">
+          <text x="20" y="220" xml:lang="sq">Pse nuk duan të flasin vetëm shqip ?</text>
+          <text x="230" y="150" xml:lang="en">Albanian</text>
+        </g>
+        <g systemLanguage="sv">
+          <text x="20" y="220" xml:lang="sv">Varför pratar dom inte bara svenska ?</text>
+          <text x="230" y="150" xml:lang="en">Swedish</text>
+        </g>
+        <g systemLanguage="ta">
+          <text x="20" y="220" xml:lang="ta" font-family="Latha,'Arial Unicode MS'" font-size="20">அவர்கள் ஏன் தமிழில் பேசக்கூடாது ?</text>
+          <text x="230" y="150" xml:lang="en">Tamil</text>
+        </g>
+        <g systemLanguage="te">
+          <text x="20" y="220" xml:lang="te" font-family="'Arial Unicode MS'">
+            తెలుగు లో ఎందుకు మాట్లాడరు?
+          </text>
+          <text x="230" y="150" xml:lang="en">Telugu</text>
+        </g>
+        <g systemLanguage="tg">
+          <text x="20" y="220" xml:lang="tg" font-size="20">Čaro onho ba zaboni točiki gap namezanand?</text>
+          <text x="230" y="150" xml:lang="en">Tajik</text>
+        </g>
+        <g systemLanguage="th">
+          <text x="20" y="220" xml:lang="th" font-family="Tahoma,CordiaUPC,BrowalliaUPC,DilleniaUPC,EucrosiaUPC,FreesiaUPC,JasmineUPC, KodChiangUPC,LilyUPC,'Arial Unicode MS'" font-size="28">ทำไมเขาถึงไม่พูด ภาษาไทย </text>
+          <text x="230" y="150" xml:lang="en">Thai</text>
+        </g>
+        <g systemLanguage="tl">
+          <text x="20" y="220" xml:lang="tl" font-size="19">Bakit hindi na lang sila magsalita ng Tagalog ?</text>
+          <text x="230" y="150" xml:lang="en">Tagalog (Filipino)</text>
+        </g>
+        <g systemLanguage="tr">
+          <text x="20" y="220" xml:lang="tr">Neden Türkçe konuşamıyorlar?</text>
+          <text x="230" y="150" xml:lang="en">Turkish</text>
+        </g>
+        <g systemLanguage="tt">
+          <text x="20" y="220" xml:lang="tt" font-family="'Arial Unicode MS',Code2000" font-size="22">Нишләп олар татарча сүләша алмыйлар?</text>
+          <text x="230" y="150" xml:lang="en">Tatar</text>
+        </g>
+        <g systemLanguage="uk">
+          <text x="20" y="220" xml:lang="uk">Чому б їм не розмовляти українською ?</text>
+          <text x="230" y="150" xml:lang="en">Ukranian</text>
+        </g>
+        <g systemLanguage="ur-IN">
+          <text x="20" y="220" xml:lang="ur-IN" font-family=" Tahoma,'MS Farsi','Arial Unicode MS'" font-size="22">ﻦﻴﻫ ﻰﺘﻠﻭﺒ ﻦﻴﻬﻨ ﻦﻭﻴﻜ ﻮﺪﺭﺃ بس ﻮﻩ ﻟﻮﮒ؟</text>
+          <text x="230" y="150" xml:lang="en">Urdu (IN)</text>
+        </g>
+        <g systemLanguage="ur-PK">
+          <text x="20" y="220" xml:lang="ur-PK" font-family=" Tahoma,'MS Farsi','Arial Unicode MS'" font-size="19">ﻦﻴﻫ ﻰﺘﻠﻭﺒ ﻦﻴﻬﻨ ﻦﻭﻴﻜ ﻮﺪﺭﺃ بس ﻮﻩ ﻟﻮﮒ؟</text>
+          <text x="230" y="150" xml:lang="en">Urdu (PK)</text>
+        </g>
+        <!-- should have a generic Urdu here for when user preference is Urdu but neither Pakistan Urdu nor Indian Urdu -->
+        <g systemLanguage="uz">
+          <text x="20" y="220" xml:lang="uz" font-size="22">Nega ular uzbek tilinda gapirmaidilar?</text>
+          <text x="230" y="150" xml:lang="en">Uzbek</text>
+        </g>
+        <g systemLanguage="vi">
+          <text x="20" y="220" xml:lang="vi" font-family="Tahoma,Verdana,'Verdana Ref','Arial Unicode MS'" font-size="22">Tại sao họ không thể chỉ nói tiếng Việt ?</text>
+          <text x="230" y="150" xml:lang="en">Vietnamese</text>
+        </g>
+        <g systemLanguage="yi">
+          <text x="20" y="220" xml:lang="yi" font-family="Tahoma,'Arial Unicode MS'" font-size="22">פֿאַרװאָס רעדט מען ניט פּשוט ייִדיש ?</text>
+          <text x="230" y="150" xml:lang="en">Yiddish</text>
+        </g>
+        <g systemLanguage="zh-CN">
+          <text x="20" y="220" font-family="'MS Hei','MS Song',LiSu,隶书,Code2000,'Arial Unicode MS'" font-size="26" xml:lang="zh-CN">他们为什么不说中文 (中国) ?</text>
+          <text x="230" y="150" xml:lang="en">Chinese (CN)</text>
+        </g>
+        <g systemLanguage="zh-TW">
+          <text x="20" y="220" xml:lang="zh-TW" font-family="MingLiU,細明體,PMingLiU,新細明體,DFP-SMTWSong,Code2000,'Arial Unicode MS'" font-size="26">他們爲什麽不說中文(台灣)?</text>
+          <text x="230" y="150" xml:lang="en">Chinese (TW)</text>
+        </g>
+        <g>
+          <!-- the default case, try three languages of W3C host institutions -->
+          <text x="90" y="100" fill="#700" font-size="14">You have no (matching) language preference set</text>
+          <text x="20" y="180" xml:lang="ja-JP" font-family="MS Gothic,MS ゴシック,MS Mincho,MS 明朝,Code2000,'Arial Unicode MS',DFP-SMTWSong" font-size="20">なぜ、みんな日本語を話してくれないのか?</text>
+          <text x="20" y="220" xml:lang="en-US">Why can't they just speak English ?</text>
+          <text x="20" y="260" xml:lang="fr-fR" font-size="16">Pourquoi, tout simplement, ne parlent-ils pas en Français ?</text>
+        </g>
+      </switch>
+      <!-- action item was to make a switch "for all ISO 639-1 language codes",
+     a large task not completed. But there is enough here to make a good test case, 
+     including 19 of the top 20 langiuages by number of speakers (except Punjabi).
+     
+     Here is the full list (trailing * indicates language included in this test), 
+     accurate as of October 22, 2002 from the registration authority:
+      http://lcweb.loc.gov/standards/iso639-2/langcodes.html
+
+  aa Afar
+  ab Abkhazian
+  af Afrikaans *
+  am Amharic *
+  ar Arabic *
+  as Assamese
+  ae Avestan
+  ay Aymara
+  az Azerbaijani
+
+  ba Bashkir
+  be Byelorussian
+  bg Bulgarian *
+  bh Bihari
+  bi Bislama
+  bn Bengali [Bangla] *
+  bo Tibetan *
+  br Breton
+  bs Bosnian
+
+  ca Catalan *
+  ce Chechen 
+  ch Chamorro
+  co Corsican
+  cs Czech *
+  cu Church Slavic
+  cv Chuvash
+  cy Welsh *
+
+  da Danish *
+  de German *
+  dz Dzongkha [Bhutani]
+
+  el Greek, Modern (1453-) *
+  en English, Modern *
+  eo Esperanto
+  es Spanish *
+  et Estonian
+  eu Basque *
+
+  fa Persian (Farsi) *
+  fi Finnish *
+  fj Fijian
+  fo Faeroese
+  fr French, Modern *
+  fy Frisian
+
+  ga Irish
+  gd Scots Gaelic *
+  gl Gallegan [Galician]
+  gn Guarani
+  gu Gujarati *
+  gv Manx
+
+  ha Hausa
+  he Hebrew *
+  hi Hindi *
+  ho Hiri Motu
+  hr Croatian *
+  hu Hungarian *
+  hy Armenian *
+  hz Herero
+
+  ia Interlingua
+  id Indonesian *
+  ie Interlingue
+  ik Inupiak
+  is Icelandic *
+  it Italian *
+  iu Inuktitut *
+  iw Hebrew *
+
+  ja Japanese *
+  jw Javanese
+
+  ka Georgian *
+  ki Kikuyu
+  kj Kuanyama
+  kk Kazakh *
+  kl Kalaallisut [Greenlandic]
+  km Khmer [Cambodian]
+  kn Kannada *
+  ko Korean *
+  ks Kashmiri
+  ku Kurdish
+  kv Komi
+  kw Cornish
+  ky Kirghiz *
+
+  la Latin
+  ln Lingala
+  lo Lao [Laothian]
+  lt Lithuanian *
+  lv Latvian [Lettish]
+
+  mg Malagasy
+  mh Marshall
+  mi Maori
+  mk Macedonian *
+  ml Malayalam
+  mn Mongolian
+  mo Moldavian
+  mr Marathi *
+  ms Malay
+  mt Maltese
+  my Burmese
+
+  na Nauru
+  nb Norwegian Bokmal
+  nd Ndebele, North
+  ne Nepali
+  ng Ndonga
+  nl Dutch *
+  nn Norwegian Nynorsk
+  no Norwegian *
+  nr Ndebele, South
+  nv Navajo
+  ny Chichewa~@Nyanja  
+
+  oc Occitan (post 1500); Provencal
+  om Oromo [Afan]
+  or Oriya *
+  os Ossetian; Ossetic
+
+  pa Panjabi
+  pi Pali
+  pl Polish *
+  ps Pushto [Pashto]
+  pt Portuguese *
+
+  qu Quechua
+
+  rm Rhaeto-Romance
+  rn Kirundi
+  ro Romanian *
+  ru Russian *
+  rw Kinyarwanda
+
+  sa Sanskrit *
+  sc Sardinian
+  sd Sindhi
+  se Northern Sami
+  sg Sangro
+  sr Serbian *
+  si Sinhalese *
+  sk Slovak
+  sl Slovenian *
+  sm Samoan
+  sn Shona
+  so Somali
+  sq Albanian *
+  sr Serbian
+  ss Swati [Siswati]
+  st Sotho, Southern  [Sesotho]
+  su Sundanese
+  sv Swedish *
+  sw Swahili
+
+  ta Tamil *
+  te Tegulu *
+  tg Tajik *
+  th Thai *
+  ti Tigrinya
+  tk Turkmen
+  tl Tagalog *
+  tn Tswana [Setswana]  
+  to Tonga
+  tr Turkish *
+  ts Tsonga
+  tt Tatar *
+  tw Twi
+
+  ug Uighur
+  uk Ukrainian *
+  ur Urdu *
+  uz Uzbek *
+
+  vi Vietnamese *
+  vo Volapuk
+
+  wo Wolof
+
+  xh Xhosa
+
+  yi Yiddish *
+  yo Yoruba
+
+  za Zhuang
+  zh Chinese *
+  zu Zulu
+
+note: http://msdn.microsoft.com/workshop/management/ISO639codes.htm is obselete and incorrect
+
+-->
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-cond-03-t.svg b/Tests/W3CTestSuite/svg/struct-cond-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..93d54901dec604f641087cd335284c7feedcd8cd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-cond-03-t.svg
@@ -0,0 +1,83 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: struct-cond-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ConditionalProcessing">
+        <p>
+          Tests the &lt;switch&gt; element with requiredFeatures.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        On the bottom half of the test, there is a first switch. 
+        Because SVG Tiny does not support DOM, an SVG Tiny implementation
+        which does not support other SVG Profiles should show a green
+        rectangle. If the application supports the DOM, meaning that
+        it does more than just SVG Tiny, it should show a turquoise rectangle.
+      </p>
+      <p>
+        On the bottom half of the test, there is another switch.
+        The first child has a requiredFeatures set to
+        http://www.w3.org/TR/SVG11/feature#BasicText which all
+        SVG Tiny implementations should support. If the application
+        does, another green rectangle is displayed. Otherwise,
+        a red rectangle shows.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-cond-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <switch>
+      <g requiredFeatures="http://www.w3.org/TR/SVG11/feature#SVGDOM">
+        <rect x="30" y="20" width="420" height="130" fill="rgb(32, 178, 170)"/>
+        <text x="240" y="100" font-size="20" text-anchor="middle">This viewer does more than SVG Tiny</text>
+      </g>
+      <g>
+        <rect x="30" y="20" width="420" height="130" fill="#0F0"/>
+      </g>
+    </switch>
+
+    <switch transform="translate(0, 140)">
+      <g requiredFeatures="http://www.w3.org/TR/SVG11/feature#BasicText">
+        <rect x="30" y="20" width="420" height="130" fill="#0F0"/>
+      </g>
+      <g>
+        <rect x="30" y="20" width="420" height="130" fill="#F00"/>
+        <text x="240" y="100" font-size="20" text-anchor="middle">This is not an SVG Tiny Viewer</text>
+      </g>
+    </switch>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-cond-overview-02-f.svg b/Tests/W3CTestSuite/svg/struct-cond-overview-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f3b14d22195e6ed9d74c53075be6c973be247e88
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-cond-overview-02-f.svg
@@ -0,0 +1,65 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.4 $" testname="$RCSfile: struct-cond-overview-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#ConditionalProcessingOverview">
+      <p>
+        Test that 'use' instances of elements with failing conditional processing attributes are not rendered.
+      </p>
+      <p>
+        Six blue 'rect' elements are defined. For each conditional processing attribute, a black 'rect' element is defined with that particular conditional
+        processing attribute set to an arbitrary string that would cause the attribute's requirement test to fail. Each of the black 'rect' elements is
+        positioned so that it would completely cover the blue 'rect' if it were visible. A corresponding 'use' element is defined for each black 'rect'
+        and is positioned such that it would cover the remaining three blue 'rect' elements. The six blue 'rect' elements should be visible.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if six blue boxes are visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-cond-overview-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <rect width="100" height="100" fill="blue" />
+    <rect width="100" height="100" id="testRequiredFeatures" requiredFeatures="INVALID_FEATURE_STRING" />
+    <rect x="200" width="100" height="100" fill="blue" />
+    <use x="200" xlink:href="#testRequiredFeatures" />
+    <rect y="120" width="100" height="100" fill="blue" />
+    <rect y="120" width="100" height="100" id="testRequiredExtensions" requiredExtensions="INVALID_EXTENSION_STRING" />
+    <rect y="120" x="200" width="100" height="100" fill="blue" />
+    <use x="200" xlink:href="#testRequiredExtensions" />
+    <rect y="240" width="100" height="100" fill="blue" />
+    <rect y="240" width="100" height="100" id="testSystemLanguage" systemLanguage="INVALID_LANGUAGE_STRING" />
+    <rect y="240" x="200" width="100" height="100" fill="blue" />
+    <use x="200" xlink:href="#testSystemLanguage" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-cond-overview-03-f.svg b/Tests/W3CTestSuite/svg/struct-cond-overview-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..03d76f187319848be567d46f6949b15d15b87c93
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-cond-overview-03-f.svg
@@ -0,0 +1,61 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.6 $" testname="$RCSfile: struct-cond-overview-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#ConditionalProcessingOverview">
+      <p>
+        Test that conditional processing attributes set to an empty string are evaluated as false.
+      </p>
+      <p>
+        Three blue 'rect' elements are in the document. For each of the
+        conditional processing attributes, a black 'rect' element is
+        specified with a conditional processing attribute set to an empty string.
+        The black 'rect' is positioned so that it would completely cover the
+        blue 'rect' if it were visible. The three blue 'rect'
+        elements should be visible.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if three blue boxes are visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-cond-overview-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <rect width="100" height="100" fill="blue" />
+    <rect width="100" height="100" requiredFeatures="" />
+    <rect y="120" width="100" height="100" fill="blue" />
+    <rect y="120" width="100" height="100" requiredExtensions="" />
+    <rect y="240" width="100" height="100" fill="blue" />
+    <rect y="240" width="100" height="100" systemLanguage="" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-cond-overview-04-f.svg b/Tests/W3CTestSuite/svg/struct-cond-overview-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..72da2a331e6dc915ddcf9185bc9726f62b1d410f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-cond-overview-04-f.svg
@@ -0,0 +1,58 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.3 $" testname="$RCSfile: struct-cond-overview-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#ConditionalProcessingOverview">
+      <p>
+        Test that elements with conditional processing attributes that evaluate to true do not render if their parent contains conditional processing attributes that evaluate to false.
+      </p>
+      <p>
+        The test has a 'g' element with its 'requiredFeatures' attribute set to an arbitrary feature string that would cause the attribute's requirement test to fail.
+        A red 'rect' element is a child node of the 'g' element. The 'rect' element has the 'requiredFeatures' attribute set to a supported feature string.
+        'http://www.w3.org/TR/SVG11/feature#ConditionalProcessing' was chosen as a valid feature string to reduce dependencies on other SVG features.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passed if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-cond-overview-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect width="100" height="100" fill="green"/>
+    <g requiredFeatures="INVALID_FEATURE_STRING">
+        <rect width="100" height="100" fill="red" requiredFeatures="http://www.w3.org/TR/SVG11/feature#ConditionalProcessing" />
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-cond-overview-05-f.svg b/Tests/W3CTestSuite/svg/struct-cond-overview-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..68f026cf6f60bd7587888e3d52b56f96faadcbbb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-cond-overview-05-f.svg
@@ -0,0 +1,70 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="[reviewer]" author="Microsoft" status="created" version="$Revision: 1.2 $" testname="$RCSfile: struct-cond-overview-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#ConditionalProcessingOverview">
+      <p>
+        Elements whose parent elements have failing conditional processing attributes are able to be referenced and rendered by 'use' elements.
+      </p>
+      <p>
+        Define three 'rect' elements that have a 'g' parent with either an invalid 'requiredFeature', 'requiredExtension', or 'systemLanguage'. 
+        Then define three 'use' elements that reference the 'rect' elements. Verify that the 'use' elements render. 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-cond-overview-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <g requiredFeatures="INVALID_FEATURE_STRING">
+    <rect width="100" height="100" id="testRequiredFeatures" />
+    </g>
+    <rect x="200" width="100" height="100" fill="red" />
+    <use x="200" xlink:href="#testRequiredFeatures" />
+    <g requiredExtensions="INVALID_EXTENSION_STRING">
+        <rect y="120" width="100" height="100" id="testRequiredExtensions" />
+    </g>
+    <rect y="120" x="200" width="100" height="100" fill="red" />
+    <use x="200" xlink:href="#testRequiredExtensions" />
+    <g systemLanguage="INVALID_LANGUAGE_STRING">
+        <rect y="240" width="100" height="100" id="testSystemLanguage" />
+    </g>
+    <rect y="240" x="200" width="100" height="100" fill="red" />
+    <use x="200" xlink:href="#testSystemLanguage" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-defs-01-t.svg b/Tests/W3CTestSuite/svg/struct-defs-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d808880192996b355ebb171d43d2a334e432ebf0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-defs-01-t.svg
@@ -0,0 +1,66 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: struct-defs-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#Head">
+        <p>
+          Test to verify that the defs element is used as a container correctly.
+        </p>
+        <p>
+          In this test a fill is created which is solid green. The view should be a solid green rectangle
+          centered in the viewport 100 pixels from from left,top and right,bottom.  Also, in the
+          defs sections there are rectangle defined, one to paint over the entire canvas with
+          a red fill and the other to obscure most of the green rectangle.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+        The rendered picture should match the reference image, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        A green rectangle should be visible, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-defs-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs id="references">
+      <rect id="rect11" x="0" y="0" width="480" height="360" color="#F00"/>
+    </defs>
+    <rect x="140" y="80" width="200" height="200" fill="#0F0"/>
+    <defs>
+      <rect x="160" y="100" width="160" height="160" fill="#F00"/>
+    </defs>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-01-b.svg b/Tests/W3CTestSuite/svg/struct-dom-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9ab5bb64f1373aa3c263b6d6d7a457c75789c051
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-01-b.svg
@@ -0,0 +1,188 @@
+<svg version="1.1" baseProfile="basic" onload="domTest(evt)" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="VH" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: struct-dom-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
+        <p>
+          Verify the basic capability to handle the SVG DOM API.
+        </p>
+      <p>
+        The test is composed of a top
+        level svg element with an 'onload' event handler and a rect element. Both
+        the svg and the rect elements have an identifier. The 'onload' handler
+        invokes SVG-specific DOM API methods which use these identifiers.
+      </p>
+      <p>
+        First, the handler gets the SVG element owner of the rect element and checks it has
+        the expected identifier. Then, the handler accesses the coordinates of the rect element
+        and uses them to build a 'shadow' rectangle under the existing one. Finally, the 'shadow'
+        rectangle is created using the SVGSVGElement's createSVGRect method.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if:</p>
+      <ul>
+        <li>The text "This document's root identifier is: svg-root" is shown.</li>
+        <li>A green rectangle with a black shadow is shown.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="text/ecmascript" xlink:href="../resources/testharness.js"></script>
+    <script type="text/ecmascript"><![CDATA[
+      function domTest(evt) {
+
+      var svg_ns = "http://www.w3.org/2000/svg";
+
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      //
+      // Test that our rectangle is an SVGElement instance
+      //
+      var rect = doc.getElementById("rectId");
+      var rootSVG = rect.ownerSVGElement;
+      var rootId = rootSVG.getAttribute( "id" );
+
+      // Insert a new text element to the DOM tree using the id
+      var newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('x', '50');
+      newText.setAttribute('y', '100');
+      var message = "This document's root identifier is: " + rootId;
+      var textContent = doc.createTextNode(message);
+      newText.appendChild(textContent);
+      rect.parentNode.appendChild(newText);
+
+      //
+      // Now, check that our rectangle is an instance of SVGRect by accessing
+      // specific methods in order to get its x, y, width and height attributes.
+      //
+      var x = rect.x.baseVal.value; // SVGRect -&gt; SVGAnimatedLenght -&gt; SVGLength -&gt; long
+      var y = rect.y.baseVal.value;
+      var width = rect.width.baseVal.value;
+      var height = rect.height.baseVal.value;
+
+      //
+      // Now, build a new SVGRect through the SVGSVGElement interface.
+      //
+      var newRect = doc.createElementNS(svg_ns, 'rect');
+
+      //
+      // Set the x, y, width and height of this element
+      //
+      newRect.x.baseVal.value = x + 10;
+      newRect.y.baseVal.value = y + 10;
+      newRect.setAttribute("width", width);
+      newRect.setAttribute("height", height);
+
+      //
+      // Insert new element in DOM tree
+      //
+      rect.parentNode.insertBefore(newRect, rect);
+
+      //
+      // Check the pass criteria using the JS framework
+      //
+      test(function() {assert_equals(rootId, "svg-root")}, "Assert that the document's root identifier is 'svg-root'.");
+      test(function() {
+           assert_true(newRect instanceof SVGRectElement);
+           assert_equals(newRect.getAttribute('x'), String(x+10));
+           assert_equals(newRect.getAttribute('y'), String(y+10));
+           assert_equals(newRect.getAttribute('width'), String(width));
+           assert_equals(newRect.getAttribute('height'), String(height));
+      }, "Assert that 'newRect' is replica (ignoring fill) of 'rect' with different x and y.");
+      }
+
+    ]]></script>
+    <!--======================================================================-->
+    <!-- Since this test is examining the SVG DOM, it could use any language  -->
+    <!-- binding. Here is the equivalent code for the Java binding            -->
+    <!--
+
+        //
+        // Test that our rectangle is an SVGElement instance
+        //
+        SVGRectElement rect = (SVGRectElement) doc.getElementById("rectId");
+        SVGElement rootSVG = rect.getOwnerSVGElement();
+        String rootId = rootSVG.getId();
+
+        // Insert a new text element to the DOM tree using the id
+        Element newText = doc.createElement("text");
+        newText.setAttribute("x", "50");
+        newText.setAttribute("y", "100");
+        String message = "This document's root identifier is=" " + rootId" 
+        Text textContent = doc.createTextNode(message);
+        newText.appendChild(textContent);
+        rect.getParentNode().appendChild(newText);
+
+        //
+        // Now, check that our rectangle is an instance of SVGRect by accessing
+        // specific methods in order to get its x, y, width and height attributes.
+        //
+        float x = rect.getX().getBaseVal().getValue();
+        float y = rect.getY().getBaseVal().getValue();
+        float width = rect.getWidth().getBaseVal().getValue();
+        float height = rect.getHeight().getBaseVal().getValue();
+
+        //
+        // Now, build a new SVGRect through the SVGSVGElement interface.
+        //
+        SVGRectElement newRect = (SVGRectElement) doc.createElement("rect");
+
+        //
+        // Set the x, y, width and height of this element
+        //
+        newRect.getX().getBaseVal().setValue(x + 10);
+        newRect.getY().getBaseVal().setValue(y + 10);
+        newRect.getWidth().getBaseVal().setValue(width);
+        newRect.getHeight().getBaseVal().setValue(height);
+
+        //
+        // Insert new element in DOM tree
+        //
+	alert(newRect)
+        rect.getParentNode().insertBefore(newRect, rect);
+
+-->
+    <!-- ===================================================================== -->
+    <!-- The following rectangle's is accessed in the 'domTest' ECMA Script    -->
+    <!-- handler.                                                              -->
+    <!-- ===================================================================== -->
+    <rect id="rectId" x="40" y="150" width="50" height="50" fill="green"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-02-b.svg b/Tests/W3CTestSuite/svg/struct-dom-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6ac422b4360abde647bce6e831a85b0bce6a9949
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-02-b.svg
@@ -0,0 +1,120 @@
+<svg version="1.1" baseProfile="basic" onload="domTest(evt)" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: struct-dom-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
+        <p>
+          Verify the basic capability to handle the hasFeature DOMImplementation method.
+          The DOMImplementation instance is retrieved from the Document instance. Then,
+          its hasFeature method is invoked on the various SVG feature strings.
+        </p>
+      <p>
+        The test displays the set of SVG feature strings and, next to them, a text
+        string that shows whether the feature is supported or not.
+      </p>
+      <p>
+        Note that this test uses the 'onload' event on the root svg element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for the true and
+        false values which may differ depending on the implementation.
+      </p>
+      <p>
+        Note that the test passes whether or not the feature is supported (i.e., true or
+        false are valid). The test fails if no value (true or false) appears next to the feature string
+        value.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="text/ecmascript"><![CDATA[
+
+      var featureStrings = new Array();
+      var length = 0;
+      featureStrings[length++] = "xml";
+      featureStrings[length++] = "stylesheets";
+      featureStrings[length++] = "views";
+      featureStrings[length++] = "css2";
+      featureStrings[length++] = "events";
+      var svg_ns = "http://www.w3.org/2000/svg"
+      function domTest(evt) {
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      // Get DOMImplementation
+      var domImpl = doc.implementation;
+
+      //
+      // Iterate through the feature strings
+      //
+      for(var i=0; i<featureStrings.length; i++){
+      var supports = domImpl.hasFeature(featureStrings[i], '2.0');
+      //
+      // if time, pretty up by putting xml to traveral in a left column and
+      // org.w3c.svg to org.w3c.dom.svg.all in a right column; add an extra
+      // parameter to addTextElemen t for x coord, and test if i < 9
+      //
+      addTextElement(featureStrings[i], supports, doc, doc.getElementById("test-body-content"), (55 + 55*i));
+      }
+      }
+
+      function addTextElement(label, value, doc, svg, y){
+      var newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('font-size', '30');
+      newText.setAttribute('x', '10');
+      newText.setAttribute('y', y);
+      var textValue = label;
+      var textContent = doc.createTextNode(textValue);
+      newText.appendChild(textContent);
+      svg.appendChild(newText);
+
+      newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('font-size', '30');
+      newText.setAttribute('x', '340');
+      newText.setAttribute('y', y);
+      textValue =  value;
+      textContent = doc.createTextNode(textValue);
+      newText.appendChild(textContent);
+      svg.appendChild(newText);
+      }
+
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-03-b.svg b/Tests/W3CTestSuite/svg/struct-dom-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..657466d656894882f1d6bb567373086be2ba8ca3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-03-b.svg
@@ -0,0 +1,120 @@
+<svg version="1.1" baseProfile="basic" onload="domTest(evt)" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: struct-dom-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
+        <p>
+          Verify the basic capability to handle the hasFeature DOMImplementation method.
+          The DOMImplementation instance is retrieved from the Document instance. Then,
+          its hasFeature method is invoked on the various SVG feature strings.
+        </p>
+      <p>
+        The test displays the set of SVG feature strings and, next to them, a text
+        string that shows whether the feature is supported or not.
+      </p>
+      <p>
+        Note that this test uses the 'onload' event on the root svg element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for the true and
+        false values which may differ depending on the implementation.
+      </p>
+      <p>
+        Note that the test passes whether or not the feature is supported (i.e., true or
+        false are valid). The test fails if no value (true or false) appears next to the feature string
+        value.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="text/ecmascript"><![CDATA[
+
+      var featureStrings = new Array();
+      var length = 0;
+      featureStrings[length++] = "uievents";
+      featureStrings[length++] = "mouseevents";
+      featureStrings[length++] = "mutationevents";
+      featureStrings[length++] = "traversal";
+      featureStrings[length++] = "org.w3c.svg";
+      var svg_ns = "http://www.w3.org/2000/svg"
+      function domTest(evt) {
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      // Get DOMImplementation
+      var domImpl = doc.implementation;
+
+      //
+      // Iterate through the feature strings
+      //
+      for(var i=0; i<featureStrings.length; i++){
+      var supports = domImpl.hasFeature(featureStrings[i], '2.0');
+      //
+      // if time, pretty up by putting xml to traveral in a left column and
+      // org.w3c.svg to org.w3c.dom.svg.all in a right column; add an extra
+      // parameter to addTextElement for x coord, and test if i < 9
+      //
+      addTextElement(featureStrings[i], supports, doc, doc.getElementById("test-body-content"), (50 + 50*i));
+      }
+      }
+
+      function addTextElement(label, value, doc, svg, y){
+      var newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('font-size', '30');
+      newText.setAttribute('x', '10');
+      newText.setAttribute('y', y);
+      var textValue = label;
+      var textContent = doc.createTextNode(textValue);
+      newText.appendChild(textContent);
+      svg.appendChild(newText);
+
+      newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('font-size', '30');
+      newText.setAttribute('x', '370');
+      newText.setAttribute('y', y);
+      textValue =  value;
+      textContent = doc.createTextNode(textValue);
+      newText.appendChild(textContent);
+      svg.appendChild(newText);
+      }
+
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-04-b.svg b/Tests/W3CTestSuite/svg/struct-dom-04-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..afc0efedafe0d15d60c44912a3d07c46112c5a5e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-04-b.svg
@@ -0,0 +1,139 @@
+<svg version="1.1" baseProfile="tiny" onload="domTest(evt)" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: struct-dom-04-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
+        <p>
+          Verify the basic capability to handle the hasFeature DOMImplementation method.
+          The DOMImplementation instance is retrieved from the Document instance. Then,
+          its hasFeature method is invoked on the various SVG feature strings.
+        </p>
+        <p>
+          The test displays the set of SVG feature strings and, next to them, a text
+          string that shows whether the feature is supported or not.
+        </p>
+        <p>
+          Note that this test uses the 'onload' event on the root svg element.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for the true and
+        false values which may differ depending on the implementation.
+      </p>
+      <p>
+        Note that the test passes whether or not the feature is supported (i.e., true or
+        false are valid). The test fails if no value (true or false) appears next to the feature string
+        value.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-04-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="text/ecmascript"><![CDATA[
+
+      var featureStrings = new Array();
+      var length = 0;
+      /*
+      featureStrings[length++] = "xml";
+      featureStrings[length++] = "stylesheets";
+      featureStrings[length++] = "views";
+      featureStrings[length++] = "css2";
+      featureStrings[length++] = "events";
+      featureStrings[length++] = "uievents	";
+      featureStrings[length++] = "mouseevents";
+      featureStrings[length++] = "mutationevents";
+      featureStrings[length++] = "traversal";
+      featureStrings[length++] = "org.w3c.svg";
+      */
+      featureStrings[length++] = "org.w3c.svg.lang";
+      featureStrings[length++] = "org.w3c.svg.dynamic";
+      featureStrings[length++] = "org.w3c.svg.static";
+      featureStrings[length++] = "org.w3c.dom.svg";
+      featureStrings[length++] = "org.w3c.svg";
+      /*
+      featureStrings[length++] = "org.w3c.dom.svg.static";
+      featureStrings[length++] = "org.w3c.dom.svg.animation";
+      featureStrings[length++] = "org.w3c.dom.svg.dynamic";
+      featureStrings[length++] = "org.w3c.svg.all";
+      featureStrings[length++] = "org.w3c.dom.svg.all";
+      */
+      var svg_ns = "http://www.w3.org/2000/svg"
+      function domTest(evt) {
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      // Get DOMImplementation
+      var domImpl = doc.implementation;
+
+      //
+      // Iterate through the feature strings
+      //
+      for(var i=0; i<featureStrings.length; i++){
+      var supports = domImpl.hasFeature(featureStrings[i], '2.0');
+      //
+      // if time, pretty up by putting xml to traveral in a left column and
+      // org.w3c.svg to org.w3c.dom.svg.all in a right column; add an extra
+      // parameter to addTextElemen t for x coord, and test if i < 9
+      //
+      addTextElement(featureStrings[i], supports, doc, doc.getElementById("test-body-content"), (45 + 40*i));
+      }
+      }
+
+      function addTextElement(label, value, doc, svg, y){
+      var newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('font-size', '30');
+      newText.setAttribute('x', '5');
+      newText.setAttribute('y', y);
+      var textValue = label;
+      var textContent = doc.createTextNode(textValue);
+      newText.appendChild(textContent);
+      svg.appendChild(newText);
+
+      newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('font-size', '30');
+      newText.setAttribute('x', '385');
+      newText.setAttribute('y', y);
+      textValue =  value;
+      textContent = doc.createTextNode(textValue);
+      newText.appendChild(textContent);
+      svg.appendChild(newText);
+      }
+
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-05-b.svg b/Tests/W3CTestSuite/svg/struct-dom-05-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4667a14ef34b8887009277a283353ca257a77ad4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-05-b.svg
@@ -0,0 +1,137 @@
+<svg version="1.1" baseProfile="basic" onload="domTest(evt)" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: struct-dom-05-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
+        <p>
+          Verify the basic capability to handle the hasFeature DOMImplementation method.
+          The DOMImplementation instance is retrieved from the Document instance. Then,
+          its hasFeature method is invoked on the various SVG feature strings.
+        </p>
+        <p>
+          The test displays the set of SVG feature strings and, next to them, a text
+          string that shows whether the feature is supported or not.
+        </p>
+        <p>
+          Note that this test uses the 'onload' event on the root svg element.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for the true and
+        false values which may differ depending on the implementation.
+      </p>
+      <p>
+        Note that the test passes whether or not the feature is supported (i.e., true or
+        false are valid). The test fails if no value (true or false) appears next to the feature string
+        value.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-05-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="text/ecmascript"><![CDATA[
+
+      var featureStrings = new Array();
+      var length = 0;
+      /*
+      featureStrings[length++] = "xml";
+      featureStrings[length++] = "stylesheets";
+      featureStrings[length++] = "views";
+      featureStrings[length++] = "css2";
+      featureStrings[length++] = "events";
+      featureStrings[length++] = "uievents	";
+      featureStrings[length++] = "mouseevents";
+      featureStrings[length++] = "mutationevents";
+      featureStrings[length++] = "traversal";
+      featureStrings[length++] = "org.w3c.svg";
+      featureStrings[length++] = "org.w3c.svg.lang";
+      featureStrings[length++] = "org.w3c.svg.dynamic";
+      featureStrings[length++] = "org.w3c.svg.static";
+      featureStrings[length++] = "org.w3c.dom.svg";
+      featureStrings[length++] = "org.w3c.svg";
+      */
+      featureStrings[length++] = "org.w3c.dom.svg.static";
+      featureStrings[length++] = "org.w3c.dom.svg.animation";
+      featureStrings[length++] = "org.w3c.dom.svg.dynamic";
+      featureStrings[length++] = "org.w3c.dom.svg.all";
+      featureStrings[length++] = "org.w3c.svg.all";
+      var svg_ns = "http://www.w3.org/2000/svg"
+      function domTest(evt) {
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      // Get DOMImplementation
+      var domImpl = doc.implementation;
+
+      //
+      // Iterate through the feature strings
+      //
+      for(var i=0; i<featureStrings.length; i++){
+      var supports = domImpl.hasFeature(featureStrings[i], '2.0');
+      //
+      // if time, pretty up by putting xml to traveral in a left column and
+      // org.w3c.svg to org.w3c.dom.svg.all in a right column; add an extra
+      // parameter to addTextElemen t for x coord, and test if i < 9
+      //
+      addTextElement(featureStrings[i], supports, doc, doc.getElementById("test-body-content"), (45 + 40*i));
+      }
+      }
+
+      function addTextElement(label, value, doc, svg, y){
+      var newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('font-size', '30');
+      newText.setAttribute('x', '5');
+      newText.setAttribute('y', y);
+      var textValue = label;
+      var textContent = doc.createTextNode(textValue);
+      newText.appendChild(textContent);
+      svg.appendChild(newText);
+
+      newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('font-size', '30');
+      newText.setAttribute('x', '385');
+      newText.setAttribute('y', y);
+      textValue =  value;
+      textContent = doc.createTextNode(textValue);
+      newText.appendChild(textContent);
+      svg.appendChild(newText);
+      }
+
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-06-b.svg b/Tests/W3CTestSuite/svg/struct-dom-06-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b9f51cee4737ff380b5ad36b3e6799720f857bc2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-06-b.svg
@@ -0,0 +1,101 @@
+<svg version="1.1" baseProfile="basic" onload="domTest(evt)" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Vincent Hardy" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: struct-dom-06-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
+      <p>
+        Verify the basic capability to handle the DOM API. The test is composed of a top
+        level svg element with an onload event handler. This handler invokes core (i.e., non
+        SVG specific) DOM API methods to modify the document's content: it removes an element,
+        modifies an attribute and adds elements.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the text "DOM API is supported" is shown, the text
+      "Removing DOM Elements is not supported" is not shown, and no red is
+      visible.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-06-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="text/ecmascript"><![CDATA[
+
+      function domTest(evt) {
+      // Get Document
+      var target = evt.target;
+      var doc = target.ownerDocument;
+
+      //
+      // Test attribute modification
+      //
+      var attributeErrorRect = doc.getElementById('attributeErrorRect');
+      attributeErrorRect.setAttribute('width', '0')
+      attributeErrorRect.setAttribute('height', '0');
+
+      //
+      // Test removing element from DOM tree
+      //
+      var elementErrorText = doc.getElementById('elementErrorText');
+      var parent = elementErrorText.parentNode;
+      parent.removeChild(elementErrorText);
+
+      //
+      // Test adding element to the DOM tree
+      //
+      var svg_ns = "http://www.w3.org/2000/svg"
+      var newText = doc.createElementNS(svg_ns, 'text');
+      newText.setAttribute('x', '50');
+      newText.setAttribute('y', '200');
+      var textContent = doc.createTextNode('DOM API is supported');
+      newText.appendChild(textContent);
+      parent.appendChild(newText);
+      }
+
+    ]]></script>
+    <!-- ===================================================================== -->
+    <!-- The following rectangle's color is red. It is modified to zero size   -->
+    <!-- in the 'domTest' ECMAScript handler.                                  -->
+    <!-- ===================================================================== -->
+    <rect id="attributeErrorRect" width="450" height="450" fill="red"/>
+    <!-- ===================================================================== -->
+    <!-- The following text element is removed from the document in the        -->
+    <!-- 'domTest' ECMAScript handler.                                         -->
+    <!-- ===================================================================== -->
+    <text id="elementErrorText" x="50" y="200" font-family="Verdana" font-size="30" fill="black">
+      Removing DOM Elements is not supported
+    </text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-07-f.svg b/Tests/W3CTestSuite/svg/struct-dom-07-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0c212849f6ba476d8138f78ff56e35a7ff9b4182
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-07-f.svg
@@ -0,0 +1,90 @@
+<svg version="1.1" baseProfile="full" onload="init();" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AQ" author="ED" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: struct-dom-07-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
+      <p>
+        The svg contains three use elements that each reference three rects from an svg element in the document.
+        Before the onload-script is run there should be 9 red rects visible. The script changes the fill of the rects to be green.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if 9 green rectangles are shown.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-07-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script><![CDATA[
+      function init()
+      {
+        var use = document.getElementById("use-elm");
+        var firstElementChild = use.instanceRoot.firstChild;
+
+        // Get the <g> elements SVGElementInstance
+        while(firstElementChild.correspondingElement.nodeType != Node.ELEMENT_NODE)
+          firstElementChild = firstElementChild.nextSibling;
+
+        // the childnodes of the g element shadowtree
+        var childNodes = firstElementChild.childNodes;
+        for(var i = 0; i < childNodes.length; i++)
+        {
+          var item = childNodes.item(i);
+          if(item.correspondingElement.nodeType == Node.ELEMENT_NODE)
+          {
+            item.correspondingElement.setAttribute("fill", "green");
+          }
+        }
+      }
+    ]]></script>
+    <defs>
+      <svg xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-sub-root" viewBox="0 0 450 450">
+        <g id="drawRects" fill="red" stroke="black" stroke-width="5">
+          <rect x="225" y="0" width="225" height="225"/>
+          <rect x="0" y="225" width="225" height="225"/>
+          <rect x="225" y="225" width="225" height="225"/>
+        </g>
+      </svg>
+    </defs>
+
+    <g transform="translate(100,30)">
+      <use id="use-elm" x="60" y="50" width="240" height="240" transform="translate(50,50) scale(0.4)" xlink:href="#svg-sub-root"/>
+      <use id="use-elm-2" x="60" y="50" width="240" height="240" transform="scale(0.4)" xlink:href="#svg-sub-root"/>
+      <use id="use-elm-3" width="450" height="450" transform="translate(124,120) scale(0.213333)" xlink:href="#drawRects"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="black"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-08-f.svg b/Tests/W3CTestSuite/svg/struct-dom-08-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fd248ce7af665d71175425d63a3b577effcce439
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-08-f.svg
@@ -0,0 +1,84 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="DAS" author="CM" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: struct-dom-08-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/[chapter]">
+        <p>
+          This tests that SVGSVGElement.unsuspendRedraw() does not
+          throw an exception if the redraw suspend timeout has elapsed.
+          After loading the test, wait for one second.  Some time
+          before the one second has elapsed, the rectangle should change
+          color to indicate the result of the test: black if the test
+          did not run, red if the test failed and green if the test
+          passed.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the rectangle is green one
+        second after the test is loaded.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-08-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='50'>Test that unsuspendRedraw() doesn't throw</text>
+    <rect id='r' x='10' y='60' width='50' height='50'/>
+
+    <script>
+      var id, svg = document.documentElement;
+
+      function begin() {
+        id = svg.suspendRedraw(10);
+        window.setTimeout("end()", 1000);
+      }
+
+      function end() {
+        try {
+          svg.unsuspendRedraw(id);
+          document.getElementById('r').setAttribute('fill', 'green');
+          return;
+        } catch (e) {
+        }
+        document.getElementById('r').setAttribute('fill', 'red');
+      }
+      
+      begin();
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-11-f.svg b/Tests/W3CTestSuite/svg/struct-dom-11-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..869f8c54eff0e6fdab300e682280be1c6d3d3f94
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-11-f.svg
@@ -0,0 +1,168 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CM" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-dom-11-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGSVGElement">
+      <p>
+        This tests that the getIntersectionList() and getEnclosureList()
+        methods return NodeLists that are not live.
+      </p>
+      <p>
+        After loading the test, two rectangles will be presented.  The
+        upper rectangle indicates the result of testing whether
+        getIntersectionList() returns a non-live NodeList, while the
+        lower rectangle indicates so for getEnclosureList().
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    	<p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if both rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-11-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='40' font-size='13'>Test getIntersectionList and getEnclosureList return value liveness</text>
+
+    <rect id='r1' x='10' y='70' width='50' height='50' fill='black'/>
+    <text x='70' y='100'>getIntersectionList</text>
+
+    <rect id='r2' x='10' y='130' width='50' height='50' fill='black'/>
+    <text x='70' y='160'>getEnclosureList</text>
+
+    <g id="g1" visibility="hidden" pointer-events="painted">
+      <circle id='c1' cx='305' cy='100' r='5'/>
+      <circle id='c2' cx='305' cy='150' r='5'/>
+    </g>
+
+    <script><![CDATA[
+			function userspace2viewport(elm, r)
+			{
+				var ctm = elm.getCTM();
+
+				var corners = [];
+				for(var i = 0; i < 4; i++)
+					corners.push(svg.createSVGPoint());
+				
+				corners[0].x = r.x;
+				corners[0].y = r.y;
+				corners[1].x = r.x + r.width;
+				corners[1].y = r.y;
+				corners[2].x = r.x + r.width;
+				corners[2].y = r.y + r.height;
+				corners[3].x = r.x;
+				corners[3].y = r.y + r.height;
+
+				for(var i = 0; i < 4; i++)
+					corners[i] = corners[i].matrixTransform(ctm);
+				
+				var min = svg.createSVGPoint();
+				var max = svg.createSVGPoint();
+				min.x = corners[0].x;
+				min.y = corners[0].y;
+				max.x = corners[0].x;
+				max.y = corners[0].y;
+				
+				for(var i = 1; i < 4; i++)
+				{
+					var x = corners[i].x;
+					var y = corners[i].y;
+					
+					if(x < min.x)
+						min.x = x;
+					else if(x > max.x)
+						max.x = x;
+					
+					if(y < min.y)
+						min.y = y;
+					else if(y > max.y)
+						max.y = y;
+				}
+				
+				var res = svg.createSVGRect();
+				res.x = min.x;
+				res.y = min.y;
+				res.width = max.x - min.x;
+				res.height = max.y - min.y;
+				return res;
+			}
+		
+      var svg = document.documentElement,
+          c = document.getElementById('c'),
+          r1 = document.getElementById('r1'),
+          r2 = document.getElementById('r2'),
+          c1 = document.getElementById('c1'),
+          c2 = document.getElementById('c2'),
+					g1 = document.getElementById('g1'),
+          r = svg.createSVGRect(),
+          nl;
+
+      try {
+        r.x = 300;
+        r.y = 95;
+        r.width = 5;
+        r.height = 5;
+		
+				r = userspace2viewport(g1, r);
+		
+        nl = svg.getIntersectionList(r, null);
+        if (nl && nl.length == 1) {
+          c1.parentNode.removeChild(c1);
+          r1.setAttribute('fill', nl.length == 1 ? 'lime' : 'red');
+        }
+      } catch (e) {
+      }
+
+      try {
+        r.x = 290;
+        r.y = 135;
+        r.width = 20;
+        r.height = 20;
+
+				r = userspace2viewport(g1, r);
+				
+        nl = svg.getEnclosureList(r, null);
+        if (nl && nl.length == 1) {
+          c2.parentNode.removeChild(c2);
+          r2.setAttribute('fill', nl.length == 1 ? 'lime' : 'red');
+        }
+      } catch (e) {
+      }
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-12-b.svg b/Tests/W3CTestSuite/svg/struct-dom-12-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c5746ff3e752108e9b420c037e0a34b31ad318c2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-12-b.svg
@@ -0,0 +1,94 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AN" author="AQ" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: struct-dom-12-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
+        <p>
+          This test checks two properties from the SVGElementInstance interface, correspondingElement and correspondingUseElement
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Click the grey rectangle on the right side.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For the test to pass, both lines starting with "Test for" must turn to green
+        when the grey rectangle on the right side is clicked, and the grey rectangle
+        must also turn green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-12-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <rect id="reference" x="240" y="1" width="239" height="358"/>
+      <script type="text/ecmascript"><![CDATA[
+        function test (event) {
+
+        // get pointers to use and reference elements
+        var reference = document.getElementById('reference');
+        var use = document.getElementById('use');
+
+        // initialize the pass count and colors
+        var pass = 0;
+        var colors = ['red', 'orange', 'green'];
+
+        // event.target.correspondingUseElement test
+        if (event.target.correspondingUseElement === use) {
+        document.getElementById('assertion_1').setAttributeNS(null, 'fill', 'green');
+        pass++;
+        }
+
+        // event.target.correspondingElement test
+        if (event.target.correspondingElement === reference) {
+        document.getElementById('assertion_2').setAttributeNS(null, 'fill', 'green');
+        pass++;
+        }
+
+        // show the result
+        use.setAttributeNS(null, 'fill', colors[pass]);
+        }
+
+
+      ]]></script>
+    </defs>
+
+    <use id="use" xlink:href="#reference" onclick="test(evt)" fill="grey"/>
+
+    <text transform="translate(5,20)">Click on the grey rectangle to start</text>
+    <text id="assertion_1" fill="red" transform="translate(5,80)">Test for correspondingUseElement</text>
+    <text id="assertion_2" fill="red" transform="translate(5,110)">Test for correspondingElement</text>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-13-f.svg b/Tests/W3CTestSuite/svg/struct-dom-13-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..028288e6ac33487b3ba776fe486167c7a9329ac5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-13-f.svg
@@ -0,0 +1,167 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" onload="test()">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="empty"
+    version="$Revision: 1.4 $" testname="$RCSfile: struct-dom-13-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/[chapter]#[section]">
+      <p>
+        Test for checkIntersection and getIntersectionList.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if 17 green rectangles are displayed and if the legend indicates PASSED.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-13-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+	<defs>
+		<style type="text/css">
+			.passed { fill: lime }
+			.failed { fill: red }
+			.result { font: 9px monospace; fill: black }
+		</style>
+	</defs>
+
+	<g visibility="hidden">
+		<circle id="c1" cx="40" cy="40" r="10" fill="blue" stroke="lime"/>
+		<circle id="c2" cx="10" cy="50" r="10" fill="red" stroke="lime"/>
+		<circle id="c3" cx="20" cy="20" r="20" fill="green" stroke="lime"/>
+		<line id="l1" x1="5" y1="5" x2="40" y2="20" stroke="black"/>
+		<line id="l2" x1="20" y1="20" x2="40" y2="30" stroke="red"/>
+
+		<rect id="r1" x="10" y="10" width="50" height="50" fill="none" stroke="red"/>
+
+		<circle id="c4" cx="80" cy="50" r="10" fill="yellow"/>
+	</g>
+	
+	<script><![CDATA[
+	var ypos = 100;
+	
+	function verify(str, result)
+	{
+		var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
+		var r = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+		var t = document.createElementNS("http://www.w3.org/2000/svg", "text");
+		t.textContent = str + ": " + (result ? "PASSED" : "FAILED");
+		t.setAttribute("class", "result");
+		t.setAttribute("x", "10");
+		t.setAttribute("y", "7");
+		r.setAttribute("y", "1");
+		r.setAttribute("width", "5");
+		r.setAttribute("height", "5");
+		g.setAttribute("class", result ? "passed" : "failed");
+		g.appendChild(r);
+		g.appendChild(t);
+		g.setAttribute("transform", "translate(280 " + ypos + ")");
+		ypos += 10;
+		document.getElementById("test-body-content").appendChild(g);
+	}
+		
+	function test()
+	{
+		var root = document.documentElement; //document.getElementById("test-root");
+		var rect = root.createSVGRect();
+		rect.x = 10;
+		rect.y = 10;
+		rect.width = 50;
+		rect.height = 50;
+		
+		var tests = { "c1" : true, "c2" : true, "c3" : true, "l1" : true, "l2" : true, "r1" : true, "c4" : false };
+		
+		verify("checkIntersection", root.checkIntersection);
+		
+		if(root.checkIntersection)
+		{
+			for(var test in tests)
+			{
+				try 
+				{
+					var elm = document.getElementById(test);
+					var result = root.checkIntersection(elm, rect);
+				
+					verify(test, result == tests[test]);
+				} 
+				catch(e)
+				{
+					verify(test, false);
+				}
+			}
+		}
+		
+		verify("getIntersectionList", root.getIntersectionList);
+		
+		if(root.getIntersectionList)
+		{
+			var expected = [ "c1", "c2", "c3", "l1", "l2", "r1" ];
+			try 
+			{
+				var list = root.getIntersectionList(rect, null);
+				verify("call", true);
+			}
+			catch(e)
+			{
+				verify("call", false);
+			}
+			
+			try
+			{
+				verify("length", expected.length == list.length);
+			}
+			catch(e)
+			{
+				verify("length", false);
+			}
+			
+			for(var i = 0; i < expected.length; i++)
+			{
+				var elm = document.getElementById(expected[i]);
+				try
+				{
+					verify("has " + expected[i], elm === list.item(i))
+				}
+				catch(e)
+				{
+					verify("has " + expected[i], false);
+				}
+			}
+		}
+	}
+
+	]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-14-f.svg b/Tests/W3CTestSuite/svg/struct-dom-14-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1f0bb86253b13e4faf075e9a5ffc26b8faf52238
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-14-f.svg
@@ -0,0 +1,112 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" onload="runTest()">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="ED" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: struct-dom-14-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGElementInstance">
+      <p>
+        Test SVGElementInstance.childNodes.
+      </p>
+      <p>
+        The test has an optional subtest that indicates whether SVGElementInstance.firstChild and
+        SVGElementInstance.childNodes.item(0) are strictly equal. The status of this subtest is
+        displayed by a circle in the middle of the testframe, it will be yellow if the objects are
+        not strictly equal, and green if they are.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is a green rect visible,
+        and there is a yellow or dark green circle in the middle. 
+        If there's any red visible the test has failed. 
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-14-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <g id="defsg1">
+        <circle id="defscircle3" cx="80" cy="180" r="25"/>
+        <circle id="defscircle4" cx="1000" cy="180" r="25"/>
+        <use xlink:href="#defscircle4" transform="translate(-600, 0)"/>
+      </g>
+      <script>
+        <![CDATA[
+        function runTest()
+        {
+          try 
+          {
+            var use = document.getElementById("use1");
+            var instanceroot = use.instanceRoot;
+            
+            if (instanceroot.firstChild.correspondingElement !== instanceroot.childNodes.item(0).correspondingElement)
+              throw("failed");
+            if (instanceroot.firstChild.nextSibling.correspondingElement !== instanceroot.childNodes.item(1).correspondingElement)
+              throw("failed");
+            if (instanceroot.lastChild.correspondingElement !== instanceroot.childNodes.item(instanceroot.childNodes.length-1).correspondingElement)
+              throw("failed");
+
+            // indicate test passed
+            document.getElementById("status").setAttribute("fill", "lime");
+              
+            // This is an optional part of the test, which indicates whether SVGElementInstance(List) follows the normal DOM NodeList conventions and 
+            // whether the returned objects are actually the same objects as those that the SVGElementInstance traversal attributes return.
+            if (instanceroot.firstChild !== instanceroot.childNodes.item(0))
+              throw("failed");
+            if (instanceroot.firstChild.nextSibling !== instanceroot.childNodes.item(1))
+              throw("failed");
+            if (instanceroot.lastChild !== instanceroot.childNodes.item(instanceroot.childNodes.length-1))
+              throw("failed");
+            
+            // indicate status of the optional part of the test 
+            document.getElementById("optional").setAttribute("fill", "green");
+          }
+          catch(e)
+          {
+          }
+        }
+      ]]>
+      </script>
+    </defs>
+
+    <use id="use1" xlink:href="#defsg1"/>
+
+    <rect id="status" width="100%" height="100%" fill="red"/>
+    <circle id="optional" cx="50%" cy="50%" r="10%" fill="yellow"/>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-15-f.svg b/Tests/W3CTestSuite/svg/struct-dom-15-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b5329b690eade7984699f3cc1aad00839797539e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-15-f.svg
@@ -0,0 +1,139 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" onload="runTest()">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: struct-dom-15-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGElementInstance">
+      <p>
+        Test SVGElementInstance and EventTarget.dispatchEvent. 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are three green circles visible, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-15-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <circle id="defscircle1" cx="240" cy="180" r="25" onclick="verifyDefs1(evt)" fill="red"/>
+      <circle id="defscircle2" cx="240" cy="180" r="25" onclick="verifyDefs2(evt)" fill="red"/>
+
+      <script><![CDATA[
+        function verifyDefs1(e)
+        {
+          var dc = document.getElementById("defscircle1");
+          if (e.target === e.currentTarget &&   // Assertion: the target and currentTarget are the same
+              e.target === dc)                  // Assertion: the target is the 'circle' element since we dispatched the event directly to it, not to an SVGElementInstance
+          {
+            dc.setAttribute("fill", "lime");
+          }
+        }
+        
+        // checks that event.target and event.currentTarget point to an SVGElementInstance (the instanceRoot)
+        function verifyDefs2(e)
+        {
+          var instance = document.getElementById("use2").instanceRoot;
+          if (e.target === e.currentTarget &&   // Assertion: the target and currentTarget are the same
+              e.target === instance)            // Assertion: the target is SVGElementInstance corresponding to the 'circle' element with id="defscircle2", since we dispatched the event to that instance
+          {
+            instance.correspondingElement.setAttribute("fill", "lime");
+          }
+        }
+                
+        function verify(e)
+        {
+          var c = document.getElementById("circle");
+          if (e.target === e.currentTarget &&   // Assertion: the target and currentTarget are the same
+              e.target === c)                   // Assertion: the target is the 'circle' element since we dispatched the event directly to it
+          {
+            c.setAttribute("fill", "lime");
+          }
+        }
+        
+        function dispatchMouseClick(target)
+        {
+           var mouseevent = document.createEvent("MouseEvents");
+           mouseevent.initMouseEvent("click", 
+                                      true,                 // canbubble
+                                      true,                 // cancellable
+                                      document.defaultView, // the AbstractView
+                                      1,                    // mouseclick count
+                                      0,                    // screen x coordinate
+                                      0,                    // screen y coordinate 
+                                      0,                    // client x coordinate
+                                      0,                    // client y coordinate
+                                      false,                // ctrlKey
+                                      false,                // altKey
+                                      false,                // shiftKey
+                                      false,                // metaKey
+                                      0,                    // mousebutton
+                                      null);                // related target
+           target.dispatchEvent(mouseevent);
+        }
+        
+        function runTest()
+        {
+          // test simple circle inside <defs>
+          try { 
+            var defsCircle = document.getElementById("defscircle1");
+            dispatchMouseClick(defsCircle);
+          } catch(e) {}
+          
+          // test SVGElementInstance
+          try {
+            var elementInstance2 = document.getElementById("use2").instanceRoot;
+            dispatchMouseClick(elementInstance2);
+          } catch(e) {}
+          
+          // test simple circle outside of <defs>
+          try {
+            var circle = document.getElementById("circle");
+            dispatchMouseClick(circle);
+          } catch(e) {}
+        }
+      ]]></script>
+    </defs>
+
+    <circle id="circle" cx="240" cy="180" r="25" onclick="verify(evt)" fill="red"/>
+    
+    <use id="use1" xlink:href="#defscircle1" transform="translate(80,0)"/>
+    <use id="use2" xlink:href="#defscircle2" transform="translate(-80,0)"/>
+    <use id="use3" xlink:href="#defsg1"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-16-f.svg b/Tests/W3CTestSuite/svg/struct-dom-16-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7747c72f0ead18e499e810e6c83f4b8f2628679a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-16-f.svg
@@ -0,0 +1,128 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="[reviewer]" author="Microsoft" status="created" version="$Revision: 1.5 $" testname="$RCSfile: struct-dom-16-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#InterfaceSVGSVGElement">
+      <p>
+        The 'SVGSVGElement' interface allows for creation of references to various primitive SVG interface types with explicitly defined default values.
+      </p>
+      <p>
+        A reference to an 'SVGSVGElement' is obtained through an 'svg' element in the page's markup. Each of the 'CreateSVG*' methods is called from this 
+        reference and initial values are verified. A counter is used to determine whether all conditions are satisfied. The word 'fail' in red via an SVG 
+        'text' element is used to indicate failure and the word 'pass' in black is used to indicate passing.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-16-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <svg id="testSVG" />
+    <text id="failText" x="350" y="350" font-size="50" fill="red">FAIL</text>
+    <text id="passText" x="350" y="300" font-size="50" display="none">PASS</text>
+    <script type="text/javascript">    
+      <![CDATA[
+        try
+        {
+            var passCount = 0;
+            var testSVG = document.getElementById("testSVG");
+
+            var testSVGNumber = testSVG.createSVGNumber();
+            if (0 == testSVGNumber.value)
+            {
+                passCount++;
+            }
+
+            var testSVGLength = testSVG.createSVGLength();
+            if (0 == testSVGLength.value)
+            {
+                passCount++;
+            }
+
+            var testSVGAngle = testSVG.createSVGAngle();
+            if (0 == testSVGAngle.value)
+            {
+                passCount++;
+            }
+
+            var testSVGPoint = testSVG.createSVGPoint();
+            if (0 == testSVGPoint.x && 0 == testSVGPoint.y)
+            {
+                passCount++;
+            }
+
+            var testSVGMatrix = testSVG.createSVGMatrix();
+            if (1 == testSVGMatrix.a && 0 == testSVGMatrix.b && 0 == testSVGMatrix.c  && 1 == testSVGMatrix.d && 0 == testSVGMatrix.e && 0 == testSVGMatrix.f) 
+            {
+                passCount++;
+            }
+
+            var testSVGRect = testSVG.createSVGRect();
+            if (0 == testSVGRect.x && 0 == testSVGRect.y && 0 == testSVGRect.width && 0 == testSVGRect.height)
+            {
+                passCount++;
+            }
+
+            var testSVGTransform = testSVG.createSVGTransform();
+            if (1 == testSVGTransform.type && 0 == testSVGTransform.angle && 1 == testSVGTransform.matrix.a && 0 == testSVGTransform.matrix.b && 0 == testSVGTransform.matrix.c && 1 == testSVGTransform.matrix.d && 0 == testSVGTransform.matrix.e && 0 == testSVGTransform.matrix.f)
+            {
+                passCount++;
+            }
+
+            var testSVGTransformFromMatrix = testSVG.createSVGTransformFromMatrix(testSVGMatrix);
+            if (1 == testSVGTransformFromMatrix.type && 0 == testSVGTransformFromMatrix.angle && 1 == testSVGTransformFromMatrix.matrix.a && 0 == testSVGTransformFromMatrix.matrix.b && 0 == testSVGTransformFromMatrix.matrix.c && 1 == testSVGTransformFromMatrix.matrix.d && 0 == testSVGTransformFromMatrix.matrix.e && 0 == testSVGTransformFromMatrix.matrix.f)
+            {
+                passCount++;
+            }
+
+            if (8 == passCount)
+            {
+                document.getElementById("failText").setAttribute("display", "none");
+                document.getElementById("passText").setAttribute("display", "inline");
+            }
+        }
+        catch(ex)
+        {
+          alert("ERROR: " + ex.message);
+      
+        }
+        ]]>
+
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-17-f.svg b/Tests/W3CTestSuite/svg/struct-dom-17-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..26121e794165b9a79c3f98d2bc8e581fd55780de
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-17-f.svg
@@ -0,0 +1,104 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.3 $" testname="$RCSfile: struct-dom-17-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#InterfaceSVGSVGElement">
+      <p>
+        Tests that the 'getElementById' method for the 'SVGSVGElement' interface is scoped.
+      </p>
+      <p>
+        Two subtrees of 'svg' elements are used, each with 'rect' elements as children. A reference to the first 'svg' element is obtained via the
+        'document' element's 'getElementById' method. This reference is used to verify the presence of 'getElementId'. Next, 'getElementById' on
+        the 'SVGSVGElement' reference is used to locate its child element. Then, 'getElementById' attempts to get an element in a neighboring subtree.
+        Finally, an element at the sibling level is attempted to be accessed via 'getElementById'.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-17-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <svg id="svgTree1">
+        <rect id="subElem1" />
+    </svg>
+    <svg id="svgTree2">
+        <rect id="subElem2" />
+    </svg>
+    <rect id="siblingElem1" />
+    <g transform="translate(320,350)" font-size="50">
+      <text id="failText" fill="red">FAIL</text>
+      <text id="passText" fill="green" display="none">PASS</text>
+    </g>
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var passedCount = 0;
+            var svgTree1 = document.getElementById("svgTree1");
+
+            // Test support for "getElementById" on svgTree1
+            var subElem1 = svgTree1.getElementById("subElem1");
+            if (null != subElem1)
+            {
+                passedCount++;
+            }
+
+            if ("subElem1" == subElem1.id)
+            {
+                passedCount++;
+            }
+
+            // Test that "getElementById" on svgTree1 can't access children in other subtrees
+            if (null == svgTree1.getElementById("subElem2"))
+            {
+                passedCount++;    
+            }
+
+            // Test that "getElementById" on svgTree1 can't access elements that are not its children
+            if (null == svgTree1.getElementById("siblingElem1"))
+            {
+                passedCount++;    
+            }
+
+            if (4 == passedCount)
+            {
+                document.getElementById("failText").setAttribute("display", "none");
+                document.getElementById("passText").setAttribute("display", "inline");
+            }
+        }
+        catch(ex)
+        {
+            // alert('ERROR: ' + ex.message);
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-18-f.svg b/Tests/W3CTestSuite/svg/struct-dom-18-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..27977a22195a2603ae89e2880aca68ad7d303cef
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-18-f.svg
@@ -0,0 +1,147 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="[reviewer]" author="Microsoft" status="created" version="$Revision: 1.4 $" testname="$RCSfile: struct-dom-18-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#InterfaceSVGSVGElement">
+      <p>
+        <!--[[
+        The 'SVGSVGElement' supports 'getIntersectionList' and 'getEnclosureList' with all renderable elements.
+        ]]-->
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        <!--[[
+        Markup for an instance of each renderable SVG element is placed in an 'svg' element. The 'getIntersectionList' and 'getEnclosureList'
+        methods are called from a reference to the parent 'svg' element. For 'getIntersectionList', an 'SVGRect' is used with 'x', 'y', 'width',
+        and 'height' attributes set to intersect each of the renderable elements. For 'getEnclosureList', the same 'SVGRect' is modified to
+        completely enclose all of the renderable elements. For both 'getIntersectionList' and 'getEnclosureList', the returned 'NodeList' element
+        is iterated through and each element is verified through their respective 'id' attributes. For the 'use' element, the 'correspondingUseElement'
+        attribute must be used because an 'SVGElementInstance' reference is obtained via 'getEnclosureList' and 'getIntersectionList'. 
+        ]]-->
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        <!--[[
+        Test passes if there is no red visible on the page.
+        ]]-->
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-18-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <svg id="testSVG">
+        <circle cx="96" cy="96" r="48" id="testCircle" />
+        <ellipse cx="96" cy="96" rx="48" ry="48" id="testEllipse" />
+        <line x1="10" y1="10" x2="10" y2="100" stroke="black" id="testLine" />
+        <path d="M0 10 H 100" stroke-width="5" stroke="black" fill="none" id="testPath" />
+        <polyline points="0,0 120,100 120,120" stroke="black" fill="black" id="testPolyline" />
+        <polygon points="0,0 100,100" stroke="black" fill="black" id="testPolygon" />
+        <rect width="96" height="96" id="testRect" />
+        <use xlink:href="#testRect" id="testUse" />
+        <image xlink:href="../images/black10x10.png" width="100" height="100" id="testImage" />
+        <text x="100" y="100" fill="black" id="testText">Filler text</text>
+    </svg>
+    <text id="failText" x="350" y="350" font-size="50" fill="red">FAIL</text>
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var passedCount = 0;
+            var expectedIDList = ["testCircle", "testEllipse", "testLine", "testPath", "testPolyline", "testPolygon", "testRect", "testUse", "testImage", "testText"];
+            var testSVG = document.getElementById("testSVG");
+            var rectElem = testSVG.createSVGRect();
+
+            rectElem.x = 10;
+            rectElem.y = 0;
+            rectElem.width = 130;
+            rectElem.height = 98;
+
+            var intersectionList = testSVG.getIntersectionList(rectElem, null);
+
+            if (null != intersectionList && expectedIDList.length == intersectionList.length)
+            {
+                passedCount++;
+            }
+
+            for (var i = 0; i < intersectionList.length; i++)
+            {
+                var curIntersection = intersectionList[i];
+                var curExpectedId = expectedIDList[i];
+
+                if (curExpectedId == curIntersection.id)
+                {
+                    passedCount++;
+                }
+                // Special case for "use" and SVGElementInstance
+                else if (null != curIntersection.correspondingUseElement && curExpectedId == curIntersection.correspondingUseElement.id)
+                {
+                    passedCount++;
+                }
+            }
+
+            rectElem.x = 0;
+            rectElem.y = 0;
+            rectElem.width = 200;
+            rectElem.height = 200;
+
+            var enclosureList = testSVG.getEnclosureList(rectElem, null);
+
+            if (null != enclosureList && expectedIDList.length == enclosureList.length)
+            {
+                passedCount++;
+            }
+
+            for (var i = 0; i < enclosureList.length; i++)
+            {
+                var curEnclosure = enclosureList[i];
+                var curExpectedId = expectedIDList[i];
+
+                if (curExpectedId == curEnclosure.id)
+                {
+                    passedCount++;
+                }
+                // Special case for "use" and SVGElementInstance
+                else if (null != curEnclosure.correspondingUseElement && curExpectedId == curEnclosure.correspondingUseElement.id)
+                {
+                    passedCount++;
+                }
+            }
+
+            if (22 == passedCount)
+            {
+                document.getElementById("failText").setAttribute("display", "none");
+            }
+        }
+        catch(ex)
+        {
+            // alert('ERROR: ' + ex.message);
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-19-f.svg b/Tests/W3CTestSuite/svg/struct-dom-19-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..839a202efaf155759c9cc5ec715e8f4d0b7a1763
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-19-f.svg
@@ -0,0 +1,92 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.3 $" testname="$RCSfile: struct-dom-19-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#InterfaceSVGElementInstanceList">
+      <p>
+        Test that the 'SVGElementInstanceList' element's 'length' attribute correctly reflects the implied element hierarchy on recursive 'use' instances.
+      </p>
+      <p>
+        The test has a 'use' element referencing a 'g' element with another 'use' element referencing the 'use' element. The 'instanceRoot' of the
+        most indirect 'use' element is used to access the corresponding 'SVGElementInstance'. The test passes if the 'childNodes' attribute's 'length'
+        attribute for the most indirect 'SVGElementInstance' has a value of '1' and the 'childNodes' attribute's 'length' attribute for the most direct
+        'SVGElementInstance' has a value of '0'.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-19-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect id="testElem" />
+    <use xlink:href="#testElem" id="testUse1" />
+    <use xlink:href="#testUse1" id="testUse2" />
+    <g transform="translate(100,100)" font-size="80">
+      <text id="failText" fill="red">FAIL</text>
+      <text id="passText" fill="green" display="none">PASS</text>
+    </g>
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var passedCount = 0;
+            var testInstanceRoot1 = document.getElementById("testUse1").instanceRoot;
+            var testInstanceRoot2 = document.getElementById("testUse2").instanceRoot;
+
+            if (0 == testInstanceRoot1.childNodes.length)
+            {
+                passedCount++;
+            }
+
+            if (1 == testInstanceRoot2.childNodes.length)
+            {
+                passedCount++;
+            }
+
+            if (2 == passedCount)
+            {
+                document.getElementById("failText").setAttribute("display", "none");
+                document.getElementById("passText").setAttribute("display", "inline");
+            }
+        }
+        catch(ex)
+        {
+
+          //alert('ERROR: ' + ex.message);
+
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-dom-20-f.svg b/Tests/W3CTestSuite/svg/struct-dom-20-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..09018aea56f53ae0c72d97130e5f34baef17f295
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-dom-20-f.svg
@@ -0,0 +1,139 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" onload="runTest()">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: struct-dom-20-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGElementInstance">
+      <p>
+        Test SVGElementInstance and EventTarget.dispatchEvent. 
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are two green circles visible, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-dom-20-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <g id="defsg1" onclick="verifyDefs3(evt)">
+        <circle id="defscircle3" cx="80" cy="180" r="25" fill="red"/>
+        <use id="defsuse1" xlink:href="#defscircle4" transform="translate(-600, 0)" onclick="verifyDefs4(evt)"/>
+      </g>
+      <circle id="defscircle4" cx="1000" cy="180" r="25" fill="red"/>
+      
+      <script><![CDATA[        
+        function verifyDefs3(e)
+        {
+          var instance = document.getElementById("use3").instanceRoot;
+          var dc3instance = instance.firstChild.nextSibling;
+          if (e.target != e.currentTarget &&         // Assertion: the target and currentTarget are different since the event bubbled
+              e.target === dc3instance &&            // Assertion: the event was dispatched to the correct EventTarget
+              e.currentTarget === instance)          // Assertion: the event bubbled up to the SVGElementInstance corresponding to the element with id="defsg1"
+          {
+            dc3instance.correspondingElement.setAttribute("fill", "lime");
+          }
+        }
+        
+        function verifyDefs4(e)
+        {
+          var useElement = document.getElementById("use3");
+          var nestedUseInstance = useElement.instanceRoot.childNodes.item(3);
+          var instanceNestedCircle = nestedUseInstance.childNodes.item(0);
+          if (e.target != e.currentTarget &&                               // Assertion: the target and currentTarget are different since the event bubbled
+              e.target === instanceNestedCircle &&                         // Assertion: the event was dispatched to the correct EventTarget
+              e.currentTarget === nestedUseInstance &&                     // Assertion: the event bubbled up to the SVGElementInstance corresponding to the element with id="defsuse1"
+              instanceNestedCircle.parentNode === nestedUseInstance &&     // Assertion: the parentNode is the SVGElementInstance of the 'use' that referenced the circle
+              instanceNestedCircle.correspondingUseElement === useElement) // Assertion: When 'use' elements are nested then the correspondingUseElement is the outermost 'use'
+          {
+            document.getElementById("defscircle4").setAttribute("fill", "lime");
+          }
+        }
+        
+        function verify(e)
+        {
+          var c = document.getElementById("circle");
+          if (e.target === e.currentTarget &&   // Assertion: the target and currentTarget are the same
+              e.target === c)                   // Assertion: the target is the 'circle' element since we dispatched the event directly to it
+          {
+            c.setAttribute("fill", "lime");
+          }
+        }
+        
+        function dispatchMouseClick(target)
+        {
+           var mouseevent = document.createEvent("MouseEvents");
+           mouseevent.initMouseEvent("click", 
+                                      true,                 // canbubble
+                                      true,                 // cancellable
+                                      document.defaultView, // the AbstractView
+                                      1,                    // mouseclick count
+                                      0,                    // screen x coordinate
+                                      0,                    // screen y coordinate 
+                                      0,                    // client x coordinate
+                                      0,                    // client y coordinate
+                                      false,                // ctrlKey
+                                      false,                // altKey
+                                      false,                // shiftKey
+                                      false,                // metaKey
+                                      0,                    // mousebutton
+                                      null);                // related target
+           target.dispatchEvent(mouseevent);
+        }
+        
+        function runTest()
+        {
+          // test bubbling click
+          try {
+            var instanceCircle = document.getElementById("use3").instanceRoot.firstChild.nextSibling;
+            dispatchMouseClick(instanceCircle);
+          } catch(e) {}
+          
+          // test nested use with bubbling click
+          try {
+            var nestedUseInstance = document.getElementById("use3").instanceRoot.childNodes.item(3);
+            var instanceNestedCircle = nestedUseInstance.childNodes.item(0);
+            dispatchMouseClick(instanceNestedCircle);
+          } catch(e) {}
+        }
+      ]]></script>
+    </defs>
+    
+    <use id="use3" xlink:href="#defsg1"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-frag-01-t.svg b/Tests/W3CTestSuite/svg/struct-frag-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6fe9bcc3367cdbad0c25a6a856da00285eef2810
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-frag-01-t.svg
@@ -0,0 +1,49 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-frag-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#NewDocument">
+        <p>
+         This is an empty SVG document.  
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Nothing should be rendered by the User Agent.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-frag-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+  </g>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-frag-02-t.svg b/Tests/W3CTestSuite/svg/struct-frag-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c52f894696394f2a341960166cb6d5b27c9ce948
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-frag-02-t.svg
@@ -0,0 +1,68 @@
+<svg version="1.1" baseProfile="tiny" preserveAspectRatio="none" id="svg-root"
+  width="100%" height="100%" viewBox="100 100 100 100"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-frag-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#NewDocument">
+        <p>
+          This test validates the use of the preserveAspectRatio attribute on the
+          root svg element in an SVG Tiny document. In this document, preserveAspectRatio
+          is set to none and the width and height of the document set to 100%.
+        </p>
+        <p>
+          The document's viewBox is defined to be 100 by 100 with an origin
+          in (100, 100). The content is made of 2 red squares and 2
+          orange circles.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Because preserveAspectRatio is set to 'none', the content should
+        appear distorted (if the aspect ratio is not 1): squares show as rectangles and circles show as
+        ellipses.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-frag-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect x="100" y="100" width="50" height="50" fill="rgb(220, 20, 60)"/>
+    <rect x="150" y="150" width="50" height="50" fill="rgb(220, 20, 60)"/>
+
+    <circle cx="125" cy="175" r="25" fill="rgb(255, 215, 0)"/>
+    <circle cx="175" cy="125" r="25" fill="rgb(255, 215, 0)"/>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="100" y="100" width="100" height="100" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-frag-03-t.svg b/Tests/W3CTestSuite/svg/struct-frag-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9d73f8b1ed7aba0075f8e0d67f6a04f7463749b3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-frag-03-t.svg
@@ -0,0 +1,66 @@
+<svg version="1.1" baseProfile="tiny" preserveAspectRatio="xMidYMid meet" id="svg-root"
+  width="100%" height="100%" viewBox="100 100 100 100"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-frag-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#NewDocument">
+        <p>
+          This test validates the use of the preserveAspectRatio attribute on the
+          root svg element in an SVG Tiny document. In this document, preserveAspectRatio
+          is set to 'xMidYMid meet' and the width and height of the document set to 100%.
+        </p>
+        <p>
+          The document's viewBox is defined to be 100 by 100 with an origin
+          in (100, 100). The content is made of 2 red squares and 2
+          orange circles.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>      
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Because preserveAspectRatio is set to 'xMidYMid meet', the content should
+        appear centered within the viewport: squares show as squares (and not
+        rectangles) and circles show as circles (and not ellipses).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-frag-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect x="100" y="100" width="50" height="50" fill="rgb(220, 20, 60)"/>
+    <rect x="150" y="150" width="50" height="50" fill="rgb(220, 20, 60)"/>
+
+    <circle cx="125" cy="175" r="25" fill="rgb(255, 215, 0)"/>
+    <circle cx="175" cy="125" r="25" fill="rgb(255, 215, 0)"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="100" y="100" width="100" height="100" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-frag-04-t.svg b/Tests/W3CTestSuite/svg/struct-frag-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bd2fdc7e9f5b483bb51d527c22e21a0f3fc60fa3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-frag-04-t.svg
@@ -0,0 +1,64 @@
+<svg version="1.1" baseProfile="tiny" preserveAspectRatio="xMidYMid meet" id="svg-root"
+  width="100%" height="100%" x="1000" y="1000" 
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-frag-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#NewDocument">
+        <p>
+          This test validates the operation of the svg element when there is no
+          viewbox. 
+        </p>
+        <p>
+          The document has x/y attributes set to (1000, 1000). Because 
+          x/y are ignored on the root svg element, the x/y origin should have no 
+          effect on the drawing.
+        </p>
+        <p>
+          The document contains squares and circles between the
+          (100,100) and (200, 200) coordinates. 
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+        <p>Run the test. No interaction required. If the test is run outside of the harness, the operator may resize the viewport.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+        <p>The rendered picture should match the reference image. Changing the viewport
+          size should have no effect on the placement or scale of the document's content.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-frag-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect x="100" y="100" width="50" height="50" fill="rgb(220, 20, 60)"/>
+    <rect x="150" y="150" width="50" height="50" fill="rgb(220, 20, 60)"/>
+
+    <circle cx="125" cy="175" r="25" fill="rgb(255, 215, 0)"/>
+    <circle cx="175" cy="125" r="25" fill="rgb(255, 215, 0)"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-frag-05-t.svg b/Tests/W3CTestSuite/svg/struct-frag-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a7d2e943009b49cb1a14103f43dc08e35db7cc0c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-frag-05-t.svg
@@ -0,0 +1,86 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="CL" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: struct-frag-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#NewDocument">
+      <p>
+        This tests that XML Namespaces are correctly implemented, in that the tuple
+        of local name and namespace URI, rather than the prefix, is important.
+      </p>
+      <p>
+        The first subtest is a
+        group where the namespace prefix s is bound to the SVG namespace and an s:circle is drawn
+        in pale yellow. The same group declares the default namespace to be a non-SVG namespace; the
+        blue circle element in that namespace must not be drawn.
+      </p>
+      <p>
+        The second subtest puts the namespace declarations on the elements themselves.  The
+        prefix toto is bound to the SVG namespace and the XLink namespace is made the default namespace.
+        Thus, the blue &lt;toto:a href="uri"&gt;Valid&lt;/toto:a&gt; is a valid link and must be traversable. Select this link,
+        then go back to the test.
+      </p>
+      <p>
+        The third subtest has no prefix on the element name 'a' and uses the usual xlink: prefix on the href
+        attribute. However, both the default namespace and the namespace bound to the xlink prefix are
+        dummy namespaces. Not only should the link not be traversable, it must not even display at all.
+        If the text 'Invalid' is displayed, the test fails.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test and click on the "Valid" link.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the following conditions are met:</p>
+      <ul>
+        <li>A yellow circle is shown.</li>
+        <li>A blue circle is not shown.</li>
+        <li>The text "Valid" is shown in blue.</li>
+        <li>The text "Invalid" is not shown.</li>
+        <li>Clicking "Valid" navigates to the "TOC &amp; index of linking tests" document, linkingToc-t.svg.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-frag-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="Arial,sans-serif">
+      <s:g xmlns="http://www.example.org/notsvg" xmlns:s="http://www.w3.org/2000/svg">
+        <s:circle cx="240" cy="180" r="130" fill="#FF6"/>
+        <circle cx="240" cy="180" r="150" fill="#369"/>
+      </s:g>
+      <text x="240" y="100" text-anchor="middle" font-size="40" fill="#369">
+        <a xmlns:toto="http://www.w3.org/2000/svg" xmlns:dahut="http://www.w3.org/1999/xlink" dahut:href="../images/linkingToc-t.svg">Valid</a>
+      </text>
+      <text x="240" y="250" text-anchor="middle" font-size="40" fill="#C33">
+        <a xmlns="http://example.org/notsvg" xmlns:xlink="http://example.org/notxlink" xlink:href="../images/linkingToc-t.svg">Invalid</a>
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-frag-06-t.svg b/Tests/W3CTestSuite/svg/struct-frag-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8f22f0d03d146b6f150d683757435a407eb899b6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-frag-06-t.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="tiny" zoomAndPan="magnify" preserveAspectRatio="xMidYMid meet" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="VH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-frag-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#NewDocument">
+      <p>
+        This test adds testing of some basic XML features SVG User Agents
+        should support.
+      </p>
+      <p>
+        First, the test checks support for the default entities amp, lt, gt, apos
+        and quot. This is what the first line shows in gray.
+      </p>
+      <p>
+        Second, the test checks support for hexadecimal and decimal character
+        entities, as shown in the second line, again in gray
+      </p>
+      <p>
+        Finally, the last line shows usage of an entity defined in the
+        document's internal DTD subset. The same geometry (a path) is
+        reused twice, once filled in gray and ones stroked in gray.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if the following conditions are met:</p>
+      <ul>
+        <li>The text string <span style="background: #ffa; border: 1px solid gray; padding: 0 2px">&amp;, &lt;, &gt;, ', "</span> is shown in gray.</li>
+        <li>The text string <span style="background: #ffa; border: 1px solid gray; padding: 0 2px">A hexadecimal (&amp;#x41)= A</span> is shown in gray.</li>
+        <li>The text string <span style="background: #ffa; border: 1px solid gray; padding: 0 2px">A decimal (&amp;#65)= A</span> is shown in gray.</li>
+        <li>Two octagons are shown: one gray filled, and one gray stroked &amp; unfilled.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-frag-06-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="30" y="30">Default entities: amp, lt, gt, apos, quot: </text>
+    <text x="90" y="60" fill="gray">&amp;, &lt;, &gt;, ', "</text>
+    <text x="30" y="100">Character references:</text>
+    <text x="90" y="130" fill="gray">    A hexadecimal (&amp;#x41)= A</text>
+    <text x="90" y="160" fill="gray">    A decimal      (&amp;#65)= A</text>
+    <text x="30" y="200">Entity references:</text>
+    <text x="105" y="228" text-anchor="middle">gray</text>
+    <g transform="translate(90, 235) scale(0.2)" fill="gray">
+      <path d="M60,0 l60,0 l60,60 l0,60 l-60,60 l-60,0 l-60,-60 l0,-60 z"/>
+    </g>
+    <text x="205" y="228" text-anchor="middle">outlined</text>
+    <g transform="translate(190, 235) scale(0.2)" fill="none" stroke="gray" stroke-width="5">
+      <path d="M60,0 l60,0 l60,60 l0,60 l-60,60 l-60,0 l-60,-60 l0,-60 z"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-group-01-t.svg b/Tests/W3CTestSuite/svg/struct-group-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3326f1d8c42f85915c56a78a640020a00e5858ea
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-group-01-t.svg
@@ -0,0 +1,77 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-group-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#Groups">
+      <p>
+        The test checks to see that graphics elements (g) can be nested and that the like attributes can be passed to the children.
+        All the g elements for this test are in the g element whose id=allGs.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+        The test uses the 'rect' element, as well as basic fill (solid primary colors),
+        stroke (black 1-pixel lines), font-family and font-size properties.
+      </p>
+      <p>
+        The two blue rectangles and the yellow are in the g labeled rects.
+        The blue rectangles inherit a fill color the green rect has a fill specified and it should not be overwritten.
+        The two yellow rectangles should inherit the fill color and the transform attribute, they should be
+        yellow and rotated at -20 degrees. These two rectangles are in g "yellowNrotate", that g is nested
+        inside g "gratuitiousG".  The black rectangle in the upper right, has no attributes inherited from its parent.
+        The focus is nesting of g elements and passing on of attributes.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except for possible
+        variations in the labelling text (per CSS2 rules).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-group-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="rects" fill="blue">
+      <rect x="0" y="0" width="240" height="180"/>
+      <rect x="60" y="45" width="120" height="90" fill="green"/>
+      <rect x="240" y="180" width="240" height="180"/>
+    </g>
+    <g id="singleG">
+      <rect x="240" y="0" width="240" height="180" fill="black"/>
+    </g>
+    <g id="gratuitiousG">
+      <g id="yellowNrotate" fill="yellow" transform="rotate(-20)">
+        <rect x="0" y="224" width="40" height="40"/>
+        <rect x="0" y="280" width="40" height="40"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-group-02-b.svg b/Tests/W3CTestSuite/svg/struct-group-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bbc2a59af425ce2d796cc6dc21e4c9e3831b7c96
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-group-02-b.svg
@@ -0,0 +1,78 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: struct-group-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#Groups">
+        <p>
+          The purpose of this test is to check the nesting of SVG elements.
+        </p>
+        <p>
+         The test uses the 'rect' element, as well as basic fill (solid primary colors),
+         stroke (black 1-pixel lines), font-family and font-size properties.
+        </p>
+        <p>
+          There are 4 svg elements in the test.
+          The first defines the outer square at 480x360.
+          The second whose id is lowerRight defines a green rectangle which is 1/4 of the outer svg element.
+          The third svg whose id is upperLeft defines a region that is the upper 1/4 of the outer svg,
+          it is filled with a blue rectangle.  It has a child svg element that defines an area
+          half again the size of its parent but sharing the same center point, it is filled with a yellow rectangle.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>There is a green rectangle covering 1/4 of the testframe area positioned in the lower right corner.</li>
+        <li>There is a blue rectangle covering 1/4 of the testframe area positioned in the upper left corner.</li>
+        <li>There is a yellow rectangle centered inside the blue rectangle, covering half of the area of the blue rectangle.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-group-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <svg xmlns:xlink="http://www.w3.org/1999/xlink" id="lowerRight" x="240" y="180" width="240" height="180">
+      <rect x="0" y="0" width="240" height="180" fill="lime"/>
+    </svg>
+    <svg xmlns:xlink="http://www.w3.org/1999/xlink" id="upperRight" x="0" y="0" width="240" height="180">
+      <rect fill="blue" x="0" y="0" width="240" height="180"/>
+      <svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="basic" id="childArea" x="60" y="45" width="120" height="90">
+        <rect fill="yellow" x="0" y="0" width="120" height="90"/>
+      </svg>
+    </svg>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-group-03-t.svg b/Tests/W3CTestSuite/svg/struct-group-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..975e707dae0e6678c8bd894fc5d8a0b8dc52f444
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-group-03-t.svg
@@ -0,0 +1,285 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-group-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#Groups">
+        <p>
+          This test validates that properties are inherited (or not, depending on
+          their defintion), from a group to its children.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[
+        Describe how to use the here. The instructions should specify any
+        steps requied to run the test or any manual operation that need
+        to be performed to run the test.
+        ]]
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The two rows displayed in this test should be identical. In the top row,
+        each property is set to the value 'inherit'. In the bottom row, which is
+        the reference, each property is set to the value that should be inherited
+        in the top row.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-group-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="grid" transform="translate(70, 150) rotate(-90)" fill="none" stroke="black">
+      <defs>
+        <rect id="propertyCell" x="-5" y="-14" width="110" height="22"/>
+        <rect id="sampleCell" x="-5" y="-14" width="50" height="22"/>
+      </defs>
+
+      <use xlink:href="#propertyCell"/>
+      <use xlink:href="#propertyCell" y="22"/>
+      <use xlink:href="#propertyCell" y="44"/>
+      <use xlink:href="#propertyCell" y="66"/>
+      <use xlink:href="#propertyCell" y="88"/>
+      <use xlink:href="#propertyCell" y="110"/>
+      <use xlink:href="#propertyCell" y="132"/>
+      <use xlink:href="#propertyCell" y="154"/>
+      <use xlink:href="#propertyCell" y="176"/>
+      <use xlink:href="#propertyCell" y="198"/>
+      <use xlink:href="#propertyCell" y="220"/>
+      <use xlink:href="#propertyCell" y="242"/>
+      <use xlink:href="#propertyCell" y="264"/>
+      <use xlink:href="#propertyCell" y="286"/>
+      <use xlink:href="#propertyCell" y="308"/>
+      <use xlink:href="#propertyCell" y="330"/>
+      <use xlink:href="#propertyCell" y="352"/>
+
+      <g transform="translate(-50, 0)">
+        <use xlink:href="#sampleCell"/>
+        <use xlink:href="#sampleCell" y="22"/>
+        <use xlink:href="#sampleCell" y="44"/>
+        <use xlink:href="#sampleCell" y="66"/>
+        <use xlink:href="#sampleCell" y="88"/>
+        <use xlink:href="#sampleCell" y="110"/>
+        <use xlink:href="#sampleCell" y="132"/>
+        <use xlink:href="#sampleCell" y="154"/>
+        <use xlink:href="#sampleCell" y="176"/>
+        <use xlink:href="#sampleCell" y="198"/>
+        <use xlink:href="#sampleCell" y="220"/>
+        <use xlink:href="#sampleCell" y="242"/>
+        <use xlink:href="#sampleCell" y="264"/>
+        <use xlink:href="#sampleCell" y="286"/>
+        <use xlink:href="#sampleCell" y="308"/>
+        <use xlink:href="#sampleCell" y="330"/>
+        <use xlink:href="#sampleCell" y="352"/>
+      </g>
+
+      <g transform="translate(-100, 0)">
+        <use xlink:href="#sampleCell"/>
+        <use xlink:href="#sampleCell" y="22"/>
+        <use xlink:href="#sampleCell" y="44"/>
+        <use xlink:href="#sampleCell" y="66"/>
+        <use xlink:href="#sampleCell" y="88"/>
+        <use xlink:href="#sampleCell" y="110"/>
+        <use xlink:href="#sampleCell" y="132"/>
+        <use xlink:href="#sampleCell" y="154"/>
+        <use xlink:href="#sampleCell" y="176"/>
+        <use xlink:href="#sampleCell" y="198"/>
+        <use xlink:href="#sampleCell" y="220"/>
+        <use xlink:href="#sampleCell" y="242"/>
+        <use xlink:href="#sampleCell" y="264"/>
+        <use xlink:href="#sampleCell" y="286"/>
+        <use xlink:href="#sampleCell" y="308"/>
+        <use xlink:href="#sampleCell" y="330"/>
+        <use xlink:href="#sampleCell" y="352"/>
+      </g>
+    </g>
+    <g id="properties" transform="translate(70, 150) rotate(-90)">
+      <text>color</text>
+      <text y="22">display</text>
+      <text y="44">fill</text>
+      <text y="66">fill-rule</text>
+      <text y="88">stroke</text>
+      <text y="110">stroke-dasharray</text>
+      <text y="132">stroke-dashoffset</text>
+      <text y="154">stroke-linecap</text>
+      <text y="176">stroke-linejoin</text>
+      <text y="198">stroke-miterlimit</text>
+      <text y="220">stroke-width</text>
+      <text y="242">visibility</text>
+      <text y="264">font-family</text>
+      <text y="286">font-size</text>
+      <text y="308">font-style</text>
+      <text y="330">font-weight</text>
+      <text y="352">text-anchor</text>
+    </g>
+
+    <g id="inheritGroup" transform="translate(56, 155)">
+
+      <g color="#0F0">
+        <rect x="3" y="10" width="16" height="32" fill="currentColor"/>
+      </g>
+
+      <g display="none" transform="translate(22, 0)">
+        <rect x="3" y="10" width="16" height="32" display="inherit"/>
+      </g>
+
+      <g fill="#0F0" transform="translate(44, 0)">
+        <rect x="3" y="10" width="16" height="32" fill="inherit"/>
+      </g>
+
+      <g fill-rule="evenodd" transform="translate(66, 0)">
+        <polygon points="10.5,0 21,21 0,7 21,7 0,21" fill-rule="inherit" fill="#0F0" transform="translate(3, 15) scale(0.7)"/>
+      </g>
+
+      <g stroke="#0F0" transform="translate(88, 0)">
+        <rect x="3" y="10" width="16" height="32" stroke="inherit" fill="none"/>
+      </g>
+
+      <g stroke-dasharray="2,2,5,5" transform="translate(110, 0)">
+        <line x1="11" y1="5" x2="11" y2="40" stroke="#0F0" stroke-dasharray="inherit" stroke-width="2"/>
+      </g>
+
+      <g stroke-dashoffset="4" transform="translate(132, 0)">
+        <line x1="11" y1="5" x2="11" y2="40" stroke="#0F0" stroke-dashoffset="inherit" stroke-dasharray="2,2,5,5" stroke-width="2"/>
+      </g>
+
+      <g stroke-linecap="round" transform="translate(154, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" stroke-linecap="inherit" stroke-width="10"/>
+      </g>
+
+      <g stroke-linejoin="round" transform="translate(176, 0)">
+        <polyline points="3,40 11,10 19,40" stroke="#0F0" stroke-linejoin="inherit" stroke-width="5" fill="none"/>
+      </g>
+
+      <g stroke-miterlimit="1" transform="translate(198, 0)">
+        <polyline points="3,40 11,10 19,40" stroke="#0F0" stroke-miterlimit="inherit" stroke-width="5" fill="none"/>
+      </g>
+
+      <g stroke-width="5" transform="translate(220, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" stroke-width="inherit"/>
+      </g>
+
+      <g visibility="hidden" transform="translate(242, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" visibility="inherit"/>
+      </g>
+
+      <g font-family="serif" transform="translate(264, 0)">
+        <text x="11" y="30" font-size="20" text-anchor="middle" font-family="inherit">A</text>
+      </g>
+
+      <g font-size="10" transform="translate(286, 0)">
+        <text x="11" y="30" font-size="inherit" text-anchor="middle" font-family="serif">A</text>
+      </g>
+
+      <g font-style="italic" transform="translate(308, 0)">
+        <text x="11" y="30" font-style="inherit" text-anchor="middle" font-size="20" font-family="serif">A</text>
+      </g>
+
+      <g font-weight="bold" transform="translate(330, 0)">
+        <text x="11" y="30" font-weight="inherit" text-anchor="middle" font-family="serif" font-size="20">A</text>
+      </g>
+
+      <g text-anchor="middle" transform="translate(352, 0)">
+        <text x="11" y="30" text-anchor="inherit" font-family="serif" font-size="20">A</text>
+      </g>
+    </g>
+
+    <g id="referenceGroup" transform="translate(56, 205)">
+
+      <g>
+        <rect x="3" y="10" width="16" height="32" fill="#0F0"/>
+      </g>
+
+      <g transform="translate(22, 0)">
+        <rect x="3" y="10" width="16" height="32" display="none"/>
+      </g>
+
+      <g transform="translate(44, 0)">
+        <rect x="3" y="10" width="16" height="32" fill="#0F0"/>
+      </g>
+
+      <g transform="translate(66, 0)">
+        <polygon points="10.5,0 21,21 0,7 21,7 0,21" fill-rule="evenodd" fill="#0F0" transform="translate(3, 15) scale(0.7)"/>
+      </g>
+
+      <g transform="translate(88, 0)">
+        <rect x="3" y="10" width="16" height="32" stroke="#0F0" fill="none"/>
+      </g>
+
+      <g stroke-dasharray="2,2,5,5" transform="translate(110, 0)">
+        <line x1="11" y1="5" x2="11" y2="40" stroke="#0F0" stroke-dasharray="inherit" stroke-width="2"/>
+      </g>
+
+      <g transform="translate(132, 0)">
+        <line x1="11" y1="5" x2="11" y2="40" stroke="#0F0" stroke-dashoffset="4" stroke-dasharray="2,2,5,5" stroke-width="2"/>
+      </g>
+
+      <g transform="translate(154, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" stroke-linecap="round" stroke-width="10"/>
+      </g>
+
+      <g transform="translate(176, 0)">
+        <polyline points="3,40 11,10 19,40" stroke="#0F0" stroke-linejoin="round" stroke-width="5" fill="none"/>
+      </g>
+
+      <g transform="translate(198, 0)">
+        <polyline points="3,40 11,10 19,40" stroke="#0F0" stroke-miterlimit="1" stroke-width="5" fill="none"/>
+      </g>
+
+      <g transform="translate(220, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" stroke-width="5"/>
+      </g>
+
+      <g transform="translate(242, 0)">
+        <line x1="11" y1="10" x2="11" y2="40" stroke="#0F0" visibility="hidden"/>
+      </g>
+
+      <g transform="translate(264, 0)">
+        <text x="11" y="30" font-size="20" text-anchor="middle" font-family="serif">A</text>
+      </g>
+
+      <g transform="translate(286, 0)">
+        <text x="11" y="30" font-size="10" text-anchor="middle" font-family="serif">A</text>
+      </g>
+
+      <g transform="translate(308, 0)">
+        <text x="11" y="30" font-style="italic" text-anchor="middle" font-size="20" font-family="serif">A</text>
+      </g>
+
+      <g transform="translate(330, 0)">
+        <text x="11" y="30" font-weight="bold" text-anchor="middle" font-family="serif" font-size="20">A</text>
+      </g>
+
+      <g transform="translate(352, 0)">
+        <text x="11" y="30" text-anchor="middle" font-family="serif" font-size="20">A</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-01-t.svg b/Tests/W3CTestSuite/svg/struct-image-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..441e62f8a21e1c87c10083c008795b9bede5167e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-01-t.svg
@@ -0,0 +1,59 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: struct-image-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>
+        The image test case checks to see if the required raster image formats are supported.
+      </p>
+      <p>
+        The upper right has an JPEG image, the lower right has a PNG image. They are
+        the same image.
+        Those positions are relative to the upper left of the entire canvas.
+        If any of the components are missing, then an image format is not being
+        properly supported.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if two identical images are shown.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <image id="image1JPEG" x="240" y="0" width="240" height="150" xlink:href="../images/struct-image-01.jpg"/>
+    <image id="image1PNG" x="240" y="150" width="240" height="150" xlink:href="../images/struct-image-01.png"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-02-b.svg b/Tests/W3CTestSuite/svg/struct-image-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..403fdefbd6370ea857e1b3bdc5cf16d7b9942546
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-02-b.svg
@@ -0,0 +1,91 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: struct-image-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+        <p>
+          To test the 9 structure elements and their relationships.
+        </p>
+      <p>
+        S1 tests the defs element and the rendering of an image via the use element.
+        S2 tests the defs element and the use element by creating an svg element
+        that contains a blue rectangle. S3 tests the nesting of an SVG element, a
+        separate graphics element is defined, its coords relative to the svg element.
+        S4 tests a switch statement, if there is not a green rectangle showing in
+        S4 there is probably a problem processing a switch.
+      </p>
+    	<p>
+        The test uses the 'rect' element, as well as basic fill (solid primary colors),
+        stroke (black 1-pixel lines), font-family and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+        <p>
+          Run the test. No interaction required.
+        </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the upper left rectangle shows an image,
+        the upper right a blue rectangle, the lower left a cyan rectangle
+        and the lower right a green rectangle.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <image id="image1" x="0" y="0" width="240" height="150" xlink:href="../images/struct-image-02.jpg"/>
+      <svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="basic" id="svg01" x="240" y="0" width="240" height="225">
+        <rect width="100%" height="100%" fill="blue"/>
+      </svg>
+    </defs>
+    <g id="square1">
+      <use x="0" y="0" width="240" height="150" xlink:href="#image1"/>
+    </g>
+    <g id="square2">
+      <use xlink:href="#svg01"/>
+    </g>
+    <svg xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="basic" id="square3" x="0" y="150" width="240" height="150">
+      <g>
+        <rect fill="aqua" x="0" y="0" width="240" height="150"/>
+      </g>
+    </svg>
+    <g id="square4">
+      <switch>
+        <rect fill="red" x="240" y="150" width="240" height="150" requiredFeatures="http://www.w3.org/TR/SVG11/feature#ConditionalProcessing" systemLanguage=""/>
+        <rect fill="blue" x="240" y="150" width="240" height="150" requiredFeatures="http://www.w3.org/TR/SVG11/feature#ConditionalProcessing" systemLanguage=""/>
+        <rect fill="green" x="240" y="150" width="240" height="150" requiredFeatures="http://www.w3.org/TR/SVG11/feature#ConditionalProcessing"/>
+        <rect fill="yellow" x="240" y="150" width="240" height="150" requiredFeatures="http://www.w3.org/TR/SVG11/feature#ConditionalProcessing" systemLanguage=""/>
+      </switch>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-03-t.svg b/Tests/W3CTestSuite/svg/struct-image-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..88487322bd434ff0d333a25a268c14284fbb4fa6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-03-t.svg
@@ -0,0 +1,66 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-image-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>
+        This test verifies the support for gamma correction of displayed PNG
+        images.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Several different images are displayed one above the other;
+        if gamma correction is correctly performed based on the values in
+        the gAMA chunk in the PNG file, the resulting displayed values are
+        the same in all of the files (except for rounding error, which gives
+        some artefacts at the right side of the lowest two  images due to the
+        very high levels of gamma correction needed for this test)
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-03-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect x="23" y="13" width="434" height="224" stroke="none" fill="black" />
+    <image x="25" y="15" width="430" height="48" xlink:href="../images/gam030.png"/>
+    <image x="25" y="43" width="430" height="48" xlink:href="../images/gam045.png"/>
+    <image x="25" y="91" width="430" height="48" xlink:href="../images/gam056.png"/>
+    <image x="25" y="139" width="430" height="48" xlink:href="../images/gam100.png"/>
+    <image x="25" y="187" width="430" height="48" xlink:href="../images/gam200.png"/>
+    <text x="25" y="285" font-size="40">Gamma correction</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-04-t.svg b/Tests/W3CTestSuite/svg/struct-image-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6b4edff3da68fa5f8766a2d1937edfb92e35bd05
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-04-t.svg
@@ -0,0 +1,60 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: struct-image-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>
+        The image test case checks to see if the basic image formats allowed in
+        are supported using the data: URI schema and base64 encoding.
+      </p>
+      <p>
+        The upper right has an JPG image the lower right has a PNG image. They are
+        the same image.
+        Those positions are relative to the upper left of the entire canvas.
+        If any of the components are missing, then an image format is not being
+        properly supported.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if two identical images are shown.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <image id="image1JPEG" x="240" y="0" width="240" height="150" xlink:href="data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAPADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwCeSMqeDUDsy1YkPzHNRMFYcVZkQiQ0MA9IyEdKi3EGmBNGm1s4qfft4xUUL+tPlyTmkApYOORUDwgnNSbyKazmgCExBKjZgOKfIfeqsmexpgS5pjPimKSOvShsUAO3UhamZwaM0XAUtTC1ISaYxxQIcZKUMDVctQJMUwLOQBUbPUfm571Gz0ASmT1pPMqAvTd+eKALHmVJG/FU2bpU8bDbQIsb6XfkVXLUm+gCcmmlqhLn1qNpTQBK0mKhaQ1E0hNRlz60DPdL3wtZSJuhY7vTFc3PogiLjBG2vR2RSN2eTVeS0jlydoyaxUjSx5dLYsoJ/Kqb2slej6h4YF1h4GEZA+7jrWHL4WvwTiLOKrmQrHGEMnFKrO3Hauqk8Iakwz5OfxqhPoF5bMVeI5HpT5kKzMXGDTTkGrU1u6HlGGPaoSuTRcLEDsfTNVmOauPGeMVXMYGRRcdiNVLew9aQxndjmpFyv0p/BpXHYrMpHQcUzNWG7iq7DFFxWGsaiZqcTUT5qrisNLU0tUbEimbzRcViQsRTC5phehW5p3AC5HXikZu4NIzgnBqMnkgdKLiLAk+TFPWYYxVUA460hYgUXAuebR5lVN+B1o83FMCyZKjZ6rmamGagCdnpuc1B5tAlFAH0/DMjBdzLgjPXn8qs74UVT5sY3HjkcmvNzeloEAY7lGDk1SmuZe7H86x5DTmPWTIoH31Xd709rmOEfPnIHXHBryOLUp04ErD8a0f+EguZLI27uSOxPUUuRhzHdNqINwGS4/dsfmTris3U5YZpd0Qf8TXCNfyq4becjvmtXT9euFYKyLKvcMKfLYL3NJ0Vuqg/UVUl063kB/dKCe4FaLSxTqGjj2e2c0wKaZOqOautJ8rkDcp71Rl0wldwGBXaiHdxjNB01JBgp+VJstHnxsip6UGzbGQK71PDTSyYjbI9CtWo/Bs2QCY+ffpWUp9jWMU9zzNrZh1FV5bc+len3PgmfaTHtY+max7vwffopb7MxUegzS9o1uh+zXRnnrxY7VA0ZrqLzSJYAd0bD6isO4gKk8VaqJkODRmOBUDAVPMCCaquSK0TIcRrtUXmEUrZNRsrelO5NhTIKXzRVdgRTc+tO4rFrzeKjL5qEvSZOKdwJGkqNpsVE7EVCz0XETtNTDNVctSUXAsed70omqtS5ouB699q96YbgNxmszz885qNpiG4oEavmDGKYZSOhrPFz60puPemBdMmTyc1agvFj6dayPPFAm9DSsO508GrumMYrWj1qMoPlG761wq3BHep1uXxwamw7neW2uxo+JVA9CBWzbatp/mI0rAq3pxivMFuXPerEVy4P3qhwRopntdv9nkUSQFGB6FTmpq8r0jV57KdSrttyMgHrXo1jdG8jSVJAUI5XPIqb8ulh2vqXqKKK0IK13p9texGOeFWB74rz/WvAUxkZrRQ6H07V6GblN5VQWI64oS6jZyhO1h2asZKDejszaLmlqtDwe/8K3UDHK9KxpdIdPvDFfQ89vpVxIwljgZ26lh1rnPEPha3kjBtLYAgc44FTzOO+pVlLbQ8Re0EYORUOwHjbXa3+gyRKzPGVA9a564tthIxWsZpmUoNGHLb9TVKSMrWvMhFUpVPpV3IsZxHNDNxgVM6e1QslVcViJue9QsKsFKQx0CKpBpOlWNpz0o8lmHAoAr5pc1aSwlkPCE1bTRbggfu2NAHSp5i9cUrPgVrLaof+WfNVZbdQ+Gjz9KLisUPMphmwetbUGjwzpyShP6VI3hZGK4vVBPXK8CjmHYwhL707z/Q1sf8IlL2vIf1qGfwrfQjKFZe/wAtHMg5WUllyKk+0EVHJp97CcNA59wM1CySg4KMCPUUXFYti4NWIrk+tZYdl68VNHLzSKSN22uG3A5NdVomoXNtKkiSlVzyPauDTUbO3dUnuIo3borMBWlb6/ZRswe6jTYdp3naM/j1rOSNIux7jbXcN1CssbDB7Z5FNmvIolO7dxxxXkUHj3R4ZAqagnTqARz7cVcX4j2Hli6e4nVNwQ74zjnufb3qOaTHZI6++8SPBKwFsEHYkdaxG1xjKXEh3H3qvfeIbR0Y3N5aokgyod1H5Vz8txalfNW6iCZxneMZ+tNRT3DmZ0iX09zOziXGBkjPXFMn8S3suY2mfaOwNYEN5H9n81Z9iMSqsT9/tx696jaRVjaRpokUfeZnAA+pp8qFzM15tSMibZlDg1hXllBMxKOR7EVTk1/ToLe3nnvEWKckIxz261W/4S/SI7l4ZZoNgAKSiQMH9RgdOtJRS2G5t7kVzp7rkqcismaFgeRVi/8AG2kxyokLGQM2GZBwo/GsmfxjZeaQsO+PnnJB/LFWibkjRjPSm/Zy3RKx7vxfv/49rNU93Oaz/wDhJb8H/WAY6YGP/wBdMR1JsWxnbUJtD3WufXxRqHmFy6MD/wAs9vA/rW1Z6/ZXD26zy+SZGKvu6JgdSfQ07isXYNOMhHyHHsK0Y9EUn5GGR2NVrvxxpljA0dknnuhATPCsPXNUJfiOxjBjsU3kDq5wD34x+XNK7DlOqs7VYX+WBSR61PPkj5uPYVwM3xB1F5SYre2jQjAUqTj3zmqM/jDUpY8C4KsR8xCjg+3FGo7HrEdwv8P61YWQ9SBiqxhsIb6Kza4HnSqXUYPQf5P5VOwsbS3upLq+j/dhmVN4U4Azjmi6JsyQsxG8Y/OpIZ3m+R+Rn1xWZL4j8O2OjRXpvIp7hkVvsqSqzKSOh+nes/V/iBolvGz6ZEk86kY3h1B9ccUuYq1jsF+zFcbXVvXORWhZ2M0jYWQFOxzkV4tffEzV5XkFvHaxIRhWER3D82IqhbfEbxLbyB/t4YLkhWiXH6CpalbQtNX1PdNQENusrzybNoJztyDxxyB3rhNV8ZaRbQuFheWUj5DjaD/X9K8y1PxLrGsuTf6hcTqWLbHc7R9F6CqcZ3OM80JNIXU6q/8AFl1dogtI1typyzcNn25FZ8muapLuzd4yMfKij+QrP59KQjHWldhYa13dCYyNK5cnO7POfrSG4dslmJJPNRuwZT7VEHFVuIs+aaa0p5wTUYYnpSEHqQaVhjjKcdaDM5Xbk49M1F1oyfSmIe0zkAFiQowAT0pnmtyAxApDyM0zApgP3EjqaazcUH5elNJoAaTSFqDSUwDdTaO9GOKAD+VGaM8YpKYDqKTPvRmgB2SKaTRSHpQBoTXt5cyB57mZ2HG53JxVfcWbG+vRZNNsZUAkt0K/e+YHrVc6JpbAf6Ehz0IyKCbnCKuO5p231JruP7E0zBzbJgdfmPH601tE00/dthn/AHm/xoC5xDKvZj75FRHA9PrXbNomnA8W5HH981EdD05j/qj/AN/DQHMccM+9WrZgDgjntXS/2Dp/aJ/++zR/YtiuMI4P+8c0mrjUjDLtjOOKjZmP0rffTbNE+VXJ9N1EWkW03WORT7sKiw7nMOdoNMT5m7j1rso/C1vO3MjAZwMHOa1NP+HtvdsoW5I3gENjIpOpGO5ShJ7I4IMMYHFLgHAzz3r1uL4P2rKS2pENzgbCMn8cUyb4VWEPJ1FiMfeGCM/gay9tDuaeyn2PI5UAwV/Koeetel3ngPT4CQL0kYz82Af51jSeGLJM7Jy2O/StI1IshwaONPTJBNIsbsM4OK6d9AgDEZOKfBpVtBuDJnjjJq29NCDlXBXr+lM2n0rop9KtyxIX9TVc6dAvGz9apCuYRBHem4OO9bhsYP7lJ9hg/uUxcyMPn0o/A1tmxg/ufrQbKD+5QHMjEo4rZNjAf4f1phsYM48tvrziiwcyMmjFaxsIB/AfzNJ9jgH8P60BzIyiDTTxWr9lhx939aabWEn7v60D5jvPMLEDG9c5xtzj9aTMxxtBAPXA5FM2yDlZuOmM/wCAoInONzp7k5oIHNCXGGyfrzmkEW1cjP600RlckTAnPJ3daBIATudyTwOn5Uhjdw28cj1I61EzEMdx2jvyP6VO7K+FLLnPQn/Cojhckuvt83+NMGG3IGORjseRSFycLhgcYwf/AK1ROA+0CQY7ndmkjXYpETqc9BvJoET5kw3G/wCnaiPerYZl+h7fz/lUexmxtbkcnDEf0qaBXbA37SOSwPbtUsuJqWkjAKfMKg84GP8AP4V1ulWaTywsty5c/KcFuM9+D6etc5a217wIIl8tgAXYYAPXrg811NgbuO3dN0yuDx5TBR9STnofpXFVZ2U0bB2WiYNxwPk+8VCe5Bb+Z/KoiFETPayo8GfnbBIB6HgY7nr7VqCO4FlHI9vdGfaN0v2mNdgz6nGB+tU5hIYpJWjicsBmVJ0JI5Gdy/1zWFja5yuphoJn2Mp3ccRcj3weT/8AXrmr53OCeVJI5Qiuk1SCJpI/LkuEduVEeBz6bsA/l+NYFzatuSNRIqYyD5mc++StdFMwmY0yvkHcB6Z//VVNzKe5/E1eeHaXkEko74ZVOPpxVNuR8+T6/d/pXTE52VmLHrx7VBLnGc1LhS3Q4HrUUuMVojNkJJ9qQUE+lMzVEj80mabnPWjpmgBSaaaM5ppNAgJzTSaMnv8ApSE5NAxpNITRznGePpTT9f0pDOzbMeAsasPRmP8AQUfIGy6rgnquT/SociRM4IHokf8A9fNIpAHLOQOMYyKBFjY3O1VK+7Y/pQ3AIXH54FQiT5QAsjHrkjA/PFMkuiv3lAXPJYhR+HNAyUgqcEoAenem+WVbkHb7etVJJlL7oU3Hvtbr/jTPtJ3/ALxYoh6SOOfwoAszADHyhCOhxz/OkDcA/Mw75O0f41Cwt8h2iXI7quf5ZpAIw29Rj6gj+dAizh8kpGioT134P8quRxr5gaUEHHeXkj6nOD+FUgQcKY5H3cDbz/WrFu6RzbzPiRzjPlud3PJzzUSZpFHR6YJkkUQmZiOTHK4YBe/GMEf5wa6PT3AKpZt5sSNmRZAYmP4bea57TL6ztrp0ku/MRR8ojtmBDY/hIHXjk961LTxH5kbwqr+dsJDNHODuIP8AdHPOeCMVxTu+h2waXU68HUtryWpgYAYEUriTH0GAV+gqtcNqgjUmxtwSoD+XO6que5AQ/wBPxzWJNaC809mkURLt2YH2iLJ654znp3B7UQ2MMcI8vUb6SVU2BopC8n4EqD9M/wD1qyt3LK+qWstxGy3V3LK2MILd3Axkcnt2/KuYntoLJWtpLRmIO4FQWJP/AAIjity60+aMSKL67kBUbkkk3BjjPIMTZrMe2t1sWRJn3sG2iNN/Ab/cAwORnA5raDsZS1OflmkjY7rCTG3gJEmMe/P9apySg5PksMdeB1/CtKZGA8pzJweoTB/+vxWPKjHAjkuGDD1PP6V1ROaRFLIoJAjYc1Wdtx5B/GpHDA4eTOfUkf0qBgAfvc/jWqMmITjtgUzdz1FKSfqKYeRnFMQ7PNJmm5Pekz6/yoAcTSHmkzSZoAX6HFN6Um8HvmgmgAJPpSA0lJuOSMEUhnWpAVJCJEM8Z2AfyFVrm3cxly21ccgMeg+mKKKCRY4IvKDCNSo7Hn+eaHRbcFhCgwMkK2Pb0oooGRP5QI326sTwPnNMVLUSErbjOeh6UUUATIsTqc7wM9AelBgiWNmCbgP7x70UUDKwlt4jkxFivJJAresLkTW8twYd4jXP+sKHrjsD/k0UVEldGkXZ6F2yne5PlLugDjARX3pgezDg/nXX2HzXS2gjEkhUOqySMI24z8w57e1FFcdXex1U9rl+GDVFcNZQWUEkxJVvPkA465CBc9B61japp3jGBWVNbtTF5WXzH82D77ST+dFFTFJMJSdjBNvrJuUtry7t7kQLkFlIPQnGRjP3epqp9g1YiW6E1pDHCmfLi34OTjr17+tFFboybdzHv7y/uLl55JUl52AtuXgcDgHFZpkmkXcywj5scKT/ADooreKVjCTdyCVmJwZGAPZQAKYVZcKDRRVEkbsQeSSTTCc8UUVQCZpM0UUgAg/hTM0UUxDHlCEAg0gmDHABoopFBvyO9LuJoooEf//Z"/>
+    <image id="image1PNG" x="240" y="150" width="240" height="150" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAACWCAMAAADXJvXnAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAwBQTFRF///////3///v9//+//bv/Pjm9Pfv7/fm9u/e+O/U7+7m5u/e5uzm8+XT4uXe4t7R7dq+1NjQ5smn0s+9z87IxcrH0cOtx8W9vcbFvcO9tcW9vsC12riPwr6rtb29w7SjtbWwya6LrbWlrbKwta+graylpK2pxqR7wKSIraicpaSfpKWUsZ+Ku51znKWcmqOltZt7pZyUnJycn52MnJyUkpyclJyUsZNznJSUjJyUnZSMsJBplJSUlJSMjZScnJB/jJSUi5SMhJSUo4xpjIyNm4lzjIyEgoyUpYRfhIyMiIx7goyEe4yMmINrhISMhISEiYRzmH9ehIN7e4SMe4SEmnxSe4R7c4SMc4SEc4R7h3xme3uEfntze3t7c3uEc3t7cntza3uEc3tra3t7fnNmc3N7c3NzgnBac3Nrim1La3N7a3Nza3NrY3N7Y3Nzc2trY3Nra2tzcmtaa2trbWtje2dMY2tzY2trYWtiWmtzWmtrb2RSbGNecWNJY2NrY2NjWmNrY2FaWmNjWmNaUmNrUmNhbllCZlpMWlpjWlpacVQzWlpQUlpjUlpaUlpSSlpjUlpKSlpaXlNCSlpSWlJNUlJaUlJSSlJjUlJKSlJaUVJCSlJSSlJKQlJaXUsyQlJSUEpSUkpKQlJKUkpCSkpKSkpCQkpSQkpKTUc6QkpCOkpSQko6OkpKSkJCOkpCQkJKQkJCQkI6OkJKTT4oOkJCOkI6Qj8xMUJKOkIxMUJCQjo6MUI6OjpCOjo6PTopOjoxMTpCMTo6MToxKTpCKTo6KToxOjExMTE6MTExMjEpKTE6KTExKTEpITExLiwhITEpKSkpMicUISkxISkpISkhISkZGSkpISkQGSkhISEhISEZISEQGSEhGSEZGSEQECEhGSEIECEZIRkQGRkhIRkIGRkZGRkQGRkIEBkZEBkQEBkICBkZGRAZEBkAGRAQGRAIEBAZEBAQEBAICBAQDRAACBAIEAgJEAgACAgQCAgICAgAAAgIAAgACAAAAAAIAAAAoYb3nAAAAAlwSFlzAAALEQAACxEBf2RfkQAAPyZJREFUeF61nQ1clWWe949OWVmKr5mpoyjKi2FICJNASiDhGhEETGsyOpuBjO7shJJORIZMkBLMDjJ8SM7SjkDA1DiwgjuzDhJ8djYYyDCpHfFln3wGlD77mR5obQZrH5/f739d133uc8CX3e35K+c+b9j53v/3/3XdJ8fjjz/11FOPU3B0k6e/853vPCuy+TvJTyXjTevXr8fP448nJ+O1zc9+b/v2733vr78HUW/ju/noBvLXlO9TXvCQH9pEvWR/5pVXzKMXtbieUa+of9T+O+r+K1p+pOR1hxtocnKyjVmINxP4aT5NXpHHnwLx0yQGqov3FoBdvJ7AN+bFx74Z8AsvjMvrDvz66woYnJY8/fTThpnAm7+zeTMUnPy4UrACxu8AebOcC61caFfZwy2p18L94Q9dujR6HaNfoyS3449eedFDne42oV588UX1S6JcEQc/vyGG2kQALdTyUAFrsxfbF/unWeOlzeo3RMbhFZXaBXpwmbOnAQq8NnU3e7ShatPEwVL6WDvWz8D6Da3g/hjiePTRx8RGITRTC0CAIfLU02Lq2gqUAcj79QmyeD3US2+1aMXJbkArH9IAu/uf9aldtLx3Y2JNK8q1cAH88FoSw2JJALpntLqIQ+Fj8MKmbXYPXnOOHtfUz2hrNjaNI3hfeGG75pQjtGes2RgkjwRyPVbx6kXjfRpSfXBQuo7yO/Z/R4xY2/IPtTHz/WLLVO+Pf/ITx1oCG7e0aVhZ9lPkFlIDrB65XN5Y/ljvFV4xYQ/d2iLwixYXmN1M0z24ulSrPBFCeNBZUdvNpe2+a1OvG7B2S5tPgtilVuPpHsA0dTFsAsN8bUb916LMm/AaPQifndgVbJSKDLI7sMEloI3YzZz526JereFHjX7FpscIFcw8DbvH6yptmaytHV/jgpVK/b5A031dmXZM3lURlGIPvZ7A7noV7h8DXT4+T4Hrd133bf+kzrw2XtHwo7RnlY2vR+wCFvvWaUuZtY7PClIQxye21xkmZXgCWyp2U69JKMoTjTu6AdO8LXGPbOb9P/nJGyIOCVn2XDNWx3BgFlhSbrhbtI7Tyn81r0FmRWVRjpeK7Ap2+8Qe7msZ8VhgW9pxx3QpV8xBwf4dxQKWgkKVUK6s+qxkYdRZJvU+jZRsq1GstxrgH76olCyP7cQWuq4HVLhxR3MvLFy1go1YbNll0vgHxgPVNYbxXMEVWgHWClbASDcqBpky+lkQewDrfCXa1Xlbq9ilUPqxBbx7926XQRvvtaqgsZ/YozaycoqKOzoCGZO+PrAJUy7tCvDax7QLa0cGtCgZeVU1DrrQekryEuK25lWmoPM2gGnVVp5FvfGs5sVzAN69+wdyu3u3xFJasyn7rptnlWJfM4A6zioTVUHLIy+7HtvOkVGvUbE2aQYse9tg65TEpunGilhVWCICbFKSjtE6Eb3wgitMa1J9cEXisQ7oyrBWoDL5RFIKOI3aqGo35drSs6vOwO+465capk3rstEgEwqatTSsga3awwZs41WVFRMvVe0KU+7Arg5OgK0P7RaarAd23jfeuBVg86tuBm15MIBXPbyWEZjas/FKhpXGATaNmgsmzteTTeHpHsqlUfze97ZbUfn7z28Xr939wu4X6cA2ZimzbAHaFk/HZbaQla5+8oYKWzRqUzSO83saV2UiF+5bb73lWLbswVVrUV9K48eiQhdX0jZooe2SWGfdMYmLb3MBb99OWjdGD2B7ySHA46vXVAywZZLycxP55sDG8D15/47A98395hIwr1r1CLChbGqb+hYHVRqGit3aQA1smkN1VqBgrWECuwi/b0dX8VoUbJtE3ECz4NMFgwImMnT74x8rRV9Xt67ka9Mved9yTJ0+fdZsMC97kNTAVqqWIGypWN0R63aJ7VWaNDjtYwxFzW7J3Yd3i0W7Uu51P7NWjzFJA/x34sm0bEVs83K3u27Jl2eKtAS+Z/Lke6ZOnz2XyDTvVWsfg6YfEy0/o11WZygONSjCbT8ZhKXQbZ8n3/Pbn9u+/XkKnvUARmYyuPsgr44hhgWLEbv5H00aKn7zTehYvWoL2h7Q1m+bYsPACvDdinjW/SBeAuMOXfUIZO1jT6xf/4QYty5CGLNx9+lndF3yjCZOU9a8PV0Dkw+8m9O3Ax3A6dq+TR7GUYBxQ959yLMm377+enFx8WuvK15PYgP8Bv0Y7PI63liszs9PjKqLLRdQuHQEgr5pNDxVZDp1vGTRoiUPUpRDPyby1LdB+N3vfvfZZ7/7XRkFmDGQTcdCrBT8wu6dvJuejhOwU+5CDKwuPbSGieumXuAWF+MZu4JVjH2TmqWoO5Zf2sze466lXM37c80LH9YyffY3IVDxg/RmallBP/XUt6HY737nWeB+5+lvWz2kPYpT2ZqXwOlbQLt5i4DLrTuysWhPYOElsBsxlA1OaIikb775liYnOs17fLHjin5/7gK+Z+pUL6XkWbNnz77vvmXLlgUjeDFkS/x67DEkKtEqWyXUnXBt8D2DlGy58XPPPbf5edovzBhqTU9/7jmoWLRsxHJku//ue+01WrGbuHmwNtc3AEdkHuTWJSpwKzvwLKpckUqQIRK0jIph1gzY9933zWWrIh5RxDGEVj2Ufa4zDvBzKkA9v5N2rGjdkK8DLG47BthSmw1YM9IbxxAbhboVGTouC6gROzA17eVF6NlLgtdGRKyKiIgwWtaVmMVM1SYnpyoNp6Vtpj61Kkm8wwasn9+5k8R79+7dbdcwApaC1WDu8VlHJYZkMWClYarJ0jefcDPfMXHZjZcPHPdQLC1PnQ7bvm9JwIrg4NDQUCJHRcXQsjckJCdsWI8/GzaAO3VzqgZOgwgwkfmzY1xiC/jll4XYBGgL9zrOKAlIRVsdZoXXEEskkpctbhOcxpDqJxx33z158uS7LWL6Myx77qJlASsUNbAjomJi1kZJRbJh/foErWmyKgEx8pCmJrG7Ue+Q06BU/PLLLwusZKTX9isFA6pyfMELWrWVb771zjt1LosWPde9844KYgZTBSi7/IMl6lkLGMyi6btxwJ3p989bBFmydNESyrJliwJWgD0q5glqODktDY6dloZ7m595BqkYlq2JUXFIWtJhK/257Tt27ADwDhLDppVy9+3D8TUSk5m8BzWxOr755sE338TRDgw64JgTIGo2wFaehcFr2rc06Dv6+Gt9dEy9G6IUrKz7btygFJEYBl2rA1173pKlSwNWIIzBvJPJKoKe4hnRsgY2wcoVtgArhg5iAFv6FRVrHXto2DgsiYVLrBgK9ojSBFa6pWfb9Gq0+o9jBXnYAlbMsHD+TJrMu/dMxV2Re6bOmjMXWpfqE9BklQZK9J2GVGUPVemuwEUN7xDgneB1J96/Xxm1m027gjCBoVFiAVXd2oL0WzgTdUw14xvxOLR4ioWHaPhuL6+7J8Oh7yDsxEl3TKJMnDhpwqRJEybgZjIS9X1z585ldQILXxYcEbM+JmZ9wvonNDK1TOZt27alb9PwW7ZsUc9A/uZvdu3a9ZIgKzXnA9cQK7OmKHZCq8fGO60w/eYbPAvqadHwz3/+Duz2Hd5Ymv21lnff9bynKy1ELrBOAit+5GbSbRMnTbptwoTbJntBy5MmSYcB2vvvv58lGfurgIDg4AiU3Ci7ExISqGebkkkKXkG2EYuSKXl5ilfr2FKyC1gxjwG2x6df/vIfNK8LFvf+UVG+O0bwpMNrqoRpiNwC7Y47Jt0BfOqWyp08fdas6VNh4iSeOxfAhhkxbVkwqhPKeig7ScVskG7SooiVnsEtdr1798vKsvO1ig0yM5COXGCtq1Mh2c7neR+81KxNtaQF7lhU6xnHdCYipWDxVfDK8W7CTpg4aSJteZbX5AlKxwQWDYuA+MHgVcjWSFsxMbEJhjktzSBvsiOjnQDwTsYuInsAo/wwyAxUWq4PTFzIGEu+AS1egoZRXlGBQqsOFDrxxAmT7sC5QMCeapyYJm0jVsgRqMwiIqHnWDCDWsmTTz5p1zQSFXtkYdZm7dKyRz6Gd95A5FU3G252t+F2kX8eR9rbHbOmIgUhHsOQKXK8AzcT7pg89W6Y9tSpk+/xmu51D/IT9Kuc2E58P7w5GMUJ/oaEkprMwE0AL8XoOi1N2bXEawCLXUOKtRvvL/6p6Jd5mESHNTGOtNp3zON3fvnLujoo1ygWR8H9R7Hj9vZfK9Tftf9OyXvux392zJmO3HvPVC9oF1Z7D4jFg3F7N9ooKa6BOgtmjV5KRWlPoZIhK1CQhkbQoWNF1qxZB9HcSaJsCdkA3mXFrr0mcv20uLj8p9qFDRyZPV3UTbN80Cy8YsdEFdobiGM2WyRW0PyZi3t333P31OleXozZ0jMCcvZs4rJ5NEGLShZV37+ErrwM8TogYGlAQAhtO5LEa0SIbEELMxMU8pOFLMAlxcU//Wl5uSkv7easmJqbx4DqJzx4f+fG2+0mchocS755HxKrrh8DHlyxbPGSRfPmzp0za/o9d+AMsLLEsGvJN+feBzVPnz3bBGkVrbV1owhdSoGOvxUC+dbq1WvW8GdNkOaOF+yNW7cKsjCLlvORnYpAXC6iiGss4MZGsrqJ5reeM+pVXvu73xnE9z3EPO8IXsKUyqEl7HLVKjQLK1bw8ZK5UPksFFZ4ftUqIC+C+vEU1Hyf0q0NmFqWypupOXglxH/lQw+IBAWFhYVpTcfHx6s4tlWQJRsrYMWrgGvswGOIlb5dItZsohQ0eFPgVctkrqNntGwH1z7MHin4wSX3zZ67bNXDMv5YtSoYzHORkGHms0lMR1Yahs2LzJvHfiMgYGUIeP39Aeu30NvPz4/QEFKT+MmNGzdt3bp1m9g1gPP2FxUVGeC/B64BbmhohIxRsX7iXXV04Yp+bx1YzaQteRicIFyCVQk13Fq7NmJV8Ipl37xP+bWKWwJseOEGc+bMnbNokQ9o/X0oC5WA+oEgYIdZHg3TFuKXNHCZAv570ireBoV7A+B3gaxDlU5BLtrubk+Lft8y6UcedC08PKoWXB4lH88A9a52+axfD2KkWyDPhU0jeCnc++934wXyrJlz5ixYcO+9+EuZCbn33oU+VLTYtwQyaHnr1qxdWS+RGBouK6tw8SqL9uRtbbXr2lVc2FKuFaHG0OIJC/hhYAkY9Eg0FMaC/MSjax+B0h95WPGufwLF1NqI4BWLGL+sEtPwzplzH6L4HPydRURE+alTRO686847p0yZNhMnALqGpgNJHM/wtTUrK+ulvL1i0mXlCFuiYKdW8WGN3KCN+ojmxVFoYcty77iKVt2dmqhTK9fo2PPoeARY2oMfATEEg8rHHnt0/WMgxkl4BM8RGAOemLWrggOWLLIZMZVNfQN2lhbyenlNmXK7yMSJEyfcBiG11zRwL6Sq18CZRccgho4Rtspo1BXapJVha9Ouc7fqVqXb9nbygvjXErAArGU85bo95yATNckfjKFlDxP2sDxGeCiapwDPJSeDOSYiOADhW4ipZNziADM2uKxRMAn08rrz9okGmBW5VOWU2++cAvuGooFM4q3ixgIM5Iqf/exnBtYGbSNuNbzvtpug9WsprX5niN93abQb98f+cax6RP2RwAS8x9WCgz4AGrxcQaUbM1RzQQbIWrew4TlQ6azpuiSjbqdMYaulMSdMcFAM9oQJYPaaudAvTOn4b5ibAEw3LiurhlQ4nU4o21lZKWnKWakKZ8uBqV78gU2LhnVKes9SsdH0h+9/aPmtvfyASSt5VAR7mDQw9SzaxaIxW3w6No2fwKiuoF3WXqJbUesUUa3XlLvgtKjEJ3zjG98QSgfu2AWqvv2uaTMWBgH5yU0gRm4ywGVlpRWMXiIlJaxGkJcZwlzEVutHYGXQ7e3vWenXYvvwww/d6yz9CLtpXQLFCiU1rPeqWVtoGadV5JayZIkBhkXP1IbsNeVO8dqJ4BRGUa4nMK379inToGQEL3Hkl/IKIdAyg9d+gJoOmT2UAq6rMyo2wIpXAY/hBe11eLsdik+J8l/NKxsguJakREI3c3LoKjYKDzJYMzuh1piHOlS8d8qdpAWvxhwH2CF6p5Lv9QtSnpyRlZWTw4RszUA4GjDLETLFRDeho/S7KkZLyHIVHWiJ7Oq8Pm53NzaIK7G245ldecLrAmYgoy2sRym2FtSoP2V8yxIaxPBiiVYMyeK3Wr+eGtYOPXEiiKHk6Ojo+MSNGRmAhm1jGPLy3rz8/DwbMHWsymsdvFzApqQULbvZ73X1C2B1gQc3TNtJudeDvN9+mvuoKeYqD8nTgA5FJcaS1D8AshT9BrQ8a+b0qYhPKkzJLY7apLVp8/lvSAyjkr0hqLWp6G2orzEg2L5DBl6qg6JQ1XDlGraMTMlHtIqP6HgleZhmbeVhdUfl5Q8Ru5SYPO2wbJZ7kdw2axFXFtHkFWubJdYepPCiQwc/iNWJ4JAQNIdgRik9b87UySDW0OP5sPZqvAXxetq0aTPmezMzr5H5iAwIELihYmPScqek0umEkhvEka0qS6Oqg7tRa3oNazdxh2sjodzDgihAv81ba/eZLJXqXZc8PxsMszQVEDTBREavBG4gm6Q0XpT+hhXFmJoZsJGYfR54aM2aWCCzdZSmQs9BXtsn3lxSLsSq6jLAdt73PLz4JsBc+tXb0HhXNnLYca2NLLbdtK6qm1W2CBUdEOC/dB7GJwxdSjyitOshzB0Of7sXa07/h9Y8tHoNamzpl0msJvavcgIEXhg1ak7omNH6N7/5jZtyYc8U1Srp6GUPYh9+ePr0aauW1iv5uArJXJAzZhuW3smitvDISqmI0rMMaTmqJTaQQ0KWL5030+tOZCjKpOsDS1iDZU9BseI1DY2GXxCdGb2jah1lliuaVglZEYuSxyC/9x6hiSyqxijLFsQkhBlih95hKLS8xAzbObi5QfZ1cGuHwTf7EGVNWF33oYKZajcUOwc8IPb3mQPiO6eAeuJNgFURNvG22++CcUsAoy8rZjPKlQoExRfKTWkaBbkV4qFnpWiZ2r1nB1bhize/w9TS2pL07Pfk8gR1YR03sVi7adUmLZforQ6yI9Go+wnOZ6luAIN4wXTQTmFN7QlsLF0HcVWOofK+k+7s7cf2UZCVL7PuRClCXgLXuoYCBB5DLEWI0rBtFkDS97rl7LzbbANWl2PoCzWsi65soOrSO/fzsNnaDJGAfmp9TFQUhnghy30WoApBh3T7GB8WdYogYTN7qc6CT0yZsdAvCEMwNsxKyRKv1cQLNTaBXUOB34yrZB2tQa3HH8L/nrCKOHDBpDJmXliEPbA88OIq0vEoN/qxXGe4fbubdZvtH09xhwBU/HDEWih5pf8Cr9tJNtEEZZOHHbfdfuedd9015S70yjgdAJ54m5SjAEYt4r0SKYpaTmMrRRVr4hJt0samUXkJcbMup00+VoNoGDYhIer5d5vf0ZNBB7VqLqayb/o1V4Fal+EobrPpDmfJbOJxhW7mq7WPIEcBeOHMKbDnMc2D47bJaKcEeNo0IKNjhCFIhMMRkwI0j8zLMGsz9gIxjVrZNOLWL63BD4l/owsQ1SW7iy5Bm7FMVfmGJPbX9zncr6Ry7XI292xXWVH3cn4obsQ6gImOkaVCvrXS32cBQjWrTHseguNOuhNB+S4Kqg6gosuazpGBtmpUIuiY0S8bYhlsFmk3VmOBBgtZA6uBgCeysmEotrKyuHjfK9j4yc/twMZW2dStb+xX26idddjzLH/cLjL7/vct3zaK/ktTk8TEREVycLlwzqw7TcxiPSnl5gQMPyjQ8bSZM6exq7x3AcZeM6FsaBvpicCYECjgl17Sk030zHRkGRBgwGdGfPahpqVhaZbbDW5NZXnxvu1bsGUhjZvlCPxDBSyXBZqLO9U2bjySvc2yy0qdC6NxezDT5o2dPcnw5A0bYhGrQQwlT7ndUrAkIKznsNiAeGG2p2Z8C3wWLFx4L1sPTL4W4kkUImLUEqllzsfCi7Pcip9VmFFILSK2hDCPObVuI/EsFmnq3qRy9+5MT16Pj0benQ7u8ySy0JDRuhRV9hdxn6Awq23POGpic9GdtdduC7dsJadCkhJiEalXPwTkmV66b9LZCJEZoYzeCjgl9y7kVHcBRp0LfTDh9fGW0a7P6jVSaGJAYAM20doaBNVaixSmXz7yzjtHjiBCYYn58GEYM3C3b05NiMGCPTa87tjpePXVV/cRSfNaF/O5XURkqOUKPw/bNk69fTuQwUzi2NjI1atX06xnqbxjCc3WC2rlLJey0AdzbFQqiwhL4TSXZ8B/5epYrMBh8U2MWmlYhAmKOcoa9An0kSOKXY6HoVgt2Au5I31LWip23cjyJYC5h0hbrfulgNhZ5MI2u9jlnTZPxwU6P8DfH8hOUtm/pFUcuRqfe+FMdhLYKYJUi+wDY/aaKaA+GNiL4E3C67885CGu0TzEW/z4Y7EmMpLMUlrTqF3AmHsZ4BqP1RnQOitLivP37MHn3LNvH4B3Yt/UNrX/AsAvisWq64rAu8/sdcVdkRf1VX2u59XJse1/FmPH7jMgAxhnk0YdEwmL9lk4Z/ZUJCfJsyw2vbxmLfDhsoQ/miv/paANWI4Wa968pSEhqyP5B87/0OrVcAnc4hCbIGpmCaLiVgk1TFHEzoNq2MdKWwa7h/ESgbk7jIhYnd2xA0d8rrQtW3bscNj2q5PXLrJZfZ/7pV/YUGbMgSdIW4b8I3pXKf5hAscC2N9n4YJ5Mzn30WmWGWge12KWA1OWWLHCSuA5i4NDIkVQmZIzUq0xx8b+BRbX0+DN7lWms0JP+zAmUPtizFKr04mZWH7+Hu6V2gL32oJAsCU1KSk1NW3Tlm0AVqlHBSQ34FfVxk+1hVtfePKjH8EBtEkoXhXAlXA/OLbuKA3HovigKhciVEvrxEgF78VYZN7i5cvRVX1L2uhgtliL5i4NDkUdziYzNCQUtEBXwLJ7InVTOucCbJ3MUJNjTT7O11ug2DWzBC0pgTWDFWw7QJqKjQdb0pKwKQHA3E7kkKtOGHoBIFu2X9MbIXHXBfwq8bH39fVXX5R3gVq9Hz90Fm7O2bkTG4jTgUwVJ+ETr1wOVfr4YJVppteU29XKi+zYnbPIPyQkEr0V/mKfRMTSgLnBIVGI7dgzwc0TSOQxCQkhoI0U3rSktC3bdu3chq0Ssnyupri4p7tm1UWW42Tsc5bs4RlPS0iFM8SmbtnAICqRFNtr0nEOHNYXceCiFNGT2gdZvFt4cUfLqwJczKAuOt7HH9wDMIkFmirmxqVUtk4wTsQt5tgFkm6lwpjidYcXBn6z4LPUJrqrhEgwRy4NjaJ6o2JiN2xQWyZCYiITaOWiY+oHeyX27t2JFXRIfn5+DfgammrL92PiRauuxJ/98N79W/B2sEamJmzYlBSVlBSbgKyRsGXTtj27duzaX4N+WEqkZDSA5goFHImtSF999bVXX8ef4p+oh8WM6hhF2J2dvbog45oObiqlCfGzom1CBKZZS0GxAObtNX3O4sXz5iwKCA6JiFH9ZExwZGRobKzijNmAQ0RkVGRSbGjI0sjIgBVAToAP682MO9PTAV3irOns7KH0VrSeGervrCmv2VtTs7/Gmb8zNQEOBWuJhesnJWyKiNyUl7dtW15bW2dXV8/AVWuIR2DdD8heaOaZHyCs5+e79lMxOoiK98kND7ABJUrHzz+fnr45LQEuDK3Erl6+fPVyn4U+/iDWMm/OvEWLMctejJjFgUFMaGjMiijaN0BjoOGkDUmpsbEbImNDI6MCIpPwuf8iNmnbttQ0bP/ZC6veuXe/s6XzzMDA8OjIwJmB4aHh0SvDAwMDrfvLa5zl+fm0h9hNeUW1m9J3xW5raapo7B0ZHRwYHuhp6+0fGBhxcKu30rAoeEt6WsJ6TJ4jokKx/yomKiI5ldUTEnfa5u079+7bzzmTXb0KXfZrvEyrfh4uLDu1EHdYf8CJlz+EG/8FC2SuCdalSxcvDQjlOAiUEVFRAA4NxjmKiopNYtGCsxUbEpVU0ZAOxcOiU/c6S9J3lTd29vW0NHZ09gJzFJTDw1dGR4a/Gh0eHMK9gZ7yvbWNO7fFbNm1Ka38zPBAU9/V/sFr5wcG8caR0dFrA70Do6PDw440DfxUqiJOT9sQhXVg7G7B+j/WFxYtxa5hiH9AcGRCWvrOdKidtv0KnFqil9Yw912R+AfPo9pKQx5O3SQFVwDmc9D0ym3bNq1evmkT8+/iRfMWLfUPJjFC8qbU0BVLQ0JxbiOjokJXpCWFhiRtS4qM2VTbUY549Zd/tauia7Cv6W+bWjv7ent6R0aujEKujAxfERkBD0FGrnbk9Q7lx24uamtp6MUbBnv7wApSvIg3jMAmKMqk0dZt0DrenLphfVREaPAKbrsCtdBCuFEHu5JwPUDyZlyMtYdVjLuQeCd8DE62d0fatoqmvE1QdFFpff2hsqKiY11tu/6q5WQeBrk8e4hojGoxIUm7kiJXhCQkIVpzvh1S+7dJsRVttYe2bcl3djQ0Nfyqq+ejodGhvuErQwNDw8NfXQEvQYdHr31FzGtXR4Zw+Groq6GuK9da8xu7hr/A84Oj10aGr10bBu2fcX6GB/48+n9HR/88es2B5kbmzBv0RRukXxsRGroKf3gFQPBKTp5RHPCDApqXBfBygOQ0dYGD2TWprJr5aX/z6f7e1p3OpoqKtpNdJykfnWxrw1LZtv1dfbuSYv+qoqmpqahoV1LSLlTGeQHBCXl7k1BQJUQm5LWdbNuU1HV1cHBocOj8V1dGhoaoRAAOXhn+fPRzmPGVEaVk3L16DZY9+tVXsGzqGU/jNFCfo/959eoXeAseKf3+Gayjfya6A6Mo8EZZEvowcGjUWAsOCMaAavXqb30LRQIG7UuobqRQqCcAroc9wzA5JHa1S5bo23bu31nb29vb01TU1NXXB9J+I3LP9bC//0xvT09f/+BgV2tX/+DAwODgQP+ZM/3nB5VAmRTAAQ8kgvmFWLO7XFUP9WHs6/LMF1/wLIg4UlPRv7p41+K7eWQlJZhrCkiULPdAzIJI1Iy6f/Hi5StgfXgVCWMTY/+uvQhV21DtVjR1nunv7T3T39fVB76Pzp61iM+KDJ4/399/HlEVfP39iCgj/YhBggjkQUYYu5D3iy+grFFzvA7SzZ7mP6GAsXAiE3VoTC0MyuUrSBCYrGPrZHAA6nukkBDUgiErA/x9lvs89NDykJAViLJ4/lvIdmnpFWeGzvSfgbb6B0YQGvjBB/HoQv+FCwpTsY4rgB3BbwwplYLPdhAFK14oyfrMN4O74evKhwkt4FS1mqqjVopB7ApY6oOYiu1m3G+GUhHZxWfxUv/FISsQYpYGRG7CaDGvaXAEeiMljRMfE3rEIzJeDxj6NDIE4MFh6BawitcSF+//CNL+y67Vww1q7UTdsDZkHYRad6X/Uh9uo1zOoQ3qxOU+8xYvmhuF6igkJKkM8air7wK12d9/4Wz/WXxyfHRojfh83mDhJZtohZJM3BXnyBNWe/DXpFiL2ZGmS8un1FIRFk6g5Jj1G55IhopjMIBEW0pbXoLaAX3AzFnoBnzmzQqJ2LQfsbbt5EcffQS0jy78K9wV9wkvBIbU46if1zEJ77MFJ2POYtQqXo0wC4lc72hIxoln4/4eVh5UNa2/8g67saJQxEeh10iIjYILoxGXLhXRCvOnmRg1+nMSsaul6e2mfzl58T+gwwv9TDyg7YcBw6pBAzceotXaLFf0ewl5BgIiHvAeIVc6pv8qSvNQFxlfmzlL0MI6AsYUf/l0snzH3+MwbMbsWBo1itsI1AerHwoB9UP+rP9nzlw408d/UcimPU21b3cNfnbp7NlLg4CFMQssoAfO958fglHzZxzR/jmiEg9OiJiyArVwLeLr6e2/fw4cHKujqMQiKCaZ65NT01DIspmMQhmbxiIoYHkIFCzE/n4L7+X4LeltRqjBwc8+u2SPShKg4MwIWKLBMbh0bo+8I9p143UFauG/Htot5d9xftmx/Qfbf7CZvFs2I0MlJ6cDOCIWPXkIerTI0BWYwaDOgKJlj7vPwpV5qBO0fHbp4kVRrV0EeAjAY3ntMVhMW5v3eMRG3187cCrGIOtTE5LX79iditQEQ+awgls20LcuXoHGJiQydlMJKc+ePVFaeOLSn0YuUQtDQ59+NnjRKixszIxT4wKPp2G3oGW3bH3/v2+84/+mY0NqctSG2PWxUTt2x6JXQHpF0bxoXshSdDRLN+TtaegavDoyMDg6fPVPf/rTZxcv/ulPg/0jV6+IJf5x8GK/h4b7z164oIHHqpg69zRp49M2D3bD/tqBQ4MjApLYqsUmBaNaTitaiZ3tS2PzUFv8RarzwkhZU//IFZYFKO4gV8+OXEWHoj4mgD0NWrItiA0XH/5Ri9i4ecE9RLm82NOlv3Zgf1yZsQMmjI4Nk4ilRZ2LZi2ak9TWFRy5bdeOkp5+lShHv8QfVAcoHK+O/JFP8HkCo1wWYV8gQUu5ruWuI8N//KM8gbfzF61SyiMoW8g6ht1qHvbMz5552fN1Bxx2T1MewlNkLHfgFDUtD4iNLEKj0z8ydP7CyNXBP0p//X+GP/+cHeW1/7z6xchVPGGZtNUd8A6qyUufXhJgV4QSYCVjDdq98rBKaX06rLrja1O0A/PBhpNNGLgl7d1VVJI3NHhx8OLISD9Lwwufjgzpj/hnCIihWbbXcjQ+7A58cfDTkU8Rpe05VYDRILEHRNp1KVmZr5wEPutRdKBvuLU0fOPW0ONUOdLS9zb2ojfFp5GyR38AW7ErHwjA8pvAVR9wdIQcUmug2tACBQ99qpINkRGqGZjRU0C0jkdGhj4V9QveZyil5Y7+d1127vE5r49+Fb0w/hi5nin8pxbHGRmJuUwNVSvmCmMFPTTlC+oardoX+LCDF5GV3HDPXmS1qLKr0hcshYHtInD5o/3bVUQqQv7D6h/lbI78t27CFqrcue7vWcAYEHFywr/6LI4F/gKKVecEH0QBI4IB2GbOVsNrqya+AMlFnJWLYL0E8IvwboRxEmmbt8yY/zI+ijkT+C9quXXyG7zT0OLoULqEewrvGNghzHzhsQCmhhUv3Fj0QoO25WGjQCQhyzOGYQUig5egaADjHJ1nRDNtghXbcA45xrF8/2sB1f8IeTHnEnGA8XNt0jZTVg3N5csINLB5IOOvGjwwemngz6hho1lXu8usCwuVE/nvAxf/oIj/QGDc4FfOi47dW31Omkf+4z/+/wCTFZ9dAYsxfz50Rv/3MX7QUYkHmOcnYMa9y3hebP+KDl/8zHRPGeIwpGsFX2CdgbNzZfTPSGb/PnDh0h9QccOu6cl8P+MXBqvWf0dNHNHvKtgL4v6YYWmTNu58s774Fl4H7rVrAIaKYcm4cTNoq0XHS/oc4C1XwHuFvyDmhwjcr+yasw1VU6KwGv4jR/0w/uH/c3lg8NIleC5yHcxa/FkCtmdQhPXg/OGtTGnDHMO63vFfCGA384NrAL48/PnQAKuKUdRSVKGWyxBCXzZOTky853MKQ6n46UA/hlns/AmsyyxJbowJnw/jnyAFkVGR8BZaRgRDRrMhqyWB4UH8A/9LDUww6LBe//pmPF+OfgXglu7u1u7hL6m80S+/pJLpv59/LrhDQ5eVxV9WT0LArZHBPDTAUaUSPVE+j9UcvBkf+MoVpuN+WCktnqfkLMxBMhSIlUnr9Q/a9MiwNNcX4OBcWYAC+F+7tdLD0uyX18xdsNiFj7788quvvnLUNTc669o72zs6Ort7Tved6YPgcO7cOXx0yvkBxi4XscKmCqS+GDDAGhs90tCnKD5GsGQAI/8IE5Gz1C2NgDXnxT/QmS99ZmI6qy8ueME/LnyERYp+LKjAW0TDPMs0NMu9bGahp0N8RvkjLVSw9B8kOZgiPqn6vOotGPFgORRfMJGPNXRsHsgvLsbVBriXj20S6tISbBLBPnTsBuJGqJaWFrObsaMd+/7aOjo7tHRBZMUW6wkfSfn10b9i1PXRqVMnT546eaLrFFddTpw4cRJPdOEun4f09vbJST5zBuV729tvN7V1YNFXnlBPn+GPu5yjOvCUHJX8b+ueuaOVdV4yjdKZiAOYZOWegX179+zVy+D6K1RKKisBL5dZcAvFwYP8MdtHZOOMk9tLnNgWV1tbi/0zuPM2hplNb9cfq8ciGhbSSksLC0tzc0tzs7Jyc3NwzC2tglTjZQgHn20dHW0iv3r70KG3m1o61Fq33tKOex988AH28GuRx66H1r1zcu/3PNBILeGZsZ8cR/GePbKzIV+4IFAtbqB0HksOVoIQFwIeNsIdQ7yvtkfVVCrgppaWpoZa3q+orT1UlJeTU5iTlZ0RH78uOjoMV4pji6y3Ny4Z93sA2yixzx+XKmXlFBaWVRw6VIsz1NjQ0NTUcuxtPmhphXd19qjLbsitkG0iaOaxB/vHfX2/dxOb6s9Dzjn27+Purd17sM4ryPr6GXMdDS6Mg0oBrRR78CAvg8QlJk5s/8L2qJqa6lps6oUhdnd1tDYBeW9ZBVizsrZuTMxIjA7yvneGiLc3LtfxxWVK4UFh0bjQMgMXpOGsFBaVHIJtQKobYRe1tW9jDzgcp7W9u1NfaaTJDLTRtzkabXdCu+d+f/r9Hv2Exa2J8Sp5zznMJr3Kg9QnVYsfYQcrbg8S2CUHjabr6vQFvtzlCQWLhrGzBtcRvpSTk5ORnQgJD/T2DfSdPx/E02bMmD/f19c3LCiIl6NtzC0oKCwE8d9WkBgbobHdncD4p1qh4w5GUUi3u3LHPDr9gb46+OOP/+3y5X87Z2n3448/lvuezg0f5kYOXAoFuyZr/kFnZX5+SR2BaeAleIkiGxkPI4SJMcs3quCJmkpsaaU9NzXAi50V5WXVpYU5ObnZGVWZcXHRYb7ewMS1WMLq7esbHh4enZiZnZ1dUFAqUl16iAI/qKhpwGy/6W2cO2qYvObKlHGgLZMG2Mc0a819+n3t8Z6wtGcxaTjwnvy6OuxfAx93sPAysLqWdsBgD59cLwQjrsFXxTRgp3Xl4SOHK/GNBHWHGyrxPkDjhvsAaxtqxH9rD4EX9gz3TYxLjPP2DYeCKYEp4aQODAMvjB2XG2ZkIZzVg7a6vqm+Wn4ZMayVuIhjkieVvG8gLEpbGHOLaBr+NJQrGh4Tu2HSxZUlEqUkXgGWnLxCqBGBpAFmi7gkmxnxkrrGU+1ZbT588CBOQUMLshbc2UlFN9VWFOW9VFqalZGbszE3MyP7wIGUlJRw38A4/PgGBuLWOzyaF1hGr4tXwIXV1HJ9fXU1Y/s/IdMhaDFuQ6hhK1h3u0UqO6U9ZBvg07//PSL2+MD7iisBmr9PuSqUB7U5hZrRqbKyEcBUpexH1lt0DztxgRgvEwMp2Buc5QBuqK2p+NkvjlWIpRbkZmQkZiYGBYZ7zw+Mg137hoeFhc8PnO8dGJSSmR2fkZuRzZgFFdfXH1OiclMTkzuzu/B+oK+v0pnIM1R7pic78Pi8CFosK3hdAD47LBVXopeUy4ZkAlPZkn7grFAw9yKzDuFJgRM7efnjkZaWZnw1Q0NTW1dXW21RXjUgSpGSsjPgrHFxYSkpCFze3nHe86FlKDwuMTMzMzG7CkELqq2GhpmSqV9kZOgWfxGrJGIJsJu42e84ydgAq9A1jkGfPw8flrJiH/EaGiqxKxX797BNU12D73QW80au7QTvEbiy83BDM3QL7cLEcVddgYAgXVHxM3xmRK2crNycjMR4P34pDQI0eH19Z+BPYHggw3RYYiIyNDVcimv+tYbbRMP/0tnZZWo3Rfw/AB6X97yDyqo7UudETjkIAhBzu3FJOWsr7k8tASrKi7pftx+HRR+urEWwovP+FldRwCKcFU6EM9ScdOJf/Gz/LkStwsLc3Ox1SMJ+APX2nT/DNzww0HsGjNs70NvbLygxsSA7Y2t2ThZsobQMPxWHKip+BV54bxu0S0V3/FaCVs8HuBF7Fl3TpPUpGPcIDeN5N/1qPZ/nkWHaIZUUwk4dMOnGkn8BakJ0o0SuujoGbxg1HJbvgjWrq9SPwMTxBlg5q6zq2vp6cBQibGXHR4eFJ4bN90VK8g4MnOEbBwf2jguLTkyMjs7ILS2oKhAHrmaUNkat7VpHrQ5qWOK04bwFkzaJ2F2/LDmE97yDe8hRb6gojZ1mJdiayi3Wsj0X8M11CFoAZpw6cqSl3Xg8Xb65QeUomIOzxMkwXUunhBcX5OYmZieGBXqLehGnM+MyUYHMCAz384uGRWdszICScyTAceuaDVmSEtSLHwK7Mf53gaXG0sByPQRqaRZXJagx9jsbasp5N3+/04kNudiZXFxewxwMBcsOexzQN3W041SI38ME6mrKGypqGyuKyvLKELUyMnI3xieGBUG3LCt9A+fPmDZtflyKr+9837jExBSoPwydRBaAC6nfpmP1hyRu/RMtuqMTbRerLPSrMFCJzLgc1pjyeJ2Deo01iBQhSpQxk9TAst91HCw+iOLJyQ8vgsvOoURsTEWsQvSqRG1dgifl8ntm3BZpE48fxyXIHYhYRxpg2C0drKOh3tpfoNDKytm4ZiNKi+gwpN5wmDT/hgMd1QdSMmJWdPbRo0ercnPow4XoqyqwS6+CJSaIuwDaJZFLhWkt44TkcXKSBiaqAZZO0tg3TZotbgvzq1P1By3NDbj2vMHZgDgk7snCAxd3qeISeLhtRlNMB+Y39eH8NLS0t7Y0tdSWs1JCoVVamJFbkJgYFpaZmZIZDd+d4R0dGBgYFgjmuDA8V3W0oKAgO6e0/ujRE/Unz/Z3nUCDjKzW1vpPaEMkLbGcFmB68C3Qav1KAS14p09bqsUQQw8z0BM7VAV1+PDxZsBAfUyyTqSd8po67DZHvcnspFiZpZGWKgF8vJnfQECfRhSTzNzUUVtU2wQXVh6cnZ17ALl3frjvDF5kiOQEbARpWDmah/iMjfjWkizUoFtzCotKDyE9MQA0NjWi0aQLtxtgtsW3BCz2bKpJqbM0sDT+mNvIGADAEnCpLqQa3qisW1PD73uCH1O7ChgBGp1SHd4Ciz5S13y8HaenvQO3Lah7O5o6Git+UVtUBIsurYLBolsK9A2Pi0sJhCnP9/MNjA4P9w6MjoNro2GKz5DmgYUlslgZAnxTvQA3qJhlB74lXuXARr0ANlYMc2bEMlaNwgPX+LDb12ONfa9Aq7zqvhbVUwN+oFLmZERstg51RzjyQQFSqfriugYMQaR/qObMo2J/XhmAC7Lj41MSs1MC41LiwsLRI2Vmh/uFB4Z5B4aHBQZ5hxXkJuauk344JweJrBpfO9TUCYuGTbf8FqVHZ0d7u8nDpti6bv61Ggb3ftDUWX0a2MrDUmlV1qEXoCA4C11JiSgaps1rSKDxSsQrpGzkbCZeEYna8h05sGrA1qB3gIa35uSgkEKDEA6doqxkJzxtGq6evQsuzEyMfJWBajojoxABbivtGcBt0i01Yhc4IlanSkzj1JZjvdmEZtP/2oKVcWL68DmZcdGH0eygdkLVAVA0ECib8PGRZ5BvnHWtzZU18r0KdbTqBpgxbJim3Nzc3dF+HJ7MPMxUXdNSUdtUsb+sOicj4wG/+PjoIAStQERn5qVp07zDUqLROsyHYUcHhWXmblyTHb9uKyYjiHCFpWVlyErH2o4xL3EuqALXLfGKKeucdJ12wT0vOWCdYqsIRfBi6kz1v9Ag0jE9XF3ihszEk3AYrMeRg42aGbFbGtBr7M1nkD5UVpqF76ZggM5k1wCBhjHfQesgbTEmAn7zo8MysquOVpWWolE6wb/V9SfYOuCHIzzBbUfZIdn0ZiH6YxWf3HoFmw/bcZmTHQy9knLFaC1xQuuqMWajhFaCFRV/mllztRyHlnkS2tsZ4ivrGls6W9u6jhUV1WMmWYpK+t7EuDB2C94zfKO9p+ELHGZMwzAANWZgWHTm0QOnjh49dTQro7Qa8y8E6rw8JGLMijjfEWtWnf/NWHWBMRZ4/L5BzbSYgNEs7UYhfZDDHDFnHNkviQBaNUuYCbCPhPHDGo4foX03o9egTQC4Jn9vEUY1TfXUHEJ0bmZieDjrZ+n/MeaZMW0+iktfdIyJ2dEHkIYz1q3LQLVVWHqMpYc0iE24BBojrVY93vkAA6ubJiVtyON2gxa4HvBwxCMzHQIiJrGcxpVeaInl4kV2xnRS9A/w0xrEJ9RfTF7MQ6gsZXQJYrxcU1HkrK2ordi2+skns7auyShYh9YwDHUW53e+0XEpmXFoDNkqZmYeQB8VvTE3G1E6K4uFForR6mOc8TRhPIaCR7Qss50P8B0rplCUsMtJhowzdEt0vb7XrmIFK9UHKy0WS/wyKnR4zMLFlTWNzfxGELlGFffpvByASPcgRq9iNDN2A5R8pJ0fqaejtrWpKK+svqk0a2NOKeYZ+N6ouOwDmXGBKSkos+JSDmSmpKCgPICxQHRYGPJwbkFp1pMIXLzqBdEddUcT5jtwYsuk3RMwVWih2oHHsV/bU1aRpYkdTEVcUniF7S/aJl7Lx6JjP7/SCYJ6UzrFCsRrxjT9zWUt4EfEZnUJBWO8U40PXA1frC0t3bout2DdyqAgP3wNSSAG8KiufH2DcDMfSvbGnaCw7I2rN+YUlB49cepfT508dfbiZ3/qxbpLV0dHV3cPLhIx/e+4R2rVlXxMvnU/ugK2XGAhS2SK2MFBO78YVTqfluPNtG5evMighRKagioTIZvlBVWLaovUaB1YSjN4l5dUwh7zdhVV5L2Ul1WYk5sbH5ZYVXUgJcjbjz0h0tIMNBAI1tFBQd5Bfhh2wcnNpBY+3IVQXY+JR2tbTy+WlnoI7CFqKKdsWTR9Y726XjUGrag1MCAPSjpmpSyUOmIxgvFEwNhxAtD11sgoS5WVR+jax9EcOp1wc4RZtDvV9cjDBbnrUC8nZqZwpIN8BBUzGQN5Gpk5tgyKD1qzMZcjbPwtK8orqq9FVqptpEkjJ6mFJZtJu+ZT/1VgV/WhgfG5aakNzZKI6pppwJha4lBejBLL6Wzu7GzGSAPlB6Y4rawG8F//AHNjfCRwo0yBfTS1bUMSbSp6KQuTjLDs3Gg/b+Qgtv9xcXEYXWZmhs8PwhQTagavXxD6w6qM0owMRPTC6sKi+op6uATSeUObRKzO7l5VUn74volZur2VNbPxxnNGp57RWhm0mLQMARwy1IE/thxB+EURAlZqsmZfiUy7GpCKmjs6WxCziOwspz0jHzUwjsKHG9q5ytIIWtTC9UWFhQVBmZlhGFuFoe4IPBAXjrk02kGmXcwrEzMPVB04cCA7MR6lR3ZB9saMwnqqGENaWTvt6T0jK4e9p8/0KaoxDb2r/bvOYNLD1m3AsOiByw7MpUnqZAWFUtHZ2iKjdoxsUDCqL+5CocGhAImRingWOMuS0R37Ky6xICOh6KgvO1RalXu0KhNmm4nWH86bwuoKo51sgLL6Olp1oOoU5eip3I0FBUdPHTuG1ZbqtjbwcqFYFuRxzVrveGuiN9Ls9XzaAJ/TDaJDl8ZCJKSsLFBXtzTW1DS2NDLzIqY1chyL/AsR+MNO0B5nvdXYyFW02tqTbce6UCIWZmOUUZXpHZQZzlWHwOwDGOlkh6NL8p6BiBUuPhzk90D0QnRUGQ9gOI2F5EOF9VxRa+ISOxXM6lKZMutkWRUUS/4fA1PD0KWM8AQVOQgTrfLKhpYOBC9nc3sr41UzgkhHJ/ZDYKqDNSfdPstXELa01HHFgXKoouglGGjGOqwchfkFFSDfIm6hyogOCo/OPpAdGI3aer53IgqtggPsmBMTM4IwnS7FeLqsOq8ea66yiQB7AriCbZvXScWhfzwUefNzYDSs5gCYadVKYj3ScBgTDck6qBObsa50BD6KvrQVY/fWjm4kijN9Pe1waDxHo0dygsoBDLW0dfV0dZXUVuTt2pWzMf6BjblrHgiK37oOPaD3jLDAMD+stMyY4cUF4vnhmeHeSNBBfuiLE2UOUIQxAMbx1QhaLWyVWE7DjhgdrVCtaVWtpZFv8fiJTsMDn6j9IpcdHccZqY53qIqCi7Oou1rhq7RnxOo6zicbW7vbW1FdYtpViTPQ8cG586JuNo4NtQ2tnW1N1SfaurCZ41jO0VMnUE8fpZdCjUcLDmQm+mEakIiKOjwlDmVWRiJWWw5A5xkFR6uqCg+htsT60smuti5clsp9Irw8VXVK58wUUpBvHJ71iZCNHJ988ol6+An31elWGFuSCCzLCRhPQl2HOd1CvSxTLA5fm7vPnDvdA4eCatEZ9Z67fPk8MNkPH5fFtfb2zlY0hw2NFXlNx4oOoc9Dy1dfWliVlYG5c1VGxjr4rd/8+UFB4YlxKSkYY94b5IcJfWLYuuyjD+RWYa6VtZUrakVFXawtsf7IzqG3DzNRrrLQg3Ve4liOg5ub+bHaujKggF24AwhayqR///u+07/FF6C2IzU1QNNQXEc348Ppc93tHTKglAUewPKfOI2BooyykD46O3tP98K1EVt7O/n10FhFy6nP2bpxzZO5pRvj4/28sRgcl3kgPHAammJYtN+9C6PXPRC0DhtbskurCgsKc+M3rvPfWl3GNguJjVdX45/FyLLn9Lm+08hOvb2duntQW1OuK1qj584x20ratbcMGHWoBgLA3NWA2TQmAMc/6D59+fNP+ro5iaxsroPBtiN6ocJg4cMeoQcvtXPixPKjt7uTQbsTKseqbm15UZlsz6kqLD1ayE0rGZnZLDe8vcPC0TeEYT0cX0UblFG1zm8NBnhYKsXSUn3p0SfXVWMDU9uv2Pw3YebR2NIBUEyizkDN3DN2GqD8uTGwdSZU1ewSs2FJ2/VlpCUskmE4d7y5/bfHj2OUwdXB9uMtdZxtIAbzfxMj87ojSNOoTBpaYdPIT8RE8GpEAEfp0Vhbi+lO4dasjHVPFqIjrjq6EfknLIz9Aia1GFweQGSmX586dQJbmDKeXL2xsOvUicKsevjwoYqyWpSnCNMnu3p6z+FiYpiT3qZl7cm6oYJdmtfAFrUycWDrowNroJRmbGY4/lt4DBMtFhMrVV6WhXAsEhKb29PwEh/ze9rg7vDs1vaWRn5xGTp/TC/wZfeFOVufzCgogIYT41BrcVdLeFjmAdRahD31hxOn/sCyoxQ3Z9EonTpxFlvz+nE5+fnzfX3959VOQJgyj4AVxULLN+oVJEThRgQmrdoEE6tce9LUxjRMmlFiHT/+2+4OKBhaRG2NZ9phqVK/m40lzawyjrd3QK88F2yccC5au1FXckbRWvtPtSfq608A4Gw9Q1ZiPDbxhGdCsVVV2PtwICUxAyXWiaNHS0txm0XgU8cKj57IOtbVBc4z0GpfD2osJEOsKfUwbsj+PMaPG+IyNkk81sAAvSzx2E2x1hOYWiKnVh58FU58EBrswLqv9BJ4jKKjo7sJpwHoHcdBzgl5N4NWS3MjsxjG5p3dSCZ9uOq/p7/2GMZTVbXVhaVVpVhZCEvJzYyePyOc/W/4/Bl+M+7l/8Zkzeo1G0u3bl1TuAurDuv8MwrLuo4dehtdP054SwsiFoIDNHumD0dxYfQQwuuZd2ERIub5TzQS9hpyGyx3+3LTL/Z/q4swzOv/D3mjupvCJFLWAAAAAElFTkSuQmCC"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-05-b.svg b/Tests/W3CTestSuite/svg/struct-image-05-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f171ff2c9fe40147db912061edaa9795b3275161
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-05-b.svg
@@ -0,0 +1,57 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Ola Andersson" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: struct-image-05-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+        <p>
+          The image test case checks to see if the svg image format are supported.
+        </p>
+      <p>
+        The test uses the 'rect' element, as well as basic fill (solid primary colors),
+        stroke (black 1-pixel lines), font-family and font-size properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image showing two rectangles, one blue and one yellow.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-05-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <image id="imageSVG" x="0" y="0" width="240" height="150" xlink:href="../images/rects.svg"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-06-t.svg b/Tests/W3CTestSuite/svg/struct-image-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3322da2300c7aaff667468bb1933b49a8272b17f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-06-t.svg
@@ -0,0 +1,104 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: struct-image-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+        <p>
+          Check that all the preserveAspectRatio values are supported
+          for the &lt;image&gt; element. In particular, check that
+          values which are not supported on the svg element's
+          preserveAspectRatio are supported for &lt;image&gt;.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test shows four smiley images: the leftmost one is the reference,
+      and the three on the right are the three sub-tests.  The test is passed
+      if the following conditions are met:
+      </p>
+      <ul>
+        <li>The image in the first sub-test is shown within the blue rectangle,
+        its aspect ratio preserved and with white bars between the blue rectangle
+        and the left and right edges of the image.</li>
+        <li>The image in the second sub-test is shown within the blue rectangle,
+        its aspect ratio preserved and with white bars between the blue rectangle
+        and the top and bottom edges of the image.</li>
+        <li>The image in the third sub-test is shown stretched, having the same
+        size as the blue rectangle shown on the left of the test slide underneath
+        the text "Viewport 2".</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-06-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="9">
+      <desc>Example PreserveAspectRatio - demonstrate available options</desc>
+      <text x="10" y="30">SVG to fit</text>
+      <g transform="translate(20,40)">
+        <image xlink:href="../images/smiley.png" width="50" height="50"/>
+      </g>
+      <text x="10" y="110">Viewport 1</text>
+      <g transform="translate(10,120)">
+        <rect x=".5" y=".5" width="49" height="29" fill="none" stroke="blue"/>
+      </g>
+      <text x="10" y="180">Viewport 2</text>
+      <g transform="translate(20,190)">
+        <rect x=".5" y=".5" width="29" height="59" fill="none" stroke="blue"/>
+      </g>
+      <g id="meet-group-1" transform="translate(100, 50)">
+        <text x="0" y="-20">---------- meet ----------</text>
+        <g transform="translate(30,0)">
+          <text y="-5">xMid*</text>
+          <rect x=".5" y=".5" width="49" height="29" fill="none" stroke="blue"/>
+          <image xlink:href="../images/smiley.png" preserveAspectRatio="xMidYMid meet" width="50" height="30"/>
+        </g>
+      </g>
+      <g id="meet-group-2" transform="translate(230, 50)">
+        <text x="0" y="-20">---------- meet ----------</text>
+        <g transform="translate(30, 0)">
+          <text y="-5">*YMid</text>
+          <rect x=".5" y=".5" width="29" height="59" fill="none" stroke="blue"/>
+          <image xlink:href="../images/smiley.png" preserveAspectRatio="xMidYMid meet" width="30" height="60"/>
+        </g>
+      </g>
+      <g id="meet-group-3" transform="translate(350, 50)">
+        <text x="0" y="-20">---------- meet ----------</text>
+        <g transform="translate(30, 0)">
+          <text y="-5">*none</text>
+          <rect x=".5" y=".5" width="29" height="59" fill="none" stroke="blue"/>
+          <image xlink:href="../images/smiley.png" preserveAspectRatio="none" width="30" height="60"/>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-07-t.svg b/Tests/W3CTestSuite/svg/struct-image-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e8ad6299c59336f58bc4c1291875bf3c35fe5aaf
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-07-t.svg
@@ -0,0 +1,75 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-image-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+        <p>
+          This test validates that xml:base is properly handled on the
+          &lt;image&gt; element.
+        </p>
+      <p>
+        It shows the same image three times, with different xml:base and
+        xlink:href values.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test is passed if three smiley face images are shown.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-07-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(10,0)">
+      <!-- Default, base is the document URI -->
+      <g transform="translate(40, 100)">
+        <text x="50" y="-30" text-anchor="middle" font-size="24">no</text>
+        <text x="50" text-anchor="middle" font-size="24">xml:base</text>
+        <image xlink:href="../images/smiley.png" x="0" y="20" width="100" height="100"/>
+      </g>
+
+      <!-- xml:base on image -->
+      <g transform="translate(180, 100)">
+        <text x="50" y="-30" text-anchor="middle" font-size="24">xml:base</text>
+        <text x="50" text-anchor="middle" font-size="24">on image</text>
+        <image xml:base="../images/" xlink:href="smiley.png" x="0" y="20" width="100" height="100"/>
+      </g>
+
+      <!-- xml:base on group -->
+      <g transform="translate(320, 100)" xml:base="../images/">
+        <text x="50" y="-30" text-anchor="middle" font-size="24">xml:base</text>
+        <text x="50" text-anchor="middle" font-size="24">on parent</text>
+        <image xlink:href="smiley.png" x="0" y="20" width="100" height="100"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-08-t.svg b/Tests/W3CTestSuite/svg/struct-image-08-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b712be813369dc8033c8687d64a847fa4ca0a88c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-08-t.svg
@@ -0,0 +1,58 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-image-08-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+        <p>
+          Tests PNG images with alpha.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The result should be identical to the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-08-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect x="0" y="50" width="160" height="170" fill="#000"/>
+    <rect x="160" y="50" width="160" height="170" fill="#920"/>
+    <rect x="320" y="50" width="160" height="170" fill="#029"/>
+    <image xlink:href="../images/rgbalpha.png" x="0" y="60" width="162" height="150"/>
+    <image xlink:href="../images/rgbalpha.png" x="160" y="60" width="162" height="150"/>
+    <image xlink:href="../images/rgbalpha.png" x="320" y="60" width="162" height="150"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-09-t.svg b/Tests/W3CTestSuite/svg/struct-image-09-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f854040d1aae3ba453c8bc5ced0db075c90eaa38
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-09-t.svg
@@ -0,0 +1,57 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-image-09-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+        <p>
+          Tests PNG images with pallete ransparency (tRNS chunk).
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The result should be identical to the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-09-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect x="150" y="50" width="162" height="162" fill="#af4"/>
+    <rect x="310" y="50" width="162" height="162" fill="#fa6"/>
+    <image xlink:href="../images/stefan_252_tRNS_opti.png" x="10" y="60" width="162" height="150"/>
+    <image xlink:href="../images/stefan_252_tRNS_opti.png" x="160" y="60" width="162" height="150"/>
+    <image xlink:href="../images/stefan_252_tRNS_opti.png" x="320" y="60" width="162" height="150"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-10-t.svg b/Tests/W3CTestSuite/svg/struct-image-10-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bf9b3a02153e089e47827655a44c2dca1b311f5a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-10-t.svg
@@ -0,0 +1,58 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-image-10-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>
+        Tests PNG greyscale images with alpha.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The result should be identical to the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-10-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <rect x="0" y="50" width="160" height="170" fill="#000"/>
+    <rect x="160" y="50" width="160" height="170" fill="#920"/>
+    <rect x="320" y="50" width="160" height="170" fill="#029"/>
+    <image xlink:href="../images/galpha.png" x="0" y="60" width="162" height="150"/>
+    <image xlink:href="../images/galpha.png" x="160" y="60" width="162" height="150"/>
+    <image xlink:href="../images/galpha.png" x="320" y="60" width="162" height="150"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-11-b.svg b/Tests/W3CTestSuite/svg/struct-image-11-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4b7e3d6ba51dcc4aa28692a3fa4511cd655115b2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-11-b.svg
@@ -0,0 +1,67 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="reviewed"
+    version="$Revision: 1.7 $" testname="$RCSfile: struct-image-11-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>
+        Test interactivity in an svg image referenced by an 'image' element.
+      </p>
+      <p>
+        This test requires support for CSS2 and referencing SVG and PNG images via the 'image' element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Click each of the three rectangles in the center of the testframe once.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all three rectangles are green after being clicked once each.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-11-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="application/ecmascript">
+      function makeGreen(evt, expectedId)
+      {
+        if (evt.target.id == expectedId)
+        {
+          evt.target.href.baseVal = "../images/green1x1.png";
+        }
+      }
+    </script>
+    <image id="imageSVG1" x="180" y="50" width="120" height="120" xlink:href="../images/struct-image-11-b-1.svg" onclick="makeGreen(evt, 'imageSVG1')"/>
+    <image id="imageSVG2" x="60" y="170" width="120" height="120" xlink:href="../images/struct-image-11-b-2.svg" onclick="makeGreen(evt, 'imageSVG2')"/>
+    <image id="imageSVG3" x="300" y="170" width="120" height="120" xlink:href="../images/blue1x1.png" onclick="makeGreen(evt, 'imageSVG3')"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-12-b.svg b/Tests/W3CTestSuite/svg/struct-image-12-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7e89072d9220f4f97917c39389c481c2ac1f4d67
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-12-b.svg
@@ -0,0 +1,71 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="empty"
+    version="$Revision: 1.4 $" testname="$RCSfile: struct-image-12-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+        <p>
+          [[Describe which section and what specific assertion is being tested
+          by the test. If the test has a number of sub tests, multiple
+          "testComponent" elements can be specified within the "testDescription"
+          element.]]
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[Describe the pass criteria of the test here. The pass criteria is what
+        should be displayed when the test is run.]]
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-12-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <svg xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root-circle" viewBox="0 0 450 450" width="450" height="450">
+        <circle cx="225" cy="225" r="200" fill="blue" fill-opacity="0.2"/>
+      </svg>
+    </defs>
+
+    <!-- The following image leads to a cycle, what should be displayed here? -->
+    <image id="imageSVG" x="60" y="50" width="240" height="240" xlink:href="../images/struct-image-12-b-cycle.svg"/>
+
+    <!-- The following image should not be shown because it leads to a cycle -->
+    <image id="imageSVG" x="60" y="50" width="240" height="240" xlink:href="struct-image-12-b.svg"/>
+
+    <!-- The following image should not be shown because image elements can't reference elements in an svg file -->
+    <image id="imageSVG" x="60" y="50" width="240" height="240" xlink:href="#svg-root-circle"/>
+
+    <rect x="300" y="170" width="120" height="120" fill="blue"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-13-f.svg b/Tests/W3CTestSuite/svg/struct-image-13-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..880907a05a46274477991362279324968dda9dc9
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-13-f.svg
@@ -0,0 +1,124 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: struct-image-13-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/[chapter]#[section]">
+      <p>
+        Tests that different PNG image types are correctly handled. These images are non-interlaced.
+        </p>
+        <p>
+        This test uses the 
+        <a href="http://www.schaik.com/pngsuite/">PNG Group test suite</a>
+        created by Willem van Schaik.    
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all the small PNG icons are displayed as in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-13-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  
+    <!-- something to show transparency -->
+    <rect x="16" y="32" width="320" height="8" fill="#3C3"/>
+    <rect x="16" y="48" width="320" height="8" fill="#9F9"/>
+
+    <!-- 1 bit black and white -->
+    <image xlink:href="../images/PngSuite/basn0g01.png" x="16" y="32" width="32" height="32"/>
+    
+    <!-- 2 bit greyscale -->
+    <image xlink:href="../images/PngSuite/basn0g02.png" x="64" y="32" width="32" height="32"/>
+    
+    <!-- 4 bit greyscale -->
+    <image xlink:href="../images/PngSuite/basn0g04.png" x="112" y="32" width="32" height="32"/>
+    
+    <!-- 8 bit greyscale -->
+    <image xlink:href="../images/PngSuite/basn0g08.png" x="160" y="32" width="32" height="32"/>
+    
+    <!-- 16 bit greyscale -->
+    <image xlink:href="../images/PngSuite/basn0g16.png" x="208" y="32" width="32" height="32"/>
+  
+    <!-- 8 bit greyscale plus alpha -->
+    <image xlink:href="../images/PngSuite/basn4a08.png" x="256" y="32" width="32" height="32"/>
+    
+    <!-- 16 bit greyscale plus alpha -->
+    <image xlink:href="../images/PngSuite/basn4a16.png" x="304" y="32" width="32" height="32"/>
+    
+    <text x="16" y="100" font-size="16" fill="#3C3">Greyscale, various bit depths, two with alpha</text>
+    
+    <!-- something to show transparency -->
+    <rect x="16" y="132" width="368" height="8" fill="#9F9"/>
+    <rect x="16" y="148" width="368" height="8" fill="#3C3"/>
+
+    <!-- 8 bits RGB -->
+    <image xlink:href="../images/PngSuite/basn2c08.png" x="16" y="132" width="32" height="32"/>
+    
+    <!-- 16 bits RGB -->
+    <image xlink:href="../images/PngSuite/basn2c16.png" x="64" y="132" width="32" height="32"/>
+    
+    <!-- 1 bit indexed -->
+    <image xlink:href="../images/PngSuite/basn3p01.png" x="112" y="132" width="32" height="32"/>
+    
+    <!-- 2 bit indexed -->
+    <image xlink:href="../images/PngSuite/basn3p02.png" x="160" y="132" width="32" height="32"/>
+    
+    <!-- 4 bit indexed -->
+    <image xlink:href="../images/PngSuite/basn3p04.png" x="208" y="132" width="32" height="32"/>
+  
+    <!-- 8 bit indexed -->
+    <image xlink:href="../images/PngSuite/basn3p08.png" x="256" y="132" width="32" height="32"/>
+    
+    <!-- 8 bits RGB plus alpha -->
+    <image xlink:href="../images/PngSuite/basn6a08.png" x="304" y="132" width="32" height="32"/>
+    
+    <!-- 16 bits RGB plus alpha -->
+    <image xlink:href="../images/PngSuite/basn6a16.png" x="352" y="132" width="32" height="32"/>
+    
+    <text x="16" y="200" font-size="16" fill="#3C3">Truecolor and indexed, various bit depths, two with alpha</text>
+    
+     <text x="16" y="260" font-size="24" fill="#3C3">Non-interlaced images</text>
+    
+    <!--
+    <image xlink:href="../images/PngSuite/" x="" y="" width="32" height="32"/> 
+    -->
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-14-f.svg b/Tests/W3CTestSuite/svg/struct-image-14-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f6531648d017a183cd80061a503691b41ae66928
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-14-f.svg
@@ -0,0 +1,124 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: struct-image-14-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/[chapter]#[section]">
+      <p>
+        Tests that different PNG image types are correctly handled. These images are interlaced.
+        </p>
+        <p>
+        This test uses the 
+        <a href="http://www.schaik.com/pngsuite/">PNG Group test suite</a>
+        created by Willem van Schaik.    
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all the small PNG icons are displayed as in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-14-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  
+    <!-- something to show transparency -->
+    <rect x="16" y="32" width="320" height="8" fill="#3C3"/>
+    <rect x="16" y="48" width="320" height="8" fill="#9F9"/>
+
+    <!-- 1 bit black and white -->
+    <image xlink:href="../images/PngSuite/basi0g01.png" x="16" y="32" width="32" height="32"/>
+    
+    <!-- 2 bit greyscale -->
+    <image xlink:href="../images/PngSuite/basi0g02.png" x="64" y="32" width="32" height="32"/>
+    
+    <!-- 4 bit greyscale -->
+    <image xlink:href="../images/PngSuite/basi0g04.png" x="112" y="32" width="32" height="32"/>
+    
+    <!-- 8 bit greyscale -->
+    <image xlink:href="../images/PngSuite/basi0g08.png" x="160" y="32" width="32" height="32"/>
+    
+    <!-- 16 bit greyscale -->
+    <image xlink:href="../images/PngSuite/basi0g16.png" x="208" y="32" width="32" height="32"/>
+  
+    <!-- 8 bit greyscale plus alpha -->
+    <image xlink:href="../images/PngSuite/basi4a08.png" x="256" y="32" width="32" height="32"/>
+    
+    <!-- 16 bit greyscale plus alpha -->
+    <image xlink:href="../images/PngSuite/basi4a16.png" x="304" y="32" width="32" height="32"/>
+    
+    <text x="16" y="100" font-size="16" fill="#3C3">Greyscale, various bit depths, two with alpha</text>
+    
+    <!-- something to show transparency -->
+    <rect x="16" y="132" width="368" height="8" fill="#9F9"/>
+    <rect x="16" y="148" width="368" height="8" fill="#3C3"/>
+
+    <!-- 8 bits RGB -->
+    <image xlink:href="../images/PngSuite/basi2c08.png" x="16" y="132" width="32" height="32"/>
+    
+    <!-- 16 bits RGB -->
+    <image xlink:href="../images/PngSuite/basi2c16.png" x="64" y="132" width="32" height="32"/>
+    
+    <!-- 1 bit indexed -->
+    <image xlink:href="../images/PngSuite/basi3p01.png" x="112" y="132" width="32" height="32"/>
+    
+    <!-- 2 bit indexed -->
+    <image xlink:href="../images/PngSuite/basi3p02.png" x="160" y="132" width="32" height="32"/>
+    
+    <!-- 4 bit indexed -->
+    <image xlink:href="../images/PngSuite/basi3p04.png" x="208" y="132" width="32" height="32"/>
+  
+    <!-- 8 bit indexed -->
+    <image xlink:href="../images/PngSuite/basi3p08.png" x="256" y="132" width="32" height="32"/>
+    
+    <!-- 8 bits RGB plus alpha -->
+    <image xlink:href="../images/PngSuite/basi6a08.png" x="304" y="132" width="32" height="32"/>
+    
+    <!-- 16 bits RGB plus alpha -->
+    <image xlink:href="../images/PngSuite/basi6a16.png" x="352" y="132" width="32" height="32"/>
+    
+    <text x="16" y="200" font-size="16" fill="#3C3">Truecolor and indexed, various bit depths, two with alpha</text>
+    
+        <text x="16" y="260" font-size="24" fill="#3C3">Interlaced images</text>
+    
+    <!--
+    <image xlink:href="../images/PngSuite/" x="" y="" width="32" height="32"/> 
+    -->
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-15-f.svg b/Tests/W3CTestSuite/svg/struct-image-15-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6b406cf736d77b7f8fff44af34b7bdcd88809243
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-15-f.svg
@@ -0,0 +1,138 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: struct-image-15-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/[chapter]#[section]">
+      <p>
+        The first row tests that alpha PNG images are correctly displayed as part of an SVG image,
+        ignoring the background colour in the image which is only used to display the 
+        PNG image stand-alone.
+        </p>
+        <p>The second row tests indexed PNG transparency (tRNs), again checking that 
+        the background color is ignored when displayed as part of an SVG image.
+        </p>
+        <p>
+        This test uses the 
+        <a href="http://www.schaik.com/pngsuite/">PNG Group test suite</a>
+        created by Willem van Schaik.    
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all the small PNG icons are displayed as in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-15-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  
+    <!-- something to show transparency -->
+    <rect x="16" y="32" width="368" height="8" fill="#3C3"/>
+    <rect x="16" y="48" width="368" height="8" fill="#9F9"/>
+
+    <!-- 8 bit grayscale, alpha, no background chunk, interlaced  -->
+    <image xlink:href="../images/PngSuite/bgai4a08.png" x="16" y="32" width="32" height="32"/>
+    
+    <!-- 16 bit grayscale, alpha, no background chunk, interlaced  -->
+    <image xlink:href="../images/PngSuite/bgai4a16.png" x="64" y="32" width="32" height="32"/>
+    
+    <!-- 8 bits rgb color, alpha, no background chunk  -->
+    <image xlink:href="../images/PngSuite/bgan6a08.png" x="112" y="32" width="32" height="32"/>
+    
+    <!-- 16 bits rgb color, alpha, no background chunk  -->
+    <image xlink:href="../images/PngSuite/bgan6a16.png" x="160" y="32" width="32" height="32"/>
+    
+    <!-- 8 bit grayscale, alpha, black background chunk -->
+    <image xlink:href="../images/PngSuite/bgbn4a08.png" x="208" y="32" width="32" height="32"/>
+  
+    <!-- 16 bit grayscale, alpha, gray background chunk  -->
+    <image xlink:href="../images/PngSuite/bggn4a16.png" x="256" y="32" width="32" height="32"/>
+    
+    <!-- 8 bits rgb color, alpha, white background chunk  -->
+    <image xlink:href="../images/PngSuite/bgwn6a08.png" x="304" y="32" width="32" height="32"/>
+    
+    <!-- 16 bits rgb color, alpha, yellow background chunk  -->
+    <image xlink:href="../images/PngSuite/bgyn6a16.png" x="352" y="32" width="32" height="32"/>
+    
+    <text x="16" y="100" font-size="16" fill="#3C3">Background color, with alpha</text>
+    
+    <!-- something to show transparency -->
+    <rect x="16" y="132" width="464" height="8" fill="#9F9"/>
+    <rect x="16" y="148" width="464" height="8" fill="#3C3"/>
+
+    <!-- transparent, black background chunk  -->
+    <image xlink:href="../images/PngSuite/tbbn1g04.png" x="16" y="132" width="32" height="32"/>
+    
+    <!-- transparent, blue background chunk  -->
+    <image xlink:href="../images/PngSuite/tbbn2c16.png" x="64" y="132" width="32" height="32"/>
+    
+    <!-- transparent, black background chunk  -->
+    <image xlink:href="../images/PngSuite/tbbn3p08.png" x="112" y="132" width="32" height="32"/>
+    
+    <!-- transparent, green background chunk  -->
+    <image xlink:href="../images/PngSuite/tbgn2c16.png" x="160" y="132" width="32" height="32"/>
+    
+    <!-- transparent, light-gray background chunk  -->
+    <image xlink:href="../images/PngSuite/tbgn3p08.png" x="208" y="132" width="32" height="32"/>
+  
+    <!-- transparent, red background chunk  -->
+    <image xlink:href="../images/PngSuite/tbrn2c08.png" x="256" y="132" width="32" height="32"/>
+    
+    <!-- transparent, white background chunk  -->
+    <image xlink:href="../images/PngSuite/tbwn1g16.png" x="304" y="132" width="32" height="32"/>
+    
+    <!-- transparent, white background chunk  -->
+    <image xlink:href="../images/PngSuite/tbwn3p08.png" x="352" y="132" width="32" height="32"/>
+    
+    <!-- transparent, yellow background chunk -->
+    <image xlink:href="../images/PngSuite/tbyn3p08.png" x="400" y="132" width="32" height="32"/>
+    
+    <!-- transparent, but no background chunk -->
+    <image xlink:href="../images/PngSuite/tp1n3p08.png" x="448" y="132" width="32" height="32"/>
+    
+    <text x="16" y="200" font-size="16" fill="#3C3">Background color, with transparency</text>
+    
+        <text x="16" y="260" font-size="24" fill="#3C3">Handling bKGd and tRNs</text>
+    
+    <!--
+    <image xlink:href="../images/PngSuite/" x="" y="" width="32" height="32"/> 
+    -->
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-16-f.svg b/Tests/W3CTestSuite/svg/struct-image-16-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba01ef35533875489ff0e4a7115c5d1abefe333d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-16-f.svg
@@ -0,0 +1,57 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: struct-image-16-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>
+        Test that the 'image' element loads the same resources as when it's standalone.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there's a green rectangle visible, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-16-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect width="100%" height="100%" fill="red"/>
+    <image xlink:href="../images/level1.svg" width="100%" height="100%"/>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-17-b.svg b/Tests/W3CTestSuite/svg/struct-image-17-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1d78cf3ab5734c5da84866c623946809e69702f9
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-17-b.svg
@@ -0,0 +1,52 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="CM" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: struct-image-17-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>Verifies that SVG images referenced from an <code>&lt;image></code> element
+      do not have any scripting or animation run.</p>
+      <p>The referenced SVG image has a green rectangle.  If either animation or
+      script runs, it will turn the rectangle red.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The rendered picture should match the reference image.</p>
+      <p>If the rectangle is red, the test has failed.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-17-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="10" y="24" font-size="16" >Test that SVG images in &lt;image> are not scripted or animated</text>
+    <image xlink:href="../images/struct-image-17-b-1.svg" x="10" y="50" width="100" height="100"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-18-f.svg b/Tests/W3CTestSuite/svg/struct-image-18-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2e5f99c859f41a13e9422a8b5f4613d0beb9f98d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-18-f.svg
@@ -0,0 +1,62 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: struct-image-18-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>
+        Test referencing an svg from an 'image' element, where the referenced
+        svg has no viewBox and a larger width and height than the 'image' 
+        element viewport.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if a green quarter circle with black stroke is displayed, and no red.  
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-18-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(4) translate(-10 -20)">
+      <path d="M55 75A 20 20 0 0 1 75 55l0 20" fill="red"/>
+      <image xlink:href="../images/50x50greencircle.svg" width="25" height="25" x="50" y="50"/>
+      <path d="M55 75A 20 20 0 0 1 75 55l0 20Z" fill="none" stroke="black" />
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-image-19-f.svg b/Tests/W3CTestSuite/svg/struct-image-19-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9a52ccd24986a09e09c89f070c3b9f845c58a430
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-image-19-f.svg
@@ -0,0 +1,67 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: struct-image-19-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>
+        Test referencing an svg from an 'image' element, where the referenced
+        svg has a viewBox and a larger width and height than the 'image' 
+        element viewport.
+      </p>
+      <p>
+        The same image resource is reference twice, and will scale to fit the
+        viewport that is established by the 'image' element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if two green circles are displayed, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-image-19-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="scale(4) translate(-25 -25)">
+      <circle cx="62.5" cy="62.5" r="10" fill="red"/>
+      <circle cx="100" cy="75" r="20" fill="red"/>
+      <image xlink:href="../images/50x50-viewbox-greencircle.svg" width="25" height="25" x="50" y="50"/>
+      <image xlink:href="../images/50x50-viewbox-greencircle.svg" width="50" height="50" x="75" y="50"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-svg-01-f.svg b/Tests/W3CTestSuite/svg/struct-svg-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..efa06ed2dc2f96ed3c8dbf46aad2bb2d7e24e763
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-svg-01-f.svg
@@ -0,0 +1,123 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: struct-svg-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#SVGElement">
+      <p>
+        The default values for 'width' and 'height' are '100%' and 'x' and 'y' are '0' for the 'svg' element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Empty 'svg' element is referenced via 'getElementById()'. From that reference, 'width', 'height', 'x', and 'y' are evaluated
+        via 'baseVal.valueAsString'. A failure of one or more tests is indicated by the word 'FAIL' in red text.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-svg-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <svg id="testSVG" />
+
+    <text x="20" y="40">Initial value of the 'svg' tag's 'width' attribute: </text>
+    <text x="20" y="60" id="widthResult" />
+
+    <text x="20" y="100">Initial value of the 'svg' tag's 'height' attribute: </text>
+    <text x="20" y="120" id="heightResult" />
+
+    <text x="20" y="160">Initial value of the 'svg' tag's 'x' attribute: </text>
+    <text x="20" y="180" id="xResult" />
+
+    <text x="20" y="220">Initial value of the 'svg' tag's 'y' attribute: </text>
+    <text x="20" y="240" id="yResult" />
+
+    <text id="failText" x="350" y="350" font-size="50" fill="red">FAIL</text>
+
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var testSVG = document.getElementById("testSVG");
+            var pass = true;
+
+            var initialWidth = testSVG.width.baseVal.valueAsString;
+            document.getElementById("widthResult").appendChild(document.createTextNode(initialWidth));
+
+            if("100%" != initialWidth)
+            {
+                pass = false;
+            }
+
+            var initialHeight = testSVG.height.baseVal.valueAsString;
+            document.getElementById("heightResult").appendChild(document.createTextNode(initialHeight));
+
+            if("100%" != initialHeight)
+            {
+                pass = false;
+            }
+
+            var initialX = testSVG.x.baseVal.valueAsString;
+            document.getElementById("xResult").appendChild(document.createTextNode(initialX ));
+
+            if("0" != initialX )
+            {
+                pass = false;
+            }
+
+            var initialY = testSVG.y.baseVal.valueAsString;
+            document.getElementById("yResult").appendChild(document.createTextNode(initialY));
+
+            if("0" != initialY )
+            {
+                pass = false;
+            }
+
+            if(pass)
+            {
+                document.getElementById("failText").setAttribute("display", "none");    
+            }
+        }
+        catch(ex)
+        {
+          //alert('ERROR: ' + ex.message);
+        }]]>
+    </script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
+
diff --git a/Tests/W3CTestSuite/svg/struct-svg-02-f.svg b/Tests/W3CTestSuite/svg/struct-svg-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5fff676a31878ca847d51a755e295c4a61a810fd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-svg-02-f.svg
@@ -0,0 +1,143 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="reviewed"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-svg-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#SVGElement">
+      <p>
+        Testing various interactions on the width attribute on an svg element.
+        The width attribute defaults to "100%" if it's not specified.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the testframe is filled with green, and there's no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-svg-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="text/ecmascript" xlink:href="../resources/testharness.js"/>
+    
+    <!-- The testroot is here only to get a predictable 480x360 viewport -->
+    <svg id="testroot" width="480" height="360">
+	    <svg id="testSVG1" />
+	    <svg id="testSVG2" />
+	    <svg id="subSVG" width="300" height="175"/>
+		</svg>
+
+    <g id="testoutput"/>
+    
+    <!-- Cover the whole testframe with a simple visual result -->
+    <rect id="status" width="100%" height="100%" fill="none"/>
+    
+    <script type="text/javascript"><![CDATA[
+      var passes = 0;
+      var ypos = 50;
+
+      function verify(str, result)
+      {
+        var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
+        var r = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+        var t = document.createElementNS("http://www.w3.org/2000/svg", "text");
+        var tc = document.createTextNode(str); 
+        t.appendChild(tc);
+        t.setAttribute("class", "result");
+        t.setAttribute("font-family", "monospace");
+        t.setAttribute("font-size", "9px");
+        t.setAttribute("fill", "black");
+        t.setAttribute("x", "10");
+        t.setAttribute("y", "7");
+        r.setAttribute("y", "1");
+        r.setAttribute("width", "5");
+        r.setAttribute("height", "5");
+        g.setAttribute("class", result ? "passed" : "failed");
+        g.setAttribute("fill", result ? "lime" : "red");
+        g.appendChild(r);
+        g.appendChild(t);
+        g.setAttribute("transform", "translate(10 " + ypos + ")");
+        ypos += 10;
+        document.getElementById("testoutput").appendChild(g);
+        
+        if (result)
+          passes++;
+      }
+
+      try
+      {
+          var testSVG = document.getElementById("testSVG1");
+          var subSVG = document.getElementById("subSVG");
+          var status = document.getElementById("status");
+          
+          var base = testSVG.width.baseVal;
+          
+          verify("value: " + base.value, base.value == 480);
+          test(function() {assert_equals(base.value, 480)}, "Assert that the width baseVal is 100% computed to user units.");
+
+          verify("valueInSpecifiedUnits: " + base.valueInSpecifiedUnits, base.valueInSpecifiedUnits == 100);
+          test(function() {assert_equals(base.value, 100)}, "Assert that the default width baseVal is 100.");
+          
+          // set the value in user units and then read it back
+          base.value = 240;
+          verify("value: " + base.value, base.value == 240);
+          test(function() {assert_equals(base.value, 240)}, "Assert that the width baseVal is 240 after setting it.");
+          verify("valueInSpecifiedUnits: " + base.valueInSpecifiedUnits, base.valueInSpecifiedUnits == 50);
+          test(function() {assert_equals(base.valueInSpecifiedUnits, 50)}, "Assert that the value in specified units is now 50.");
+          
+          // move the svg to be child of another viewport and read values again
+          subSVG.appendChild(testSVG);
+          verify("value: " + base.value, base.value == 150);
+          test(function() {assert_equals(base.value, 150)}, "Assert that the value changes to 150 after being moved to a new viewport.");
+          verify("valueInSpecifiedUnits: " + base.valueInSpecifiedUnits, base.valueInSpecifiedUnits == 50);
+          test(function() {assert_equals(base.valueInSpecifiedUnits, 50)}, "Assert that the value in specified units is still 50 after being moved to a new viewport.");
+          
+          // move an svg that hasn't been modified to another viewport and read values
+          testSVG = document.getElementById("testSVG2");
+          subSVG.appendChild(testSVG);
+          base = testSVG.width.baseVal;
+          verify("value: " + base.value, base.value == 300);
+          test(function() {assert_equals(base.value, 300)}, "Assert that the width baseVal is 300 user units after being moved to a new viewport.");
+      }
+      catch(ex)
+      {
+      }
+      
+      status.setAttribute("fill", passes == 7 ? "lime" : "red");
+      test(function() {assert_equals(passes,7)}, "Assert that all subtests passed.");
+  ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-svg-03-f.svg b/Tests/W3CTestSuite/svg/struct-svg-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0b03bb42668061f47547311e325871bbddc8ebe2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-svg-03-f.svg
@@ -0,0 +1,68 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: struct-svg-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#ImageElement">
+      <p>
+        Test nested svg elements.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Passed if there are two green rectangles visible, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-svg-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+    <svg width="100" height="100" viewBox="0 0 50 50">
+      <rect width="50" height="50" fill="lime"/>
+    </svg>
+    
+    <g transform="translate(120 0)">
+      <rect x="0.5" y="0.5" width="99" height="99" fill="red"/>
+      <svg width="100" height="100" viewBox="0 0 50 50">
+        <svg width="50" height="50" viewBox="0 0 200 200">
+          <rect width="200" height="200" fill="lime"/>
+        </svg>
+      </svg>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-symbol-01-b.svg b/Tests/W3CTestSuite/svg/struct-symbol-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..402a0c7373623622c08b8ae566b7eb3f7f85fbef
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-symbol-01-b.svg
@@ -0,0 +1,89 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Tim Thompson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: struct-symbol-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#SymbolElement">
+      <p>
+        The purpose of the symbol test case is to create some symbols and then
+        have them rendered when instantiated by the use element.
+      </p>
+      <p>
+        This file contains 3 symbol definitions.  Only two are ever rendered.
+        There is a viewport defined to be 0,0,1000,1000 on the svg element.
+        Each symbol has is own viewport of the same dimensions.  The symbols are
+        scaled when they are instantiated by the use element,  The first set
+        of symbols is 4 squares, blue and yellow in color they should appear
+        in the lower right of the view arranged in a checkerboard fashion.
+        The second symbol to be used is an image which should appear in the
+        upper left of the view area.  The symbol that is not used and should
+        not be rendered is a large black rectangle.  If the symbols don't
+        appear, there is something askew with the use statement, if they
+        appear but either overlap each other or in some way aren't in the
+        correct positions they have not honored either their viewport or
+        were not scaled when placed by the use element in the area defined by
+        it.  If everything is black then perhaps a symbol was rendered that
+        should not have been.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if:</p>
+      <ul>
+        <li>An image is shown in the top left corner of the document.</li>
+        <li>A blue and yellow checkerboard pattern is shown in the bottom right corner of the document.</li>
+        <li>The background of the document is not filled with red.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-symbol-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <symbol id="imageRef1" viewBox="0 0 1000 1000" preserveAspectRatio="none">
+      <image id="image1" x="0" y="0" width="1000" height="1000" xlink:href="../images/struct-symbol-01.png"/>
+    </symbol>
+    <symbol id="largeRect">
+      <rect x="0" y="0" width="1000" height="1000" fill="red"/>
+    </symbol>
+    <symbol id="drawRects" viewBox="0 0 1000 1000" preserveAspectRatio="none">
+      <rect x="0" y="0" width="500" height="500" fill="yellow"/>
+      <rect x="500" y="0" width="500" height="500" fill="blue"/>
+      <rect x="0" y="500" width="500" height="500" fill="blue"/>
+      <rect x="500" y="500" width="500" height="500" fill="yellow"/>
+    </symbol>
+    <g id="useNdraw">
+      <use id="upperLeft" x="0" y="0" width="240" height="150" xlink:href="#imageRef1"/>
+      <use id="lowerRight" x="240" y="150" width="240" height="150" xlink:href="#drawRects"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-01-t.svg b/Tests/W3CTestSuite/svg/struct-use-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..031723038d9cb8efa058704f3e1d8476fe3cbc60
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-01-t.svg
@@ -0,0 +1,112 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-use-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+        <p>
+          The purpose of this test is to validate proper handling of
+          the use element. In particular, the test checks the proper inheritance
+          of properties through the shadow tree (rather than through the document
+          tree).
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test should display various elements in different shades of green.
+        If an element is not displayed in green, but in red fill and/or yellow
+        stroke, then it is in error.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+	    <defs>
+	    	<font-face font-family="FreeSerif" unicode-range="U+0020-U+00FF">
+	      <font-face-src>
+	        <font-face-uri xlink:href="../resources/FreeSerifBoldItalic.svg#FreeSerifBoldItalic"/>
+	      </font-face-src>
+	    </font-face>
+      <g fill="red" stroke="yellow" stroke-width="3">
+        <rect id="usedRect" width="20" height="20"/>
+        <circle id="usedCircle" cx="10" cy="10" r="10"/>
+        <ellipse id="usedEllipse" cx="10" cy="10" rx="10" ry="10"/>
+        <line id="usedLine" x1="0" y1="10" x2="20" y2="10"/>
+        <path id="usedPath" d="M 0 0 L 20 0 L 20 20 L 0 20 Z"/>
+        <polygon id="usedPolygon" points="0,0 20,0 20,20 0,20 0 0"/>
+        <polyline id="usedPolyline" points="0,0 20,0 20,20"/>
+        <g id="usedG">
+          <rect width="10" height="20"/>
+          <rect x="10" width="10" height="20" fill="rgb(0,128,0)"/>
+        </g>
+        <use id="usedUse" xlink:href="#usedRect"/>
+        <image id="usedImage" xlink:href="../images/20x20.png" width="20" height="20"/>
+        <text id="usedText">Text</text>
+      </g>
+    </defs>
+
+
+    <g>
+      <g id="labels" transform="translate(130, 40)" font-size="20" text-anchor="end">
+        <text>&lt;rect&gt;</text>
+        <text y="30">&lt;circle&gt;</text>
+        <text y="60">&lt;ellipse&gt;</text>
+        <text y="90">&lt;line&gt;</text>
+        <text y="120">&lt;polyline&gt;</text>
+        <text y="150">&lt;polygon&gt;</text>
+        <text y="180">&lt;path&gt;</text>
+        <text y="210">&lt;image&gt;</text>
+        <text y="240">&lt;text&gt;</text>
+      </g>
+      <g id="labelsColumn2" transform="translate(310, 40)" font-size="20" text-anchor="end">
+        <text>&lt;g&gt;</text>
+        <text y="30">&lt;use&gt;</text>
+      </g>
+    </g>
+    <g transform="translate(150, 25)">
+      <use xlink:href="#usedRect" fill="#0F0"/>
+      <use y="30" xlink:href="#usedCircle" fill="#0F0"/>
+      <use y="60" xlink:href="#usedEllipse" fill="#0F0"/>
+      <use y="90" xlink:href="#usedLine" stroke="#0F0" stroke-width="2"/>
+      <use y="120" xlink:href="#usedPolyline" stroke="#0F0" stroke-width="2" fill="none"/>
+      <use y="150" xlink:href="#usedPolygon" fill="#0F0"/>
+      <use y="180" xlink:href="#usedPath" fill="#0F0"/>
+      <use y="210" xlink:href="#usedImage" fill="#FF0"/>
+      <use y="260" xlink:href="#usedText" fill="#0F0" font-weight="bold" font-size="25" font-style="italic" font-family="FreeSerif,serif"/>
+      <use x="180" y="0" xlink:href="#usedG" fill="#0F0"/>
+      <use x="180" y="30" xlink:href="#usedUse" fill="#0c0"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-03-t.svg b/Tests/W3CTestSuite/svg/struct-use-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..00c6dc9debc45efd0920fc7355b910cb048428a4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-03-t.svg
@@ -0,0 +1,76 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CN" author="VH" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-use-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+        <p>
+          The purpose of this test is to validate proper handling of
+          the x/y attributes on the use element.
+        </p>
+        <p>
+          The test shows a &lt;use&gt; element displayed on the right.
+          On the left, a group built as described in section
+          5.6 of the SVG 1.1 specification validates that the
+          &lt;use element is properly processed.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are two identical diamond shapes visible.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <rect id="usedRect" width="100" height="100" fill="cyan" stroke="blue" stroke-width="20"/>
+    </defs>
+
+    <text x="120" y="60" text-anchor="middle">Reference</text>
+
+    <text x="360" y="60" text-anchor="middle">&lt;use&gt;</text>
+
+    <!-- This group is constructed as described in section 5.6 of the -->
+    <!-- SVG 1.1 Specification.                                       -->
+    <g id="reference" transform="rotate(45,120,170) translate(70,120)">
+      <rect width="100" height="100" fill="cyan" stroke="blue" stroke-width="20"/>
+    </g>
+
+    <g transform="translate(240, 0)">
+      <use xlink:href="#usedRect" x="70" y="120" transform="rotate(45,120,170)"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-04-b.svg b/Tests/W3CTestSuite/svg/struct-use-04-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..32fe4a67e8ec209f0a0d5fd7e2d3e575000c09ef
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-04-b.svg
@@ -0,0 +1,65 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: struct-use-04-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+        <p>
+          The intent of the file is to determine if the UA supports references to external SVG fragments.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        See referenced image.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        To pass this test, the UA agent must display a total of 8 graphical
+        primitives (2 rectangles, 2 circles, 2 ellipses and 2 triangles).
+        For each pair of objects, one is a semi-transparent duplicate
+        copy at the other displayed at an offset position..
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-04-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="ExtContent">
+      <use xlink:href="../images/svgRef4.svg#alpha"/>
+      <use xlink:href="../images/svgRef4.svg#beta"/>
+      <use xlink:href="../images/svgRef4.svg#gamma"/>
+      <use xlink:href="../images/svgRef4.svg#delta"/>
+
+      <use xlink:href="../images/svgRef4.svg#testContent" x="-5" y="5" fill-opacity="0.5"/>
+    </g>
+
+    <text font-size="20" x="240" y="30" text-anchor="middle">External references on &lt;use&gt;</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-05-b.svg b/Tests/W3CTestSuite/svg/struct-use-05-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..804a0613b7d6926e377c15d985ba7c69a761398b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-05-b.svg
@@ -0,0 +1,88 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: struct-use-05-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+        <p>
+          This file is intented to test the computed values in external references.
+          Both files (referencing and referenced) define similar colors/gradients via 'color', 'linearGradient' and 'radialGradient'.
+          The ids of those definitions are the same but the actual appearance are different.  These definitions are used to test the
+          property inheritance feature of SVG.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[
+        Describe how to use the here. The instructions should specify any
+        steps requied to run the test or any manual operation that need
+        to be performed to run the test.
+        ]]
+      </p>      
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The top left rectangle should be filled with the blue linear gradient since the 'use' has a specified value
+        defined in the 'defs' section. The top right rectangle is forestgreen since the 'use' has a computed value.
+        The bottom left rectangle is also forestgreen since the fill is not inherited from the referenced element's original parent.
+        The bottom right rectangle is filled with the orange radial gradient since the computed value is given by the CSS cascade.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-05-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g color="forestgreen">
+      <defs>
+        <linearGradient id="linearGrad1" gradientUnits="objectBoundingBox" y1="0" x1="0" y2="1" x2="1">
+          <stop offset="000%" stop-color="royalblue"/>
+          <stop offset="033%" stop-color="white"/>
+          <stop offset="050%" stop-color="darkblue"/>
+          <stop offset="066%" stop-color="white"/>
+          <stop offset="100%" stop-color="royalblue"/>
+        </linearGradient>
+
+        <radialGradient id="radialGrad1" gradientUnits="objectBoundingBox" cx="0.5" cy="0.5" r="0.5" fx="0.15" fy="0.15">
+          <stop offset="000%" stop-color="royalblue"/>
+          <stop offset="033%" stop-color="white"/>
+          <stop offset="050%" stop-color="darkblue"/>
+          <stop offset="066%" stop-color="white"/>
+          <stop offset="100%" stop-color="royalblue"/>
+        </radialGradient>
+      </defs>
+
+      <use xlink:href="../images/svgRef1.svg#rect1" fill="url(#linearGrad1)"/>
+      <use xlink:href="../images/svgRef1.svg#rect2" fill="currentColor"/>
+      <use xlink:href="../images/svgRef1.svg#rect3"/>
+      <use xlink:href="../images/svgRef1.svg#rect4"/>
+
+      <text font-size="24" x="240" y="35" text-anchor="middle">External references and computed values</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-06-b.svg b/Tests/W3CTestSuite/svg/struct-use-06-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..958eabc6e26722545e2ce330c63510a141cfd3ec
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-06-b.svg
@@ -0,0 +1,64 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-use-06-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+        <p>
+          Test onlick handlers in externally referenced content.
+          
+          There are two 'use' elements, each of them is referencing an external file showing a rectangle.
+          
+          The rect elements in the external file have onclick attributes, and the handler will attempt to change the fill of the
+          referenced rect element to red.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Click each of the two green rectangles once.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the two rectangles remain green when clicked, and there is no red visible.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-06-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    
+    <!-- if external use isn't implemented, show red rects -->
+    <rect x="40.5" y="120" width="119" height="119" fill="red"/>
+    <rect x="180.5" y="120" width="119" height="119" fill="red"/>
+    
+    <use id="use-elm1" x="40" y="120" width="122" height="122" xlink:href="../images/struct-use-06-b-1.svg#rect1"/>
+    <use id="use-elm2" x="180" y="120" width="122" height="122" xlink:href="../images/struct-use-06-b-1.svg#svg-root"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-07-b.svg b/Tests/W3CTestSuite/svg/struct-use-07-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..eb1018a2222a5c633dce39cda31428dc122c1791
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-07-b.svg
@@ -0,0 +1,77 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="reviewed"
+    version="$Revision: 1.7 $" testname="$RCSfile: struct-use-07-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+      <p>
+        This tests interactivity and event handlers on use elements. It also tests
+        that the <code>SVGElementInstance.correspondingElement</code> property and the 
+        <code>CSSStyleDeclaration.setProperty()</code> method defined in 
+        DOM Level 2 Style. By testing different ways of setting the fill on a rectangle
+        it verifies that the result is consistent, and that CSS properly overrides
+        the specified values.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        You should at first see a pyramid of four pink rects.
+        Click each of the pink rects once.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        If the useragent doesn't support CSS, this test does not apply.
+      </p>
+      <p>
+        The test has passed if when clicking each of the rects the clicked rect turns blue - 
+        note that only the clicked rect must turn blue, if any other rect turns blue too then the test has failed.
+      </p>
+      <p>
+        The reference image shows the final state, what the result should be after all rects have been clicked.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-07-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <svg xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-sub-root" viewBox="0 0 450 450" width="450" height="450">
+        <g id="drawRects">
+          <rect x="225" y="0" width="220" height="220" style="fill:magenta" onclick="evt.currentTarget.correspondingElement.style.fill='blue';"/>
+          <rect x="0" y="225" width="220" height="220" style="fill:#f0f" onclick="evt.currentTarget.correspondingElement.style.setProperty('fill','blue',null);"/>
+          <rect x="225" y="225" width="220" height="220" fill="#f0f" onclick="evt.currentTarget.correspondingElement.style.setProperty('fill','blue',null);"/>
+        </g>
+      </svg>
+    </defs>
+
+    <use id="use-elm" x="60" y="50" width="240" height="240" xlink:href="#svg-sub-root"/>
+    <rect x="300" y="170" width="118" height="118" fill="magenta" onclick="evt.target.setAttribute('fill','blue')"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-08-b.svg b/Tests/W3CTestSuite/svg/struct-use-08-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..affccccfca4f0b953ce5927986bb77ff8157fa35
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-08-b.svg
@@ -0,0 +1,71 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="empty"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-use-08-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+        <p>
+          [[Describe which section and what specific assertion is being tested
+          by the test. If the test has a number of sub tests, multiple
+          "testComponent" elements can be specified within the "testDescription"
+          element.]]
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[Describe how to use the here. The instructions should specify any
+        steps requied to run the test or any manual operation that need
+        to be performed to run the test.]]
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[Describe the pass criteria of the test here. The pass criteria is what
+        should be displayed when the test is run.]]
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-08-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g transform="translate(60,50)">
+      <use id="use-elm-1" width="120" height="120" xlink:href="../images/struct-use-08-b-cycles.svg#svg-root"/>
+      <rect width="120" height="120" fill="none" stroke="black"/>
+      <text x="60" y="140" text-anchor="middle" font-size="14">'use' referencing 'svg' element</text>
+    </g>
+
+    <g transform="translate(300,50)">
+      <use id="use-elm-2" width="120" height="120" xlink:href="../images/struct-use-08-b-cycles.svg#image"/>
+      <rect width="120" height="120" fill="none" stroke="black"/>
+      <text x="60" y="140" text-anchor="middle" font-size="14">'use' referencing 'image' element</text>
+    </g>
+
+    <text x="240" y="260" text-anchor="middle" fill="green">This text should be visible.</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-09-b.svg b/Tests/W3CTestSuite/svg/struct-use-09-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..756ecf1be667ffd4a6af924c3d8fa70c2fba2bdf
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-09-b.svg
@@ -0,0 +1,74 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="AN" status="reviewed"
+    version="$Revision: 1.5 $" testname="$RCSfile: struct-use-09-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+      <p>
+        This tests the use element inside a symbol definition.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For the test to pass, 5 nested rectangles with different coloured strokes
+        (black, yellow, orange, purple and blue) must be rendered.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-09-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- put all of the actual test here -->
+    <defs>
+      <symbol id="rect1" overflow="visible">
+        <rect x="-50" y="-50" width="100" height="100" fill="none" stroke="slateblue" stroke-width="5"/>
+      </symbol>
+      <symbol id="rect2" overflow="visible">
+        <use xlink:href="#rect1"/>
+        <rect x="-60" y="-60" width="120" height="120" fill="none" stroke="purple" stroke-width="5"/>
+      </symbol>
+      <symbol id="rect3" overflow="visible">
+        <use xlink:href="#rect2"/>
+        <rect x="-70" y="-70" width="140" height="140" fill="none" stroke="orange" stroke-width="5"/>
+      </symbol>
+      <symbol id="rect4" overflow="visible">
+        <use xlink:href="#rect3"/>
+        <rect x="-80" y="-80" width="160" height="160" fill="none" stroke="gold" stroke-width="5"/>
+      </symbol>
+      <symbol id="rects" overflow="visible">
+        <use xlink:href="#rect4"/>
+        <rect x="-90" y="-90" width="180" height="180" fill="none" stroke="black" stroke-width="5"/>
+      </symbol>
+    </defs>
+    <use x="240" y="180" xlink:href="#rects"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-10-f.svg b/Tests/W3CTestSuite/svg/struct-use-10-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ebadc034b440e5655f2785a5249a810a8995e79f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-10-f.svg
@@ -0,0 +1,130 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DOH" author="ED" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: struct-use-10-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+      <p>
+        Properties are inherited according to the 'use' element rules, CSS selectors only apply to the original elements
+        and not the (conceptually) cloned DOM tree.
+      </p>      
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+    	<p>
+    		Run the test. No interaction required.
+    	</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if the three rectangles have green fill and a thick darkgreen stroke. If any red shows the test has failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-10-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <style type="text/css">
+
+      /* low specificity */
+      defs &gt; rect  {
+      fill:red;
+      }
+
+      /* applies because of higher specificity */
+      .testclass1 {
+      fill:green;
+      }
+
+      /* does not apply because selectors don't apply to the (conceptually) cloned subtree */
+      #testid1 .testclass1 {
+      fill: red;
+      }
+
+      /* does not apply because of case sensitivity of class value */
+      g .testClass1 {
+      fill:red;
+      }
+
+      /* does not apply because of lower specificity */
+      #g1 .testclass2
+      {
+      fill: red
+      }
+
+      /* does not apply to the used rect, because there is no inheritance from the original tree into the used subtree */
+      g#g1 {
+      visibility: hidden
+      }
+
+      /* applies because of higher specificity */
+      #testid2 {
+      stroke:darkgreen;
+      }
+
+      /* no effect for the used rect, can be referenced anyway into the used subtree */
+      g#g2 {
+      display: none;
+      }
+
+      /* applies directly to the original (referenced) rect element */
+      .testclass3 &gt; rect {
+      fill: green;
+      stroke:darkgreen;
+      }
+
+      /* does not apply to the used rect, because there is no direct access with selectors into the used subtree */
+      #testid3 rect {
+      stroke:red;
+      }
+      #testid3 rect#testrect3 {
+      fill:red;
+      }
+    </style>
+
+    <defs>
+      <rect id="testrect1" class="testclass1" width="100" height="100"/>
+      <g id="g1" style="fill:red">
+        <rect id="testrect2" class="testclass2" width="100" height="100" style="fill:green"/>
+      </g>
+      <g id="g2" class="class testclass3 g">
+        <rect id="testrect3" width="100" height="100" stroke="red"/>
+      </g>
+    </defs>
+
+    <text x="50%" y="3em" style="text-anchor:middle; fill:black">CSS selectors and use element</text>
+
+    <circle class="indicator" cx="240" cy="150" r="25" fill="red"/>
+    <circle class="indicator" cx="390" cy="150" r="25" fill="red"/>
+
+    <use id="testid1" xlink:href="#testrect1" x="40" y="100" style="stroke:darkgreen" stroke-width="10"/>
+    <use id="testid2" xlink:href="#testrect2" x="190" y="100" stroke="red" stroke-width="10"/>
+    <use id="testid3" xlink:href="#testrect3" x="340" y="100" style="stroke:red" stroke-width="10"/>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-11-f.svg b/Tests/W3CTestSuite/svg/struct-use-11-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..56afadd45ffd616123a4227daca39718cfb4b95f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-11-f.svg
@@ -0,0 +1,151 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: struct-use-11-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+      <p>
+        CSS selectors that apply to an element referenced via 'use' also apply to the 'use' instance.
+      </p>
+      <p>
+        A 'style' block contains all CSS rules. Various CSS selectors are applied to 'circle' elements. A unique 'class' selector is
+        used for all cases to ensure that the selectors don't interfere with each other. For each 'circle', there is a corresponding
+        'use' instance. For structure-related rules, a 'g' tag is used.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if twelve blue circles and no black circles are visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-11-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <style type="text/css"><![CDATA[
+        #testId.test1
+        {
+            fill: blue;
+        }
+        *.test2
+        {
+            fill: blue;
+        }
+        circle.test3
+        {
+            fill: blue;
+        }
+        .descendant circle.test4
+        {
+            fill: blue;
+        }
+        .child > circle.test5
+        {
+            fill: blue;
+        }
+        .test6:first-child
+        {
+            fill: blue;
+        }
+        .sibling + circle.test7
+        {
+            fill: blue;
+        }
+        circle[cx].test8
+        {
+            fill: blue;
+        }
+        circle[cx="50"].test9
+        {
+            fill: blue;
+        }
+        circle[foo~="warning1"].test10
+        {
+            fill: blue;
+        }
+        circle[lang|="en"].test11
+        {
+            fill: blue;
+        }
+	.test12 {
+            fill: blue
+         }
+        .twochildren:first-child
+        {
+            fill: black;
+        }]]>
+    </style>
+    <defs>
+        <circle cx="50" cy="50" r="48" id="testId" class="test1" />
+        <circle cx="50" cy="50" r="48" id="testClass" class="test2" />
+        <circle cx="50" cy="50" r="48" id="testType" class="test3" />
+        <g class="descendant">
+            <circle cx="50" cy="50" r="48" id="testDescendant" class="test4" />
+        </g>
+        <g class="child">
+            <circle cx="50" cy="50" r="48" id="testChild" class="test5" />    
+        </g>
+        <g>
+            <circle cx="50" cy="50" r="48" id="testFirstChild" class="test6" /> 
+        </g>
+        <g class="sibling"></g>
+        <circle cx="50" cy="50" r="48" id="testSibling" class="test7" />
+        <circle cx="50" cy="50" r="48" id="testAttribute" class="test8" />
+        <circle cx="50" cy="50" r="48" id="testAttributeWithValue" class="test9" />
+        <circle cx="50" cy="50" r="48" id="testAttributeWithSpaceSeparatedValueList" class="test10" foo="warning1 warning2" />
+        <circle cx="50" cy="50" r="48" id="testAttributeWithHyphenSeparatedValueList" class="test11" lang="en-us" />
+        <g class="twochildren">
+	    <circle cx="50" cy="50" r="48" id="notFirstChild" display="none" />
+            <circle cx="50" cy="50" r="48" id="testFirstChild2" class="test12" /> 
+        </g>
+    </defs>
+    <use xlink:href="#testId" x="0" y="0" />
+    <use xlink:href="#testClass" x="96" y="0" />
+    <use xlink:href="#testType" x="192" y="0" />
+    <use xlink:href="#testDescendant" x="288" y="0" />
+    <use xlink:href="#testChild" x="0" y="100" />
+    <use xlink:href="#testFirstChild" x="96" y="100" />
+    <use xlink:href="#testSibling" x="192" y="100" />
+    <use xlink:href="#testAttribute" x="288" y="100" />
+    <use xlink:href="#testAttributeWithValue" x="0" y="200" />
+    <use xlink:href="#testAttributeWithSpaceSeparatedValueList" x="96" y="200" />
+    <use xlink:href="#testAttributeWithHyphenSeparatedValueList" x="192" y="200" />
+    <use xlink:href="#testFirstChild2" x="288" y="200" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/struct-use-12-f.svg b/Tests/W3CTestSuite/svg/struct-use-12-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..01660ccdea839ee678619235c8b8c65e2bbefa99
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-12-f.svg
@@ -0,0 +1,104 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: struct-use-12-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#UseElement">
+      <p>
+        Tests that recursive 'use' instances do not block rendering.
+      </p>
+      <p>
+        Various scenarios that directly and indirectly create circular references via the 'use' tag. A 'g' element is used when 
+        structural elements are necessary. None of the 'use' scenarios render anything. 'useLongCycle' tests a chain of recursive 
+        'use' instances that eventually cycles back to the first element. In 'useNested' 'use' elements are nested, with the child 
+        referring to the parent. In 'useNestedGroup' a 'use' instance references a parent 'g' element. In 'useIndirectNestedGroup' 
+        a 'use' instance indirectly references its own parent 'g'. In 'useMultipleIndirectNestedGroup', two 'use' instances 
+        reference their parent 'g' elements, and additional 'use' instances refer to these self-referencing 'use' elements. A green 
+        'rect' is used to verify that rendering was processed up to that point.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is green visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-12-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <use xlink:href="#useShortCycle2" x="20" y="20" id="useShortCycle1" />
+    <use xlink:href="#useShortCycle1" x="20" y="20" id="useShortCycle2" />
+    <use xlink:href="#useLongCycle40" x="20" y="20" id="useLongCycle1" />
+    <use xlink:href="#useLongCycle1" x="20" y="20" id="useLongCycle2" />
+    <use xlink:href="#useLongCycle2" x="20" y="20" id="useLongCycle3" />
+    <use xlink:href="#useLongCycle3" x="20" y="20" id="useLongCycle4" />
+    <use xlink:href="#useLongCycle4" x="20" y="20" id="useLongCycle5" />
+    <use xlink:href="#useLongCycle5" x="20" y="20" id="useLongCycle6" />
+    <use xlink:href="#useLongCycle6" x="20" y="20" id="useLongCycle7" />
+    <use xlink:href="#useLongCycle7" x="20" y="20" id="useLongCycle8" />
+    <use xlink:href="#useLongCycle8" x="20" y="20" id="useLongCycle9" />
+    <use xlink:href="#useLongCycle9" x="20" y="20" id="useLongCycle10" />
+    <use xlink:href="#useLongCycle10" x="20" y="20" id="useLongCycle11" />
+    <use xlink:href="#useLongCycle1" x="20" y="20" id="useLongCycle12" />
+    <use id="useNested1" xlink:href="#useNested2">
+        <use id="useNested2" xlink:href="#useNested1" />
+    </use>
+    <g id="useNestedGroup1" xlink:href="#useNestedGroup2">
+        <use id="useNestedGroup2" xlink:href="#useNestedGroup1" />
+        </g>
+    <g id="useIndirectNestedGroup1">
+        <use xlink:href="#useIndirectNestedGroupElem2" id="useIndirectNestedGroupElem1" />
+    </g>
+    <use xlink:href="#useIndirectNestedGroup1" id="useIndirectNestedGroupElem2" />
+    <g id="useMultipleIndirectNestedGroup1">
+        <g id="useMultipleIndirectNestedGroup2">
+            <use xlink:href="#useMultipleIndirectNestedGroupElement2" id="useMultipleIndirectNestedGroupElement1" />
+        </g>
+        <use xlink:href="#useMultipleIndirectNestedGroupElement3" id="useMultipleIndirectNestedGroupElement4" />
+    </g>
+    <use xlink:href="#useMultipleIndirectNestedGroup1" id="useMultipleIndirectNestedGroupElement2" />
+    <use xlink:href="#useMultipleIndirectNestedGroup2" id="useMultipleIndirectNestedGroupElement3" />
+    <use xlink:href="#useMultipleIndirectNestedGroupElement1" id="useMultipleIndirectNestedGroupElement4" />
+    <use xlink:href="#useMultipleIndirectNestedGroupElement2" />
+    <use xlink:href="#useMultipleIndirectNestedGroupElement3" />
+
+    <!-- if we get here, the above circular usr references did not block rendering -->
+    <rect width="96" height="96" fill="green" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/struct-use-13-f.svg b/Tests/W3CTestSuite/svg/struct-use-13-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3117a3a2f360a347caf3a5c8923b332303791bd5
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-13-f.svg
@@ -0,0 +1,77 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="ED" author="Microsoft" status="accepted" version="$Revision: 1.3 $" testname="$RCSfile: struct-use-13-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#UseElement">
+      <p>
+        Test that 'use' elements are synchronized at run time with the elements they reference.
+      </p>
+      <p>
+        This test verifies visual synchronization during run time between 'use' instances and the elements they reference. A 'g' element containing
+        two 'rect' elements is referenced via 'use'. One 'rect' is red and the other has no fill specified. DOM synchronization is verified visually
+        by removing the red 'rect'. Presentation attribute synchronization is verified visually by setting the other rect's 'fill' attribute to 'lime'.
+        The 'g' that is referenced is inside of a 'defs' tag so only the 'use' instance is visible.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is a green square visible on the page, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-13-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <g id="testG">
+            <rect width="96" height="96" id="testRect1"/>
+            <rect x="96" width="96" height="96" fill="red" id="testRect2"/>
+        </g>
+    </defs>
+    <use xlink:href="#testG"/>
+    <script>
+        try
+        {
+            var testG = document.getElementById("testG");
+            var testRect1 = document.getElementById("testRect1");
+            var testRect2 = document.getElementById("testRect2");
+
+            testRect1.setAttribute("fill", "lime");
+            testG.removeChild(testRect2);
+        }
+        catch(ex)
+        {
+            //alert('ERROR: ' + ex.message);
+        }
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-14-f.svg b/Tests/W3CTestSuite/svg/struct-use-14-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..597de799f115ccf7cecdad92cdabf24e771127f1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-14-f.svg
@@ -0,0 +1,74 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.3 $" testname="$RCSfile: struct-use-14-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#UseElement">
+      <p>
+        Test that the 'use' element's 'xlink:href' attribute referencing dynamically set 'id' attributes is supported.
+      </p>
+      <p>
+        The test defines a 'use' element with its 'xlink:href' attribute set to 'pass' which is an invalid element id. A green 'rect' element has its 'id'
+        attribute set to 'pass' via 'setAttribute'. The referenced 'rect' is a child of a 'defs' element so that it does not render, and it is wrapped with a 'g'
+        element in order to obtain a DOM reference to it.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required. 
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is a green square visible on the page, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-14-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <g id="test">
+            <rect width="100" height="100" fill="green" />
+        </g>
+    </defs>
+    <rect width="100" height="100" fill="red"/>
+    <use xlink:href="#pass" />
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var test = document.getElementById("test");
+            var rect = test.firstChild.nextSibling;
+
+            rect.setAttribute("id", "pass");
+        }
+        catch(ex)
+        {
+            alert("ERROR: " + ex.message);
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/struct-use-15-f.svg b/Tests/W3CTestSuite/svg/struct-use-15-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..90a79d7dfb4b6cfa8b814e9ff2d5dda7d01286c8
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/struct-use-15-f.svg
@@ -0,0 +1,78 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.3 $" testname="$RCSfile: struct-use-15-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/struct.html#UseElement">
+      <p>
+        Test that recursive 'use' elements are synchronized at run time with the originally referenced element.
+      </p>
+      <p>
+        Inside of a 'defs' element, a 'g' element containing two 'rect' elements is referenced via 'use'. Outside of the 'defs', a 'use' element references
+        the other 'use' element. One 'rect' is orange and the other has no fill specified. DOM synchronization is verified visually by removing the orange 'rect'.
+        Presentation attribute synchronization is verified visually by setting the other rect's 'fill' attribute to 'blue'. All elements are inside of a 'defs'
+        element except for the recursive 'use' element to ensure that it is the only element rendered. Verify that blue is visible and orange is not visible.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is a green square visible on the page, and no red.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: struct-use-15-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+        <g id="testG">
+            <rect width="96" height="96" id="testRect1" />
+            <rect x="96" width="96" height="96" fill="red" id="testRect2" />
+        </g>
+        <use xlink:href="#testG" id="testUse1" />
+    </defs>
+    <use xlink:href="#testUse1" />
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var testG = document.getElementById("testG");
+            var testRect1 = document.getElementById("testRect1");
+            var testRect2 = document.getElementById("testRect2");
+
+            testRect1.setAttribute("fill", "green");
+            testG.removeChild(testRect2);
+        }
+        catch(ex)
+        {
+            alert("ERROR: " + ex.message);   
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-class-01-f.svg b/Tests/W3CTestSuite/svg/styling-class-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0eed402f76c05d68f21a500928941be52834b8f6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-class-01-f.svg
@@ -0,0 +1,75 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: styling-class-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#ClassAttribute">
+      <p>
+        The 'class' attribute assigns one or more class names to an element, and shared class names among several element instances are supported.
+      </p>
+      <p>
+        Assigns a class to two elements and specify a 'fill: blue' style rule on the class. On one of the elements, also specify a
+        second class with a specified 'stroke: orange' style rule. Verify the 'fill' and 'stroke' styles applied appropriately.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there are two blue rectangles on the page, and the lower right one has an orange border.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-class-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <style type="text/css"><![CDATA[
+        .testClass
+        {
+            fill: blue;
+        }
+        .testClass2
+        {
+            stroke: orange;
+        }]]>
+    </style>
+    <g>
+        <rect x="10" y="10" width="200" height="100" class="testClass" />
+        <rect x="215" y="125" width="200" height="100" class="testClass testClass2" stroke-width="10px" />
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/styling-css-01-b.svg b/Tests/W3CTestSuite/svg/styling-css-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c1e629e2041aa80f5e0935de2ad8060e1b92f6d4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-01-b.svg
@@ -0,0 +1,90 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: styling-css-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS">
+        <p>
+          Test element and class selectors.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+The test is passed if all six shapes have a green fill.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <defs>
+        <style type="text/css">
+          rect { fill: green }
+          .warning { fill: green }
+          .bar {fill: green}
+        </style>
+      </defs>
+    </defs>
+    <!-- ====================================================================== -->
+    <!-- Element (GI) selectors  =============================================== -->
+    <!-- ====================================================================== -->
+
+    <text style="font-size:12px;" x="40" y="36">
+      element selectors:
+    </text>
+
+      <circle cx="160" cy="100" r="30" fill="green"/>
+      <g style="fill: red">
+          <rect x="220" y="80" width="60" height="40"/>
+      </g>
+      <polygon points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70" fill="green"/>
+
+    <!-- ====================================================================== -->
+    <!-- class selectors  =============================================== -->
+    <!-- ====================================================================== -->
+    <g transform="translate(0, 150)">
+
+      <text style="font-size:12px;" x="40" y="36">
+        class selectors:
+      </text>
+
+      <g style="fill: red">
+        <circle class="warning" cx="160" cy="100" r="30"/>
+        <rect x="220" y="80" width="60" height="40"/>
+        <polygon class="foo bar baz" points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" style="fill: none;stroke:#000" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-css-02-b.svg b/Tests/W3CTestSuite/svg/styling-css-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..87b5fbaa98182a67abbc6c9266f3b63ef509aa26
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-02-b.svg
@@ -0,0 +1,85 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: styling-css-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS">
+        <p>
+          Test ID and attribute selectors
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all six shapes have a green fill.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <style type="text/css">
+        #one, #two { fill: green }
+        [transform="scale(2)"] { fill: green }
+        #x [points] { fill: green }
+      </style>
+    </defs>
+    <!-- ====================================================================== -->
+    <!-- ID selectors selectors  ============================================== -->
+    <!-- ====================================================================== -->
+    <text style="font-size:12px;" x="40" y="36">
+      id selectors:
+    </text>
+    <g style="fill: green">
+      <circle cx="160" cy="100" r="30"/>
+      <polygon points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+    </g>
+    <g style="fill: red">
+      <rect id="one" x="220" y="80" width="60" height="40"/>
+    </g>
+    <!-- ====================================================================== -->
+    <!-- attribute selectors  ================================================= -->
+    <!-- ====================================================================== -->
+    <g transform="translate(0, 150)">
+      <text style="font-size:12px;" x="40" y="36">
+        attribute selectors:
+      </text>
+
+      <g style="fill: red" id="x">
+        <circle transform="scale(2)" cx="80" cy="50" r="15"/>
+        <rect id="two" x="220" y="80" width="60" height="40"/>
+        <polygon points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-css-03-b.svg b/Tests/W3CTestSuite/svg/styling-css-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7a830bd9b5ac167a392c7a6b3ab6faffa18c57ff
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-03-b.svg
@@ -0,0 +1,106 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris lilley" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: styling-css-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS">
+        <p>
+          Test ancestor, child and sibling selectors.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+        Run the test. No interaction required.
+      </p>
+
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+    <p>
+        The test is passed if all six shapes have a green fill.
+      </p>
+    </d:passCriteria>
+    <!--
+            In the upper test, the selector 'immediate child' selects all elements of class
+        'thischild' which are immediate children of the elements of class 'mummy'. The
+        rectangle and the polygon are of class'thischild' but the polygon is not an immediate
+        child so must not be selected. The rectangle must be green, the circle and polygon
+        must be green.
+        In the lower test, the 'adjacent sibling' selector matches elements of
+        class 'secundus' which are adjacent to a previous sibling of class 'primus';
+        this makes the rectangle in the second test green. The first-child pseudoclass matches
+        circles which are the first child of elements of class 'mummy' and if correctly
+        selected this circle will be filled green. (The circle in the upper test is not
+        the first child). 
+        -->
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <defs>
+      <style type="text/css">
+        .mummy {fill: green }                                       /* least specific */
+        .mummy rect { fill: red}                      /* more specific, make rect red */
+        .mummy &gt; .thischild { fill: green }     /* even more specific,  rect green */
+        .child {fill: red}
+        .gap &gt; .thischild { fill: green}
+        .daddy {fill: red }
+        .daddy &gt; .tertius {fill: green}                       /* bottom poly green */
+        .primus + .secundus { fill: green }                      /* bottom rect green */
+        .daddy :first-child { fill: green}                     /* bottom circle green */
+      </style>
+    </defs>
+
+    <text style="font-family:SVGFreeSansASCII;font-size:12px;" x="40" y="36">
+      ancestor selectors and child selectors:
+    </text>
+
+    <g class="mummy">
+      <rect class="thischild" x="220" y="80" width="60" height="40"/>
+      <circle cx="160" cy="100" r="30"/>
+      <g class="child">
+         <g class="generation gap">
+            <polygon class="thischild" points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+         </g>
+      </g>
+    </g>
+
+    <g transform="translate(0, 150)">
+      <text style="font-family:SVGFreeSansASCII;font-size:12px;" x="40" y="36">
+        ancestor, immediate-sibling and first-child selectors:
+      </text>
+
+      <g class="daddy">
+        <circle class="primus" cx="160" cy="100" r="30"/>
+        <rect class="secundus" x="220" y="80" width="60" height="40"/>
+        <polygon class="tertius" points="300,100, 320,120, 340,110, 360,120, 390,90, 340,70"/>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-css-04-f.svg b/Tests/W3CTestSuite/svg/styling-css-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..90025a2ba0ff55b8a035213fd29bbe06274d4845
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-04-f.svg
@@ -0,0 +1,157 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="BB" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: styling-css-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS">
+        <p>
+          This purpose of the file is to test some of the CSS2 selector syntax.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        A UA supporting CSS selectors should render an image identical to the referenced image.
+      </p>
+
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      The test is passed if a grid of 6x3 squares is shown, the colors in each column 
+      are the same and are those of the reference image (blue, green, orange, gold, purple and silver)
+      </p>
+      <p>
+        For a full analysis of this test, please see
+        <a href="http://www.w3.org/Graphics/SVG/Test/styling-css-04-f/blow-by-blow.html" target="css">
+          this explanation.
+        </a>
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-04-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g fill="white">
+      <text x="240" y="35" font-size="20" text-anchor="middle">CSS selector test</text>
+      <defs>
+        <style type="text/css">
+          * {stroke:red; stroke-width:1;} /* 0 */
+          text {stroke:none; fill:black;} /* 1 */
+          rect {stroke:black; stroke-dasharray:none;} /* 1 */
+          #test-frame {fill:none} /* 100 */
+          g#alpha {fill:blue} /* 101 */
+          a#alpha {fill:red} /* 101 */
+          #alpha * rect {fill:green} /* 101 */
+          #alpha-2 > rect {fill:orange} /* 101 */
+          #beta rect {fill:gold} /* 101 */
+          g#gamma * g * * rect {fill:silver} /* 103 */
+          g#gamma * * rect {fill:purple} /* 102 */
+          [stroke-width="1.0001"] {fill:blue} /* 10 */
+          g#delta rect[stroke-width="1.0002"] {fill:green} /* 112 */
+          g#delta > rect[stroke-width="1.0003"] {fill:orange} /* 102 */
+          #delta + g > * {fill:gold} /* 101 */
+          g#delta + g > rect + rect {fill:purple} /* 104 */
+          #delta + g#epsilon * rect:first-child {fill:silver} /* 202 */
+          #zeta [cursor] {fill:blue} /* 110 */
+          g#zeta [cursor="help"] {fill:green} /* 111 */
+          g#zeta [rx~="3E"] {fill:orange} /* 111 */
+          g#epsilon + g [stroke-dasharray|="3.1415926"] {fill:gold} /* 112 */
+          g#epsilon + g > rect.hello {fill:purple} /* 113 */
+          g#eta rect:first-child {fill:silver} /* 102 */
+        </style>
+      </defs>
+      <g id="alpha">
+        <rect x="30" y="70" width="67.5" height="67.5" id="A1"/>
+        <g id="alpha-1">
+          <rect x="100" y="70" width="67.5" height="67.5" id="B1" />
+        </g>
+        <g id="alpha-2">
+          <rect x="170" y="70" width="67.5" height="67.5" id="C1"/>
+        </g>
+      </g>
+      <g id="beta">
+        <g>
+          <g>
+            <g>
+              <g>
+                <g>
+                  <rect x="240" y="70" width="67.5" height="67.5" id="D1"/>
+                </g>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g id="gamma">
+        <g>
+          <g>
+            <rect x="310" y="70" width="67.5" height="67.5" id="E1"/>
+            <g>
+              <g>
+                <rect x="380" y="70" width="67.5" height="67.5" id="F1"/>
+              </g>
+            </g>
+          </g>
+        </g>
+      </g>
+      <g id="delta">
+        <rect x="30" y="140" width="67.5" height="67.5" stroke-width="1.0001" id="A2"/>
+        <rect x="100" y="140" width="67.5" height="67.5" stroke-width="1.0002" id="B2"/>
+        <rect x="170" y="140" width="67.5" height="67.5" stroke-width="1.0003" id="C2"/>
+      </g>
+      <g id="epsilon">
+        <rect x="240" y="140" width="67.5" height="67.5" id="D2"/>
+        <rect x="310" y="140" width="67.5" height="67.5" id="E2"/>
+        <g>
+          <rect x="380" y="140" width="67.5" height="67.5" id="F2"/>
+        </g>
+      </g>
+      <g id="zeta">
+        <rect x="30" y="210" width="67.5" height="67.5" cursor="default" id="A3"/>
+        <rect x="100" y="210" width="67.5" height="67.5" cursor="help" id="B3"/>
+        <rect x="170" y="210" width="67.5" height="67.5" stroke-dasharray="5, 3.14" id="C3" style="fill:orange"/>
+        <rect x="240" y="210" width="67.5" height="67.5" rx="3E-6" stroke-dasharray="3.1415926,8" id="D3" style="fill:gold"/>
+        <rect x="310" y="210" width="67.5" height="67.5" class="hello" id="E3"/>
+      </g>
+      <g id="eta">
+        <rect x="380" y="210" width="67.5" height="67.5" id="F3"/>
+      </g>
+      <g id="labels" font-size="16" font-family="Arial, Helvetica, sans-serif">
+        <text x="64" y="60" text-anchor="middle">A</text>
+        <text x="133" y="60" text-anchor="middle">B</text>
+        <text x="200" y="60" text-anchor="middle">C</text>
+        <text x="270" y="60" text-anchor="middle">D</text>
+        <text x="340" y="60" text-anchor="middle">E</text>
+        <text x="410" y="60" text-anchor="middle">F</text>
+        <text x="20" y="113" text-anchor="middle">1</text>
+        <text x="20" y="183" text-anchor="middle">2</text>
+        <text x="20" y="253" text-anchor="middle">3</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-css-05-b.svg b/Tests/W3CTestSuite/svg/styling-css-05-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5fa1e70118cf976ab103bcb4cfb8741f44f028ec
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-05-b.svg
@@ -0,0 +1,74 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: styling-css-05-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS">
+        <p>
+          Tests the language selectors, :lang(c).
+        </p>
+        <p>
+          Note that a less specific language (such as fr) also matches a more specific
+          language (such as fr-CA) but a more specific language (such as en-GB) does not match a less specific language (such as en).
+          Also note that language tags,and thus language selectors are case-insensitive.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The phrase "Good morning!" should be in green. The phrase "Bon avant-midi!"
+        should be in blue; in addition, the "avant-midi" should be italic because its Canadian French.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-05-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans-ISO-8859-1.svg#iso_8859_1"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F" font-style="oblique">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSansOblique-Lat1.svg#FreeSansOblique"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <style type="text/css">
+      :lang(en) { fill: green}
+      :lang(fr) { fill: blue }
+      :lang(fr-ca) {font-style: italic}
+    </style>
+    <g text-anchor="middle" font-size="30">
+      <text x="240" y="100" xml:lang="en">Good morning!</text>
+      <text x="240" y="200" xml:lang="fr">
+        Bon <tspan xml:lang="fr-CA">avant-midi</tspan>!
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-css-06-b.svg b/Tests/W3CTestSuite/svg/styling-css-06-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a3151451ea6ec730e6d4ecccf115578fef1a2a58
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-06-b.svg
@@ -0,0 +1,198 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: styling-css-06-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS">
+        <p>
+          Tests the dynamic pseudoclasses :link, :visited, :active, :hover and :focus.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For the test to work, you must have previously visited ../linkingToc-t.svg which you can do by
+        traversing the "Visited" link, then going back to this test file.
+      </p>
+      <p>
+        The links marked "Visited" and "Hover me" should now be purple,
+        while the "Unvisited" link is blue.
+      </p>
+      <p>
+        Note: If you do not have a pointing device, or if it provides pick but not hover
+        (eg a stylus on a PDA) skip the hover portion of the test and mark this part as
+        passed: Hover the pointing device over the "Hover me" and then, over the "And me, too!".
+        As each of the two text strings text is hovered, it should turn a dark orange color
+        while the other string should be whatever color it was before being hovered.
+      </p>
+      <p>
+        Note:  If the device you are using does not support text selection, e.g. a mobile phone,
+        you may skip this part of the test and consider this part passed.:Finally, select
+        some of the "Select me" text. SVG states that text selection causes an element to receive focus.
+        There is a style rule :focus { fill:  rgb( 0, 255, 127); stroke:  rgb( 0, 255, 127); stroke-width:3px }
+        which applies, although since it has specificity
+        010 while the following rule text:active {text-decoration: underline; fill: red }
+        has a higher specificity of 011, the fill is in fact red while the stroke is still green.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Because this is a dynamic test , a single static image cannot fully capture all the
+        states. The reference image simulates the state during the third subtest. Visited and
+        unvisited links have the appropriate blue and purple colors. The color and presentation
+        of the selected text are user-agent dependent, but the unselected part of the "Select me"
+        text must be red and underlined with a green stroke.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-06-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <style type="text/css">
+      svg:hover {fill: none}
+      text {fill: black}
+      :link {fill: #33F}
+      :visited {fill: rgb(138, 43, 226)}
+      text:active {text-decoration: underline; fill: red }
+      :hover {fill: rgb(255, 140, 0) }
+      rect:hover {fill: none }
+      text#revision:hover {fill: black}
+      :focus { fill:  	rgb( 0, 255, 127); stroke:  rgb( 0, 255, 127); stroke-width:1.5px }
+    </style>
+    <defs>
+      <font horiz-adv-x="481">
+        <font-face font-family="FreeSansSVG" units-per-em="1000" panose-1="2 11 5 4 2 2 2 2 2 4" ascent="800" descent="-200" alphabetic="0"/>
+        <missing-glyph horiz-adv-x="432" d="M33 0V666H366V0H33ZM66 33H333V633H66V33Z"/>
+        <glyph unicode=" " glyph-name="space" horiz-adv-x="278"/>
+        <glyph unicode="!" glyph-name="exclam" horiz-adv-x="278" d="M208 729V391L186 168H147L125 391V729H208ZM208 104V0H124V104H208Z"/>
+        <glyph unicode="&quot;" glyph-name="quotedbl" horiz-adv-x="355" d="M52 709H145V598L118 464H79L52 598V709ZM212 709H305V598L278 464H239L212 598V709Z"/>
+        <glyph unicode="#" glyph-name="numbersign" horiz-adv-x="556" d="M485 697L449 501H542V433H436L405 259H510V191H393L354 -20H278L316 191H192L153 -20H77L115 191H14V259H128L159 433H51V501H172L208 697H284L248 501H373L408 697H485ZM360 433H236L204 259H329L360           433Z"/>
+        <glyph unicode="$" glyph-name="dollar" horiz-adv-x="556" d="M243 770H302V716Q427 707 474 615Q496 574 496 520V519H417Q416 596 359 630Q339 641 315 645L302 646V397Q402 366 431 350L433 349Q517 301 518 196V195Q518 91 450 30L426 12Q377 -17 302 -23V-126H243V-23Q89           -13 46 104Q30 150 33 208H112Q119 134 133 110L137 103Q172 55 243 46V318Q150 346 117 370Q46 421 46 515V516Q46 662 186 704Q212 712 243 716V770ZM243 405V645Q147 632 130 556L127 526Q127 436 243 405ZM302 309V46Q363 53 394 83Q436 123 436 182V183Q436           244 389 274Q360 292 302 309Z"/>
+        <glyph unicode="%" glyph-name="percent" horiz-adv-x="889" d="M199 685Q283 685 334 619H335Q370 573 370 513V512Q370 433 307 382Q260 343 200 343Q119 343 67 406Q29 453 29 513V514Q29 595 92 647Q139 685 199 685ZM199 615Q145 615 115 569H114Q98 544           98 515V514Q98 461 143 430Q169 413 200 413Q254 413 284 458Q301 483 301 512V513Q301 570 253 600Q229 615 199 615ZM609 709H675L280 -20H214L609 709ZM688 322Q773 322 824 256Q859 210 859 151V150Q859 71 796 20Q749 -19 689 -19Q608 -19 556 44Q518 91 518           151V152Q518 233 582 284Q629 322 688 322ZM688 252Q634 252 604 207Q587 182 587 153V152Q587 97 634 67H635V66Q636 66 636 66Q636 65 637 65Q661 51 689 51Q743 51 773 96Q790 120 790 149V150Q790 207 742 237V237L741 238Q724 248 704 251Q700 251 695 252Q693           252 690 252H688Z"/>
+        <glyph unicode="&amp;" glyph-name="ampersand" horiz-adv-x="667" d="M493 334H573Q573 240 515 151L637 0H528L466 78Q417 30 389 13Q333 -23 257 -23Q141 -23 85 59Q52 108 52 175V176Q52 257 104 310Q140 346 214 389Q144 477 135 525V525Q135 527 135 530Q134           532 134 535L133 552Q133 628 197 675Q244 709 304 709Q394 709 440 643V642Q467 604 467 553V552Q467 483 412 434Q383 409 330 379L329 378L462 215Q495 272 493 334ZM285 431Q366 482 381 519Q388 534 388 553V554Q388 606 343 629Q324 639 301 639Q241 639           221 589Q215 573 215 554V553Q215 520 240 485L241 484V484L242 483L243 482V482L285 431ZM418 137L258 337Q164 277 144 227Q136 207 136 184V183Q136 118 190 80Q225 55 267 55Q334 55 402 120Q409 127 416 135Q417 135 417 136L418 137Z"/>
+        <glyph unicode="'" glyph-name="quotesingle" horiz-adv-x="191" d="M48 709H142V598L115 464H75L48 598V709Z"/>
+        <glyph unicode="(" glyph-name="parenleft" horiz-adv-x="333" d="M236 729H291Q167 529 155 300L154 259Q154 26 276 -187Q283 -200 291 -212H236Q123 -64 86 128Q73 196 73 258V259Q73 438 166 617Q197 678 236 729Z"/>
+        <glyph unicode=")" glyph-name="parenright" horiz-adv-x="333" d="M93 -212H38Q162 -12 174 217Q175 258 175 258Q175 491 53 704L38 729H93Q206 581 243 389Q256 321 256 259V258Q256 79 163 -100Q132 -161 93 -212Z"/>
+        <glyph unicode="*" glyph-name="asterisk" horiz-adv-x="389" d="M160 729H223L218 617L324 655L343 596L235 566L305 477L254 441L192 534L129 441L79 477L148 566L40 596L59 655L165 617L160 729Z"/>
+        <glyph unicode="+" glyph-name="plus" horiz-adv-x="584" d="M534 267V197H327V-10H257V197H50V267H257V474H327V267H534Z"/>
+        <glyph unicode="," glyph-name="comma" horiz-adv-x="278" d="M87 104H192V-16Q192 -147 87 -147V-109Q130 -107 140 -76Q147 -58 147 -19V-18V0H87V104Z"/>
+        <glyph unicode="-" glyph-name="hyphen" horiz-adv-x="333" d="M284 312V240H46V312H284Z"/>
+        <glyph unicode="." glyph-name="period" horiz-adv-x="278" d="M191 104V0H87V104H191Z"/>
+        <glyph unicode="/" glyph-name="slash" horiz-adv-x="278" d="M229 729H284L47 -20H-8L229 729Z"/>
+        <glyph unicode="0" glyph-name="zero" horiz-adv-x="556" d="M275 709Q378 709 436 634Q437 632 438 631Q507 537 507 338V337Q507 66 369 -3Q327 -23 275 -23Q99 -23 56 193Q43 258 43 342V343Q43 538 112 631Q166 702 261 709Q268 709 275 709ZM275 631Q133           631 133 344Q133 344 133 344V342Q133 50 273 50Q391 50 412 242Q417 287 417 344V345Q417 631 275 631Z"/>
+        <glyph unicode="1" glyph-name="one" horiz-adv-x="556" d="M259 505H102V568Q204 581 234 604H235Q245 611 252 621Q271 645 289 709H347V0H259V505Z"/>
+        <glyph unicode="2" glyph-name="two" horiz-adv-x="556" d="M506 87V0H34Q41 128 91 195Q133 250 233 307L325 359Q420 413 421 498V499Q421 571 361 610Q326 632 282 632H281Q206 632 166 575Q163 571 161 566L159 563Q142 531 138 463H50Q53 563 88 617Q148           709 284 709Q383 709 445 653Q511 594 511 502V501Q511 369 361 287L261 233Q170 180 146 131Q137 111 133 87H506Z"/>
+        <glyph unicode="3" glyph-name="three" horiz-adv-x="556" d="M221 325V400Q305 401 338 415Q394 438 395 509V511Q395 596 325 623Q301 632 270 632Q192 632 157 579L156 578L151 569Q136 540 135 480H47Q51 690 237 708L269 709Q408 709 460 616Q485 573 485           515V514Q485 406 386 367Q479 335 499 259Q506 233 506 199V198Q506 75 412 15Q352 -23 266 -23Q118 -23 64 79L63 80Q37 128 32 206H120Q128 74 233 58Q250 55 269 55Q373 55 405 134Q416 161 416 196V197Q416 326 269 326L232 325H221Z"/>
+        <glyph unicode="4" glyph-name="four" horiz-adv-x="556" d="M327 170H28V263L350 709H415V249H520V170H415V0H327V170ZM327 249V559L105 249H327Z"/>
+        <glyph unicode="5" glyph-name="five" horiz-adv-x="556" d="M476 709V622H181L153 424Q212 467 284 467Q404 467 468 380Q513 319 513 232V231Q513 102 426 30Q362 -23 270 -23Q159 -23 94 44L78 62Q51 95 35 172V174H123Q154 55 268 55Q369 55 407 136Q423 171           423 218V219Q423 328 347 370Q313 389 268 389Q204 389 159 346L138 323H57L110 709H476Z"/>
+        <glyph unicode="6" glyph-name="six" horiz-adv-x="556" d="M498 524H410Q392 611 321 628Q307 631 291 631Q180 631 146 487Q133 433 133 362Q191 441 296 441Q407 441 469 358Q513 299 513 217V216Q513 97 431 29Q369 -23 281 -23Q162 -23 103 65Q45 153 43           312Q43 317 43 322V323Q43 508 107 608Q163 692 263 707Q280 709 297 709Q412 709 467 616Q490 577 498 525V524ZM285 363Q200 363 160 297Q138 262 138 215V214Q138 128 199 82Q235 55 282 55Q358 55 398 118Q423 157 423 208V209Q423 311 352 348Q323 363 285           363Z"/>
+        <glyph unicode="7" glyph-name="seven" horiz-adv-x="556" d="M520 709V635Q318 367 252 96Q240 49 232 0H138Q188 218 281 389Q336 490 429 622H46V709H520Z"/>
+        <glyph unicode="8" glyph-name="eight" horiz-adv-x="556" d="M391 373Q512 315 513 197V196Q513 84 427 23Q364 -23 275 -23Q151 -23 84 59Q37 116 37 196V197Q37 315 158 373Q86 418 70 466Q62 488 62 519V520Q62 619 143 672Q198 709 275 709Q391 709 450 633Q488           586 488 521V520Q488 452 443 411Q443 410 442 410Q423 392 391 373ZM275 631Q195 631 165 573L164 572V572Q152 549 152 520V519Q152 449 213 421Q240 408 274 408H275Q355 408 385 465Q386 465 386 466Q398 488 398 516V517V518Q398 593 333 620Q308 631 275           631ZM275 334Q186 334 147 270Q127 238 127 196V195Q127 113 193 75Q227 55 273 55Q364 55 403 120Q423 152 423 194V195Q423 277 356 315Q321 334 275 334Z"/>
+        <glyph unicode="9" glyph-name="nine" horiz-adv-x="556" d="M53 162H141Q159 75 230 58Q244 55 260 55Q371 55 405 199Q418 253 418 324Q354 247 262 245H256Q144 245 82 328Q38 387 38 469V470Q38 589 120 657Q182 709 270 709Q389 709 449 621Q507 533 509           374Q509 369 509 364V363Q509 178 444 78Q391 -3 294 -20L254 -23Q139 -23 84 70Q61 110 53 162ZM269 632Q193 632 153 568L152 567Q128 529 128 478V477Q128 375 199 338Q228 323 266 323Q349 323 390 388Q413 424 413 471V472Q413 559 352 605Q315 632 269 632Z"/>
+        <glyph unicode=":" glyph-name="colon" horiz-adv-x="278" d="M214 104V0H110V104H214ZM214 524V420H110V524H214Z"/>
+        <glyph unicode=";" glyph-name="semicolon" horiz-adv-x="278" d="M215 524V420H111V524H215ZM110 104H215V-16Q215 -147 110 -147V-109Q153 -107 163 -76Q170 -58 170 -19V-18V0H110V104Z"/>
+        <glyph unicode="&lt;" glyph-name="less" horiz-adv-x="584" d="M45 198V267L534 474V395L140 234L534 70V-9L45 198Z"/>
+        <glyph unicode="=" glyph-name="equal" horiz-adv-x="584" d="M534 353V283H50V353H534ZM534 181V111H50V181H534Z"/>
+        <glyph unicode="&gt;" glyph-name="greater" horiz-adv-x="584" d="M539 267V198L50 -9V70L444 231L50 395V474L539 267Z"/>
+        <glyph unicode="?" glyph-name="question" horiz-adv-x="556" d="M330 199H240V254Q240 304 268 341Q285 363 320 396L322 397L344 417Q418 483 419 547Q419 547 419 547Q419 547 419 548V549Q419 619 358 649H357Q328 663 291 663Q209 663 179 605Q162 571 162           508V507H77Q77 718 257 739L296 741Q422 741 478 658L479 657V657V656Q509 611 509 550V549Q509 479 458 420Q439 397 409 370Q346 312 336 285Q330 270 330 247V246V199ZM330 104V0H240V104H330Z"/>
+        <glyph unicode="@" glyph-name="at" horiz-adv-x="1015" d="M665 501H748L658 221Q646 187 646 172V171Q646 144 675 131H676Q685 127 696 127Q760 127 813 199Q864 270 864 356V357Q864 477 767 566Q668 658 528 664H512Q365 664 252 562L221 531Q119 418 119           274V273Q119 132 224 35Q332 -65 493 -65H494Q573 -65 687 -33L715 -100Q603 -142 489 -142Q309 -142 178 -35Q56 65 37 212Q34 258 34 258Q34 412 129 542Q141 558 154 573Q155 574 156 575Q157 576 158 577Q172 593 188 608L192 612Q300 710 451 735Q488 741           525 741Q691 741 814 640Q930 546 948 411Q951 390 951 370V369Q951 248 867 149Q866 147 865 146Q789 57 679 57Q583 57 569 134Q503 62 428 62H427Q345 62 298 131Q264 179 264 244V245Q264 354 343 438Q420 521 519 522H521Q604 522 642 436L643 435L665 501ZM515           458Q449 458 399 387Q354 324 354 245V244Q354 177 401 143H402Q425 126 452 126H453Q511 126 555 191Q588 239 604 323L609 362Q612 417 566 444Q543 458 515 458Z"/>
+        <glyph unicode="A" glyph-name="A" horiz-adv-x="667" d="M474 219H193L116 0H17L277 729H397L653 0H549L474 219ZM448 297L336 629L216 297H448Z"/>
+        <glyph unicode="B" glyph-name="B" horiz-adv-x="667" d="M79 0V729H375Q478 729 533 678Q591 627 591 545V544Q591 432 490 385Q595 344 616 264Q622 244 623 221Q623 215 623 209V208Q623 120 567 61Q511 0 409 0H408H79ZM172 415H352Q424 415 458 441Q498 471           498 530V531Q498 590 458 621Q424 647 352 647H172V415ZM172 82H399Q463 82 495 116L496 117Q530 152 530 206V207Q530 262 496 298Q464 333 399 333H172V82Z"/>
+        <glyph unicode="C" glyph-name="C" horiz-adv-x="722" d="M662 503H567Q552 578 514 613Q467 657 377 659H370Q242 659 181 544Q141 469 141 358V357Q141 187 236 108Q295 59 378 59Q487 59 538 136Q544 144 548 153Q570 195 581 266H677Q644 -23 377 -23Q236           -23 154 62Q48 171 48 355V356Q48 539 150 650Q232 741 380 741H381Q619 741 662 503Z"/>
+        <glyph unicode="D" glyph-name="D" horiz-adv-x="722" d="M89 0V729H370Q533 729 612 597Q613 596 613 595Q667 504 667 366V365Q667 156 551 61Q478 0 370 0H89ZM182 82H354Q528 82 565 263Q574 308 574 363V364Q574 610 406 642Q381 647 354 647H182V82Z"/>
+        <glyph unicode="E" glyph-name="E" horiz-adv-x="667" d="M183 332V82H613V0H90V729H595V647H183V414H580V332H183Z"/>
+        <glyph unicode="F" glyph-name="F" horiz-adv-x="611" d="M183 332V0H90V729H579V647H183V414H531V332H183Z"/>
+        <glyph unicode="G" glyph-name="G" horiz-adv-x="778" d="M709 385V-4H650L627 93Q523 -23 379 -23H378Q225 -23 131 91Q44 195 44 356V357Q44 533 146 643Q160 658 176 671Q261 741 393 741H394Q573 741 654 623Q687 574 699 508H604Q583 606 488 642Q446 659           393 659Q261 659 190 555Q137 477 137 363V362Q137 236 198 152L214 133Q280 61 392 59Q395 59 398 59Q512 59 578 139Q627 199 627 282V283V303H405V385H709Z"/>
+        <glyph unicode="H" glyph-name="H" horiz-adv-x="722" d="M551 332H177V0H83V729H176V414H551V729H644V0H551V332Z"/>
+        <glyph unicode="I" glyph-name="I" horiz-adv-x="278" d="M194 729V0H100V729H194Z"/>
+        <glyph unicode="J" glyph-name="J" horiz-adv-x="500" d="M333 729H426V182Q426 58 336 5Q287 -23 220 -23Q96 -23 44 63Q17 108 17 169V170V234H112V187Q112 76 193 58L221 55Q279 55 309 98L310 100Q333 134 333 215V216V729Z"/>
+        <glyph unicode="K" glyph-name="K" horiz-adv-x="667" d="M172 255V0H79V729H172V360L535 729H655L358 432L658 0H548L291 374L172 255Z"/>
+        <glyph unicode="L" glyph-name="L" horiz-adv-x="556" d="M173 729V82H533V0H80V729H173Z"/>
+        <glyph unicode="M" glyph-name="M" horiz-adv-x="833" d="M468 0H370L163 611V0H75V729H204L420 94L632 729H761V0H673V611L468 0Z"/>
+        <glyph unicode="N" glyph-name="N" horiz-adv-x="722" d="M646 729V0H541L164 591V0H76V729H177L558 133V729H646Z"/>
+        <glyph unicode="O" glyph-name="O" horiz-adv-x="778" d="M389 741Q563 741 660 618L661 617Q662 616 663 615Q723 536 738 422Q742 389 742 354V353Q742 205 660 100Q640 74 616 54Q525 -23 390 -23Q223 -23 125 94Q38 198 38 358V359Q38 543 149 650Q244 741           389 741ZM389 659Q259 659 187 557Q131 478 131 360V359Q131 201 226 118Q293 59 390 59Q519 59 591 159Q649 237 649 354V355Q649 520 551 603Q485 659 389 659Z"/>
+        <glyph unicode="P" glyph-name="P" horiz-adv-x="667" d="M184 309V0H91V729H392Q553 729 600 611Q617 570 617 516V515Q617 418 554 361Q496 309 414 309H413H184ZM184 391H378Q480 391 510 465Q520 488 520 518V519Q520 609 441 637Q441 637 440 637Q413 647           378 647H184V391Z"/>
+        <glyph unicode="Q" glyph-name="Q" horiz-adv-x="778" d="M733 -1L686 -59L581 28Q495 -23 390 -23Q223 -23 125 94Q38 198 38 358V359Q38 543 149 650Q245 741 390 741Q556 741 654 625Q742 522 742 362V361Q742 189 639 76L733 -1ZM481 205L570 132Q649 221           649 359V360Q649 517 555 600Q487 659 390 659Q259 659 187 557Q131 478 131 360V359Q131 200 226 117Q293 59 389 59Q449 59 509 87L435 149L481 205Z"/>
+        <glyph unicode="R" glyph-name="R" horiz-adv-x="722" d="M186 314V0H93V729H429Q599 729 640 609Q651 576 651 535V534Q651 436 579 385Q560 372 536 360Q598 333 617 293Q634 256 635 170Q637 74 654 47Q663 34 679 23V0H566Q545 48 545 118V119L546 184Q546           293 466 310Q448 314 426 314H186ZM186 396H411Q532 396 550 482Q554 499 554 520V521Q554 587 516 619Q484 647 411 647H186V396Z"/>
+        <glyph unicode="S" glyph-name="S" horiz-adv-x="667" d="M596 515H508Q507 626 398 655Q366 663 326 663Q222 663 181 601V601Q163 574 163 541V540Q163 484 217 456Q242 443 283 432L466 383Q586 350 614 253Q621 228 621 201V200Q621 116 563 53L541 33Q468           -23 336 -23Q167 -23 91 81Q49 138 48 232H136Q135 167 174 120Q225 59 342 59Q431 59 476 90Q520 121 527 176L528 191Q528 267 418 302Q407 306 395 309H394L213 357Q71 394 70 525V527Q70 651 174 707Q238 741 329 741Q505 741 568 630Q596 581 596 515Z"/>
+        <glyph unicode="T" glyph-name="T" horiz-adv-x="611" d="M354 647V0H261V647H21V729H593V647H354Z"/>
+        <glyph unicode="U" glyph-name="U" horiz-adv-x="722" d="M552 729H645V217Q645 87 541 22Q469 -23 364 -23Q199 -23 126 78Q86 135 85 215Q85 217 85 217V729H178V217Q178 138 231 97Q284 59 364 59Q487 59 532 138Q551 171 552 215Q552 215 552 216V217V729Z"/>
+        <glyph unicode="V" glyph-name="V" horiz-adv-x="667" d="M392 0H292L30 729H130L344 112L546 729H645L392 0Z"/>
+        <glyph unicode="W" glyph-name="W" horiz-adv-x="944" d="M744 0H642L474 599L311 0H209L22 729H126L263 137L425 729H525L691 137L825 729H929L744 0Z"/>
+        <glyph unicode="X" glyph-name="X" horiz-adv-x="667" d="M391 374L649 0H534L335 304L135 0H22L280 374L38 729H151L338 443L526 729H637L391 374Z"/>
+        <glyph unicode="Y" glyph-name="Y" horiz-adv-x="667" d="M387 286V0H294V286L13 729H128L342 374L550 729H661L387 286Z"/>
+        <glyph unicode="Z" glyph-name="Z" horiz-adv-x="611" d="M581 729V645L145 82H583V0H28V82L466 647H56V729H581Z"/>
+        <glyph unicode="[" glyph-name="bracketleft" horiz-adv-x="278" d="M250 729V657H147V-140H250V-212H64V729H250Z"/>
+        <glyph unicode="\" glyph-name="backslash" horiz-adv-x="278" d="M47 729L284 -20H229L-8 729H47Z"/>
+        <glyph unicode="]" glyph-name="bracketright" horiz-adv-x="278" d="M23 -212V-140H126V657H23V729H209V-212H23Z"/>
+        <glyph unicode="^" glyph-name="asciicircum" horiz-adv-x="469" d="M197 709H270L425 329H356L234 629L113 329H44L197 709Z"/>
+        <glyph unicode="_" glyph-name="underscore" horiz-adv-x="556" d="M578 -126V-176H-22V-126H578Z"/>
+        <glyph unicode="`" glyph-name="grave" horiz-adv-x="333" d="M135 740L231 592H171L22 740H135Z"/>
+        <glyph unicode="a" glyph-name="a" horiz-adv-x="556" d="M535 49V-14Q500 -23 478 -23Q407 -23 394 40Q393 47 392 54Q309 -22 218 -23H214Q104 -23 61 52Q42 86 42 131V132Q42 234 134 272Q170 287 264 299L302 304Q375 313 386 342V343V344L389 362V384Q389           448 308 460Q291 462 272 462Q169 462 152 387Q150 378 149 369H65Q68 441 101 478Q156 539 275 539Q451 539 470 423Q472 411 472 397V396V88Q472 47 517 47L535 49ZM389 165V259Q357 244 275 233Q266 232 255 230Q149 215 133 161L129 135V134Q129 69 196 54Q212           50 232 50Q304 50 356 97Q388 126 389 161Q389 162 389 162V162V163V163V165Z"/>
+        <glyph unicode="b" glyph-name="b" horiz-adv-x="556" d="M54 729H137V453Q194 539 299 539Q427 539 486 431Q523 363 523 265V264Q523 103 432 26Q375 -23 295 -23Q188 -23 129 67V0H54V729ZM283 461Q200 461 161 377Q137 328 137 259V258Q137 133 206 81Q239           55 283 55Q367 55 409 134Q436 185 436 254V255Q436 382 364 435Q331 460 288 461Q285 461 283 461Z"/>
+        <glyph unicode="c" glyph-name="c" horiz-adv-x="500" d="M471 348H387Q374 445 290 460Q282 461 272 462H263Q169 462 134 362Q118 316 118 254V253Q118 116 197 71Q226 54 265 54Q372 54 393 180H477Q466 43 362 -3Q319 -23 263 -23Q134 -23 72 82Q31 151 31           252V253Q31 413 123 490Q182 539 264 539Q370 539 428 471L436 461Q465 418 471 348Z"/>
+        <glyph unicode="d" glyph-name="d" horiz-adv-x="556" d="M495 729V0H421V69Q363 -14 277 -22Q266 -23 254 -23Q124 -23 64 89Q26 159 26 261Q26 261 26 262V263Q26 417 115 492Q172 539 251 539Q359 539 412 458V729H495ZM265 461Q180 461 139 379Q119 341 114           290Q113 275 113 259V258Q113 136 183 82Q219 55 266 55Q348 55 387 136Q412 186 412 255V256Q412 387 340 438Q307 461 265 461Z"/>
+        <glyph unicode="e" glyph-name="e" horiz-adv-x="556" d="M513 234H127Q128 162 155 122Q198 54 281 54Q383 54 418 159H502Q480 38 376 -5Q332 -23 278 -23Q142 -23 79 87Q40 155 40 253V255Q40 413 134 490Q194 539 280 539Q395 539 460 457Q480 432 492 401Q513           347 513 235V234ZM129 302H423L424 308Q424 388 365 433Q327 462 279 462Q194 462 153 387Q133 351 129 302Z"/>
+        <glyph unicode="f" glyph-name="f" horiz-adv-x="278" d="M258 524V456H171V0H88V456H18V524H88V613Q88 701 162 725Q184 732 211 732Q234 732 258 727V658L229 659Q172 659 171 608V606V524H258Z"/>
+        <glyph unicode="g" glyph-name="g" horiz-adv-x="556" d="M412 524H489V86Q489 -68 448 -132Q441 -142 434 -151Q386 -211 277 -217Q266 -218 255 -218Q117 -218 67 -130Q50 -99 46 -60H131Q137 -99 162 -119L163 -120Q199 -148 258 -148Q339 -148 374 -99Q404           -58 404 43V44V71Q345 -11 272 -21Q261 -23 248 -23Q247 -23 245 -23Q162 -23 101 41Q98 44 95 47Q29 123 29 252V253Q29 404 112 483Q170 539 252 539Q350 539 412 448V524ZM261 462Q173 462 136 372Q116 325 116 259V258Q116 119 194 72Q223 54 262 54Q351 54           386 146Q404 192 404 254V255Q404 405 322 448Q295 462 261 462Z"/>
+        <glyph unicode="h" glyph-name="h" horiz-adv-x="556" d="M70 729H153V452Q207 522 273 535Q294 539 321 539Q431 539 470 465Q486 435 486 397V396V0H403V363Q403 418 369 442Q337 466 295 466Q211 466 174 389Q153 347 153 290V289V0H70V729Z"/>
+        <glyph unicode="i" glyph-name="i" horiz-adv-x="222" d="M150 524V0H67V524H150ZM150 729V624H66V729H150Z"/>
+        <glyph unicode="j" glyph-name="j" horiz-adv-x="222" d="M70 524H153V-109Q153 -212 25 -218H10L-18 -215V-144L2 -145Q54 -145 65 -113Q70 -99 70 -77V-76V524ZM153 729V624H70V729H153Z"/>
+        <glyph unicode="k" glyph-name="k" horiz-adv-x="500" d="M141 729V302L363 524H470L288 343L502 0H399L222 284L141 204V0H58V729H141Z"/>
+        <glyph unicode="l" glyph-name="l" horiz-adv-x="222" d="M152 729V0H68V729H152Z"/>
+        <glyph unicode="m" glyph-name="m" horiz-adv-x="833" d="M70 524H147V450Q201 526 275 537Q284 538 295 539H308Q397 539 440 474Q445 467 449 459Q503 524 566 535Q574 537 583 538H584Q596 539 610 539Q732 539 757 441Q762 419 762 394V393V0H678V361Q678           442 615 461Q599 466 581 466Q520 466 483 412Q458 376 458 330V329V0H374V361Q374 448 303 463L277 466Q215 466 178 410Q154 375 154 330V329V0H70V524Z"/>
+        <glyph unicode="n" glyph-name="n" horiz-adv-x="556" d="M70 524H147V436Q201 521 277 535Q297 539 321 539Q425 539 467 470Q486 439 487 398V396V0H404V363Q404 432 346 457Q324 466 296 466Q212 466 175 389Q154 347 154 290V289V0H70V524Z"/>
+        <glyph unicode="o" glyph-name="o" horiz-adv-x="556" d="M272 539Q424 539 481 410Q510 345 510 255V254Q510 87 408 16Q352 -23 273 -23Q129 -23 69 96Q36 162 36 257V258Q36 432 141 502Q196 539 272 539ZM273 462Q180 462 142 370Q123 323 123 259V258Q123           121 201 73Q232 54 273 54Q363 54 402 142Q423 189 423 254V255Q423 400 341 446Q311 462 273 462Z"/>
+        <glyph unicode="p" glyph-name="p" horiz-adv-x="556" d="M54 -218V524H131V445Q190 539 298 539Q425 539 485 428Q523 357 523 254V253Q523 99 434 24Q395 -9 343 -19Q322 -23 299 -23Q202 -23 139 54L138 55V-218H54ZM284 461Q201 461 162 377Q138 328 138 259V258Q138           133 207 81Q240 55 284 55Q368 55 409 134Q436 185 436 254V255Q436 382 365 435Q330 461 284 461Z"/>
+        <glyph unicode="q" glyph-name="q" horiz-adv-x="556" d="M495 -218H412V60Q355 -23 250 -23Q122 -23 63 85Q26 153 26 251V252Q26 413 117 490Q174 539 254 539Q361 539 421 454V524H495V-218ZM266 461Q182 461 140 380Q113 330 113 259V258Q113 136 183 82Q219           55 266 55Q348 55 388 136Q412 186 412 254V255Q412 386 341 437Q308 461 266 461Z"/>
+        <glyph unicode="r" glyph-name="r" horiz-adv-x="333" d="M69 524H146V429Q204 522 262 536Q275 539 289 539L321 536V451Q249 450 218 429Q215 427 212 425Q153 382 153 273V272V0H69V524Z"/>
+        <glyph unicode="s" glyph-name="s" horiz-adv-x="500" d="M438 378H350Q347 462 245 462Q163 462 140 413Q134 400 134 384V383Q134 338 200 316L231 308L311 289Q429 261 452 191Q459 170 459 144V143Q459 47 369 3Q317 -23 243 -23Q49 -23 35 139L34 156H122Q128           109 146 89Q179 54 250 54Q334 54 362 101Q372 116 372 135V136Q372 182 318 201Q309 204 299 207H298L291 209L213 228Q94 257 63 308Q54 324 50 345L47 379Q47 472 131 514Q180 539 248 539Q393 539 428 438Q438 411 438 378Z"/>
+        <glyph unicode="t" glyph-name="t" horiz-adv-x="278" d="M254 524V456H168V97Q168 59 190 53L214 50Q239 50 254 54V-16Q215 -23 186 -23Q97 -23 86 44Q85 60 85 60V456H14V524H85V668H168V524H254Z"/>
+        <glyph unicode="u" glyph-name="u" horiz-adv-x="556" d="M482 0H407V73Q351 -6 277 -19Q257 -23 232 -23Q125 -23 84 47Q65 78 65 119V120V524H148V153Q148 83 207 59Q228 50 255 50H256Q341 50 379 128Q399 170 399 226V227V524H482V0Z"/>
+        <glyph unicode="v" glyph-name="v" horiz-adv-x="500" d="M285 0H194L10 524H104L244 99L392 524H486L285 0Z"/>
+        <glyph unicode="w" glyph-name="w" horiz-adv-x="722" d="M554 0H459L353 411L252 0H158L6 524H98L205 116L305 524H407L510 116L614 524H708L554 0Z"/>
+        <glyph unicode="x" glyph-name="x" horiz-adv-x="500" d="M292 271L473 0H376L245 201L112 0H17L202 267L27 524H122L248 334L374 524H468L292 271Z"/>
+        <glyph unicode="y" glyph-name="y" horiz-adv-x="500" d="M388 524H478L245 -110Q223 -167 188 -193Q154 -218 110 -218Q79 -218 54 -205V-130Q81 -136 98 -136Q143 -136 161 -96Q163 -91 165 -85L197 -2L20 524H109L243 116L388 524Z"/>
+        <glyph unicode="z" glyph-name="z" horiz-adv-x="500" d="M443 524V450L132 73H457V0H31V75L344 451H52V524H443Z"/>
+      </font>
+    </defs>
+    <g font-size="30" font-family="FreeSansSVG">
+      <text x="50" y="70" id="act">
+        <a xlink:href="../images/linkingToc-t.svg">Visited</a>
+      </text>
+      <text x="250" y="70">
+        <a xlink:href="http://example.com/not-there">Unvisited</a>
+      </text>
+      <text x="50" y="140">
+        <a xlink:href="../images/linkingToc-t.svg">Hover me</a>
+      </text>
+      <text x="250" y="140">And me, too!</text>
+      <text font-size="60" x="80" y="250" id="sel">Select me</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-css-07-f.svg b/Tests/W3CTestSuite/svg/styling-css-07-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f036f6dab19369beaa63b7215ae56441f048c9a8
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-07-f.svg
@@ -0,0 +1,62 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: styling-css-07-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS">
+      <p>
+        Tests that inline CSS styling (style attributes) is supported.
+      </p>
+      <p>
+        Specifies an inline 'visibility: hidden' style rule on a red element and verifies there is no red on the page.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if a green rectangle is visible, and there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-07-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect x="10" y="10" height="100" width="200" fill="green" />
+    <rect x="10" y="10" height="100" width="200" style="visibility: hidden;" fill="red" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/styling-css-08-f.svg b/Tests/W3CTestSuite/svg/styling-css-08-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8f18acdab89f536a5c753c9b8348845574284607
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-08-f.svg
@@ -0,0 +1,116 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Microsoft" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: styling-css-08-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS">
+      <p>
+        Test that CSS styling via the 'style' element is supported.
+      </p>
+      <p>
+        For each of a representative sampling of selectors, specify a 'visibility: hidden' style rule and add a corresponding red
+        element to the markup. A reference in green is shown for each shape.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there is no red visible on the page and there are seven green shapes visible.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-08-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <style type="text/css"><![CDATA[
+        path
+        {
+            visibility: hidden;
+        }
+        g svg circle
+        {
+            visibility: hidden;
+        }
+        g > ellipse
+        {
+            visibility: hidden;
+        }
+        ellipse + circle
+        {
+            visibility: hidden;
+        }
+        [id=testAttributeSelector]
+        {
+            visibility: hidden;
+        }
+        #testIdSelector
+        {
+            visibility: hidden;
+        }
+        #testPseudoClassSelector:first-child
+        {
+            visibility: hidden;
+        }
+        .reference { visibility: visible !important }
+        ]]>
+    </style>
+
+    <path class="reference" d="M 50 125 L 150 125 L 100 75 z" fill="lime" visibility="hidden"/>
+    <path id="testTypeSelector" d="M 50 125 L 150 125 L 100 75 z" fill="red" />
+    <g>
+        <svg width="200" height="200">
+            <circle class="reference" cx="50" cy="175" r="25" fill="lime" visibility="hidden"/>
+            <circle id="testDescendantSelector" cx="50" cy="175" r="25" fill="red" />
+        </svg>
+    </g>
+    <g id="testParentContainer">
+        <ellipse class="reference" cx="160" cy="200" rx="25" ry="45" fill="lime" visibility="hidden"/>
+        <circle class="reference" cx="100" cy="300" r="40" fill="lime" visibility="hidden"/>
+        <ellipse id="testChildSelector" cx="160" cy="200" rx="25" ry="45" fill="red" />
+        <circle id="testAdjacentSiblingSelector" cx="100" cy="300" r="40" fill="red" />
+    </g>
+    <circle class="reference" cx="300" cy="80" r="35" fill="lime" visibility="hidden"/>
+    <circle id="testAttributeSelector" cx="300" cy="80" r="35" fill="red" />
+    
+    <circle class="reference" cx="400" cy="140" r="50" fill="lime" visibility="hidden"/>
+    <circle id="testIdSelector" cx="400" cy="140" r="50" fill="red" />
+
+    <rect class="reference" x="270" y="240" width="150" height="80" fill="lime" visibility="hidden"/>
+    <g>
+        <rect id="testPseudoClassSelector" x="270" y="240" width="150" height="80" fill="red" />
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-css-09-f.svg b/Tests/W3CTestSuite/svg/styling-css-09-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f4be4a17510b14b9c47648b721f237bfd037bed3
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-09-f.svg
@@ -0,0 +1,82 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed"
+    version="$Revision: 1.5 $" testname="$RCSfile: styling-css-09-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StylingWithCSS">
+      <p>
+        Tests that CSS styling from an external style sheet is supported.
+      </p>
+      <p>
+        For each of a representative sampling of selectors, a 'visibility: hidden' style rule is specified
+        to match a corresponding element in the markup. Identically shaped and sized elements (but which are not 
+        applicable to any of the style selectors) are placed beneath them and should be visible
+        if the style sheet was applied correctly.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test passes if there are seven blue shapes on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-09-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <style type="text/css"><![CDATA[
+        @import url("../images/selector-types-visibility-hidden.css");]]>
+    </style>
+    <path class="reference" d="M 50 125 L 150 125 L 100 75 z" fill="blue" visibility="hidden"/>
+    <path id="testTypeSelector" d="M 50 125 L 150 125 L 100 75 z" fill="red" />
+    <g>
+        <svg width="200" height="200">
+            <circle class="reference" cx="50" cy="175" r="25" fill="blue" visibility="hidden"/>
+            <circle id="testDescendantSelector" cx="50" cy="175" r="25" fill="red" />
+        </svg>
+    </g>
+    <g id="testParentContainer">
+        <ellipse class="reference" cx="160" cy="200" rx="25" ry="45" fill="blue" visibility="hidden"/>
+        <circle class="reference" cx="100" cy="300" r="40" fill="blue" visibility="hidden"/>
+        <ellipse id="testChildSelector" cx="160" cy="200" rx="25" ry="45" fill="red" />
+        <circle id="testAdjacentSiblingSelector" cx="100" cy="300" r="40" fill="red" />
+    </g>
+    <circle class="reference" cx="300" cy="80" r="35" fill="blue" visibility="hidden"/>
+    <circle id="testAttributeSelector" cx="300" cy="80" r="35" fill="red" />
+    <circle class="reference" cx="400" cy="140" r="50" fill="blue" visibility="hidden"/>
+    <circle id="testIdSelector" cx="400" cy="140" r="50" fill="red" />
+    <rect class="reference" x="270" y="240" width="150" height="80" fill="blue" visibility="hidden"/>
+    <g>
+        <rect id="testPseudoClassSelector" x="270" y="240" width="150" height="80" fill="red" />
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-css-10-f.svg b/Tests/W3CTestSuite/svg/styling-css-10-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..66884a228db3f2c1aacefe176ee69bdc748f6908
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-css-10-f.svg
@@ -0,0 +1,76 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="CL" status="reviewed"
+    version="$Revision: 1.3 $" testname="$RCSfile: styling-css-10-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG/styling.html#CaseSensitivity">
+      <p>
+        Checks that stylesheets (style attributes, style elements, 
+external style sheets) are case-insensitive, unlike presentational attributes. </p>
+
+<p>Subtest a checks that the invalid attribute
+FiLl is ignored. Subtest b checks that the style attribute is 
+applied, the values being case-insensitive. Subtests c and d check 
+the same for style elements and imported external style sheets.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        If any red shows, the test fails. If four orange circles are shown,
+        the test passes and the user agent supports CSS style sheets. If 
+        the top two circles are orange while the bottom two are blue, and the user agent does
+        not claim to support CSS style sheets, the test also passes.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-css-10-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g fill="orange">
+     <circle id="a" FiLl="red" cx="140" cy="100" r="50"/>
+    </g>
+    <circle id="b" fill="red" style="FiLl: oRaNgE" cx="340" cy="100" r="50"/>
+    <circle id="c" fill="blue" cx="140" cy="220" r="50"/>
+    <circle id="d" fill="blue" cx="340" cy="220" r="50"/>
+
+    <style type="text/css">
+        @import url("../images/case-insensitivity.css");
+        #c {fill: red }
+        #c {FiLl: oRaNgE }
+    </style>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-elem-01-b.svg b/Tests/W3CTestSuite/svg/styling-elem-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..718b231cbc6667c949bcca8023035c6caf4f6ad8
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-elem-01-b.svg
@@ -0,0 +1,75 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: styling-elem-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#StyleElement">
+      <p>
+        This tests that the 'type' attribute on a 'style' element is
+        honored.
+      </p>
+      <p>
+	      Once the test is loaded, two rectangles are presented,
+	      the upper indicating the result of a sub-test that checks
+	      whether the 'type' attribute on a 'style' element correctly
+	      defaults to "text/css", and the lower indicating the result
+	      of a sub-test that checks whether a bogus value for 'type'
+	      does not cause the 'style' element contents to be interpreted
+	      as CSS.  Each rectangle is green if the sub-test is passed
+	      or red if it failed.
+    	</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if both rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-elem-01-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='30'>Test that &lt;style type=""> is honored</text>
+
+    <rect id='r1' x='10' y='50' width='50' height='50' fill='red'/>
+    <rect id='r2' x='10' y='110' width='50' height='50' fill='green'/>
+    <text x='70' y='78'>No type="" attribute</text>
+    <text x='70' y='138'>Rubbish type="" attribute</text>
+
+    <style>#r1 { fill: green }</style>
+    <style type='text/some-unknown-styling-language'>#r2 { fill: red }</style>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-inherit-01-b.svg b/Tests/W3CTestSuite/svg/styling-inherit-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1e49a4b3821c8efe3af4ad095851dff5a904ad4e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-inherit-01-b.svg
@@ -0,0 +1,83 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: styling-inherit-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#Inheritance">
+        <p>
+          Verify property inheritance as required by 6.15 "Property
+          inheritance". Since all implementations are required to do this, only
+          presentation attributes are used.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        At the center right, there is an ellipse. The fill color is not
+        specified on that element but on its parent. The ellipse should be filled a solid yellow
+      </p>
+      <p>
+        At the top left, an oval shape is formed from a rectangle
+        with a radial gradient. The color of the middle stop uses the keyword 'inherit'
+        and thus takes its parent's value of green, giving a yellow, green, white gradient.
+      </p>
+      <p>
+        At the bottom  left, an oval shape is formed from a rectangle
+        with a radial gradient. The color of the middle stop uses the value 'currentColor'
+        and thus takes the value its parent's color property, a dark red,
+        giving a yellow, dark red, white gradient.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-inherit-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g fill="yellow">
+      <g stroke="#555">
+        <ellipse rx="90" ry="60" cx="330" cy="140"/>
+      </g>
+    </g>
+    <radialGradient id="ygw" stop-color="green">
+      <stop offset="0%" stop-color="yellow"/>
+      <stop offset="50%" stop-color="inherit"/>
+      <stop offset="100%" stop-color="white"/>
+    </radialGradient>
+    <rect width="180" height="120" x="40" y="20" stroke="none" fill="url(#ygw)"/>
+    <radialGradient id="yrw" color="#700">
+      <stop offset="0%" stop-color="yellow"/>
+      <stop offset="50%" stop-color="currentColor"/>
+      <stop offset="100%" stop-color="white"/>
+    </radialGradient>
+    <rect width="180" height="120" x="40" y="160" stroke="none" fill="url(#yrw)"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-pres-01-t.svg b/Tests/W3CTestSuite/svg/styling-pres-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..72ee060e072388a35ba077c63a6555401bda981b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-pres-01-t.svg
@@ -0,0 +1,61 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: styling-pres-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#UsingPresentationAttributes">
+      <p>
+				Tests that !important in a presentation attribute is an unsupported value
+      </p>
+      <p>
+        A fill attribute is set to red with !important. This is an unsupported attribute value,
+        consequently the fill attribute should be the lacuna value, which is black. Therefore, to pass, the rectangle should be filled with black.
+      </p>
+      <p>A lime green border is also drawn, to check that rendering continues after the element with the unsupported value.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+				The rectangle should be filled with black, with a lime green border.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-pres-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+  <circle r="80" cx="240" cy="150" fill="blue" />
+    <rect width="200" height="160" x="140" y="70" fill="red !important" />
+    <rect width="200" height="160" x="140" y="70" fill="none" stroke="lime" stroke-width="4" />
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-pres-02-f.svg b/Tests/W3CTestSuite/svg/styling-pres-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3e116fd10da1b3d71a4e798bdf7b7e5ba3a08e06
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-pres-02-f.svg
@@ -0,0 +1,216 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: styling-pres-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#UsingPresentationAttributes">
+        <p>
+          This tests that a presentation attribute that is not relevant
+          to a given element which is otherwise stylable is correctly stored
+          in the property collection for that element.  In particular,
+          it tests the following presentation attributes:
+        </p>
+        <ul>
+          <li>fill on image</li>
+          <li>stop-opacity on tspan</li>
+          <li>font-size on rect</li>
+          <li>font-style on circle</li>
+          <li>stop-color on text</li>
+          <li>font-variant on ellipse</li>
+          <li>letter-spacing on polyline</li>
+          <li>flood-color on tref</li>
+          <li>flood-opacity on textPath</li>
+          <li>color-interpolation-filters on altGlyph</li>
+          <li>display on linearGradient</li>
+          <li>fill-rule on stop</li>
+          <li>visibility on radialGradient</li>
+          <li>lighting-color on clipPath</li>
+        </ul>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test comprises 14 sub-tests, each with a rectangle that indicates
+        whether a given presentation attribute of the 14 listed in the test
+        description affects the style of the element on which it is specified.  A rectangle
+        is black if the sub-test did not run, red if the sub-test failed and
+        green if the sub-test succeeded.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all 14 rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-pres-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x='10' y='20'>Testing inapplicable presentation attributes</text>
+
+    <g visibility='hidden'>
+    	<path id="path" d="M0,0"/>
+      <image id='image' xlink:href='../images/20x20.png' width='10' height='10' fill='rgb(0, 0, 255)'/>
+      <rect id='rect' width='10' height='10' font-size='123px'/>
+      <circle id='circle' r='10' font-style='italic'/>
+      <ellipse id='ellipse' rx='10' ry='5' font-variant='small-caps'/>
+      <polyline id='polyline' points='0,0 10,10' letter-spacing='20px'/>
+      <text id='text' stop-color='rgb(0, 255, 0)'>a<tspan id='tspan' stop-opacity='0.5'>b</tspan><tref id='tref' xlink:href='#tspan' flood-color='rgb(255, 0, 0)'/><textPath id='textPath' xlink:href='#path' flood-opacity='0.25'/><altGlyph id='altGlyph' glyphRef='blah' color-interpolation-filters='auto'>c</altGlyph></text>
+      <linearGradient id='linearGradient' display='block'><stop id='stop' offset='0' fill-rule='evenodd'/></linearGradient>
+      <radialGradient id='radialGradient' visibility='hidden'><stop offset='0'/></radialGradient>
+      <clipPath id='clipPath' lighting-color='rgb(255, 255, 255)'/>
+    </g>
+
+    <g font-size='14'>
+      <rect id='r1' x='10' y='25' width='20' height='20'/>
+      <text x='40' y='40'>fill on image</text>
+
+      <rect id='r2' x='10' y='55' width='20' height='20'/>
+      <text x='40' y='70'>stop-opacity on tspan</text>
+
+      <rect id='r3' x='10' y='85' width='20' height='20'/>
+      <text x='40' y='100'>font-size on rect</text>
+
+      <rect id='r4' x='10' y='115' width='20' height='20'/>
+      <text x='40' y='130'>font-style on circle</text>
+
+      <rect id='r5' x='10' y='145' width='20' height='20'/>
+      <text x='40' y='160'>stop-color on text</text>
+
+      <rect id='r6' x='10' y='175' width='20' height='20'/>
+      <text x='40' y='190'>font-variant on ellipse</text>
+
+      <rect id='r7' x='10' y='205' width='20' height='20'/>
+      <text x='40' y='220'>letter-spacing on polyline</text>
+
+      <rect id='r11' x='250' y='25' width='20' height='20'/>
+      <text x='280' y='40'>flood-color on tref</text>
+
+      <rect id='r12' x='250' y='55' width='20' height='20'/>
+      <text x='280' y='70'>flood-opacity on textPath</text>
+
+      <rect id='r13' x='250' y='85' width='20' height='20'/>
+      <text x='280' y='100'>clr-intp-filters on altGlyph</text>
+
+      <rect id='r14' x='250' y='115' width='20' height='20'/>
+      <text x='280' y='130'>display on linearGradient</text>
+
+      <rect id='r15' x='250' y='145' width='20' height='20'/>
+      <text x='280' y='160'>fill-rule on stop</text>
+
+      <rect id='r16' x='250' y='175' width='20' height='20'/>
+      <text x='280' y='190'>visibility on radialGradient</text>
+
+      <rect id='r17' x='250' y='205' width='20' height='20'/>
+      <text x='280' y='220'>lighting-color on clipPath</text>
+    </g>
+
+    <script><![CDATA[
+      function $(x) { return document.getElementById(x) }
+      function decimalToHex(d) {
+        var hex = Number(d).toString(16);
+        while (hex.length < 2) {
+            hex = "0" + hex;
+        }
+        return hex;
+      }
+  
+      function checkSVGColor(e, p, r, g, b) {
+        var v;
+        try {
+          var cssstyledecl = document.defaultView.getComputedStyle(e,null);
+          var v = cssstyledecl.getPropertyValue(p);
+          var longhex = "#" + decimalToHex(r) + decimalToHex(g) + decimalToHex(b);
+          return v == "rgb(" + r + ", " + g + ", " + b + ")" ||
+                 v == "rgba(" + r + ", " + g + ", " + b + ", 1)" ||
+                 v == longhex ||
+                 v == longhex.toUpperCase();
+        } catch (ex) {
+        }
+        return false;
+      }
+
+      function checkFloat(e, p, f) {
+        var v;
+        try {
+          var cssstyledecl = document.defaultView.getComputedStyle(e,null);
+          v = cssstyledecl.getPropertyValue(p);
+          return parseFloat(v) == f;
+        } catch (ex) {
+        }
+        return false;
+      }
+
+      function checkPx(e, p, f) {
+        var v;
+        try {
+          var cssstyledecl = document.defaultView.getComputedStyle(e,null);
+          v = cssstyledecl.getPropertyValue(p);
+          return v == f;
+        } catch (ex) {
+        }
+        return false;
+      }
+
+      function checkIdent(e, p, i) {
+        var v;
+        i = i.toLowerCase();
+        try {
+          var cssstyledecl = document.defaultView.getComputedStyle(e,null);
+          v = cssstyledecl.getPropertyValue(p);
+          return v.toLowerCase() == i;
+        } catch (ex) {
+        }
+        return false;
+      }
+
+      function report(n, b) {
+        $('r' + n).setAttribute('fill', b ? 'green' : 'red');
+      }
+
+      report(1, checkSVGColor($('image'), 'fill', 0, 0, 255));
+      report(2, checkFloat($('tspan'), 'stop-opacity', 0.5));
+      report(3, checkPx($('rect'), 'font-size', '123px'));
+      report(4, checkIdent($('circle'), 'font-style', 'italic'));
+      report(5, checkSVGColor($('text'), 'stop-color', 0, 255, 0));
+      report(6, checkIdent($('ellipse'), 'font-variant', 'small-caps'));
+      report(7, checkPx($('polyline'), 'letter-spacing', '20px'));
+      
+      report(11, checkSVGColor($('tref'), 'flood-color', 255, 0, 0));
+      report(12, checkFloat($('textPath'), 'flood-opacity', 0.25));
+      report(13, checkIdent($('altGlyph'), 'color-interpolation-filters', 'auto'));
+      report(14, checkIdent($('linearGradient'), 'display', 'block'));
+      report(15, checkIdent($('stop'), 'fill-rule', 'evenodd'));
+      report(16, checkIdent($('radialGradient'), 'visibility', 'hidden'));
+      report(17, checkSVGColor($('clipPath'), 'lighting-color', 255, 255, 255));
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+  -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-pres-03-f.svg b/Tests/W3CTestSuite/svg/styling-pres-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a803a8814f520153bb6f62d7433154c69b6040d2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-pres-03-f.svg
@@ -0,0 +1,57 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed"
+    version="$Revision: 1.3 $" testname="$RCSfile: styling-pres-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#UsingPresentationAttributes">
+      <p>
+         Presentation attributes have lower priority than internal CSS style rules.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Specify an inline 'fill: none' style rule on an element with 'fill=red' presentation attribute and verify there is no red
+        on the page.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-pres-03-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <rect x="10" y="10" height="100" width="200" style="fill: green;" fill="red" />
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-pres-04-f.svg b/Tests/W3CTestSuite/svg/styling-pres-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8ef604d0b7340e8d7ab00d17ae717a17bf16d3cb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-pres-04-f.svg
@@ -0,0 +1,102 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed"
+    version="$Revision: 1.2 $" testname="$RCSfile: styling-pres-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#UsingPresentationAttributes">
+      <p>
+        Presentation attributes have lower priority than other CSS style rules specified in an internal style sheet.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For each of a representative sampling of selectors, specify a 'fill: green' style rule for it, and add a corresponding
+        element with 'fill=red' presentation attribute to the markup. Verify there is no red on the page.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-pres-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <style type="text/css"><![CDATA[
+        path
+        {
+            fill: green;
+        }
+        g svg circle
+        {
+            fill: green;
+        }
+        g > ellipse
+        {
+            fill: green;
+        }
+        ellipse + circle
+        {
+            fill: green;
+        }
+        [id=testAttributeSelector]
+        {
+            fill: green;
+        }
+        #testIdSelector
+        {
+            fill: green;
+        }
+        #testPseudoClassSelector:first-child
+        {
+            fill: green;
+        }]]>
+    </style>
+
+    <path id="testTypeSelector" d="M 50 125 L 150 125 L 100 75 z" fill="red" />
+    <g>
+        <svg>
+            <circle id="testDescendantSelector" cx="50" cy="175" r="25" fill="red" />
+        </svg>
+    </g>
+    <g id="testParentContainer">
+        <ellipse id="testChildSelector" cx="160" cy="200" rx="25" ry="45" fill="red" />
+        <circle id="testAdjacentSiblingSelector" cx="100" cy="300" r="40" fill="red" />
+    </g>
+    <circle id="testAttributeSelector" cx="300" cy="80" r="35" fill="red" />
+    <circle id="testIdSelector" cx="400" cy="140" r="50" fill="red" /> 
+    <g>
+        <rect id="testPseudoClassSelector" x="270" y="240" width="150" height="80" fill="red" />
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/styling-pres-05-f.svg b/Tests/W3CTestSuite/svg/styling-pres-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..38e1c42cb3f12e663f2a3db24de0eac6f13b2123
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/styling-pres-05-f.svg
@@ -0,0 +1,75 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed"
+    version="$Revision: 1.2 $" testname="$RCSfile: styling-pres-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/styling.html#UsingPresentationAttributes">
+      <p>
+        Presentation attributes have lower priority than other CSS style rules specified in an external style sheet.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For each of a representative sampling of selectors, specify a 'fill: green' style rule for it, and add a corresponding
+        element with 'fill=red' presentation attribute to the markup. Verify there is no red on the page.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: styling-pres-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <style type="text/css"><![CDATA[
+        @import url("../images/selector-types-fill-green.css");]]>
+    </style>
+
+    <path id="testTypeSelector" d="M 50 125 L 150 125 L 100 75 z" fill="red" />
+    <g>
+        <svg>
+            <circle id="testDescendantSelector" cx="50" cy="175" r="25" fill="red" />
+        </svg>
+    </g>
+    <g id="testParentContainer">
+        <ellipse id="testChildSelector" cx="160" cy="200" rx="25" ry="45" fill="red" />
+        <circle id="testAdjacentSiblingSelector" cx="100" cy="300" r="40" fill="red" />
+    </g>
+    <circle id="testAttributeSelector" cx="300" cy="80" r="35" fill="red" />
+    <circle id="testIdSelector" cx="400" cy="140" r="50" fill="red" /> 
+    <g>
+        <rect id="testPseudoClassSelector" x="270" y="240" width="150" height="80" fill="red" />
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/svgdom-over-01-f.svg b/Tests/W3CTestSuite/svg/svgdom-over-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bf03243ed552d6b5a24e95f2d05d00c2eb81643c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/svgdom-over-01-f.svg
@@ -0,0 +1,202 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="reviewed"
+    version="$Revision: 1.9 $" testname="$RCSfile: svgdom-over-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/svgdom.html#SVGDOMOverview">
+      <p>
+      	This tests how unspecified attributes affect the return values from the
+      	SVG DOM methods related to attributes.
+      </p>
+      <p>
+      	After loading the test, you should see a list of red or green rectangles followed by some text describing each subtest.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+			<p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+      	The test has passed if there is a line of text saying "Test status: PASSED", and there is a green rectangle to the left of that text.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: svgdom-over-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <rect id="r" width="1" height="1"/>
+      <stop id="s"/>
+      <feConvolveMatrix id="c"/>
+      <image id="i" xlink:href="http://example.org/image.jpg" width="1" height="1"/>
+      <radialGradient id="g"/>
+      <text id="t"/>
+      <text id="tt">sometext</text>
+      <marker id="m"/>
+      <svg id="v"/>
+      <filter id="f"/>
+      <polygon id="p"/>
+    </defs>
+    
+    <script><![CDATA[
+      var ypos = 50;
+      var r = document.getElementById("r");
+      var s = document.getElementById("s");
+      var c = document.getElementById("c");
+      var i = document.getElementById("i");
+      var g = document.getElementById("g");
+      var t = document.getElementById("t");
+      var tt = document.getElementById("tt");
+      var m = document.getElementById("m");
+      var v = document.getElementById("v");
+      var f = document.getElementById("f");
+      var p = document.getElementById("p");
+
+      i.removeAttributeNS("http://www.w3.org/1999/xlink", "href");
+
+      function Subtest(str, code)
+      {
+        this.str = str;
+        this.code = code ? code : str;
+      }
+      
+      Subtest.prototype.getStr = function()
+      {
+        return this.str;
+      }
+
+      Subtest.prototype.getCode = function()
+      {
+        return this.code;
+      }
+      
+      function verify(str, result)
+      {
+        var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
+        var r = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+        var t = document.createElementNS("http://www.w3.org/2000/svg", "text");
+        t.appendChild(document.createTextNode(str + ": " + (result ? "PASSED" : "FAILED")));
+        t.setAttribute("class", "result");
+        t.setAttribute("font-size", "9px");
+        t.setAttribute("fill", "black");
+        t.setAttribute("x", "10");
+        t.setAttribute("y", "7");
+        r.setAttribute("y", "1");
+        r.setAttribute("width", "5");
+        r.setAttribute("height", "5");
+        g.setAttribute("fill", result ? "lime" : "red");
+        g.appendChild(r);
+        g.appendChild(t);
+        g.setAttribute("transform", "translate(10 " + ypos + ")");
+        ypos += 10;
+        document.getElementById("test-body-content").appendChild(g);
+        if(result)
+        	passes++;	
+      }
+      
+      var passes = 0;
+      var tests = [ 
+        // test SVGLength
+        new Subtest("r.x.baseVal.value == 0"),
+        new Subtest("r.x.baseVal.unitType == 1 (SVG_LENGTHTYPE_NUMBER)", "r.x.baseVal.unitType == 1"),
+        new Subtest("v.width.baseVal.valueInSpecifiedUnits == 100"),
+        new Subtest("v.width.baseVal.unitType == 2 (SVG_LENGTHTYPE_PERCENTAGE)", "v.width.baseVal.unitType == 2"),
+        new Subtest("tt.textLength.baseVal.value == tt.getComputedTextLength()"),
+        
+        // test SVGAnimatedNumber
+        new Subtest("s.offset.baseVal == 0"),
+        
+        // test SVGAnimatedBoolean
+        new Subtest("c.preserveAlpha.baseVal == false"),
+        
+        // test SVGAnimatedString / DOMString
+        new Subtest("c.className.baseVal == \"\""),
+        new Subtest("i.href.baseVal == \"\""),
+        
+        // test SVGStringList
+        new Subtest("i.requiredFeatures.numberOfItems == 0"),
+      
+        // SVGAnimatedNumberList
+        new Subtest("c.kernelMatrix.baseVal.numberOfItems == 0"),
+
+        // SVGAnimatedLengthList
+        new Subtest("t.x.baseVal.numberOfItems == 0"),
+        
+        // SVGAnimatedPointsList / SVGPointList
+        new Subtest("p.points.numberOfItems == 0"),
+      
+        // SVGAnimatedEnumeration
+        new Subtest("g.gradientUnits.baseVal == 2 (SVG_UNIT_TYPE_OBJECTBOUNDINGBOX)", "g.gradientUnits.baseVal == 2"),
+
+        // SVGAnimatedInteger
+        new Subtest("f.filterResX.baseVal == 0"),
+        
+        // SVGAnimatedAngle
+        new Subtest("m.orientAngle.baseVal.value == 0"),
+        new Subtest("m.orientAngle.baseVal.unitType == 1 (SVG_ANGLETYPE_UNSPECIFIED)", "m.orientAngle.baseVal.unitType == 1"),
+        
+        // SVGAnimatedRect / SVGRect
+        new Subtest("v.viewBox.baseVal.[x,y,width,height] == 0", 
+                "v.viewBox.baseVal.x == 0 && v.viewBox.baseVal.y == 0 && v.viewBox.baseVal.width == 0 && v.viewBox.baseVal.height == 0"),
+        
+        // SVGAnimatedTransformList
+        new Subtest("t.transform.baseVal.numberOfItems == 0"),
+
+        // SVGAnimatedPreserveAspectRatio / SVGPreserveAspectRatio
+        new Subtest("v.preserveAspectRatio.baseVal.align == 6 (SVG_PRESERVEASPECTRATIO_XMIDYMID)", "v.preserveAspectRatio.baseVal.align == 6"),
+        new Subtest("v.preserveAspectRatio.baseVal.meetOrSlice == 1 (SVG_MEETORSLICE_MEET)", "v.preserveAspectRatio.baseVal.meetOrSlice == 1"),
+      
+        // SVGZoomAndPan
+        new Subtest("v.zoomAndPan == 2 (SVG_ZOOMANDPAN_MAGNIFY)", "v.zoomAndPan == 2")
+      ];
+            
+      try {
+	      for (var k = 0; k < tests.length; k++)
+	      {
+	        try 
+	        {
+	          verify(tests[k].getStr(), eval(tests[k].getCode()));
+	        }
+	        catch(e)
+	        {
+	          verify(tests[k].getStr(), false);
+	        }
+	      }
+      }
+      finally
+      {
+      	verify("Test status", tests.length == passes);
+      }      
+    ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-align-01-b.svg b/Tests/W3CTestSuite/svg/text-align-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d6d6eb5a8ec52a2d0eb31a4ad69d3875146e1fe6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-align-01-b.svg
@@ -0,0 +1,80 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: text-align-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlignmentProperties">
+        <p>
+          Test 'text-anchor' property (horizontal).
+        </p>
+        <p>
+          The three lines test the three values for property 'text-anchor': start, middle and end.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The lines in pink, 'text-anchor:none' and 'text-anchor:start', should both start from the same horizontal position (indicated by the black circle on each line) and extend to the right.
+        The green line, 'text-anchor:middle', should be centered horizontally around the black circle.
+        The blue line, 'text-anchor:end', should be aligned such that the end of the text meets the black circle.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-align-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="34" x="5" y="40">Test 'text-anchor' (horizontal)</text>
+    <g id="text-anchor" font-size="14">
+      <g transform="translate(230,130)">
+        <line stroke="black" x2="50"/>
+        <circle r="3"/>
+        <text font-size="30" fill="fuchsia">text-anchor:none</text>
+      </g>
+      <g transform="translate(230,180)">
+        <line stroke="black" x2="50"/>
+        <circle r="3"/>
+        <text font-size="30" text-anchor="start" fill="fuchsia">text-anchor:start</text>
+      </g>
+      <g transform="translate(230,230)">
+        <line stroke="black" x1="-25" x2="25"/>
+        <circle r="3"/>
+        <text font-size="30" text-anchor="middle" fill="green">text-anchor:middle</text>
+      </g>
+      <g transform="translate(230,280)">
+        <line stroke="black" x1="-50" x2="0"/>
+        <circle r="3"/>
+        <text font-size="30" text-anchor="end" fill="blue">text-anchor:end</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-align-02-b.svg b/Tests/W3CTestSuite/svg/text-align-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d172d84c23569f4dd8f3f8a15b46b74473b80550
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-align-02-b.svg
@@ -0,0 +1,71 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: text-align-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlignmentProperties">
+      <p>
+        Test the 'baseline-shift' property (horizontal).
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This three lines test property 'baseline-shift'.
+        The first line tests 'baseline-shift:7' (i.e., a length for 'baseline-shift').
+        The pink text should be shifted upwards by an amount approximately half of the height of the text.
+        The second line tests 'baseline-shift:-70%' (i.e., a percentage for 'baseline-shift').
+        The pink text should shift downward by about the height of the text.
+        The third line tests the three keywords 'sub', 'super' and 'normal'.
+        The string "sub" should be shifted downwards, the string "super" shifted upwards,
+        and the string "te" (in blue) aligned with the remainder of the text in the line.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-align-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="34" x="5" y="40">Test 'baseline-shift' (horizontal)</text>
+    <g id="baseline-shift" font-size="30" transform="translate(15,120)">
+      <text y="0">
+        Normal<tspan baseline-shift="7" fill="fuchsia">baseline-shift:7</tspan>text
+      </text>
+      <text y="70">
+        Normal<tspan baseline-shift="-70%" fill="fuchsia">baseline-shift:-70%</tspan>text
+      </text>
+      <text y="140">
+        Normal<tspan baseline-shift="sub" fill="fuchsia">sub</tspan><tspan baseline-shift="super" fill="green">super</tspan><tspan baseline-shift="baseline" fill="blue">te</tspan>xt
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-align-03-b.svg b/Tests/W3CTestSuite/svg/text-align-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..19bbf7c586f5981c84ab2e6befaf7e94d870c7ea
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-align-03-b.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: text-align-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlignmentProperties">
+      <p>
+        Test for viewer capibility to handle the basics of the 'textAnchor'
+        alignment property for 'text' and related elements.
+      </p>
+      <p>
+        This test verify that
+        the interpreter correctly handles and applies the text-anchor
+        properties when present on "chunks", which are comprised of tspan elements
+        with absolute positioning, within the containing 'text' element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if
+      </p>
+      <ul>
+        <li>
+          The text "Begin with "end"," ends just to the left of the vertical pink
+          line.
+        </li>
+        <li>
+          The text "switch to "middle" in a tspan," is split by the vertical pink
+          line roughly through the second 'd' in the world "middle".
+        </li>
+        <li>
+          The text "and "start" ends it." begins just to the right of the
+          vertical pink line.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-align-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="5" y="40" font-size="40" fill="black">Test of 'text-anchor'</text>
+
+    <!-- Test cases -->
+    <line x1="225" y1="75" x2="225" y2="225" stroke="fuchsia"/>
+    <g font-size="30" fill="blue">
+      <text x="225" y="110" text-anchor="end">
+        Begin with "end",<tspan x="225" y="160" xml:space="preserve" text-anchor="middle"> switch to "middle" in a tspan, </tspan><tspan x="225" y="210" text-anchor="start">and "start" ends it.</tspan>
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-align-04-b.svg b/Tests/W3CTestSuite/svg/text-align-04-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..812bbc274d81dc5addc8d773c5316ad87cb4b9e6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-align-04-b.svg
@@ -0,0 +1,106 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: text-align-04-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlignmentProperties">
+      <p>
+        Test for viewer capibility to handle the basics of the 'text-anchor'
+        alignment property for 'text' and related elements.
+      </p>
+      <p>
+        The second group from the top contains sub-tests to verify that the
+        interpreter handles text-anchor when the text is comprised of other
+        text related elements, 'tspan', 'tref', and 'textPath'.
+        The text-anchor property is present on the containing 'text' element
+        in these cases, not on the contained child elements.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>
+          The text "start text pink tspan" begins just to the right of the
+          vertical pink line.
+        </li>
+        <li>
+          The text "middle text bold tspan" is split by the vertical pink line
+          between the words "text" and "bold".
+        </li>
+        <li>
+          The text "end text tref" ends just to the left of the vertical pink
+          line.
+        </li>
+        <li>
+          The text "end text on path" ends just to the left of the vertical pink
+          line.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-align-04-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F" font-weight="700">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSansBold.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="5" y="40" font-size="36" fill="black">Test of 'text-anchor'</text>
+    <defs>
+      <text id="tref-internal-reference">end text tref</text>
+      <path id="myPath" d="M -5 260 220 260"/>
+    </defs>
+
+    <text x="20" y="80" font-size="30" fill="black">Tspan, tref, toap</text>
+    <!-- Test cases -->
+    <line x1="220" y1="120" x2="220" y2="260" stroke="fuchsia"/>
+    <g font-size="16" fill="blue">
+      <text x="220" y="140" text-anchor="start">
+        start text <tspan xml:space="preserve" fill="fuchsia"> pink tspan</tspan>
+      </text>
+      <text x="220" y="180" text-anchor="middle">
+        middle text <tspan font-weight="bold" xml:space="preserve"> bold tspan</tspan>
+      </text>
+      <text x="220" y="220" text-anchor="end">
+        <tref xlink:href="#tref-internal-reference"/>
+      </text>
+      <text text-anchor="end">
+        <textPath text-anchor="end" startOffset="100%" xlink:href="#myPath">Text-anchor: end text on path</textPath>
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-align-05-b.svg b/Tests/W3CTestSuite/svg/text-align-05-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c6fd9bc5725cb83679a6e1aedc876716a7fe96c0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-align-05-b.svg
@@ -0,0 +1,87 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: text-align-05-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlignmentProperties">
+      <p>
+        Test 'text-anchor' property (vertical).
+      </p>
+      <p>
+        This tests the three values for property 'text-anchor': start, middle and end.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if three vertical lines of text are displayed with
+        each line containing a single black dot.
+      </p>
+      <lu>
+        <li>
+          The first vertical line of text containing the black dot at the top of
+          the text.
+        </li>
+        <li>
+          The second vertical line of text containing the black dot in the
+          middle of the text.
+        </li>
+        <li>
+          The third vertical line of text containing the black dot at the bottom
+          of the text.
+        </li>
+      </lu>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-align-05-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="40" x="5" y="40">Test 'text-anchor' (vertical)</text>
+    <g writing-mode="tb" glyph-orientation-vertical="0">
+      <g id="text-anchor" font-family="Arial" font-size="30" transform="translate(160,150)">
+        <g transform="translate(0,0)">
+          <circle r="3"/>
+          <text text-anchor="start" fill="fuchsia">start</text>
+        </g>
+        <g transform="translate(50,0)">
+          <circle r="3"/>
+          <text text-anchor="middle" fill="green">middle</text>
+        </g>
+        <g transform="translate(100,0)">
+          <circle r="3"/>
+          <text text-anchor="end" fill="blue">end</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-align-06-b.svg b/Tests/W3CTestSuite/svg/text-align-06-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..62f97463c228b3236e11a5feb0961bbd9fe4c2f2
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-align-06-b.svg
@@ -0,0 +1,99 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: text-align-06-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlignmentProperties">
+      <p>
+        Tests various ways that the 'baseline-shift' property (vertical) can be
+        altered.
+      </p>
+      <p>
+        The first sub test sets the 'baseline-shift' to an absolute unit. The
+        second sub test sets the 'baseline-shift' to a percentage. The third sub
+        test sets the 'baseline-shift' to "sub". The fourth sub test sets the
+        'baseline-shift' to "super".
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if four lines of vertical text are rendered.
+      </p>
+      <ul>
+        <li>
+          The first vertical line should contain the text "te7xt" with the "7"
+          part being slightly offset to the right of the rest of the letters
+          in the text.
+        </li>
+        <li>
+          The second vertical line should contain the text "te-70%xt" with the
+          "-70%" part of the text being offset to the left of the rest of the
+          letters in the text.
+        </li>
+        <li>
+          The third vertical line should contain the text "tesubxt" with the
+          "sub" part of the text being slightly offset to left of the rest of
+          the letters in the text.
+        </li>
+        <li>
+          The fourth verical line should contain the text "tesuperxt" with the
+          "super" part of the text being offset to the right of the rest of the
+          letters in the text.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-align-06-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="36" x="0" y="40">Test 'baseline-shift' (vertic.)</text>
+
+    <g writing-mode="tb" glyph-orientation-vertical="0">
+      <g id="baseline-shift" font-family="Arial" font-size="24" transform="translate(90,60)">
+        <text x="0">
+          te<tspan baseline-shift="7" fill="fuchsia">7</tspan>xt
+        </text>
+        <text x="80">
+          te<tspan baseline-shift="-70%" fill="fuchsia">-70%</tspan>xt
+        </text>
+        <text x="180">
+          te<tspan baseline-shift="sub" fill="fuchsia">sub</tspan><tspan baseline-shift="baseline" fill="blue">x</tspan>t
+        </text>
+        <text x="260">
+          te<tspan baseline-shift="super" fill="green">super</tspan><tspan baseline-shift="baseline" fill="blue">x</tspan>t
+        </text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-align-07-t.svg b/Tests/W3CTestSuite/svg/text-align-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..34121ebcaf100a9478d674a2c04ec5068777408c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-align-07-t.svg
@@ -0,0 +1,87 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="CN" status="issue"
+    version="$Revision: 1.9 $" testname="$RCSfile: text-align-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlignmentProperties">
+    		<p>ISSUE - http://www.w3.org/2011/02/27-svg-irc#T22-20-51</p>
+        <p>
+          Test horizontal baselines across script and font size changes.
+        </p>
+        <p>
+          Original test authored by Rodney Hardy at CISRA and modified by
+          Anthony Grasso. 
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The dominant baseline should be alphabetic, so the 'a' will be sitting
+        on the blue line, the Japanese character '犜' will be on the ideographic baseline
+        and 'ण' is a Devangari character and will use the hanging baseline.  The
+        smaller versions of the characters should be aligned to the same baselines.
+        So the 'a's on the blue line, the Japanese characters slightly below the line
+        and the Devangari characters should be hanging from the hanging baseline.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-align-07-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="'Arial Unicode MS',Georgia,'Times New Roman',Times,'MS Mincho',serif" font-size="30">
+      <!--
+            The dominant baseline should be alphabetic, so the 'ab' will be sitting on the
+            blue line, the japanese glyphs will be on the ideographic baseline and '&#2339;'
+            is a devangari character and will use the hanging baseline.  The smaller versions
+            of the characters should be aligned to the same baselines.  So 'ab' on the alphabetic
+            base line, the ideographic chars slightly below the line and the devangari should be
+            hanging from the hanging baseline.
+        -->
+      <text x="50" y="100" font-size="50">
+        a犜ण<tspan font-size="25">a犜ण</tspan><tspan font-size="10">a犜ण</tspan>
+      </text>
+      <line x1="50" y1="70" x2="400" y2="70" stroke-width="1" stroke="green"/>
+      <text x="320" y="80" font-size="10" fill="green">
+        hanging base line
+      </text>
+      <line x1="50" y1="100" x2="400" y2="100" stroke-width="1" stroke="blue"/>
+      <text x="310" y="110" font-size="10" fill="blue">
+        alphabetic  base line
+      </text>
+      <line x1="50" y1="103" x2="250" y2="103" stroke-width="1" stroke="fuchsia"/>
+      <text x="155" y="113" font-size="10" fill="fuchsia">
+        ideographic base line
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-align-08-b.svg b/Tests/W3CTestSuite/svg/text-align-08-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9541f574dd28686137a3dcf089d3638f92395cb0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-align-08-b.svg
@@ -0,0 +1,91 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="CN" status="issue"
+    version="$Revision: 1.10 $" testname="$RCSfile: text-align-08-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlignmentProperties">
+    	<p>ISSUE - http://www.w3.org/2011/02/27-svg-irc#T22-20-51</p>
+      <p>
+        Test horizontal baselines across script and font size changes. It uses an SVG Font, where
+        the Latin letter "a" is a rectangle, the Japanese letter "犜" is an upward-pointing triangle,
+        and the Devanagari letter "ण" is a downward-pointing triangle.
+      </p>
+      <p>
+        Original test authored by Rodney Hardy at CISRA.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The dominant baseline should be alphabetic, so the 'a' will be sitting on the alphabetic (blue) line,
+        the Japanese glyph (upward pointing triangle) will be aligned on the ideographic (pink) baseline
+        and 'ण' is a Devangari character (downward pointing triangle)  and will use the hanging baseline (green).
+        The smaller versions of the characters should be aligned to the same baselines as the respective larger
+        characters, so all like shapes align to the same baseline.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-align-08-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  <defs>
+    <font-face font-family="SVGBase">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/Baselines/Tribase.svg#Tribase"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <style type="text/css">
+  @font-face {
+    font-family: Tribase ;
+    src: url(woffs/Tribase.woff) format("woff");
+    }
+  </style>
+    <g font-family="SVGBase, Tribase">
+      <!--
+            The dominant baseline should be alphabetic, so the 'ab' will be sitting on the
+            blue line, the japanese glyphs will be on the ideographic baseline and '&#2339;'
+            is a devangari character and will use the hanging baseline.  The smaller versions
+            of the characters should be aligned to the same baselines.  So 'a' on the blue
+            line, the ideographic chars slightly below the line and the devangari should be
+            hanging from the hanging baseline.
+        -->
+      <text x="50" y="200" font-size="120">
+        a犜ण<tspan font-size="75">a犜ण</tspan><tspan font-size="30">a犜ण</tspan>
+      </text>
+      <line x1="50" y1="200" x2="433" y2="200" stroke-width="1" stroke="blue"/>
+      <line x1="50" y1="230" x2="433" y2="230" stroke-width="1" stroke="fuchsia"/>
+      <line x1="50" y1="95" x2="433" y2="95" stroke-width="1" stroke="green"/>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.10 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-altglyph-01-b.svg b/Tests/W3CTestSuite/svg/text-altglyph-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..db208cea587322b977eb0c81edc5d38451c3da56
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-altglyph-01-b.svg
@@ -0,0 +1,128 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: text-altglyph-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlternateGlyphs">
+        <p>
+          Test 'altGlyph' facilities and many-to-many chars to glyphs.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+      <p>
+        This test requires some support for SVG fonts.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Three text strings show: the word "HAPPY" in pink, the word "SAD" in green
+        and the word "SASSY" in blue.
+      </p>
+      <p>
+        The "HAPPY" and "SAD" strings test the 'altGlyph' facility and
+        the ability to map multiple glyphs to a single character.
+        All characters except the "D" are bracketed by 'altGlyph' elements
+        to use two different glyphs to render each character.
+        For "HAPPY", the horizontal stroke through the center of the characters
+        is a smile stroke.
+        For "SAD", the horizontal stroke through the center of the characters
+        is a frown stroke.
+      </p>
+      <p>
+        The "SASSY" string tests a single glyph representing multiple characters
+        (a ligature). The SVG font in the test case contains an "SS" ligature
+        so that the "SS" in "SASSY" is rendered with a single glyph, where
+        the two parts of the "SS" are connected.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-altglyph-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g stroke-miterlimit="4">
+      <text font-family="Arial" font-size="40" x="5" y="50">Test 'altGlyph' facilities</text>
+      <text font-family="Arial" font-size="30" x="5" y="90">and many-to-many chars to glyphs</text>
+      <defs>
+        <font id="Font1" horiz-adv-x="5">
+          <font-face font-family="HappySad" font-weight="bold" font-style="normal" units-per-em="8" cap-height="8" x-height="4" ascent="8" descent="2" alphabetic="0" mathematical="4" ideographic="-2" hanging="8"/>
+          <missing-glyph d="M1,3h2v2h-2z"/>
+          <glyph id="A1" d="M0,0 L2,8 L4,0 M0,4 C1,3 3,3 4,4"/>
+          <glyph id="H1" d="M0,0 V8 M4,0 V8 M0,4 C1,3 3,3 4,4"/>
+          <glyph id="P1" d="M0,0 V8 H2 C3,8 4,7 4,6 V4 M0,4 C1,3 3,3 4,4"/>
+          <glyph id="S1" d="M0,4 V6 C0,7 1,8 2,8 C3,8 4,7 4,6 M4,4 V2 C4,1 3,0 2,0 C1,0 0,1 0,2 M0,4 C1,3 3,3 4,4"/>
+          <glyph id="Y1" d="M0,8 V4 M4,8 V4 M2,4 V0 M0,4 C1,3 3,3 4,4"/>
+          <glyph id="A2" d="M0,0 L2,8 L4,0 M0,4 C1,5 3,5 4,4"/>
+          <glyph id="H2" d="M0,0 V8 M4,0 V8 M0,4 C1,5 3,5 4,4"/>
+          <glyph id="P2" d="M0,0 V8 H2 C3,8 4,7 4,6 V4 M0,4 C1,5 3,5 4,4"/>
+          <glyph id="S2" d="M0,4 V6 C0,7 1,8 2,8 C3,8 4,7 4,6 M4,4 V2 C4,1 3,0 2,0 C1,0 0,1 0,2 M0,4 C1,5 3,5 4,4"/>
+          <glyph id="Y2" d="M0,8 V4 M4,8 V4 M2,4 V0 M0,4 C1,5 3,5 4,4"/>
+          <glyph id="SS" unicode="SS" horiz-adv-x="6" d="M0,4 V6 C0,7 0,8 1,8 C2,8 2,7 2,6 M2,4 V2 C2,1 2,0 1,0 C0,0 0,1 0,2 M3,4 V6 C3,7 3,8 4,8 C5,8 5,7 5,6 M5,4 V2 C5,1 5,0 4,0 C3,0 3,1 3,2 M0,4 H5"/>
+          <glyph id="A" unicode="A" d="M0,0 L2,8 L4,0 M0,4 H4"/>
+          <glyph id="D" unicode="D" d="M0,0 V8 C3,8 4,7 4,4 C4,1 3,0 0,0z"/>
+          <glyph id="S" unicode="S" d="M0,4 V6 C0,7 1,8 2,8 C3,8 4,7 4,6 M4,4 V2 C4,1 3,0 2,0 C1,0 0,1 0,2 M0,4 H4"/>
+          <glyph id="Y" unicode="Y" d="M0,8 V4 M4,8 V4 M2,4 V0 M0,4 H4"/>
+        </font>
+        <altGlyphDef id="Afrown">
+          <glyphRef xlink:href="#A2"/>
+        </altGlyphDef>
+        <altGlyphDef id="Asmile">
+          <glyphRef xlink:href="#A1"/>
+        </altGlyphDef>
+        <altGlyphDef id="Hsmile">
+          <glyphRef xlink:href="#H1"/>
+        </altGlyphDef>
+        <altGlyphDef id="Psmile">
+          <glyphRef xlink:href="#P1"/>
+        </altGlyphDef>
+        <altGlyphDef id="Sfrown">
+          <glyphRef xlink:href="#S2"/>
+        </altGlyphDef>
+        <altGlyphDef id="Ysmile">
+          <glyphRef xlink:href="#Y1"/>
+        </altGlyphDef>
+      </defs>
+      <g font-family="HappySad" font-size="60" fill="none" stroke-width="5">
+        <text x="140" y="190" stroke="fuchsia">
+<altGlyph xlink:href="#Hsmile">H</altGlyph>
+<altGlyph xlink:href="#Asmile">A</altGlyph>
+<altGlyph xlink:href="#Psmile">P</altGlyph>
+<altGlyph xlink:href="#Psmile">P</altGlyph>
+<altGlyph xlink:href="#Ysmile">Y</altGlyph>
+        </text>
+        <text x="50" y="270" stroke="green">
+          <altGlyph xlink:href="#Sfrown">S</altGlyph><altGlyph xlink:href="#Afrown">A</altGlyph>D
+        </text>
+        <text x="280" y="270" stroke="blue">SASSY</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-altglyph-02-b.svg b/Tests/W3CTestSuite/svg/text-altglyph-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d12e917e41ff9cd1e797e390d2cf8414ac20c752
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-altglyph-02-b.svg
@@ -0,0 +1,344 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="CM" status="accepted"
+    version="$Revision: 1.10 $" testname="$RCSfile: text-altglyph-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlternateGlyphs">
+      <p>
+        Test glyph selection using altGlyphDef and altGlyphItem elements.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+      <p>
+        Support for SVG Fonts is required for this test, and the last two text
+        strings are used to give a quick visual indication this is indeed
+        supported.
+      </p>
+      <p>
+        The test shows 24 different text strings with different combinations
+        of altGlyphItem element count and validity inside the altGlyphDef
+        elements, and number of characters in the altGlyph elements.  The
+        glyphs are from a sans serif font, except those selected by
+        altGlyph, which are from a boldface serif font. The text
+        in the "Actual" columns should appear as shown in the corresponding
+        "Expected" column text.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if each pair of (actual,expected) text strings 
+      render identically.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-altglyph-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <font horiz-adv-x="1038">
+      <font-face font-family="EmbeddedSans" units-per-em="2048" panose-1="2 11 6 3 3 8 4 2 2 4" ascent="1901" descent="-483" alphabetic="0"/>
+      <missing-glyph horiz-adv-x="1229" d="M102 -362V1444H1126V-362H102ZM217 -248H1012V1329H217V-248Z"/>
+      <glyph unicode="A" glyph-name="A" horiz-adv-x="1401" d="M700 1294L426 551H975L700 1294ZM586 1493H815L1384 0H1174L1038 383H365L229 0H16L586 1493Z"/>
+      <glyph unicode="E" glyph-name="E" horiz-adv-x="1294" d="M201 1493H1145V1323H403V881H1114V711H403V170H1163V0H201V1493Z"/>
+      <glyph id="vs-a" unicode="a" glyph-name="a" horiz-adv-x="1255" d="M702 563Q479 563 393 512T307 338Q307 240 371 183T547 125Q700 125 792 233T885 522V563H702ZM1069 639V0H885V170Q822 68 728 20T498 -29Q326 -29 225 67T123 326Q123 515 249 611T627 707H885V725Q885 852 802 921T567 991Q471 991 380 968T205 899V1069Q306 1108 401 1127T586 1147Q829 1147 949 1021T1069 639Z"/>
+      <glyph id="vs-b" unicode="b" glyph-name="b" horiz-adv-x="1300" d="M997 559Q997 762 914 877T684 993Q538 993 455 878T371 559Q371 356 454 241T684 125Q830 125 913 240T997 559ZM371 950Q429 1050 517 1098T729 1147Q933 1147 1060 985T1188 559Q1188 295 1061 133T729 -29Q606 -29 518 19T371 168V0H186V1556H371V950Z"/>
+      <glyph id="vs-c" unicode="c" glyph-name="c" horiz-adv-x="1126" d="M999 1077V905Q921 948 843 969T684 991Q505 991 406 878T307 559Q307 354 406 241T684 127Q764 127 842 148T999 213V43Q922 7 840 -11T664 -29Q411 -29 262 130T113 559Q113 833 263 990T676 1147Q761 1147 842 1130T999 1077Z"/>
+      <glyph id="vs-d" unicode="d" glyph-name="d" horiz-adv-x="1300" d="M930 950V1556H1114V0H930V168Q872 68 784 20T571 -29Q368 -29 241 133T113 559Q113 823 240 985T571 1147Q695 1147 783 1099T930 950ZM303 559Q303 356 386 241T616 125Q762 125 846 240T930 559Q930 762 846 877T616 993Q470 993 387 878T303 559Z"/>
+      <glyph id="vs-e" unicode="e" glyph-name="e" horiz-adv-x="1260" d="M1151 606V516H305Q317 326 419 227T705 127Q811 127 910 153T1108 231V57Q1009 15 905 -7T694 -29Q426 -29 270 127T113 549Q113 824 261 985T662 1147Q888 1147 1019 1002T1151 606ZM967 660Q965 811 883 901T664 991Q510 991 418 904T311 659L967 660Z"/>
+      <glyph unicode="l" glyph-name="l" horiz-adv-x="569" d="M193 1556H377V0H193V1556Z"/>
+      <glyph unicode="p" glyph-name="p" horiz-adv-x="1300" d="M371 168V-426H186V1120H371V950Q429 1050 517 1098T729 1147Q933 1147 1060 985T1188 559Q1188 295 1061 133T729 -29Q606 -29 518 19T371 168ZM997 559Q997 762 914 877T684 993Q538 993 455 878T371 559Q371 356 454 241T684 125Q830 125 913 240T997 559Z"/>
+      <glyph unicode="t" glyph-name="t" horiz-adv-x="803" d="M375 1438V1120H754V977H375V369Q375 232 412 193T565 154H754V0H565Q352 0 271 79T190 369V977H55V1120H190V1438H375Z"/>
+      <glyph unicode="u" glyph-name="u" horiz-adv-x="1298" d="M174 442V1120H358V449Q358 290 420 211T606 131Q755 131 841 226T928 485V1120H1112V0H928V172Q861 70 773 21T567 -29Q374 -29 274 91T174 442Z"/>
+      <glyph unicode="x" glyph-name="x" horiz-adv-x="1212" d="M1124 1120L719 575L1145 0H928L602 440L276 0H59L494 586L96 1120H313L610 721L907 1120H1124Z"/>
+    </font>
+
+    <font horiz-adv-x="1159">
+      <font-face font-family="EmbeddedSerifBold" units-per-em="2048" panose-1="2 6 8 3 5 6 5 2 2 4" ascent="1923" descent="-483" alphabetic="0"/>
+      <missing-glyph horiz-adv-x="1229" d="M102 -362V1444H1126V-362H102ZM217 -248H1012V1329H217V-248Z"/>
+      <glyph id="vsb-a" unicode="a" glyph-name="a" horiz-adv-x="1327" d="M1128 653V121H1280V0H774V135Q704 51 618 11T422 -29Q259 -29 172 58T84 309Q84 488 209 577T588 666H774V729Q774 858 713 919T524 981Q418 981 361 938T279 795H166V1024Q261 1058 363 1075T578 1092Q863 1092 995 986T1128 653ZM774 334V547H641Q542 547 489 493T436 338Q436 237 474 187T592 137Q674 137 724 191T774 334Z"/>
+      <glyph id="vsb-b" unicode="b" glyph-name="b" horiz-adv-x="1432" d="M199 121V1436H47V1556H553V928Q598 1011 674 1051T862 1092Q1089 1092 1219 943T1350 532Q1350 271 1220 121T862 -29Q750 -29 674 11T553 135V0H47V121H199ZM553 479Q553 293 600 210T754 127Q863 127 907 215T952 532Q952 761 908 848T754 936Q648 936 601 853T553 584V479Z"/>
+      <glyph id="vsb-c" unicode="c" glyph-name="c" horiz-adv-x="1247" d="M1155 332Q1117 150 1000 61T680 -29Q396 -29 240 118T84 532Q84 796 238 944T666 1092Q777 1092 890 1071T1120 1008V713H1008Q992 848 929 913T752 979Q604 979 542 879T479 532Q479 291 540 188T739 84Q846 84 910 148T989 332H1155Z"/>
+      <glyph id="vsb-d" unicode="d" glyph-name="d" horiz-adv-x="1432" d="M879 479V584Q879 770 831 853T678 936Q568 936 524 849T479 532Q479 303 524 215T678 127Q783 127 831 210T879 479ZM1233 121H1384V0H879V135Q834 52 758 12T569 -29Q343 -29 214 121T84 532Q84 794 213 943T569 1092Q681 1092 757 1052T879 928V1436H727V1556H1233V121Z"/>
+      <glyph id="vsb-e" unicode="e" glyph-name="e" horiz-adv-x="1303" d="M821 600Q821 810 782 894T649 979Q558 979 519 896T479 618V600H821ZM1210 481H479V473Q479 267 541 176T741 84Q856 84 927 145T1018 322H1184Q1141 141 1013 56T655 -29Q379 -29 232 116T84 532Q84 796 235 944T655 1092Q919 1092 1060 937T1210 481Z"/>
+    </font>
+
+    <!-- One valid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-a-1">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-a"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One valid 1-glyph and one invalid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-a-2">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-a"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 1-glyph and one valid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-a-3">
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-a"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-a-4">
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One valid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-1">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One valid 2-glyph and one invalid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-2">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 1-glyph and one valid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-3">
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 2-glyph and one valid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-4">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One valid 2-glyph and one invalid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-5">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-6">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <g font-family="EmbeddedSans" transform="translate(0,20)">
+      <g font-size="13" fill="blue">
+        <text x="25" y="20">Actual</text>
+        <text x="115" y="20">Expected</text>
+        <text x="250" y="20">Actual</text>
+        <text x="340" y="20">Expected</text>
+      </g>
+      <path stroke="blue" stroke-width="1" d="M 25,22 L 225,22 M 250,22 L 440,22"/>
+
+      <g font-size="14">
+        <!-- === "Actual" column 1 ======================================== -->
+
+        <!-- altGlyphDefs have one glyph, altGlyph has one character -->
+        <text x="25" y="40">
+          <altGlyph xlink:href="#agd-a-1">a</altGlyph>bcde
+        </text>
+        <text x="25" y="58">
+          <altGlyph xlink:href="#agd-a-2">a</altGlyph>bcde
+        </text>
+        <text x="25" y="76">
+          <altGlyph xlink:href="#agd-a-3">a</altGlyph>bcde
+        </text>
+        <text x="25" y="94">
+          <altGlyph xlink:href="#agd-a-4">a</altGlyph>bcde
+        </text>
+
+        <!-- altGlyphDefs have two glyphs, altGlyph has two characters -->
+        <text x="25" y="112">
+          a<altGlyph xlink:href="#agd-bc-1">bc</altGlyph>de
+        </text>
+        <text x="25" y="130">
+          a<altGlyph xlink:href="#agd-bc-2">bc</altGlyph>de
+        </text>
+        <text x="25" y="148">
+          a<altGlyph xlink:href="#agd-bc-3">bc</altGlyph>de
+        </text>
+        <text x="25" y="166">
+          a<altGlyph xlink:href="#agd-bc-4">bc</altGlyph>de
+        </text>
+        <text x="25" y="184">
+          a<altGlyph xlink:href="#agd-bc-5">bc</altGlyph>de
+        </text>
+        <text x="25" y="202">
+          a<altGlyph xlink:href="#agd-bc-6">bc</altGlyph>de
+        </text>
+
+        <!-- === "Actual" column 2 ======================================== -->
+
+        <!-- altGlyphDefs have two glyphs, altGlyph has one character -->
+        <text x="250" y="40">
+          a<altGlyph xlink:href="#agd-bc-1">b</altGlyph>de
+        </text>
+        <text x="250" y="58">
+          a<altGlyph xlink:href="#agd-bc-2">b</altGlyph>de
+        </text>
+        <text x="250" y="76">
+          a<altGlyph xlink:href="#agd-bc-3">b</altGlyph>de
+        </text>
+        <text x="250" y="94">
+          a<altGlyph xlink:href="#agd-bc-4">b</altGlyph>de
+        </text>
+        <text x="250" y="112">
+          a<altGlyph xlink:href="#agd-bc-5">b</altGlyph>de
+        </text>
+        <text x="250" y="130">
+          a<altGlyph xlink:href="#agd-bc-6">b</altGlyph>de
+        </text>
+
+        <!-- altGlyphDefs have one glyph, altGlyph has two characters -->
+        <text x="250" y="148">
+          <altGlyph xlink:href="#agd-a-1">ab</altGlyph>cde
+        </text>
+        <text x="250" y="166">
+          <altGlyph xlink:href="#agd-a-2">ab</altGlyph>cde
+        </text>
+        <text x="250" y="184">
+          <altGlyph xlink:href="#agd-a-3">ab</altGlyph>cde
+        </text>
+        <text x="250" y="202">
+          <altGlyph xlink:href="#agd-a-4">ab</altGlyph>cde
+        </text>
+
+        <!-- Test for SVG font support -->
+        <g font-size="16">
+          <text x="250" y="238">a</text>
+          <text x="250" y="256" font-family="EmbeddedSerifBold">b</text>
+        </g>
+
+        <!-- === "Expected" column 1 ====================================== -->
+
+        <text x="115" y="40">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>bcde
+        </text>
+        <text x="115" y="58">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>bcde
+        </text>
+        <text x="115" y="76">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>bcde
+        </text>
+        <text x="115" y="94">abcde</text>
+
+        <text x="115" y="112">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="130">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="148">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="166">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="184">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="202">abcde</text>
+
+        <!-- === "Expected" column 2 ====================================== -->
+
+        <text x="340" y="40">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="58">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="76">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="94">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="112">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="130">abde</text>
+
+        <text x="340" y="148">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>cde
+        </text>
+        <text x="340" y="166">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>cde
+        </text>
+        <text x="340" y="182">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>cde
+        </text>
+        <text x="340" y="202">abcde</text>
+
+        <g transform="translate(340, 238) scale(1, -1) scale(0.0078125)">
+          <path d="M702 563Q479 563 393 512T307 338Q307 240 371 183T547 125Q700 125 792 233T885 522V563H702ZM1069 639V0H885V170Q822 68 728 20T498 -29Q326 -29 225 67T123 326Q123 515 249 611T627 707H885V725Q885 852 802 921T567 991Q471 991 380 968T205 899V1069Q306 1108 401 1127T586 1147Q829 1147 949 1021T1069 639Z"/>
+        </g>
+        <g transform="translate(340, 256) scale(1, -1) scale(0.0078125)">
+          <path d="M199 121V1436H47V1556H553V928Q598 1011 674 1051T862 1092Q1089 1092 1219 943T1350 532Q1350 271 1220 121T862 -29Q750 -29 674 11T553 135V0H47V121H199ZM553 479Q553 293 600 210T754 127Q863 127 907 215T952 532Q952 761 908 848T754 936Q648 936 601 853T553 584V479Z"/>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.10 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g> -->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-altglyph-03-b.svg b/Tests/W3CTestSuite/svg/text-altglyph-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4327c9f80e4e9debd5633d829b3c9e7c02a8df45
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-altglyph-03-b.svg
@@ -0,0 +1,373 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="" author="CM" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: text-altglyph-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#AlternateGlyphs">
+      <p>
+        Test glyph selection using altGlyphDef and altGlyphItem elements.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <!-- XXX -->
+      <p><strong>This test was copied from text-altglyph-02-b.svg revision 1.9, which had some subtests
+      involving 'altGlyph' elements with no character data removed.  All of the subtests
+      that are common with text-altglyph-02-b.svg can be removed from this test.</strong></p>
+      <p>
+        Run the test. No interaction required.
+      </p>
+      <p>
+        Support for SVG Fonts is required for this test, and the last two text
+        strings are used to give a quick visual indication this is indeed
+        supported.
+      </p>
+      <p>
+        The test shows 24 different text strings with different combinations
+        of altGlyphItem element count and validity inside the altGlyphDef
+        elements, and number of characters in the altGlyph elements.  The
+        glyphs are from a sans serif font, except those selected by
+        altGlyph, which are from a boldface serif font. The text
+        in the "Actual" columns should appear as shown in the corresponding
+        "Expected" column text.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>The test passes if each pair of (actual,expected) text strings 
+      render identically.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-altglyph-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <font horiz-adv-x="1038">
+      <font-face font-family="EmbeddedSans" units-per-em="2048" panose-1="2 11 6 3 3 8 4 2 2 4" ascent="1901" descent="-483" alphabetic="0"/>
+      <missing-glyph horiz-adv-x="1229" d="M102 -362V1444H1126V-362H102ZM217 -248H1012V1329H217V-248Z"/>
+      <glyph unicode="A" glyph-name="A" horiz-adv-x="1401" d="M700 1294L426 551H975L700 1294ZM586 1493H815L1384 0H1174L1038 383H365L229 0H16L586 1493Z"/>
+      <glyph unicode="E" glyph-name="E" horiz-adv-x="1294" d="M201 1493H1145V1323H403V881H1114V711H403V170H1163V0H201V1493Z"/>
+      <glyph id="vs-a" unicode="a" glyph-name="a" horiz-adv-x="1255" d="M702 563Q479 563 393 512T307 338Q307 240 371 183T547 125Q700 125 792 233T885 522V563H702ZM1069 639V0H885V170Q822 68 728 20T498 -29Q326 -29 225 67T123 326Q123 515 249 611T627 707H885V725Q885 852 802 921T567 991Q471 991 380 968T205 899V1069Q306 1108 401 1127T586 1147Q829 1147 949 1021T1069 639Z"/>
+      <glyph id="vs-b" unicode="b" glyph-name="b" horiz-adv-x="1300" d="M997 559Q997 762 914 877T684 993Q538 993 455 878T371 559Q371 356 454 241T684 125Q830 125 913 240T997 559ZM371 950Q429 1050 517 1098T729 1147Q933 1147 1060 985T1188 559Q1188 295 1061 133T729 -29Q606 -29 518 19T371 168V0H186V1556H371V950Z"/>
+      <glyph id="vs-c" unicode="c" glyph-name="c" horiz-adv-x="1126" d="M999 1077V905Q921 948 843 969T684 991Q505 991 406 878T307 559Q307 354 406 241T684 127Q764 127 842 148T999 213V43Q922 7 840 -11T664 -29Q411 -29 262 130T113 559Q113 833 263 990T676 1147Q761 1147 842 1130T999 1077Z"/>
+      <glyph id="vs-d" unicode="d" glyph-name="d" horiz-adv-x="1300" d="M930 950V1556H1114V0H930V168Q872 68 784 20T571 -29Q368 -29 241 133T113 559Q113 823 240 985T571 1147Q695 1147 783 1099T930 950ZM303 559Q303 356 386 241T616 125Q762 125 846 240T930 559Q930 762 846 877T616 993Q470 993 387 878T303 559Z"/>
+      <glyph id="vs-e" unicode="e" glyph-name="e" horiz-adv-x="1260" d="M1151 606V516H305Q317 326 419 227T705 127Q811 127 910 153T1108 231V57Q1009 15 905 -7T694 -29Q426 -29 270 127T113 549Q113 824 261 985T662 1147Q888 1147 1019 1002T1151 606ZM967 660Q965 811 883 901T664 991Q510 991 418 904T311 659L967 660Z"/>
+      <glyph unicode="l" glyph-name="l" horiz-adv-x="569" d="M193 1556H377V0H193V1556Z"/>
+      <glyph unicode="p" glyph-name="p" horiz-adv-x="1300" d="M371 168V-426H186V1120H371V950Q429 1050 517 1098T729 1147Q933 1147 1060 985T1188 559Q1188 295 1061 133T729 -29Q606 -29 518 19T371 168ZM997 559Q997 762 914 877T684 993Q538 993 455 878T371 559Q371 356 454 241T684 125Q830 125 913 240T997 559Z"/>
+      <glyph unicode="t" glyph-name="t" horiz-adv-x="803" d="M375 1438V1120H754V977H375V369Q375 232 412 193T565 154H754V0H565Q352 0 271 79T190 369V977H55V1120H190V1438H375Z"/>
+      <glyph unicode="u" glyph-name="u" horiz-adv-x="1298" d="M174 442V1120H358V449Q358 290 420 211T606 131Q755 131 841 226T928 485V1120H1112V0H928V172Q861 70 773 21T567 -29Q374 -29 274 91T174 442Z"/>
+      <glyph unicode="x" glyph-name="x" horiz-adv-x="1212" d="M1124 1120L719 575L1145 0H928L602 440L276 0H59L494 586L96 1120H313L610 721L907 1120H1124Z"/>
+    </font>
+
+    <font horiz-adv-x="1159">
+      <font-face font-family="EmbeddedSerifBold" units-per-em="2048" panose-1="2 6 8 3 5 6 5 2 2 4" ascent="1923" descent="-483" alphabetic="0"/>
+      <missing-glyph horiz-adv-x="1229" d="M102 -362V1444H1126V-362H102ZM217 -248H1012V1329H217V-248Z"/>
+      <glyph id="vsb-a" unicode="a" glyph-name="a" horiz-adv-x="1327" d="M1128 653V121H1280V0H774V135Q704 51 618 11T422 -29Q259 -29 172 58T84 309Q84 488 209 577T588 666H774V729Q774 858 713 919T524 981Q418 981 361 938T279 795H166V1024Q261 1058 363 1075T578 1092Q863 1092 995 986T1128 653ZM774 334V547H641Q542 547 489 493T436 338Q436 237 474 187T592 137Q674 137 724 191T774 334Z"/>
+      <glyph id="vsb-b" unicode="b" glyph-name="b" horiz-adv-x="1432" d="M199 121V1436H47V1556H553V928Q598 1011 674 1051T862 1092Q1089 1092 1219 943T1350 532Q1350 271 1220 121T862 -29Q750 -29 674 11T553 135V0H47V121H199ZM553 479Q553 293 600 210T754 127Q863 127 907 215T952 532Q952 761 908 848T754 936Q648 936 601 853T553 584V479Z"/>
+      <glyph id="vsb-c" unicode="c" glyph-name="c" horiz-adv-x="1247" d="M1155 332Q1117 150 1000 61T680 -29Q396 -29 240 118T84 532Q84 796 238 944T666 1092Q777 1092 890 1071T1120 1008V713H1008Q992 848 929 913T752 979Q604 979 542 879T479 532Q479 291 540 188T739 84Q846 84 910 148T989 332H1155Z"/>
+      <glyph id="vsb-d" unicode="d" glyph-name="d" horiz-adv-x="1432" d="M879 479V584Q879 770 831 853T678 936Q568 936 524 849T479 532Q479 303 524 215T678 127Q783 127 831 210T879 479ZM1233 121H1384V0H879V135Q834 52 758 12T569 -29Q343 -29 214 121T84 532Q84 794 213 943T569 1092Q681 1092 757 1052T879 928V1436H727V1556H1233V121Z"/>
+      <glyph id="vsb-e" unicode="e" glyph-name="e" horiz-adv-x="1303" d="M821 600Q821 810 782 894T649 979Q558 979 519 896T479 618V600H821ZM1210 481H479V473Q479 267 541 176T741 84Q856 84 927 145T1018 322H1184Q1141 141 1013 56T655 -29Q379 -29 232 116T84 532Q84 796 235 944T655 1092Q919 1092 1060 937T1210 481Z"/>
+    </font>
+
+    <!-- One valid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-a-1">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-a"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One valid 1-glyph and one invalid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-a-2">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-a"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 1-glyph and one valid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-a-3">
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-a"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-a-4">
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One valid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-1">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One valid 2-glyph and one invalid 1-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-2">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 1-glyph and one valid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-3">
+      <altGlyphItem>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 2-glyph and one valid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-4">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One valid 2-glyph and one invalid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-5">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#vsb-c"/>
+      </altGlyphItem>
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <!-- One invalid 2-glyph altGlyphItem -->
+    <altGlyphDef id="agd-bc-6">
+      <altGlyphItem>
+        <glyphRef xlink:href="#vsb-b"/>
+        <glyphRef xlink:href="#bad-link"/>
+      </altGlyphItem>
+    </altGlyphDef>
+
+    <g font-family="EmbeddedSans" transform="translate(0,20)">
+      <g font-size="13" fill="blue">
+        <text x="25" y="20">Actual</text>
+        <text x="115" y="20">Expected</text>
+        <text x="250" y="20">Actual</text>
+        <text x="340" y="20">Expected</text>
+      </g>
+      <path stroke="blue" stroke-width="1" d="M 25,22 L 225,22 M 250,22 L 440,22"/>
+
+      <g font-size="14">
+        <!-- === "Actual" column 1 ======================================== -->
+
+        <!-- altGlyphDefs have one glyph, altGlyph has one character -->
+        <text x="25" y="40">
+          <altGlyph xlink:href="#agd-a-1">a</altGlyph>bcde
+        </text>
+        <text x="25" y="58">
+          <altGlyph xlink:href="#agd-a-2">a</altGlyph>bcde
+        </text>
+        <text x="25" y="76">
+          <altGlyph xlink:href="#agd-a-3">a</altGlyph>bcde
+        </text>
+        <text x="25" y="94">
+          <altGlyph xlink:href="#agd-a-4">a</altGlyph>bcde
+        </text>
+
+        <!-- altGlyphDefs have two glyphs, altGlyph has two characters -->
+        <text x="25" y="112">
+          a<altGlyph xlink:href="#agd-bc-1">bc</altGlyph>de
+        </text>
+        <text x="25" y="130">
+          a<altGlyph xlink:href="#agd-bc-2">bc</altGlyph>de
+        </text>
+        <text x="25" y="148">
+          a<altGlyph xlink:href="#agd-bc-3">bc</altGlyph>de
+        </text>
+        <text x="25" y="166">
+          a<altGlyph xlink:href="#agd-bc-4">bc</altGlyph>de
+        </text>
+        <text x="25" y="184">
+          a<altGlyph xlink:href="#agd-bc-5">bc</altGlyph>de
+        </text>
+        <text x="25" y="202">
+          a<altGlyph xlink:href="#agd-bc-6">bc</altGlyph>de
+        </text>
+
+        <!-- altGlyphDefs have one glyph, altGlyph has no characters -->
+        <text x="25" y="220">
+          <altGlyph xlink:href="#agd-a-1"/>bcde
+        </text>
+        <text x="25" y="238">
+          <altGlyph xlink:href="#agd-a-2"/>bcde
+        </text>
+        <text x="25" y="256">
+          <altGlyph xlink:href="#agd-a-3"/>bcde
+        </text>
+        <text x="25" y="274">
+          <altGlyph xlink:href="#agd-a-4"/>bcde
+        </text>
+
+        <!-- === "Actual" column 2 ======================================== -->
+
+        <!-- altGlyphDefs have two glyphs, altGlyph has one character -->
+        <text x="250" y="40">
+          a<altGlyph xlink:href="#agd-bc-1">b</altGlyph>de
+        </text>
+        <text x="250" y="58">
+          a<altGlyph xlink:href="#agd-bc-2">b</altGlyph>de
+        </text>
+        <text x="250" y="76">
+          a<altGlyph xlink:href="#agd-bc-3">b</altGlyph>de
+        </text>
+        <text x="250" y="94">
+          a<altGlyph xlink:href="#agd-bc-4">b</altGlyph>de
+        </text>
+        <text x="250" y="112">
+          a<altGlyph xlink:href="#agd-bc-5">b</altGlyph>de
+        </text>
+        <text x="250" y="130">
+          a<altGlyph xlink:href="#agd-bc-6">b</altGlyph>de
+        </text>
+
+        <!-- altGlyphDefs have one glyph, altGlyph has two characters -->
+        <text x="250" y="148">
+          <altGlyph xlink:href="#agd-a-1">ab</altGlyph>cde
+        </text>
+        <text x="250" y="166">
+          <altGlyph xlink:href="#agd-a-2">ab</altGlyph>cde
+        </text>
+        <text x="250" y="184">
+          <altGlyph xlink:href="#agd-a-3">ab</altGlyph>cde
+        </text>
+        <text x="250" y="202">
+          <altGlyph xlink:href="#agd-a-4">ab</altGlyph>cde
+        </text>
+
+        <!-- Test for SVG font support -->
+        <g font-size="16">
+          <text x="250" y="238">a</text>
+          <text x="250" y="256" font-family="EmbeddedSerifBold">b</text>
+        </g>
+
+        <!-- === "Expected" column 1 ====================================== -->
+
+        <text x="115" y="40">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>bcde
+        </text>
+        <text x="115" y="58">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>bcde
+        </text>
+        <text x="115" y="76">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>bcde
+        </text>
+        <text x="115" y="94">abcde</text>
+
+        <text x="115" y="112">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="130">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="148">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="166">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="184">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="115" y="202">abcde</text>
+
+        <text x="115" y="220">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>bcde
+        </text>
+        <text x="115" y="238">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>bcde
+        </text>
+        <text x="115" y="256">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>bcde
+        </text>
+        <text x="115" y="274">bcde</text>
+
+        <!-- === "Expected" column 2 ====================================== -->
+
+        <text x="340" y="40">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="58">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="76">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="94">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="112">
+          a<tspan font-family="EmbeddedSerifBold">bc</tspan>de
+        </text>
+        <text x="340" y="130">abde</text>
+
+        <text x="340" y="148">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>cde
+        </text>
+        <text x="340" y="166">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>cde
+        </text>
+        <text x="340" y="182">
+          <tspan font-family="EmbeddedSerifBold">a</tspan>cde
+        </text>
+        <text x="340" y="202">abcde</text>
+
+        <g transform="translate(340, 238) scale(1, -1) scale(0.0078125)">
+          <path d="M702 563Q479 563 393 512T307 338Q307 240 371 183T547 125Q700 125 792 233T885 522V563H702ZM1069 639V0H885V170Q822 68 728 20T498 -29Q326 -29 225 67T123 326Q123 515 249 611T627 707H885V725Q885 852 802 921T567 991Q471 991 380 968T205 899V1069Q306 1108 401 1127T586 1147Q829 1147 949 1021T1069 639Z"/>
+        </g>
+        <g transform="translate(340, 256) scale(1, -1) scale(0.0078125)">
+          <path d="M199 121V1436H47V1556H553V928Q598 1011 674 1051T862 1092Q1089 1092 1219 943T1350 532Q1350 271 1220 121T862 -29Q750 -29 674 11T553 135V0H47V121H199ZM553 479Q553 293 600 210T754 127Q863 127 907 215T952 532Q952 761 908 848T754 936Q648 936 601 853T553 584V479Z"/>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-bidi-01-t.svg b/Tests/W3CTestSuite/svg/text-bidi-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..aff70f3c6aa742d03f98693664f8aca54dad3a75
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-bidi-01-t.svg
@@ -0,0 +1,59 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: text-bidi-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#RelationshipWithBiDirectionality">
+      <p>
+      Test directional type, ltr context, arabic.
+      Assertion: In a left-to-right context, without markup, styling or special characters, a sequence of Arabic characters and spaces will progress from right to left.
+      </p>
+      <p class='prerequisites'>You will need a font that allows you to distinguish Arabic characters.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if the characters follow the same order.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-bidi-01-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="240" y="120" text-anchor="middle">مفتاح معايير الويب</text>
+    <image id="reference" xlink:href="../images/inline2.png" width="200" height="30" transform="translate(120 180)"/>  
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-deco-01-b.svg b/Tests/W3CTestSuite/svg/text-deco-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..609162a9720097f3033fac9dd6c1295f18de04d0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-deco-01-b.svg
@@ -0,0 +1,82 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: text-deco-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextDecorationProperties">
+        <p>
+          Test the 'text-decoration' property.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+    	<p>The test has passed if:</p>
+      <ul>
+      	<li>
+        	The first line of text has no decoration.
+     		</li>
+	      <li>
+	        The second line of text has a line through it.
+	      </li>
+	      <li>
+	        The third line of text is underlined.
+	      </li>
+	      <li>
+	        The fourth line of text has a blue underline with a green stroke under
+	        all characters, except the word "different" which has a yellow underline
+	        with a green stroke.
+	      </li>
+	    </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-deco-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="24" fill="blue" stroke="green" stroke-width=".5">
+      <text x="25" y="65">Normal text</text>
+      <text x="25" y="135" text-decoration="line-through">Text with line-through</text>
+      <text x="25" y="205" text-decoration="underline">Underlined text</text>
+      <!-- START OF PATCH CODE, which is commented out
+    <text x="25" y="345" text-decoration="underline"  xml:space="preserve">One word has different underlining</text>
+    <rect x="25" y="275" width="1000" height="70" stroke="none" fill="white" />
+END OF PATCH CODE, which is commented out -->
+      <text x="25" y="275" text-decoration="underline">
+        <tspan>One</tspan>
+        <tspan fill="yellow" stroke="#F0F">word</tspan>
+        <tspan fill="yellow" stroke="#000">has</tspan>
+        <tspan fill="yellow" stroke="#080" text-decoration="underline">different</tspan>
+        <tspan fill="yellow" stroke="#00F">underlining</tspan>
+      </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-dom-01-f.svg b/Tests/W3CTestSuite/svg/text-dom-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ed54dc55095f6578113ff1539de761bd68c9c07f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-dom-01-f.svg
@@ -0,0 +1,230 @@
+<svg version="1.1" baseProfile="full" onload="testSVGTextContentElement()" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="AN" status="created"
+    version="$Revision: 1.4 $" testname="$RCSfile: text-dom-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#DOMInterfaces">
+        <p>
+          This tests the methods and properties of the SVGTextContentElement interface on the text element with the id 'testText'
+          and the content 'This is a test of the interface SVGTextContentElement'. The word 'is' has two glyphs with different
+          rotation values defined with a &lt;tspan/&gt; element. There are 12 subtests testing the 9 methods and 2 properties.
+          Note that the numeric results of some methods may vary. The additional instructions state where the result may vary
+          and where it should have an exact value.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        [[
+        Describe how to use the here. The instructions should specify any
+        steps requied to run the test or any manual operation that need
+        to be performed to run the test.
+        ]]
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first subtest is testing the method .getCharNumAtPosition(svgPt), where svgPt has an x value of 240 and y value of 25.
+        The result of this subtest must be "30".
+      </p>
+      <p>
+        The second subtest is testing the method .getComputedTextLength(). The rounded result may vary in the implementations but should be around 364.
+        A red line below the testText is visually indicating the result of the method .getComputedTextLength() and must look like a red underline
+        with a length that spans the whole text length from 'T' to '.'.
+      </p>
+      <p>
+        The third subtest is testing the method .getEndPositionOfChar() at the 11th character ('e').
+        The rounded result may vary in the implementations but should be around 131 for the 'x' value and must be 30 for the 'y' value.
+        Additionally, a red vertical line is indicating the end position of the character 'e'. Its lower 'y' value must be at 30
+        and the 'x' values must match the end position of the 11th character 'e'.
+      </p>
+      <p>
+        The fourth subtest is testing the method .getExtentOfChar() at the 11th character ('e').
+        The rounded result may vary in the implementations but should be around '123,16,8,17' for the 'x,y,width,height' values.
+        A lightblue rectangle below the character 'e' must fully enclose the 11th glyph.
+      </p>
+      <p>
+        The fifth subtest is testing the method .getNumberOfChars(). The result must be 54.
+      </p>
+      <p>
+        The sixth subtest is testing the method .getRotationOfChar() for the fifth character. The result must be 45.
+        Additionally, a lightblue rectangle below the text indicates the extent of the fifth glyph 'i'.
+        It must fully enclose the diagonally rotated fifth glyph 'i'.
+      </p>
+      <p>
+        The seventh subtest is testing the method .getStartPositionOfChar() at the 11th character ('e').
+        The rounded result may vary in the implementations but should be around 123 for the 'x' value and must be 30 for the 'y' value.
+        Additionally, a red vertical line is indicating the start position of the character 'e'. Its lower 'y' value must be at 30
+        and the 'x' values must match the end position of the 11th character 'e'.
+      </p>
+      <p>
+        The eighth subtest is testing the method .getSubStringLength(), starting at character 22 and including the 9 following characters.
+        The result may vary in the implementations but should be around 58. Additionally, a green (lime) line visually indicates
+        the result of the method. The word 'interface' must be fully underlined with the green line.
+      </p>
+      <p>
+        The ninth subtest is testing the method .selectSubString(). After loading the file, the word "the" must be selected.
+      </p>
+      <p>
+        The tenth subtest is testing the property .textLength. The rounded result of .textLength.baseVal.value may vary in
+        the implementations but should be around 364.
+        It must match the value calculated in the second subtest (.getComputedTextLength()).
+      </p>
+      <p>
+        The eleventh subtest is again testing the property .textLength. The rounded result of .textLength.animVal.value may vary in
+        the implementations but should be around 364.
+        It must match the value calculated in the second subtest (.getComputedTextLength()).
+      </p>
+      <p>
+        The twelfth subtest is again testing the property .lengthAdjust. The results of .lengthAdjust.baseVal and
+        .lengthAdjust.animVal must be 1 and 1.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-dom-01-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="text/ecmascript"><![CDATA[
+      function testSVGTextContentElement() {
+      var svgNS = "http://www.w3.org/2000/svg";
+      var tContentEl = document.getElementById("testText");
+      var textGroup = document.getElementById("textGroup");
+      var svgPt = document.documentElement.createSVGPoint();
+      svgPt.x = 240;
+      svgPt.y = 25;
+
+      //1: testing .getCharNumAtPosition()
+      var charNumresult = tContentEl.getCharNumAtPosition(svgPt);
+      document.getElementById("text1").firstChild.data = ".getCharNumAtPosition() result: "+charNumresult;
+
+      //2: testing .getCharNumAtPosition()
+      var compTextLength = tContentEl.getComputedTextLength();
+      document.getElementById("text2").firstChild.data = ".getComputedTextLength() result: "+Math.round(compTextLength);
+      var baseLine = document.createElementNS(svgNS,"line");
+      baseLine.setAttributeNS(null,"stroke","red");
+      baseLine.setAttributeNS(null,"x1",(240 - compTextLength * 0.5));
+      baseLine.setAttributeNS(null,"x2",(240 + compTextLength * 0.5));
+      baseLine.setAttributeNS(null,"y1",30);
+      baseLine.setAttributeNS(null,"y2",30);
+      textGroup.insertBefore(baseLine,tContentEl);
+
+      //3: testing .getEndPositionOfChar(), end of character
+      var endPosChar = tContentEl.getEndPositionOfChar(11);
+      document.getElementById("text3").firstChild.data = ".getEndPositionOfChar(11) result ('e'): "+Math.round(endPosChar.x)+","+Math.round(endPosChar.y);
+      var endPosLine = document.createElementNS(svgNS,"line");
+      endPosLine.setAttributeNS(null,"stroke","red");
+      endPosLine.setAttributeNS(null,"x1",endPosChar.x);
+      endPosLine.setAttributeNS(null,"x2",endPosChar.x);
+      endPosLine.setAttributeNS(null,"y1",endPosChar.y);
+      endPosLine.setAttributeNS(null,"y2",endPosChar.y-15);
+      textGroup.insertBefore(endPosLine,tContentEl);
+
+      //4: testing getExtentOfChar
+      var charExtent = tContentEl.getExtentOfChar(11);
+      document.getElementById("text4").firstChild.data = ".getExtentOfChar(11) result ('e'): "+Math.round(charExtent.x)+","+Math.round(charExtent.y)+","+Math.round(charExtent.width)+","+Math.round(charExtent.height);
+      var extentRect = document.createElementNS(svgNS,"rect");
+      extentRect.setAttributeNS(null,"fill","lightblue");
+      extentRect.setAttributeNS(null,"x",charExtent.x);
+      extentRect.setAttributeNS(null,"y",charExtent.y);
+      extentRect.setAttributeNS(null,"width",charExtent.width);
+      extentRect.setAttributeNS(null,"height",charExtent.height);
+      textGroup.insertBefore(extentRect,baseLine);
+
+      //5: testing getNumberOfChars
+      var numChars = tContentEl.getNumberOfChars();
+      document.getElementById("text5").firstChild.data = ".getNumberOfChars() result: "+numChars;
+
+      //6: testing getRotationOfChar
+      var charRot = tContentEl.getRotationOfChar(5);
+      document.getElementById("text6").firstChild.data = ".getRotationOfChar(5) result: "+charRot;
+      var rotCharExtent = tContentEl.getExtentOfChar(5);
+      var rotExtentRect = document.createElementNS(svgNS,"rect");
+      rotExtentRect.setAttributeNS(null,"fill","lightblue");
+      rotExtentRect.setAttributeNS(null,"x",rotCharExtent.x);
+      rotExtentRect.setAttributeNS(null,"y",rotCharExtent.y);
+      rotExtentRect.setAttributeNS(null,"width",rotCharExtent.width);
+      rotExtentRect.setAttributeNS(null,"height",rotCharExtent.height);
+      textGroup.insertBefore(rotExtentRect,baseLine);
+
+      //7: testing .getStartPositionOfChar(), end of character
+      var startPosChar = tContentEl.getStartPositionOfChar(11);
+      document.getElementById("text7").firstChild.data = ".getStartPositionOfChar(11) result ('e'): "+Math.round(startPosChar.x)+","+Math.round(startPosChar.y);
+      var startPosLine = document.createElementNS(svgNS,"line");
+      startPosLine.setAttributeNS(null,"stroke","red");
+      startPosLine.setAttributeNS(null,"x1",startPosChar.x);
+      startPosLine.setAttributeNS(null,"x2",startPosChar.x);
+      startPosLine.setAttributeNS(null,"y1",startPosChar.y);
+      startPosLine.setAttributeNS(null,"y2",startPosChar.y-15);
+      textGroup.insertBefore(startPosLine,tContentEl);
+
+      //8: testing .getSubStringLength()
+      var startPosInterface = tContentEl.getStartPositionOfChar(22);
+      var subStrLength = tContentEl.getSubStringLength(22,9);
+      document.getElementById("text8").firstChild.data = ".getSubStringLength(22,9) result ('interface'): "+Math.round(subStrLength);
+      var subStrLine = document.createElementNS(svgNS,"line");
+      subStrLine.setAttributeNS(null,"stroke","lime");
+      subStrLine.setAttributeNS(null,"x1",startPosInterface.x);
+      subStrLine.setAttributeNS(null,"x2",(startPosInterface.x+subStrLength));
+      subStrLine.setAttributeNS(null,"y1",startPosInterface.y);
+      subStrLine.setAttributeNS(null,"y2",startPosInterface.y);
+      textGroup.insertBefore(subStrLine,tContentEl);
+
+      //9: testing .selectSubString()
+      tContentEl.selectSubString(18,3);
+
+      //10: testing textLength.baseVal.value
+      var tlbaseval = tContentEl.textLength.baseVal.value;
+      document.getElementById("text10").firstChild.data = ".textLength.baseVal.value result: "+Math.round(tlbaseval);
+
+      //11: testing textLength.baseVal.value
+      var tlanimval = tContentEl.textLength.animVal.value;
+      document.getElementById("text11").firstChild.data = ".textLength.animVal.value result: "+Math.round(tlanimval);
+
+      //12: testing lengthAdjust baseVal and animVal
+      document.getElementById("text12").firstChild.data = ".lengthAdjust.baseVal and .lengthAdjust.animVal result: "+tContentEl.lengthAdjust.baseVal+","+tContentEl.lengthAdjust.animVal;;
+      }
+    ]]></script>
+    <g id="textGroup" font-family="Arial" font-size="15">
+      <text x="240" y="30" text-anchor="middle" id="testText">
+        This <tspan rotate="45,90">is</tspan> a test of the interface SVGTextContentElement.
+      </text>
+      <text id="text1" x="30" y="60">.getCharNumAtPosition() result: </text>
+      <text id="text2" x="30" y="80">.getComputedTextLength() result: </text>
+      <text id="text3" x="30" y="100">.getEndPositionOfChar(11) result ('e'): </text>
+      <text id="text4" x="30" y="120">.getExtentOfChar(11) result ('e'): </text>
+      <text id="text5" x="30" y="140">.getNumberOfChars() result: </text>
+      <text id="text6" x="30" y="160">.getRotationOfChar(5) result: </text>
+      <text id="text7" x="30" y="180">.getStartPositionOfChar(11) result: </text>
+      <text id="text8" x="30" y="200">.getSubStringLength(22,9) result ('interface'): </text>
+      <text id="text9" x="30" y="220">.selectSubString(18,3) result: the word 'the' should be selected</text>
+      <text id="text10" x="30" y="240">.textLength.baseVal.value result:</text>
+      <text id="text11" x="30" y="260">.textLength.animVal.value result:</text>
+      <text id="text12" x="30" y="280">.lengthAdjust.baseVal and .lengthAdjust.animVal result:</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-dom-02-f.svg b/Tests/W3CTestSuite/svg/text-dom-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bcbbe1063600ab1821e807aa4337afc5e8411bf0
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-dom-02-f.svg
@@ -0,0 +1,131 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.10 $" testname="$RCSfile: text-dom-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#InterfaceSVGTextContentElement">
+      <p>
+        This tests that methods on the SVGTextContentElement interface
+        that take an index to a character or a number of characters
+        actually interpret these as indexes to or numbers of UTF-16 code
+        units. To test this, a character from outside the Basic Multilingual Plane 
+        (U+10000; LINEAR B SYLLABLE B008) is used in a text string. 
+        This character is stored in UTF-16 as a surrogate pair.
+      </p>
+      <p>
+        The test consists of two  sub-tests, which test those methods
+        on the SVGTextContentElement interface which do not rely on rendering.  The result
+        of each sub-test is shown as a small rectangle: black
+        indicates that the sub-test did not run, red indicates that
+        the sub-test failed and green indicates that the sub-test
+        succeeded.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if both rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-dom-02-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x='10' y='30' font-size='13'>Test that SVGTextContentElement methods work on UTF-16 code units</text>
+   <text x='10' y='60' font-size='11'>Methods independent of layout</text>
+      <font-face font-family='SPlaneOne'>
+        <font-face-src>
+          <font-face-uri xlink:href="../resources/Plane1/PlaneOne.svg#SPlaneOne"/>
+        </font-face-src>
+    </font-face>
+    <style type="text/css">
+      @font-face {
+        font-family: PlaneOne;
+        src: url(woffs/PlaneOne.woff) format("woff");
+        }
+    </style>
+
+    <text id='t' x='50' y='50' visibility='hidden' font-family='PlaneOne, SPlaneOne, serif' font-size='10' rotate='10 20 30'>a&#x10000;b</text>
+
+    <rect id='r1' x='10' y='140' width='30' height='30'/>
+    <text x='50' y='160'>getNumberOfChars</text>
+
+    <rect id='r2' x='10' y='180' width='30' height='30'/>
+    <text x='50' y='200'>getSubStringLength</text>
+
+    <script><![CDATA[
+      function $(x) { return document.getElementById(x) }
+      function eq(a, b) {
+        if (a.length != b.length) return false;
+        for (var i = 0; i < a.length; i++) if (a[i] != b[i]) return false;
+        return true;
+      }
+      function p(x, y) {
+        var p = document.documentElement.createSVGPoint();
+        p.x = x;
+        p.y = y;
+        return p;
+      }
+
+      var t = $('t');
+      var x, b;
+
+      b = false;
+      try {
+        b = t.getNumberOfChars() == 4;
+      } catch (e) {
+      }
+      $('r1').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        x = [
+          t.getSubStringLength(0, 1),
+          t.getSubStringLength(0, 2),
+          t.getSubStringLength(0, 3),
+          t.getSubStringLength(0, 4),
+          t.getSubStringLength(1, 1),
+          t.getSubStringLength(1, 2),
+          t.getSubStringLength(1, 3),
+          t.getSubStringLength(2, 1),
+          t.getSubStringLength(2, 2),
+          t.getSubStringLength(3, 1),
+        ];
+        b = eq(x, [1, 3, 3, 7, 2, 2, 6, 2, 6, 4]);
+      } catch (e) {
+      }
+      $('r2').setAttribute('fill', b ? 'green' : 'red');
+
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.10 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-dom-03-f.svg b/Tests/W3CTestSuite/svg/text-dom-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..325bca68c9fed6616b4fb965be089c5a35c86d4d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-dom-03-f.svg
@@ -0,0 +1,130 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="DAS" author="CM" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: text-dom-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#InterfaceSVGTextContentElement">
+      <p>
+        This tests that SVGTextContentElement.getSubStringLength()
+        handles out-of-range charnum and nchars parameter values correctly.
+      </p>
+      <p>
+        The test consists of 5 sub-tests, which test the different
+        combinations of values passed to SVGTextContentElement.getSubStringLength().
+        The result of each sub-test is shown as a small rectangle: black
+        indicates that the sub-test did not run, red indicates that
+        the sub-test failed and green indicates that the sub-test
+        succeeded.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required. The test relies on support for SVG Fonts.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all 5 rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-dom-03-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x='10' y='30' font-size='13'>Test that getSubStringLength() handles out-of-range arguments</text>
+
+    <font horiz-adv-x='1000'>
+      <font-face font-family='TestFont'/>
+      <glyph unicode='a' horiz-adv-x='100' d='M0,0 h80 v1000 h-80 z'/>
+      <glyph unicode='&#x10000;' horiz-adv-x='200' d='M0,0 h180 v1000 h-180 z'/>
+      <glyph unicode='b' horiz-adv-x='400' d='M0,0 h380 v1000 h-380 z'/>
+    </font>
+
+    <text id='t' x='50' y='50' visibility='hidden' font-family='TestFont' font-size='10'>ababa</text>
+
+    <rect id='r1' x='10' y='40' width='30' height='30'/>
+    <text x='50' y='60'>charnum &lt; 0</text>
+
+    <rect id='r2' x='10' y='80' width='30' height='30'/>
+    <text x='50' y='100'>nchars &lt; 0</text>
+
+    <rect id='r3' x='10' y='120' width='30' height='30'/>
+    <text x='50' y='140'>charnum = 0, nchars = length</text>
+
+    <rect id='r4' x='10' y='160' width='30' height='30'/>
+    <text x='50' y='180'>charnum = 0, nchars = length + 10</text>
+
+    <rect id='r5' x='10' y='200' width='30' height='30'/>
+    <text x='50' y='220'>charnum = 1, nchars = -1</text>
+
+    <script><![CDATA[
+      function $(x) { return document.getElementById(x) }
+
+      var b, t = $('t');
+
+      b = false;
+      try {
+        t.getSubStringLength(-1, 1);
+      } catch (e) {
+        b = e.code == 1; // DOMException.INDEX_SIZE_ERR
+      }
+      $('r1').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        t.getSubStringLength(1, -1);
+      } catch (e) {
+        b = e.code == 1; // DOMException.INDEX_SIZE_ERR
+      }
+      $('r2').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        b = t.getSubStringLength(0, 5) == 11;
+      } catch (e) {
+      }
+      $('r3').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        b = t.getSubStringLength(0, 15) == 11;
+      } catch (e) {
+      }
+      $('r4').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        t.getSubStringLength(1, -1);
+      } catch (e) {
+        b = e.code == 1; // DOMException.INDEX_SIZE_ERR
+      }
+      $('r5').setAttribute('fill', b ? 'green' : 'red');
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-dom-04-f.svg b/Tests/W3CTestSuite/svg/text-dom-04-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..67d39509397c62ec5e380754e82af5577032b5f4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-dom-04-f.svg
@@ -0,0 +1,157 @@
+<svg id="svg-root" width="100%" height="100%" onload="test()" xmlns="http://www.w3.org/2000/svg"
+  viewBox="0 0 480 360" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="ED" status="reviewed"
+    version="$Revision: 1.4 $" testname="$RCSfile: text-dom-04-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#InterfaceSVGTextContentElement">
+      <p>
+        This tests the SVGTextContentElement.getSubStringLength method.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        To pass the test there should be no red visible.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-dom-04-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+	<defs>
+		<font horiz-adv-x="4000" id="mini">
+			<font-face font-family="simplesvgfont" units-per-em="4000" ascent="800" descent="-200" alphabetic="0"/>
+			<missing-glyph horiz-adv-x="10000" d="M0 0 4000 0"/>
+			<glyph unicode="a" glyph-name="a" horiz-adv-x="4100" d="M0 4000l2000 -4000l2000 4000Z"/>
+			<glyph unicode="b" glyph-name="b" horiz-adv-x="2000" d="M0 0l2000 0000l0 2000l-2000 0Z"/>
+			<glyph unicode="cb" d="M0 0l2000 2000l-2000 2000Z" horiz-adv-x="800"/>
+			<glyph unicode="c" glyph-name="c" horiz-adv-x="1900" d="M0 0L2000 2000l-2000 0L2000 0Z"/>
+			<glyph unicode="&#x1D352;" glyph-name="compliance" d="M1000,0 h1000 v-1000 h-1000 z" horiz-adv-x="2100"/>
+			<hkern u1="c" u2="a" k="500"/>
+		</font>
+	</defs>
+
+	<script type="text/ecmascript"><![CDATA[
+		function test()
+		{
+			var t = document.getElementById("t");
+			var r = document.getElementById("r");
+			var res = document.getElementById("res");
+			var isPassed = true;
+			
+			// string:  abca&#x1D352;cb
+			// indices: 0123   4  5  67
+			
+			var tests = new Array("getSubStringLength(0,1)", "4100", 	// 'a'
+								  "getSubStringLength(0,2)", "6100", 	// 'ab'
+								  "getSubStringLength(0,3)", "7500", 	// 'abc'
+								  "getSubStringLength(0,4)", "11600", 	// 'abca'
+								  "getSubStringLength(0,5)", "13700",	// 'abca' and high surrogate of 1D352
+								  "getSubStringLength(0,6)", "13700",	// 'abca&#x1D352'
+								  "getSubStringLength(0,7)", "14500",	// 'abca&#x1D352' and half of ligature 'cb'
+								  "getSubStringLength(0,8)", "14500",	// 'abca&#x1D352cb'
+								  "getSubStringLength(0,9)", "14500",	// 'abca&#x1D352cb'
+								  "getSubStringLength(3,1)", "4100",	// 'a'
+								  "getSubStringLength(1,1)", "2000",	// 'b'
+								  "getSubStringLength(4,1)", "2100",	// high surrogate of 1D352
+								  "getSubStringLength(4,2)", "2100",	// '&#x1D352'
+								  "getSubStringLength(5,1)", "2100",	// low surrogate of 1D352
+								  "getSubStringLength(6,1)", "800",		// first half of ligature 'cb'
+								  "getSubStringLength(6,2)", "800",		// ligature 'cb'
+								  "getSubStringLength(7,1)", "800",		// second half of ligature 'cb'
+								  "getSubStringLength(8,1)", "INDEX_SIZE_ERR",
+								  "getSubStringLength(9,0)", "INDEX_SIZE_ERR",
+								  "getSubStringLength(-1,1)", "INDEX_SIZE_ERR",
+								  "getSubStringLength(-57,0)", "INDEX_SIZE_ERR",
+								  "getSubStringLength(0,-52)", "INDEX_SIZE_ERR",
+								  "getSubStringLength(-1,-5)", "INDEX_SIZE_ERR",
+								  "getSubStringLength(7,0)", "0", 		// second half of ligature 'cb'
+								  "getSubStringLength(5,0)", "0",		// high surrogate of 1D352
+								  "getSubStringLength(4,0)", "0"		// low surrogate of 1D352
+								  );
+			
+			try
+			{
+				for(var i = 0; i < tests.length; i=i+2)
+				{
+					try
+					{
+						val = eval("t."+tests[i]);
+					}
+					catch(e)
+					{
+						if(e.code == DOMException.INDEX_SIZE_ERR)
+						{
+							val = "INDEX_SIZE_ERR"
+						}
+						else
+						{
+							val = e;
+						}
+					}
+					
+					if(val != tests[i+1])
+					{
+						throw "Failed " + tests[i] + " got " + val + " but expected " + tests[i+1];
+					}
+				}
+			}
+			catch(f)
+			{
+				isPassed = false;
+				res.textContent = f;
+			}
+			
+			if(isPassed)
+			{
+				r.setAttribute("fill", "none");
+			}
+		}
+	]]></script>
+	
+	<g transform="scale(0.02 0.02) translate(4000 2000)">
+		<g id="reference" fill="red">
+			<path d="M0 4000l2000 -4000l2000 4000Z" transform="scale(1 -1) translate(0 -8000)"/>
+			<path d="M0 0l2000 0000l0 2000l-2000 0Z" transform="translate(4100 6000)"/>
+			<path d="M0 0L2000 2000l-2000 0L2000 0Z" transform="translate(6100 6000)"/>
+			<path d="M0 4000l2000 -4000l2000 4000Z" transform="scale(1 -1) translate(7500 -8000)"/>
+			<path d="M1000,0 h1000 v-1000 h-1000 z" transform="scale(1 -1) translate(11600 -8000)"/>
+			<path d="M0 0l2000 2000l-2000 2000Z" transform="scale(1 -1) translate(13700 -8000)"/>
+		</g>
+		
+		<text id="t" font-family="simplesvgfont" font-size="4000" y="2em" fill="lime">abca&#x1D352;cb</text>
+		<rect id="r" x="5000" y="10%" width="2000" height="2000" fill="red"/>
+		<text id="res" x="50%" text-anchor="middle" font-family="sans-serif" font-size="200" y="80%"></text>
+	</g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-dom-05-f.svg b/Tests/W3CTestSuite/svg/text-dom-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..017d9ffe9c3bdc3079cd334fdaac45b161d6e747
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-dom-05-f.svg
@@ -0,0 +1,181 @@
+<svg version="1.1" baseProfile="full" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="reviewed"
+    version="$Revision: 1.6 $" testname="$RCSfile: text-dom-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#InterfaceSVGTextContentElement">
+      <p>
+        This tests that methods on the SVGTextContentElement interface
+        that take an index to a character or a number of characters
+        actually interpret these as indexes to or numbers of UTF-16 code
+        units. To test this, a character from outside the Basic Multilingual Plane 
+        (U+10000; LINEAR B SYLLABLE B008) is used in a text string. 
+        This character is stored in UTF-16 as a surrogate pair.
+      </p>
+      <p>
+        The test consists of 5 sub-tests, which test the methods
+        methods on the SVGTextContentElement interface.  The result
+        of each sub-test is shown as a small rectangle: black
+        indicates that the sub-test did not run, red indicates that
+        the sub-test failed and green indicates that the sub-test
+        succeeded.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+      <p>
+        The test relies on support for WebFonts - either SVG Fonts, or WOFF, or OpenType.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all 5 rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-dom-05-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x='10' y='30' font-size='13'>Test that SVGTextContentElement methods work on UTF-16 code units</text>
+  <text x='10' y='60' font-size='11'>Methods that rely on layout</text>
+    <font-face font-family='SPlaneOne'>
+        <font-face-src>
+          <font-face-uri xlink:href="../resources/Plane1/PlaneOne.svg#SPlaneOne"/>
+        </font-face-src>
+    </font-face>
+    <style type="text/css">
+      @font-face {
+        font-family: PlaneOne;
+        src: url(woffs/PlaneOne.woff) format("woff");
+        }
+    </style>
+
+    <text id='t' x='50' y='50' visibility='hidden' font-family='PlaneOne, SPlaneOne' font-size='10' rotate='10 20 30'>a&#x10000;b</text>
+
+    <rect id='r3' x='10' y='120' width='30' height='30'/>
+    <text x='50' y='140'>getStartPositionOfChar</text>
+
+    <rect id='r4' x='10' y='160' width='30' height='30'/>
+    <text x='50' y='180'>getEndPositionOfChar</text>
+
+    <rect id='r5' x='10' y='200' width='30' height='30'/>
+    <text x='50' y='220'>getExtentOfChar</text>
+
+    <rect id='r6' x='10' y='240' width='30' height='30'/>
+    <text x='50' y='260'>getRotationOfChar</text>
+
+    <rect id='r7' x='10' y='280' width='30' height='30'/>
+    <text x='50' y='300'>getCharNumAtPosition</text>
+
+    <script><![CDATA[
+      function $(x) { return document.getElementById(x) }
+      function eq(a, b) {
+        if (a.length != b.length) return false;
+        for (var i = 0; i < a.length; i++) if (a[i] != b[i]) return false;
+        return true;
+      }
+      function p(x, y) {
+        var p = document.documentElement.createSVGPoint();
+        p.x = x;
+        p.y = y;
+        return p;
+      }
+
+      var t = $('t');
+      var x, b;
+
+      b = false;
+      try {
+        x = [
+          t.getStartPositionOfChar(0).x,
+          t.getStartPositionOfChar(1).x,
+          t.getStartPositionOfChar(2).x,
+          t.getStartPositionOfChar(3).x
+        ];
+        b = eq(x, [50, 51, 51, 53]);
+      } catch (e) {
+      }
+      $('r3').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        x = [
+          t.getEndPositionOfChar(0).x,
+          t.getEndPositionOfChar(1).x,
+          t.getEndPositionOfChar(2).x,
+          t.getEndPositionOfChar(3).x
+        ];
+        b = x[0] < x[1] && x[1] == x[2] && x[2] < x[3];
+      } catch (e) {
+      }
+      $('r4').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        x = [
+          t.getExtentOfChar(0).width,
+          t.getExtentOfChar(1).width,
+          t.getExtentOfChar(2).width,
+          t.getExtentOfChar(3).width
+        ];
+        b = eq(x, [1, 2, 2, 4]);
+      } catch (e) {
+      }
+      $('r5').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        x = [
+          t.getRotationOfChar(0),
+          t.getRotationOfChar(1),
+          t.getRotationOfChar(2),
+          t.getRotationOfChar(3)
+        ];
+        b = eq(x, [10, 20, 20, 30]);
+      } catch (e) {
+      }
+      $('r6').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        x = [
+          t.getCharNumAtPosition(p(50.5, 49)),
+          t.getCharNumAtPosition(p(51.5, 49)),  // within first half of the glyph represented by the two surrogates
+          t.getCharNumAtPosition(p(52.5, 49)),  // within second half of the glyph represented by the two surrogates
+          t.getCharNumAtPosition(p(53.5, 49))
+        ];
+        b = eq(x, [0, 1, 2, 3]);
+      } catch (e) {
+      }
+      $('r7').setAttribute('fill', b ? 'green' : 'red');
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-fonts-01-t.svg b/Tests/W3CTestSuite/svg/text-fonts-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..30cc2fbd62d017def455e163003cf25e8e338c4b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-fonts-01-t.svg
@@ -0,0 +1,87 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: text-fonts-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#FontPropertiesUsedBySVG">
+        <p>
+          Purpose of test is to determine if the font family is being
+          correctly selected. The top two lines of text test serif fonts;
+          the top line in maroon tests the generic font family 'serif'
+          and the second line in black tests a selection of commonly
+          available named serif fonts. The next two lines of text test
+          sans-serif fonts;
+          the top line in maroon tests the generic font family 'sans-serif'
+          and the second line in black tests a selection of commonly
+          available named sans serif fonts. The following two lines
+          of text test monospaced fonts;
+          the top line in maroon tests the generic font family 'monospaced'
+          and the second line in black tests a selection of commonly
+          available named monospaced fonts. The lowercase 'i' and uppercase'W'
+          should be the same width,for monospaced fonts.
+        </p>
+        <p>
+          The seventh line of text, in green, tests for
+          three non-existent fonts (nonsense names). There is no fallback
+          generic font specified. The text must be displayed anyway.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first six lines contain two Japanese characters (画像)
+        at the end of the line. Both of these characters must be displayed,
+        although it is compliant to display them with the 'missing glyph'
+        if no suitable font containing Japanese characters can be found.
+        Most but not all fonts have a visible missing glyph character.
+        If the selected font has a visible missing glyph character, it should appear
+        wherever the corresponding glyph is not available.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-fonts-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-weight="normal" font-size="24" stroke="none">
+      <text font-family="Georgia, 'Minion Web', 'Times New Roman', Times, 'MS PMincho', Heisei-Mincho, serif " x="20" y="80">A serifed face 画像</text>
+      <text font-family="Arial, 'Arial Unicode', 'Myriad Web', Geneva, 'Lucida Sans Unicode', 'MS PGothic', Osaka, sans-serif " x="20" y="160">A sans-serif face 画像</text>
+      <text font-family="'Lucida Console', 'Courier New', Courier, Monaco, 'MS Gothic', Osaka-Mono, monospace" x="20" y="240">A mono (iW) face 画像</text>
+      <g id="generic" fill="maroon">
+        <text font-family="serif" x="40" y="50">A serifed face 画像</text>
+        <text font-family="sans-serif " x="40" y="130">A sans-serif face 画像</text>
+        <text font-family="monospace " x="40" y="210">A mono (iW) face 画像</text>
+      </g>
+      <text fill="green" font-family="'No such font at all', 'another fictitious one', sillynamewithoutspaces" x="40" y="290">This must be displayed</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-fonts-02-t.svg b/Tests/W3CTestSuite/svg/text-fonts-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba2947149fed70b2622c39e84095151060d59b3f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-fonts-02-t.svg
@@ -0,0 +1,92 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Chris lilley" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: text-fonts-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#FontPropertiesUsedBySVG">
+      <p>
+        Purpose of test is to determine if the font weight is being
+        correctly rendered. A number of font families are specified. The
+        numerical weight values (100 to 900) should show the lighter weights
+        on the lower numbers and the heavier weights on the larger numbers.
+        Heavier is defined to mean 'no lighter'.
+      </p>
+      <p>
+        If only one font weight is available, they should all display at the
+        same weight. The transition from black to green figures shows the
+        correct light to bold transition for the common case where two
+        weights are available. If three or more weights are available, see
+        the CSS2 specification for how these are allocated to the nine
+        weight numbers.
+      </p>
+      <p>
+        The absolute keywords 'normal' and bold' are tested
+        by the first two lines on the right hand side of the test,
+        the third line of text tests the to 'bolder'
+        relative keyword and the fourth tests the
+        'lighter' relative keyword.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The numerical weight values (100 to 900) should show the lighter weights on the
+        lower numbers and the heavier weights on the larger numbers. Heavier is defined
+        to mean 'no lighter'.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-fonts-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="Georgia,'Times New Roman',Times,'MS Mincho',serif" font-size="30">
+      <text font-weight="100" x="360" y="50">100</text>
+      <text font-weight="200" x="360" y="85">200</text>
+      <text font-weight="300" x="360" y="120">300</text>
+      <text font-weight="400" x="360" y="155">400</text>
+      <text font-weight="500" x="360" y="190">500</text>
+      <text fill="green" font-weight="600" x="360" y="225">600</text>
+      <text fill="green" font-weight="700" x="360" y="260">700</text>
+      <text fill="green" font-weight="800" x="360" y="295">800</text>
+      <text fill="green" font-weight="900" x="360" y="330">900</text>
+      <text font-weight="bold" x="60" y="80">This is bold</text>
+      <text font-weight="normal" x="60" y="130">This is normal</text>
+      <g font-weight="normal" fill="blue">
+        <text font-weight="bolder" x="60" y="180">Blue is bolder</text>
+      </g>
+      <g font-weight="bold" fill="blue">
+        <text font-weight="lighter" x="60" y="230">Blue is lighter</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-fonts-03-t.svg b/Tests/W3CTestSuite/svg/text-fonts-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..05a0fc69bfaf48642b34fce678bd6845ffa3590b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-fonts-03-t.svg
@@ -0,0 +1,85 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="MI" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: text-fonts-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#FontPropertiesUsedBySVG">
+        <p>
+          Testing font-family attribute.
+          Two SVG fonts are defined.  Various text elements are then
+          used with varying values for the font-family attribute.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first two text elements should display in their respective fonts,
+        the last two should be displayed using the system font since the
+        value specified for font-family is either invalid or not specified.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-fonts-03-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <!-- Deliberately leave off font-family from the template #test-body-content
+         element, since we want the default font. -->
+    <defs>
+      <font>
+        <font-face font-family="SVGHaettenschweiler"/>
+        <glyph unicode="A" horiz-adv-x="440" d="M440 0l-160 0 -20 180 -80 0 -20 -180 -160 0 120 700 200 0 120 -700zm-200 280l-20 220 -20 -220 40 0z"/>
+        <glyph unicode="B" horiz-adv-x="378" d="M20 0l0 700 180 0c40,0 80,0 100,-20 40,-20 60,-60 60,-100l0 -100c0,-60 -40,-80 -100,-100 80,-20 100,-60 100,-100l0 -140c0,-40 -20,-80 -40,-100 -40,-20 -60,-40 -100,-40l-200 0zm200 460l0 120c0,20 -20,20 -40,20l0 -180c20,0 40,0 40,40zm0 -340l0 180c0,20 -20,40 -40,40l0 -260c20,0 40,20 40,40z"/>
+        <glyph unicode="C" horiz-adv-x="370" d="M360 460l-140 0 0 140c0,0 -20,20 -20,20 -20,0 -20,-20 -20,-20l0 -500c0,0 0,0 20,0 0,0 20,0 20,0l0 180 140 0 0 -180c0,-20 -20,-60 -60,-80 -20,-20 -60,-20 -100,-20 -120,0 -180,40 -180,120l0 460c0,80 60,120 180,120 100,0 160,-40 160,-120l0 -120z"/>
+      </font>
+      <font>
+        <font-face font-family="SVGCharlesworth"/>
+        <glyph unicode="A" horiz-adv-x="712" d="M-60 0l0 20c0,0 20,0 40,0 40,0 40,0 60,20 0,0 20,20 40,80 20,60 40,120 80,200 20,80 40,160 80,220 20,60 40,120 40,120 0,20 -20,20 -80,20l0 20c20,0 80,0 140,0 100,0 140,0 160,0l0 -20c-40,0 -80,0 -80,-20 20,-60 60,-140 80,-220 40,-100 80,-180 100,-260 40,-80 60,-140 60,-140 0,0 20,-20 40,-20 40,0 60,0 60,0l0 -20c0,0 -60,0 -180,0 -20,0 -40,0 -80,0 -40,0 -60,0 -80,0l0 20c20,0 60,0 80,0 20,0 20,20 20,20 0,0 -20,60 -40,140 -40,80 -40,120 -60,140 -60,0 -140,0 -220,0 -20,-20 -20,-40 -20,-80 -20,-40 -40,-80 -40,-120 -20,-60 -20,-80 -20,-80 20,-20 60,-20 80,-20l20 -20c-40,0 -80,0 -140,0 -80,0 -120,0 -140,0zm260 360c40,0 80,0 120,0 60,0 100,0 100,0 0,0 0,0 -20,40 0,20 -20,60 -40,100 0,40 -20,80 -20,100 -20,20 -20,40 -20,60l0 0c-20,-40 -40,-80 -60,-160 -40,-80 -60,-120 -60,-140z"/>
+        <glyph unicode="B" horiz-adv-x="684" d="M160 660c-20,20 -40,20 -100,20l-20 20c20,0 60,0 120,0 80,0 140,0 180,0 60,0 100,0 160,-20 40,-20 60,-60 60,-100 0,-40 -20,-100 -60,-120 -20,-40 -60,-60 -100,-80l0 0c40,0 60,-20 100,-40 20,0 40,-20 60,-40 20,-20 20,-40 40,-60 0,-20 0,-40 0,-60 0,-40 0,-60 -20,-100 -20,-20 -40,-40 -80,-60 -20,-20 -60,-20 -100,-20 -20,0 -40,0 -80,0 -60,0 -100,0 -160,0 -20,0 -60,0 -120,0l20 20c0,0 20,0 40,0 40,0 40,0 60,20 0,0 0,20 0,80 0,80 0,160 0,240 0,80 0,140 0,200 0,60 0,100 0,100zm120 -620c20,0 60,-20 80,-20 20,0 60,0 80,20 20,0 20,20 40,40 20,20 20,40 20,60 0,40 -20,80 -40,100 -20,40 -40,60 -80,80 -40,20 -60,20 -100,20 0,-20 0,-40 0,-80 0,-40 0,-80 0,-120 0,-40 0,-80 0,-100zm0 340c40,0 80,0 100,20 20,20 40,40 60,60 0,20 0,60 0,80 0,20 0,40 0,60 -20,20 -40,40 -60,60 -20,20 -40,20 -60,20 -20,0 -40,0 -40,0 0,0 0,-20 0,-40 0,-20 0,-60 0,-140 0,-60 0,-100 0,-120z"/>
+        <glyph unicode="C" horiz-adv-x="808" d="M740 480l-20 0c0,20 0,60 0,80 -20,20 -20,40 -40,60 -40,20 -60,20 -100,40 -40,20 -60,20 -100,20 -20,0 -20,0 -40,0 -40,0 -100,-20 -120,-40 -40,-20 -60,-40 -80,-80 -20,-20 -40,-40 -60,-80 0,-20 0,-60 0,-80 0,-60 0,-120 20,-160 20,-40 60,-80 100,-120 20,-20 80,-40 120,-60 40,-20 100,-40 140,-40 80,20 160,40 220,60l0 -40c-40,-20 -80,-40 -140,-40 -40,-20 -100,-20 -140,-20 -80,0 -140,20 -200,40 -80,20 -120,60 -180,100 -40,60 -60,120 -60,200 0,0 0,20 0,20 0,60 0,100 20,140 20,40 60,80 100,120 20,40 80,60 140,80 60,20 120,40 200,40 60,0 120,-20 200,-20 0,0 0,0 0,20 20,40 20,40 20,60l20 0c0,-20 0,-60 0,-140 -20,-100 -20,-140 -20,-160z"/>
+      </font>
+    </defs>
+
+    <text x="15" y="60" font-family="SVGFreeSansASCII,sans-serif" font-size="18">font-family = "Haettenschweiler"</text>
+    <text x="340" y="60" font-family="SVGHaettenschweiler" font-size="35">ABC</text>
+
+    <text x="15" y="110" font-family="SVGFreeSansASCII,sans-serif" font-size="18">font-family = "Charlesworth"</text>
+    <text x="340" y="110" font-family="SVGCharlesworth" font-size="35">ABC</text>
+
+    <text x="15" y="160" font-family="SVGFreeSansASCII,sans-serif" font-size="18">font-family = "Invalid Name"</text>
+    <text x="340" y="160" font-family="InvalidFontFamily" font-size="35">ABC</text>
+
+    <text x="15" y="210" font-family="SVGFreeSansASCII,sans-serif" font-size="18">font-family = not specified</text>
+    <text x="340" y="210" font-size="35">ABC</text>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-fonts-04-t.svg b/Tests/W3CTestSuite/svg/text-fonts-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e371d71d4079d74c483cfa358e46a74fe7fae872
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-fonts-04-t.svg
@@ -0,0 +1,76 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="MI" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: text-fonts-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#FontPropertiesUsedBySVG">
+        <p>
+          Testing font-family attribute.
+          Various text elements are
+          used with varying values for the font-family attribute.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The first two text elements should display in their respective fonts,
+        <span style="font-family: Haettenschweiler">Haettenschweiler</span> and
+        <span style="font-family: Charlesworth">Charlesworth</span>,
+        if they are installed on the target system. Otherwise, simply
+        displaying the text in some fallback font is enough to pass the test.
+        The last two should be displayed using a fallback font since the
+        value specified for font-family is either invalid or not specified.
+        Failing to display the text means the test is not passed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-fonts-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <!-- Deliberately leave off font-family from the template #test-body-content
+         element, since we want the default font. -->
+
+    <text x="15" y="60" font-family="SVGFreeSansASCII,sans-serif" font-size="18">font-family = "Haettenschweiler"</text>
+    <text x="340" y="60" font-family="Haettenschweiler" font-size="35">ABC</text>
+
+    <text x="15" y="110" font-family="SVGFreeSansASCII,sans-serif" font-size="18">font-family = "Charlesworth"</text>
+    <text x="340" y="110" font-family="Charlesworth" font-size="35">ABC</text>
+
+    <text x="15" y="160" font-family="SVGFreeSansASCII,sans-serif" font-size="18">font-family = "Invalid Name"</text>
+    <text x="340" y="160" font-family="InvalidFontFamily" font-size="35">ABC</text>
+
+    <text x="15" y="210" font-family="SVGFreeSansASCII,sans-serif" font-size="18">font-family = not specified</text>
+    <text x="340" y="210" font-size="35">ABC</text>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-fonts-05-f.svg b/Tests/W3CTestSuite/svg/text-fonts-05-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b615e80362c8423700e59bb9139608874ebdf990
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-fonts-05-f.svg
@@ -0,0 +1,57 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="[reviewer]" author="Microsoft" status="created" version="$Revision: 1.4 $" testname="$RCSfile: text-fonts-05-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/text.html#FontPropertiesUsedBySVG">
+      <p>
+        Test that the 'line-height' property has no effect on text layout.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if the three blue instances of 'Filler Text' all have the same vertical position on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-fonts-05-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <text x="100" y="100" fill="blue" font-size="25">
+        <tspan x="50">FillerText</tspan>
+        <tspan x="160" line-height="100">FillerText</tspan>
+        <tspan x="270" line-height="200">FillerText</tspan>
+    </text>
+    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-fonts-202-t.svg b/Tests/W3CTestSuite/svg/text-fonts-202-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a26092a971c0722e7fa4760a3f024157d728492a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-fonts-202-t.svg
@@ -0,0 +1,100 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DS" owner="CL" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: text-fonts-202-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#FontPropertiesUsedBySVG">
+      <p>
+        This tests the 'font-weight' property when multiple weights are available. A
+        font family with six weights is  specified, with a fallback to 'serif'.
+      </p>
+      <p>
+        If only one font weight is available, they should all display at the same weight.
+        The transition from black to green figures shows the correct light to bold transition
+        for the common case where two weights are available. If three or more weights are
+        available, see the CSS2 specification for how these are allocated to the nine weight
+        numbers. The specified font has six weights.
+      </p>
+      <p>
+        The absolute keywords 'normal' and bold' are tested by the first two lines on the
+        right hand side of the test, the third line of text tests the to 'bolder' relative
+        keyword and the fourth tests the 'lighter' relative keyword.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        If the platform supports installable opentype fonts, please download and install
+        <a href="http://justanotherfoundry.com/zalamander">Zalamander Caps</a>
+        by Tim Ahrens of <a href="http://justanotherfoundry.com/">Just Another Foundry</a>.
+        Then, view this test.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The numerical weight values (100 to 900) should show the lighter weights on the
+        lower numbers and the heavier weights on the larger numbers. Heavier is defined
+        to mean 'no lighter'.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-fonts-202-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+ <g font-family="'ZalamanderCaps', serif" font-size="30">
+      <text font-weight="100" x="360" y="50">100</text>
+      <text font-weight="200" x="360" y="85">200</text>
+      <text font-weight="300" x="360" y="120">300</text>
+      <text font-weight="400" x="360" y="155">400</text>
+      <text font-weight="500" x="360" y="190">500</text>
+      <text fill="green" font-weight="600" x="360" y="225">600</text>
+      <text fill="green" font-weight="700" x="360" y="260">700</text>
+      <text fill="green" font-weight="800" x="360" y="295">800</text>
+      <text fill="green" font-weight="900" x="360" y="330">900</text>
+      <text font-weight="bold" x="60" y="80">This is bold</text>
+      <text font-weight="normal" x="60" y="130">This is normal</text>
+      <g font-weight="normal" fill="blue">
+        <text font-weight="bolder" x="60" y="180">Blue is bolder</text>
+      </g>
+      <g font-weight="bold" fill="blue">
+        <text font-weight="lighter" x="60" y="230">Blue is lighter</text>
+      </g>
+      <g font-size="14">
+        <text x="30" y="270">ZalamanderCaps is an OpenType font</text>
+        <text x="30" y="290">by Tim Ahrens of Just Another Foundry</text>
+      </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+<!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-fonts-203-t.svg b/Tests/W3CTestSuite/svg/text-fonts-203-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0f8d37624be1c49d0d2ea3cbfaf83b02f2d12a0b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-fonts-203-t.svg
@@ -0,0 +1,147 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" owner="CL" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: text-fonts-203-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#FontPropertiesUsedBySVG">
+      <p>
+        This tests the 'font-weight' property when multiple weights are available. A
+        font family with five weights is  specified, with a fallback to 'serif'.
+      </p>
+      <p>
+        The specified font family has five weights - 300, 400, 600, 700 and 800. 
+        See the CSS3 Font specification 
+        for how these are allocated to the nine weight numbers.
+      </p>
+      <p>
+        The absolute keywords 'normal' and bold' are tested by the first two lines on the
+        right hand side of the test, the third line of text tests the to 'bolder' relative
+        keyword and the fourth tests the 'lighter' relative keyword.
+      </p>
+      <p>The fonts are SVG fonts convertted, with the author's explicit permission, 
+       from  <a href="http://justanotherfoundry.com/Zalamander/index.htm">Zalamander Caps</a>
+        by Tim Ahrens of <a href="http://justanotherfoundry.com/">Just Another Foundry</a>.
+        An ASCII subset has been generated for this test. The font names have been 
+        obfuscated, to deter 
+        user agent sniffing for keywords like "Ultrabold". All weights in this generated
+        family are multiples of 100 and greater or equal to 300.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The numerical weight values (100 to 900) should show the lighter weights on the
+        lower numbers and the heavier weights on the larger numbers. Heavier is defined
+        to mean 'no lighter'.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-fonts-203-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  <defs>
+    <font-face
+      font-family="ZC"
+      unicode-range="U+0-7F"
+      font-weight="300"
+      font-variant="small-caps">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/ZCL.svg#ZCL"/>
+      </font-face-src>
+    </font-face>
+    <font-face
+      font-family="ZC"
+      unicode-range="U+0-7F"
+      font-weight="400"
+      font-variant="small-caps">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/ZCR.svg#ZCR"/>
+      </font-face-src>
+    </font-face>
+    <font-face
+      font-family="ZC"
+      unicode-range="U+0-7F"
+      font-weight="600"
+      font-variant="small-caps">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/ZCSB.svg#ZCSB"/>
+      </font-face-src>
+    </font-face>
+    <font-face
+      font-family="ZC"
+      unicode-range="U+0-7F"
+      font-weight="700"
+      font-variant="small-caps">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/ZCB.svg#ZCB"/>
+      </font-face-src>
+    </font-face>
+    <font-face
+      font-family="ZC"
+      unicode-range="U+0-7F"
+      font-weight="800"
+      font-variant="small-caps">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/ZCXB.svg#ZCXB"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+
+ <g font-family="'ZC', serif" font-size="30" font-variant="small-caps">
+      <text font-weight="100" x="360" y="50">100</text>
+      <text font-weight="200" x="360" y="85">200</text>
+      <text font-weight="300" x="360" y="120">300</text>
+      <text font-weight="400" x="360" y="155">400</text>
+      <text font-weight="500" x="360" y="190">500</text>
+      <text fill="green" font-weight="600" x="360" y="225">600</text>
+      <text fill="green" font-weight="700" x="360" y="260">700</text>
+      <text fill="green" font-weight="800" x="360" y="295">800</text>
+      <text fill="green" font-weight="900" x="360" y="330">900</text>
+      <text font-weight="bold" x="60" y="80">This is bold</text>
+      <text font-weight="normal" x="60" y="130">This is normal</text>
+      <g font-weight="normal" fill="blue">
+        <text font-weight="bolder" x="60" y="180">Blue is bolder</text>
+      </g>
+      <g font-weight="bold" fill="blue">
+        <text font-weight="lighter" x="60" y="230">Blue is lighter</text>
+      </g>
+      <g font-size="14">
+        <text x="30" y="270">ZalamanderCaps is an OpenType font</text>
+        <text x="30" y="290">by Tim Ahrens of Just Another Foundry</text>
+      </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-fonts-204-t.svg b/Tests/W3CTestSuite/svg/text-fonts-204-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..31f464a117c2d44b2325ec671fee54d5aca53540
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-fonts-204-t.svg
@@ -0,0 +1,138 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="" owner="CL" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: text-fonts-204-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#FontPropertiesUsedBySVG">
+      <p>
+        This tests the 'font-weight' property when multiple weights are available. A
+        font family with five weights is  specified, with a fallback to 'serif'.
+      </p>
+      <p>
+        The specified font family has five weights - 300, 400, 600, 700 and 800. 
+        See the CSS3 Font specification 
+        for how these are allocated to the nine weight numbers.
+      </p>
+      <p>
+        The absolute keywords 'normal' and bold' are tested by the first two lines on the
+        right hand side of the test, the third line of text tests the to 'bolder' relative
+        keyword and the fourth tests the 'lighter' relative keyword.
+      </p>
+      <p>The fonts are WOFF fonts convertted, with the author's explicit permission, 
+       from  <a href="http://justanotherfoundry.com/zalamander">Zalamander Caps</a>
+        by Tim Ahrens of <a href="http://justanotherfoundry.com/">Just Another Foundry</a>.
+        The font names have been obfuscated, to deter 
+        user agent sniffing for keywords like "Ultrabold". All weights in this generated
+        family are multiples of 100 and greater or equal to 300.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The numerical weight values (100 to 900) should show the lighter weights on the
+        lower numbers and the heavier weights on the larger numbers. Heavier is defined
+        to mean 'no lighter'.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-fonts-204-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  <defs>
+    <style type="text/css">
+      @font-face {
+      font-family: ZC;
+      unicode-range: U+0-7F;
+      font-variant: small-caps;
+      font-weight: 300;
+      src: url(woffs/ZCL.woff) format("woff")
+        }
+      @font-face {
+      font-family: ZC;
+      unicode-range: U+0-7F;
+      font-variant: small-caps;
+      font-weight: 400;
+      src: url(woffs/ZCR.woff) format("woff")
+        }
+      @font-face {
+      font-family: ZC;
+      unicode-range: U+0-7F;
+      font-variant: small-caps;
+      font-weight: 600;
+      src: url(woffs/ZCSB.woff) format("woff")
+        }
+      @font-face {
+      font-family: ZC;
+      unicode-range: U+0-7F;
+      font-variant: small-caps;
+      font-weight: 700;
+      src: url(woffs/ZCB.woff) format("woff")
+        }
+      @font-face {
+      font-family: ZC;
+      unicode-range: U+0-7F;
+      font-variant: small-caps;
+      font-weight: 800;
+      src: url(woffs/ZCXB.woff) format("woff")
+        }
+    </style>
+  </defs>
+
+ <g font-family="'ZC', serif" font-size="30" font-variant="small-caps">
+      <text font-weight="100" x="360" y="50">100</text>
+      <text font-weight="200" x="360" y="85">200</text>
+      <text font-weight="300" x="360" y="120">300</text>
+      <text font-weight="400" x="360" y="155">400</text>
+      <text font-weight="500" x="360" y="190">500</text>
+      <text fill="green" font-weight="600" x="360" y="225">600</text>
+      <text fill="green" font-weight="700" x="360" y="260">700</text>
+      <text fill="green" font-weight="800" x="360" y="295">800</text>
+      <text fill="green" font-weight="900" x="360" y="330">900</text>
+      <text font-weight="bold" x="60" y="80">This is bold</text>
+      <text font-weight="normal" x="60" y="130">This is normal</text>
+      <g font-weight="normal" fill="blue">
+        <text font-weight="bolder" x="60" y="180">Blue is bolder</text>
+      </g>
+      <g font-weight="bold" fill="blue">
+        <text font-weight="lighter" x="60" y="230">Blue is lighter</text>
+      </g>
+      <g font-size="14">
+        <text x="30" y="270">ZalamanderCaps is an OpenType font</text>
+        <text x="30" y="290">by Tim Ahrens of Just Another Foundry</text>
+      </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-01-t.svg b/Tests/W3CTestSuite/svg/text-intro-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6d28e0c5c34a90e6ccac2264c29565997d44e7bd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-01-t.svg
@@ -0,0 +1,95 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: text-intro-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+      <p>
+        Test left-to-right aspect of internationalized text.
+      </p>
+      <p>
+        Various text strings in various languages appear. The main
+        purpose of the test is to verify that the correct characters
+        appear and that they appear in the correct order and orientation, even
+        though the first choice font does not have the right glyphs.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Correct rendering requires that each character is rendered. It may be rendered
+        with the 'missing glyph' if no
+        glyphs are found in the fonts listed in the content, or in any fallback font
+        that is available. The first choice font
+        is a special SVG font that only contains the 'missing glyph'. Missing glyph from
+        other fonts may conformantly be used, however.
+      </p>
+      <p>
+        The test is passed if the lines of text appear as follows:
+      </p>
+      <ul>
+        <li>Polish: Mogę jeść szkło, i mi ...</li>
+        <li>Russian: Я могу есть стекло, ...</li>
+        <li>Greek: Μπορώ να φάω ...</li>
+        <li>Hebrew: אני יכול לאכול זכוכית ...</li>
+        <li>Yiddish: איך קען עסן גלאָז און ...</li>
+        <li>Chinese:我能吞下玻璃而不伤身体。</li>
+        <li>Japanese: 私はガラスを食べます。</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <font id="Missy" horiz-adv-x="5">
+        <font-face font-family="MissingInAction" font-weight="normal" font-style="normal" units-per-em="8" cap-height="8" x-height="4" ascent="8" descent="2" alphabetic="0" mathematical="4" ideographic="-2" hanging="8"/>
+        <missing-glyph d="M1,3h2v2h-2z"/>
+      </font>
+    </defs>
+    <text font-size="40" fill="blue" x="5" y="40">Test left-to-right text.</text>
+    <g font-size="17" font-family="MissingInAction, Georgia, 'Arial Hebrew', 'Arial Unicode MS', 'LucidaSansUnicode','MS-Gothic'">
+      <text x="10" y="75">Polish: Mogę jeść szkło, i mi ...</text>
+      <text x="10" y="110">Russian: Я могу есть стекло, ...</text>
+      <text x="10" y="145" font-size="17">Greek: Μπορώ να φάω ...</text>
+      <text x="10" y="180">Hebrew: אני יכול לאכול זכוכית ... </text>
+      <text x="10" y="215">Yiddish: איך קען עסן גלאָז און ...</text>
+    </g>
+    <g font-size="17" font-family="MissingInAction, 'MS Song', SimHei,'LucidaSansUnicode', 'Arial Unicode MS'">
+      <text x="10" y="250">Chinese:我能吞下玻璃而不伤身体。</text>
+    </g>
+    <g font-size="17" font-family="MissingInAction, 'MS-Gothic','LucidaSansUnicode', 'Arial Unicode MS'">
+      <text x="10" y="285" font-size="17">Japanese: 私はガラスを食べます。</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-02-b.svg b/Tests/W3CTestSuite/svg/text-intro-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1b36814beae722f76ad3380f24034750adc84458
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-02-b.svg
@@ -0,0 +1,81 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.10 $" testname="$RCSfile: text-intro-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+      <p>
+        Test various aspects of internationalized text, including
+        left-to-right, right-to-left, and the
+        following properties: 'writing-mode',
+        'direction' and 'unicode-bidi'.
+      </p>
+      <p>
+        Various text strings in various languages appear. Ttest of bidi algorithms and support of 'unicode-bidi' and
+        'direction' properties.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test requires installation of a system font that supports
+        the various international characters used in this test case. A
+        suitable font should be used by the SVG renderer if none of the
+        specified font families are available (or if they are available but do
+        not have the required glyphs). 
+      </p>
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the correct characters
+        appear and they appear in the correct order and orientation.
+        Ensure that the three lines with Hebrew are ordered
+        correctly, as shown in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="17" fill="blue" x="10" y="40">unicode-bidi="bidi-override" direction="ltr".</text>
+    <g font-size="18" font-family="'Arial Unicode MS', 'LucidaSansUnicode','MS-Gothic'">
+      <text x="10" y="80" unicode-bidi="bidi-override" direction="ltr">Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+    </g>
+    <text font-size="17" fill="blue" x="10" y="140">unicode-bidi="bidi-override" direction="rtl".</text>
+    <g font-size="18" font-family="'Arial Unicode MS', 'LucidaSansUnicode','MS-Gothic'">
+      <text x="10" y="180" unicode-bidi="bidi-override" direction="rtl" text-anchor="end">Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+    </g>
+    <text font-size="17" fill="blue" x="10" y="240">unicode-bidi="normal" direction="rtl".</text>
+    <g font-size="18" font-family="'Arial Unicode MS', 'LucidaSansUnicode','MS-Gothic'">
+      <text x="10" y="280" unicode-bidi="normal" direction="rtl" text-anchor="end">Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.10 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-03-b.svg b/Tests/W3CTestSuite/svg/text-intro-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8b20a651146306812e0398a3f992963ac72b634d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-03-b.svg
@@ -0,0 +1,84 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: text-intro-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+        <p>
+          Test top-to-bottom internationalized text and the
+          following properties: 'writing-mode',
+          'glyph-orientation-vertical', 'glyph-orientation-horizontal'.
+        </p>
+        <p>
+          Various text strings in various languages appear. The main
+          purpose of the test is to verify that the correct characters
+          appear and that they appear in the correct order and orientation.
+          Ensure that the two lines of
+          vertical Japanese text have the proper orientation
+          (test of 'glyph-orientation-vertical' property).
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test requires installation of a system font that supports
+        the various international characters used in this test case. A
+        suitable font should be used by the SVG renderer if none of the
+        specified font families are available (or if they are available but do
+        not have the required glyphs). To
+        minimize system dependencies, a future version of this test
+        might include all necessary glyphs as an SVG font.
+      </p>
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if first line of text has the english text "Text" and
+        "in Chinese" rotated 270 degrees and the Chinese text displayed top to
+        bottom. The second line of text has the english text "Japanese:" rotated
+        270 degrees and the Japanese text displayed top to bottom. The third
+        line of text has the letters in the english text "Japanese:" displayed
+        vertically and the Japanese text displayed top to bottom.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="14" font-family="'Arial Unicode MS', 'LucidaSansUnicode','MS-Gothic'" writing-mode="tb">
+      <text x="70" y="10">Text "我能吞下玻璃而不伤身体。" in Chinese</text>
+      <text x="230" y="10" font-size="13">Japanese: 私はガラスを食べられます。それは私を傷つけません。</text>
+      <text x="370" y="13" glyph-orientation-vertical="0" font-size="10">Japanese: 私はガラスを食べられます。それは私を傷つけません。</text>
+      <text x="120" y="80" font-size="32">xt "我能吞</text>
+      <text x="280" y="80" font-size="36">se: 私は</text>
+      <text x="420" y="80" glyph-orientation-vertical="0" font-size="32">se: 私は</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-04-t.svg b/Tests/W3CTestSuite/svg/text-intro-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..565808ba698dc9dc335c772250261b22eab97f29
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-04-t.svg
@@ -0,0 +1,75 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: text-intro-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+        <p>
+          Test basic aspect of internationalized text.
+        </p>
+        <p>
+          Various text strings in various languages appear. The main
+          purpose of the test is to verify that the correct characters
+          appear and that they appear in the correct order and orientation.
+        </p>
+        <p>
+          A future version of this test
+          might include all necessary glyphs as an SVG font.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Correct rendering requires that each character is rendered. It is not required that a given character
+        be rendered with any particular font; just that it is rendered.
+        It may be rendered with the 'missing glyph' if no
+        glyphs are found in the fonts listed in the content, or in any fallback font that is available.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-04-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-family="Arial" font-size="16" fill="blue" x="10" y="20">Test horizontal text.</text>
+    <g font-size="17" font-family="'Arial Hebrew', 'Arial Unicode MS', 'LucidaSansUnicode','MS-Gothic'">
+      <text x="10" y="60">Polish: Mogę jeść szkło, i mi nie szkodzi.</text>
+      <text x="10" y="90">Russian: Я могу есть стекло, это мне не вредит.</text>
+      <text x="10" y="120" font-size="15">Greek: Μπορώ να φάω σπασμένα γυαλιά χωρίς να πάθω τίποτα.</text>
+      <!-- Greek and japanese smaller just to make it fit on the line -->
+      <text x="10" y="150">Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+      <text x="10" y="180">Yiddish: איך קען עסן גלאָז און עס טוט מיר נישט װײ.</text>
+      <text x="10" y="210">Chinese:我能吞下玻璃而不伤身体。</text>
+      <text x="10" y="240" font-size="15">Japanese: 私はガラスを食べられます。それは私を傷つけません。</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-05-t.svg b/Tests/W3CTestSuite/svg/text-intro-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9f23827cf63bb6418e9b520f313b4aa3e5e4b724
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-05-t.svg
@@ -0,0 +1,67 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: text-intro-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+      <p>
+        Tests Arabic text using various platform fonts. If these fonts are not available,
+        a fallback font should be used that has Arabic glyphs. If such a font is not available,
+        the 'missing glyph' (typically an open rectangle) should be displayed. It is an error
+        to display the wrong Arabic glyphs, for example to display all isolate forms.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The text should be positioned such that the begining of the start of the
+        Arabic text is at very right of the test and runs towards the left of
+        the test border.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18" direction="rtl">
+    <text x="460" y="80" text-anchor="start" xml:lang="ar" font-size="30" font-family="Andalus">لماذا لا يتكلمون اللّغة العربية فحسب؟</text>
+    <!-- andalus font comes with Windows 2000 and XP -->
+    <text x="460" y="160" text-anchor="start" xml:lang="ar" font-size="36" font-family="'Diwani Letter'">لماذا لا يتكلمون اللّغة العربية فحسب؟</text>
+    <!-- Diwani fonts come with Microsoft Arabic fonts extension for Office XP
+http://www.microsoft.com/downloads/details.aspx?FamilyID=A83C0E03-8913-47A3-ACB7-8AC357627620&displaylang=AR -->
+    <text x="460" y="240" text-anchor="start" xml:lang="ar" font-size="30" font-family="'Nafees Naskh'">لماذا لا يتكلمون اللّغة العربية فحسب؟</text>
+    <!-- Nafees Nastaleeq and Nafees Naskh are  freely available from 
+  the Center for Research in Urdu Language Processing (CRULP http://www.crulp.org  ) 
+  at the National University of Computer and Emerging Sciences, Pakistan 
+  ( http://www.nu.edu.pk ) -->
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-06-t.svg b/Tests/W3CTestSuite/svg/text-intro-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0e5ac1f9273522a3c2fd01879c060e377e1ec93f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-06-t.svg
@@ -0,0 +1,96 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="CL" status="accepted"
+    version="$Revision: 1.10 $" testname="$RCSfile: text-intro-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+        <p>
+          This test ensures that mandatory ligatures in Arabic are displayed.
+          This test uses WOFF fonts for rendering, with platform fonts for fallback.
+        </p>
+        <p>
+          There are two subtests. The first
+          requires an isolate lam-alef ligature and the second requires
+          a right-joining lam-alef ligature.
+        </p>
+        <p>
+          The first subtest has the word for  'tools', آلات
+          0622:   آ  ARABIC LETTER ALEF WITH MADDA ABOVE
+          0644:   ل  ARABIC LETTER LAM
+          0627:   ا  ARABIC LETTER ALEF
+          062A:   ت  ARABIC LETTER TEH
+        </p>
+        <p>
+          The second subtest has the word for 'three', ثلاثة
+          062B:   ث  ARABIC LETTER THEH
+          0644:   ل  ARABIC LETTER LAM
+          0627:   ا  ARABIC LETTER ALEF
+          062B:   ث  ARABIC LETTER THEH
+          0629:   ة  ARABIC LETTER TEH MARBUTA
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if subtests are displayed as following:
+      </p>
+      <ul>
+        <li>The first subtest has the word for 'tools', آلات</li>
+        <li>The second subtest has the word for 'three', ثلاثة</li>
+      </ul>
+      <p>In the first subtest, there must be an isolate lam-alef ligature 
+      and in the second subtest there must be  a right-joining lam-alef 
+      ligature, (so that them, lam and alef are all connected), as in the reference image.
+      </p>
+      <p>The precise glyph shapes will depend on which font was used for rendering,
+      and do not affect the pass criteria. Only the presence of the 
+      mandatory ligatures is tested here.</p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-06-t.svg,v $</title>
+  <style type="text/css">
+    @font-face {
+      font-family: Scheherezade;
+      src: url(woffs/ScheherazadeRegOT.woff) format("woff")
+      }
+  </style>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="Kayrawan, Scheherezade, Andalus, Diwani Letter, serif" font-size="60" direction="rtl">
+      <path d="M10,120 L470,120" stroke="#BBB" />
+      <path d="M10,240 L470,240" stroke="#BBB" />
+      <text text-anchor="middle" x="240" y="120" font-size="140" xml:lang="ar" fill="#700">آلات</text>
+      <text text-anchor="middle" x="240" y="240" font-size="140" xml:lang="ar" fill="#700">ثلاثة</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.10 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-07-t.svg b/Tests/W3CTestSuite/svg/text-intro-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f474aa99f412f6a8050289dc0756bb6cf3365001
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-07-t.svg
@@ -0,0 +1,65 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="CL" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: text-intro-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#CharactersAndGlyphs">
+      <p>This test ensures that mandatory ligatures in Arabic are displayed.</p>
+      <p>
+        There are two subtests. The first requires an isolate lam-alef ligature
+        and the second requires a right-joining lam-alef ligature.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>Run the test. No interaction required.</p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if subtests are displayed as following:
+      </p>
+      <ul>
+        <li>The first subtest has the word for 'tools', آلات</li>
+        <li>The second subtest has the word for 'three', ثلاثة</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-07-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <g font-family="Andalus,Diwani Letter,serif">
+      <path d="M10,120 L470,120" stroke="#BBB" />
+      <path d="M10,240 L470,240" stroke="#BBB" />
+      <text text-anchor="middle" x="240" y="120" font-size="140" xml:lang="ar" fill="#700">آلات</text>
+      <text text-anchor="middle" x="240" y="240" font-size="140" xml:lang="ar" fill="#700">ثلاثة</text>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
\ No newline at end of file
diff --git a/Tests/W3CTestSuite/svg/text-intro-09-b.svg b/Tests/W3CTestSuite/svg/text-intro-09-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1a39e383cc3fc2c2cf74ff01e1b0c9f0d3051aaa
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-09-b.svg
@@ -0,0 +1,88 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: text-intro-09-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+      <p>
+        Test various aspects of internationalized text, including
+        left-to-right, right-to-left, and the
+        following properties: 'writing-mode',
+        'direction' and 'unicode-bidi'.
+      </p>
+      <p>
+        Various text strings in various languages appear. Test of bidi algorithms and support of 'unicode-bidi' and
+        'direction' properties. Uses Webfonts.
+      </p>
+      <p>
+        This test uses Webfonts; both SVG and WOFF fonts are provided.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required. Make sure scripting is enabled.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the correct characters
+          appear and they appear in the correct order and orientation.
+          Ensure that the three lines with Hebrew are ordered
+          correctly, as shown in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-09-b.svg,v $</title>
+  <defs>
+    <style type="text/css">
+  @font-face {
+      font-family: Ezra SIL SR;
+      src: url(woffs/EzraSILSR.woff) format("woff");
+  }
+    </style>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="SVGHebrew" unicode-range="U+000D-FEFF">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/Heb.svg#SVGHebrew"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="17" fill="blue" x="10" y="40">unicode-bidi="bidi-override" direction="ltr".</text>
+    <g font-size="18" font-family="SVGHebrew, 'Ezra SIL SR', serif">
+      <text x="10" y="80" unicode-bidi="bidi-override" direction="ltr">Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+    </g>
+    <text font-size="17" fill="blue" x="10" y="140">unicode-bidi="bidi-override" direction="rtl".</text>
+    <g font-size="18" font-family="SVGHebrew, 'Ezra SIL SR', serif">
+      <text x="10" y="180" unicode-bidi="bidi-override" direction="rtl" text-anchor="end">Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+    </g>
+    <text font-size="17" fill="blue" x="10" y="240">unicode-bidi="normal" direction="rtl".</text>
+    <g font-size="18" font-family="SVGHebrew, 'Ezra SIL SR', serif">
+      <text x="10" y="280" unicode-bidi="normal" direction="rtl" text-anchor="end">Text "אני יכול לאכול זכוכית וזה לא מזיק לי" is in Hebrew</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-10-f.svg b/Tests/W3CTestSuite/svg/text-intro-10-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..db0b0fb46eec0ab9721ce170b729ab81e16eee70
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-10-f.svg
@@ -0,0 +1,70 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="" author="CL" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: text-intro-10-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+      <p>
+        Tests Arabic text using various platform fonts. If these fonts are not available,
+        a fallback font should be used that has Arabic glyphs. If such a font is not available,
+        the 'missing glyph' (typically an open rectangle) should be displayed. It is an error
+        to display the wrong Arabic glyphs, for example to display all isolate forms.
+      </p>
+      <p>This test uses writing-mode and direction to set the text as right-to-left.</p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The text should be positioned such that the begining of the start of the
+        Arabic text is at very right of the test and runs towards the left of
+        the test border.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-10-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  <g writing-mode="rl" direction="rtl">
+    <text x="460" y="80" text-anchor="start" xml:lang="ar" font-size="30" font-family="Andalus">لماذا لا يتكلمون اللّغة العربية فحسب؟</text>
+    <!-- andalus font comes with Windows 2000 and XP -->
+    <text x="460" y="160" text-anchor="start" xml:lang="ar" font-size="36" font-family="'Diwani Letter'">لماذا لا يتكلمون اللّغة العربية فحسب؟</text>
+    <!-- Diwani fonts come with Microsoft Arabic fonts extension for Office XP
+http://www.microsoft.com/downloads/details.aspx?FamilyID=A83C0E03-8913-47A3-ACB7-8AC357627620&displaylang=AR -->
+    <text x="460" y="240" text-anchor="start" xml:lang="ar" font-size="30" font-family="'Nafees Naskh'">لماذا لا يتكلمون اللّغة العربية فحسب؟</text>
+    <!-- Nafees Nastaleeq and Nafees Naskh are  freely available from 
+  the Center for Research in Urdu Language Processing (CRULP http://www.crulp.org  ) 
+  at the National University of Computer and Emerging Sciences, Pakistan 
+  ( http://www.nu.edu.pk ) -->
+  </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-11-t.svg b/Tests/W3CTestSuite/svg/text-intro-11-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d754b7e3ebfccc1cdbe38a723660b0aae9e7ba72
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-11-t.svg
@@ -0,0 +1,94 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="CL" status="created"
+    version="$Revision: 1.2 $" testname="$RCSfile: text-intro-11-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+    <!-- derived from svg1.1 text-intro-06-t -->
+        <p>
+          This test ensures that mandatory ligatures in Arabic are displayed.
+          Three values for text-anchor are also tested;
+          middle,
+          start and
+          end.
+          This test uses platform fonts for rendering.
+        </p>
+        <p>
+          There are two subtests. The first
+          requires an isolate lam-alef ligature and the second requires
+          a right-joining lam-alef ligature.
+        </p>
+        <p>
+          The first subtest has the word for  'tools', آلات
+          0622:   آ  ARABIC LETTER ALEF WITH MADDA ABOVE
+          0644:   ل  ARABIC LETTER LAM
+          0627:   ا  ARABIC LETTER ALEF
+          062A:   ت  ARABIC LETTER TEH
+        </p>
+        <p>
+          The second subtest has the word for 'three', ثلاثة
+          062B:   ث  ARABIC LETTER THEH
+          0644:   ل  ARABIC LETTER LAM
+          0627:   ا  ARABIC LETTER ALEF
+          062B:   ث  ARABIC LETTER THEH
+          0629:   ة  ARABIC LETTER TEH MARBUTA
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the blue glyphs آ and ث touch the first vertical
+        line. The second vertical line falls in middle of the brown glyphs
+        inbetween آلا and ت and inbetween ثلا and ثة. The black glyphs ت and ة
+        touch the last vertical line.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-11-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="Andalus,Diwani Letter,serif" font-size="60">
+      <path d="M120,10 L120,280" stroke="#BBB"/>
+      <path d="M240,10 L240,280" stroke="#BBB"/>
+      <path d="M360,10 L360,280" stroke="#BBB"/>
+      <path d="M10,120 L470,120" stroke="#BBB"/>
+      <path d="M10,240 L470,240" stroke="#BBB"/>
+      <text text-anchor="middle" x="240" y="120" xml:lang="ar" fill="#700">آلات</text>
+      <text text-anchor="start" x="360" y="120" xml:lang="ar">آلات</text>
+      <text text-anchor="end" x="120" y="120" xml:lang="ar" fill="#009">آلات</text>
+      <text text-anchor="middle" x="240" y="240" xml:lang="ar" fill="#700">ثلاثة</text>
+      <text text-anchor="start" x="360" y="240" xml:lang="ar">ثلاثة</text>
+      <text text-anchor="end" x="120" y="240" xml:lang="ar" fill="#009">ثلاثة</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-intro-12-t.svg b/Tests/W3CTestSuite/svg/text-intro-12-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0d0902f827923165868c2d5ba6a0c6c4c597a259
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-intro-12-t.svg
@@ -0,0 +1,93 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="" author="CL" status="created"
+    version="$Revision: 1.3 $" testname="$RCSfile: text-intro-12-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#Introduction">
+        <p>
+          This test ensures that mandatory ligatures in Arabic are displayed.
+          This test uses downloaded WOFF fonts for rendering.
+        </p>
+        <p>
+          There are two subtests. The first
+          requires an isolate lam-alef ligature and the second requires
+          a right-joining lam-alef ligature.
+        </p>
+        <p>
+          The first subtest has the word for  'tools', آلات
+          0622:   آ  ARABIC LETTER ALEF WITH MADDA ABOVE
+          0644:   ل  ARABIC LETTER LAM
+          0627:   ا  ARABIC LETTER ALEF
+          062A:   ت  ARABIC LETTER TEH
+        </p>
+        <p>
+          The second subtest has the word for 'three', ثلاثة
+          062B:   ث  ARABIC LETTER THEH
+          0644:   ل  ARABIC LETTER LAM
+          0627:   ا  ARABIC LETTER ALEF
+          062B:   ث  ARABIC LETTER THEH
+          0629:   ة  ARABIC LETTER TEH MARBUTA
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if subtests are displayed as following:
+      </p>
+      <ul>
+        <li>The first subtest has the word for 'tools', آلات</li>
+        <li>The second subtest has the word for 'three', ثلاثة</li>
+      </ul>
+      <p>In the first subtest, there must be an isolate lam-alef ligature 
+      and in the second subtest there must be  a right-joining lam-alef 
+      ligature, as in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-intro-12-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <style type="text/css">
+      @font-face {
+        font-family: Scheherazade;
+        src: url(woffs/ScheherazadeRegOT.woff) format("woff");
+      }
+    </style>
+    <g font-family="Scheherazade,serif" font-size="60" direction="rtl">
+      <path d="M10,120 L470,120" stroke="#BBB" />
+      <path d="M10,240 L470,240" stroke="#BBB" />
+      <text text-anchor="middle" x="240" y="120" font-size="140" xml:lang="ar" fill="#700">آلات</text>
+      <text text-anchor="middle" x="240" y="240" font-size="140" xml:lang="ar" fill="#700">ثلاثة</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-path-01-b.svg b/Tests/W3CTestSuite/svg/text-path-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a803ec17b451ffd593dbda99faa2227414d26ebd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-path-01-b.svg
@@ -0,0 +1,87 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="Shenxue Zhou" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: text-path-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextOnAPath">
+      <p>
+        Test textPath element in combination with the tspan element. Properties
+        of the text on a path are changed using the tspan element.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required. Make sure scripting is enabled.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For this test to pass the rendered output must match the reference
+        image. The letters "Te" in first "Text on a path" sentence must be
+        colored pink and offset from the path in the y direction.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-path-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <path id="Path1" fill="none" stroke="blue" d="M199 89.3 C206.6 66.6 235.8 13.2 270 30.3 286.6 38.6 298.9 59.4 310 73.3 321.7 87.9 338.6      99 356 103.3 387.3 111.1 396.6 90.4 418 74.3"/>
+      <path id="Path2" fill="none" stroke="blue" d="M33.5 145.8 C41 123 70.3 69.7 104.5 86.8 121 95 133 116 144.5 129.8 156.2 144.4 173 155.5     190.5 159.8 221.8 167.6 231 146.9 252.5 130.8"/>
+      <path id="Path3" fill="none" stroke="blue" stroke-width="4" d="M113 233 L413 233 "/>
+    </defs>
+    <g id="text-on-path-01">
+      <use xlink:href="#Path1" fill="none" stroke="blue"/>
+      <text font-size="36" font-family="Georgia" fill="black">
+        <textPath xlink:href="#Path1">Text on a path</textPath>
+      </text>
+    </g>
+    <g id="text-on-path-02">
+      <!-- using tspan to change text color and position -->
+      <use xlink:href="#Path2" fill="none" stroke="blue"/>
+      <text font-size="36" font-family="Georgia" fill="black">
+        <textPath xlink:href="#Path2">
+          <tspan dy="-12" fill="fuchsia">Te</tspan><tspan dy="12">x</tspan>t on a path
+        </textPath>
+      </text>
+      <rect x="17" y="169" width="274" height="41" fill="none" stroke="black"/>
+      <text x="19" y="185" font-size="20" font-family="Arial">'tspan' subelement inside </text>
+      <text x="19" y="207" font-size="20" font-family="Arial">the 'textPath' element.</text>
+    </g>
+    <g id="text-on-path-03">
+      <use xlink:href="#Path3" fill="none" stroke="blue" stroke-width="4"/>
+      <text font-size="24" font-family="Arial" fill="black">
+        <textPath xlink:href="#Path3" startOffset="33%">The Text on path</textPath>
+      </text>
+      <rect x="118" y="250" width="260" height="41" fill="none" stroke="black"/>
+      <text x="120" y="267" font-size="20" font-family="Arial">'startOffset' attribute of the</text>
+      <text x="120" y="287" font-size="20" font-family="Arial">'textPath' element.</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-path-02-b.svg b/Tests/W3CTestSuite/svg/text-path-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3513226c26728cd966a58f147355099b7925ed11
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-path-02-b.svg
@@ -0,0 +1,101 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AG" author="ED" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: text-path-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html">
+        <p>
+          This tests the <a>'textPath/startOffset'</a> with both negative and positive values, and
+          compares it to the case where a <a>'tspan/dx'</a> attribute is used with the same values.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required. Make sure scripting is enabled.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        You should see four paths with text following each path.
+        The top two paths should show the text "Negative offset", and the bottom two paths should show the text
+        "Positive offset".
+      </p>
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>the top two paths show the text "Negative offset"</li>
+        <li>the bottom two paths show the text "Positive offset"</li>
+        <li>the text on the bottom two paths starts a bit along the path</li>
+        <li>the text on the top two paths starts close to where the path starts (the first character is allowed to be slightly off the path)</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-path-02-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII, FreeSansWoff, sans-serif" font-size="18">
+    <defs>
+      <style type="text/css">
+      @font-face {
+        font-family: FreeSansWoff;
+        src: url(woffs/FreeSans.woff) format("woff");
+        }
+      </style>
+      <path id="Path1" fill="none" stroke="blue"  d="M199 89.3 C206.6 66.6 235.8 13.2 270 30.3 286.6 38.6 298.9 59.4 310 73.3 321.7 87.9 338.6      99 356 103.3 387.3 111.1 396.6 90.4 418 74.3"/>
+      <path id="Path2" fill="none" stroke="blue"  d="M33.5 145.8 C41 123 70.3 69.7 104.5 86.8 121 95 133 116 144.5 129.8 156.2 144.4 173 155.5     190.5 159.8 221.8 167.6 231 146.9 252.5 130.8"/>
+    </defs>
+    <g id="text-on-path-01">
+      <use xlink:href="#Path1" fill="none" stroke="blue" />
+      <text font-size="36" fill="black" >
+        <textPath xlink:href="#Path1"><tspan dx="-240">Positive offset Negative offset</tspan></textPath>
+      </text>
+    </g>
+    <g id="text-on-path-02">
+      <use xlink:href="#Path2" fill="none" stroke="blue" />
+      <text font-size="36" fill="black" >
+        <textPath xlink:href="#Path2" startOffset="-240">Positive offset Negative offset</textPath>
+      </text>
+    </g>
+    <g transform="translate(0 150)">
+    <g id="text-on-path-03">
+      <use xlink:href="#Path1" fill="none" stroke="blue" />
+      <text font-size="36" fill="black" >
+        <textPath xlink:href="#Path1"><tspan dx="60">Positive offset Negative offset</tspan></textPath>
+      </text>
+    </g>
+    <g id="text-on-path-04">
+      <use xlink:href="#Path2" fill="none" stroke="blue" />
+      <text font-size="36" fill="black" >
+        <textPath xlink:href="#Path2" startOffset="60">Positive offset Negative offset</textPath>
+      </text>
+    </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-spacing-01-b.svg b/Tests/W3CTestSuite/svg/text-spacing-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e90dfcab7057cf305a3cb2e8e5ec5affe5d7e36b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-spacing-01-b.svg
@@ -0,0 +1,79 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 80 60"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: text-spacing-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#SpacingProperties">
+      <p>
+        Test properties 'letter-spacing' and 'word-spacing'
+      </p>
+      <p>
+        The first three lines test property 'letter-spacing', with
+        values 0, -1 and .3em respectively.
+      </p>
+      <p>
+        The next three lines test property 'word-spacing', with
+        values 0, -3 and 3em respectively.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        This test is passed if:
+      </p>
+      <ul>
+        <li>
+          The first three lines of text have the letters in the word
+          "letter-spacing" spaced according to the values 0, -1 and 0.3em
+          respectively.
+        </li>
+        <li>
+          The last three lines of text have the words in the sentence
+          "Two Words" spaced according to the values 0, -3 and 3em respectively.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-spacing-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-family="Arial" font-size="8">
+      <text x="3" y="8"> letter-spacing:0 </text>
+      <text x="3" y="16" letter-spacing="-1">letter-spacing:-1</text>
+      <text x="3" y="24" letter-spacing=".3">letter-spacing:.3</text>
+      <text x="3" y="33">ws:0 - Two Words</text>
+      <text x="3" y="41" word-spacing="-3">ws:-3 - Two Words</text>
+      <text x="3" y="49" word-spacing="3">ws:3 - Two Words</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="6">
+    <text id="revision" x="10" y="57" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="78" height="58" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-01-b.svg b/Tests/W3CTestSuite/svg/text-text-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..19eccf76691fb832f679b9d037045a7eeb9d70c1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-01-b.svg
@@ -0,0 +1,208 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 160 120"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: text-text-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+      <p>
+        Test viewer capibility to handle basic use of 'textLength'
+        and 'lengthAdjust' attributes.
+      </p>
+      <p>
+        There are four pairs of sub-tests.  Each pair of sub-tests consists
+        of the same two strings:  "Line to Stretch" on the left, and "this is
+        a line to squeeze" on the right.
+      </p>
+      <p>
+        The first (topmost) pair contains no occurrences of the textLength and
+        lengthAdjust attributes in the 'text' elements.
+        The pink reference line under each of the top
+        two strings indicates the approximate length of the strings.  Since
+        the lengths are not constrained by the 'textLength' attribute, small
+        variations of the lengths are permissible.
+      </p>
+      <p>
+        The remaining three pairs each applies 'textLength' attributes to the
+        strings.  In the leftmost sub-test of each pair, the 'textLength' value
+        will cause a stretching of the string of approximately 25% over the
+        "normal" length.  In the rightmost sub-test of each pair, the 'textLength' value
+        will cause a squeezing of the string of approximately 20% under the
+        "normal" length for the string.
+      </p>
+      <p>
+        In each of the sub-tests with an application of 'textLength', the
+        pink reference lines indicate the exact extent of the rendered text.
+        The rendered text should fit snugly just within the ticks at the end of
+        the pink lines.
+      </p>
+      <p>
+        The second pair from the top contains 'textLength' but no 'lengthAdjust'
+        attributes.  In this case, the effect should be as if the value "spacing"
+        were specified.  Only the inter-character advancement and inter-word spacing
+        should change.  The aspect ratio of the glyphs should be unaffected.  The
+        reference image illustrates one valid way to achieve this, by a
+        uniform increase or decrease of inter-character advancement.
+      </p>
+      <p>
+        The third pair from the top explicitly sets 'lengthAdjust' value
+        to "spacing".  Therefore it should be rendered identically to the second pair.
+      </p>
+      <p>
+        The fourth (bottommost) sub-test pair explicitly sets 'lengthAdjust' value
+        to "spacingAndGlyphs".  The advancements between characters and words, as well as
+        the glyph aspect ratios should be affected.
+        The reference image illustrates one valid way to achieve
+        this, by a uniform expansion or compression of the string as a whole.
+        This effect is equivalent to application of a "scale(xfactor, 1.0)" transformation
+        to the 'text' elements.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The rendered picture should match the reference image, except as noted in the Test Description.
+        In particular, the 'textLength' constraint must be satisfied precisely,
+        and the basic rules associated with the "spacing" and "spacingAndGlyphs" values
+        of 'lengthAdjust' must be met, but the precise algorithm for meeting all
+        of the required contraints is otherwise unspecified.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="14" y="10" font-size="10" fill="black">Basic test of 'textLength' </text>
+    <text x="10" y="20" font-size="10" fill="black">and 'lengthAdjust' attributes.</text>
+    <!-- Test cases 1&2: all defaults -->
+    <g id="test-1-2">
+      <!-- The text lines -->
+      <g font-size="8" fill="blue">
+        <text x="3" y="30">Line to Stretch</text>
+        <text x="75" y="30">this is a line to squeeze</text>
+      </g>
+      <!-- Length reference lines -->
+      <!-- (half ticks here only, as these lengths can validly vary slightly) -->
+      <g stroke="fuchsia">
+        <line x1="2" y1="32" x2="56" y2="32"/>
+        <!--      <line x1="39" y1="70" x2="39" y2="84" /> -->
+        <line x1="2" y1="32" x2="2" y2="36"/>
+        <!--      <line x1="145" y1="70" x2="145" y2="84" /> -->
+        <line x1="56" y1="32" x2="56" y2="36"/>
+        <line x1="74" y1="32" x2="158" y2="32"/>
+        <!--      <line x1="244" y1="70" x2="244" y2="84" /> -->
+        <line x1="74" y1="32" x2="74" y2="36"/>
+        <!--      <line x1="412" y1="70" x2="412" y2="84" /> -->
+        <line x1="158" y1="32" x2="158" y2="36"/>
+      </g>
+      <!-- Labels -->
+      <g font-size="6" fill="black">
+        <text x="6" y="38">textLength: default</text>
+        <text x="6" y="44">lengthAdjust: default</text>
+        <text x="76" y="38">textLength: default</text>
+        <text x="76" y="44">lengthAdjust: default</text>
+      </g>
+    </g>
+    <!-- Test cases 3&4: define textLength, default lengthAdjust-->
+    <g id="test-3-4" transform="translate(0,22)">
+      <!-- The text lines -->
+      <g font-size="8" fill="blue">
+        <text x="3" y="30" textLength="65">Line to Stretch</text>
+        <text x="75" y="30" textLength="65">this is a line to squeeze</text>
+      </g>
+      <!-- Length reference lines -->
+      <g stroke="fuchsia">
+        <line x1="2" y1="32" x2="69" y2="32"/>
+        <line x1="2" y1="32" x2="2" y2="36"/>
+        <line x1="69" y1="32" x2="69" y2="36"/>
+        <line x1="74" y1="32" x2="141" y2="32"/>
+        <line x1="74" y1="32" x2="74" y2="36"/>
+        <line x1="141" y1="32" x2="141" y2="36"/>
+      </g>
+      <!-- Labels -->
+      <g font-size="6" fill="black">
+        <text x="6" y="38">textLength: 25% longer</text>
+        <text x="6" y="44">lengthAdjust: default</text>
+        <text x="76" y="38">textLength: 15% shorter</text>
+        <text x="76" y="44">lengthAdjust: default</text>
+      </g>
+    </g>
+    <!-- Test cases 5&6: define textLength, lengthAdjust=spacing -->
+    <g id="test-5-6" transform="translate(0,44)">
+      <!-- The text lines -->
+      <g font-size="8" fill="blue">
+        <text x="3" y="30" textLength="65" lengthAdjust="spacing">Line to Stretch</text>
+        <text x="75" y="30" textLength="65" lengthAdjust="spacing">this is a line to squeeze</text>
+      </g>
+      <!-- Length reference lines -->
+      <g stroke="fuchsia">
+        <line x1="2" y1="32" x2="69" y2="32"/>
+        <line x1="2" y1="32" x2="2" y2="36"/>
+        <line x1="69" y1="32" x2="69" y2="36"/>
+        <line x1="74" y1="32" x2="141" y2="32"/>
+        <line x1="74" y1="32" x2="74" y2="36"/>
+        <line x1="141" y1="32" x2="141" y2="36"/>
+      </g>
+      <!-- Labels -->
+      <g font-size="6" fill="black">
+        <text x="3" y="38">textLength: 25% longer</text>
+        <text x="3" y="44">lengthAdjust: spacing</text>
+        <text x="76" y="38">textLength: 15% shorter</text>
+        <text x="76" y="44">lengthAdjust: spacing</text>
+      </g>
+    </g>
+    <!-- Test cases 7&8: define textLength, lengthAdjust=spacingAndGlyphs -->
+    <g id="test-7-8" transform="translate(0,66)">
+      <!-- The text lines -->
+      <g font-size="8" fill="blue">
+        <text x="3" y="30" textLength="65" lengthAdjust="spacingAndGlyphs">Line to Stretch</text>
+        <text x="75" y="30" textLength="65" lengthAdjust="spacingAndGlyphs">this is a line to squeeze</text>
+      </g>
+      <!-- Length reference lines -->
+      <g stroke="fuchsia">
+        <line x1="2" y1="32" x2="69" y2="32"/>
+        <line x1="2" y1="32" x2="2" y2="36"/>
+        <line x1="69" y1="32" x2="69" y2="36"/>
+        <line x1="74" y1="32" x2="141" y2="32"/>
+        <line x1="74" y1="32" x2="74" y2="36"/>
+        <line x1="141" y1="32" x2="141" y2="36"/>
+      </g>
+      <!-- Labels -->
+      <g font-size="6" fill="black">
+        <text x="6" y="38">textLength: 25% longer</text>
+        <text x="6" y="44">lengthAdjust: sAG</text>
+        <text x="76" y="38">textLength: 20% shorter</text>
+        <text x="76" y="44">lengthAdjust: sAG</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="8">
+    <text id="revision" x="10" y="117" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="158" height="118" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-03-b.svg b/Tests/W3CTestSuite/svg/text-text-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5f8617b7cb24ce74cae31b4607c01844b77a461b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-03-b.svg
@@ -0,0 +1,94 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Shenxue Zhou" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: text-text-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+      <p>
+        Test text element, tspan element and various text decorations
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>the word "Plain" is displayed using a blue serif font</li>
+        <li>the word "Italic" is displayed using a blue italic serif font</li>
+        <li>the word "Bold" is displayed using a blue serif bold font</li>
+        <li>the words "Line through" are displayed with a line through, using a pink serif font</li>
+        <li>the word "Underline" is displayed underlined using a blue serif font</li>
+        <li>the words "Bold, italic and underlined" are displayed underlined using a bold italic serif font</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="400">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/FreeSerif.svg#FreeSerif"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="700">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/FreeSerifBold.svg#FreeSerifBold"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="400" font-style="italic">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/FreeSerifItalic.svg#FreeSerifItalic"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="700"  font-style="italic">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/FreeSerifBoldItalic.svg#FreeSerifBoldItalic"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="FreeSerif, serif" font-size="18">
+    <text x="19" y="61" font-size="32" fill="blue">Plain</text>
+    <text x="142" y="61" font-size="32" font-style="italic" fill="blue">Italic</text>
+    <text x="257" y="60" font-size="32" font-weight="bold" fill="blue">Bold</text>
+    <text x="224" y="110" font-size="32" fill="blue" text-decoration="underline">Underline</text>
+    <text x="39" y="147" font-size="32" fill="fuchsia" text-decoration="line-through">Line through</text>
+    <text x="1" y="200" font-size="32" font-style="italic" font-weight="bold" fill="black" text-decoration="underline">Bold, italic and underlined</text>
+    <g>
+      <rect x="50" y="225" width="380" height="64" fill="none" stroke="black" stroke-width="2"/>
+      <g font-family="SVGFreeSansASCII,sans-serif">
+        <text x="55" y="245" font-size="24" fill="black">Each line of text which flows in a </text>
+        <text x="55" y="265" font-size="24" fill="black">rectangular box has to be broken</text>
+        <text x="55" y="285" font-size="24" fill="black">into separated lines.</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-04-t.svg b/Tests/W3CTestSuite/svg/text-text-04-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..aeeb716f2c53fa5f872ca84ddc0d986ed48adfff
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-04-t.svg
@@ -0,0 +1,226 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AE" author="VH" status="accepted"
+    version="$Revision: 1.12 $" testname="$RCSfile: text-text-04-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+        <p>
+          The purpose of this test is to validate proper handling of
+          the text element's x and y attributes.
+          In the various samples, a orange marker shows the text's (0,0)
+          coordinate. The blue markers show the current text positions.
+          These are either defined by absolute x/y positioning or they
+          are computed from the embeded font's glyphs advances.
+        </p>
+        <p>
+          The first text sample shows a reference piece of text.
+        </p>
+        <p>
+          The second text sample (x all) shows a piece of text where
+          all the glyphs are positioned along the x axis.
+        </p>
+        <p>
+          The third text sample (x more) is a text element where there
+          are more x values than characters (5 values for 4 characters).
+          The last x value should be ignored and the result should
+          be the same as the third sample.
+        </p>
+        <p>
+          The fourth text sample (x fewer) is a text element where there
+          are fewer x values than characters (3 values for 4 characters).
+          The last character should not be positioned but laid out normally,
+          following its previous character sibling.
+        </p>
+        <p>
+          The fifth (y all), sixth (y more) and seventh (y fewer) text sample
+          parallel the second,
+          third and fourth test, but for the y attribute values.
+        </p>
+        <p>
+          The samples in the right column show combinations of x/y
+          value sets.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        In all the above tests, blue markers represent the expected glyph
+        positions. The orange markers are showing positions where no glyph
+        should appear. The glyphs are black squares of increasing sizes.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-04-t.svg,v $</title>
+  <style type="text/css">
+  @font-face {
+    font-family: embeded;
+    src: url(woffs/embeded-text-text-04.woff) format("woff");
+    }
+  </style>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+    <font id="embeded" horiz-adv-x="224">
+      <font-face font-family="embeded" units-per-em="1000" ascent="1000" descent="-250" alphabetic="0"/>
+      <missing-glyph horiz-adv-x="800" d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+      <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="750" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+      <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="750" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+      <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="750" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+      <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="750" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+    </font>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g font-size="16">
+      <g id="reference" transform="translate(130, 40)">
+        <text text-anchor="end" x="-30">Reference</text>
+        <g>
+          <use xlink:href="#marker" x="0" fill="#8888FF"/>
+          <use xlink:href="#marker" x="15" fill="#8888FF"/>
+          <use xlink:href="#marker" x="30" fill="#8888FF"/>
+          <use xlink:href="#marker" x="45" fill="#8888FF"/>
+          <text id="ref" font-family="embeded" font-size="20">1234</text>
+        </g>
+      </g>
+      <defs>
+        <rect id="marker" x="-4" y="-4" width="8" height="8"/>
+      </defs>
+      <g id="xAll" transform="translate(130, 80)">
+        <text text-anchor="end" x="-30">x all</text>
+        <use xlink:href="#marker" x="0" fill="orange"/>
+        <use xlink:href="#marker" x="20" fill="#8888FF"/>
+        <use xlink:href="#marker" x="40" fill="#8888FF"/>
+        <use xlink:href="#marker" x="60" fill="#8888FF"/>
+        <use xlink:href="#marker" x="80" fill="#8888FF"/>
+        <text font-family="embeded" font-size="20" x="20 40 60 80">1234</text>
+      </g>
+
+      <g id="xMore" transform="translate(130, 120)">
+        <text text-anchor="end" x="-30">x more</text>
+        <use xlink:href="#marker" x="0" fill="orange"/>
+        <use xlink:href="#marker" x="20" fill="#8888FF"/>
+        <use xlink:href="#marker" x="40" fill="#8888FF"/>
+        <use xlink:href="#marker" x="60" fill="#8888FF"/>
+        <use xlink:href="#marker" x="80" fill="#8888FF"/>
+        <use xlink:href="#marker" x="100" fill="orange"/>
+        <text font-family="embeded" font-size="20" x="20 40 60 80 100">1234</text>
+      </g>
+
+      <g id="xFewer" transform="translate(130, 160)">
+        <text text-anchor="end" x="-30">x fewer</text>
+        <use xlink:href="#marker" x="0" fill="orange"/>
+        <use xlink:href="#marker" x="20" fill="#8888FF"/>
+        <use xlink:href="#marker" x="40" fill="#8888FF"/>
+        <use xlink:href="#marker" x="60" fill="#8888FF"/>
+        <use xlink:href="#marker" x="75" fill="#8888FF"/>
+        <text font-family="embeded" font-size="20" x="20 40 60">1234</text>
+      </g>
+
+      <g id="yAll" transform="translate(130, 200)">
+        <text text-anchor="end" x="-30">y all</text>
+        <use xlink:href="#marker" x="0" y="-10" fill="#8888FF"/>
+        <use xlink:href="#marker" x="15" y="-5" fill="#8888FF"/>
+        <use xlink:href="#marker" x="30" y="5" fill="#8888FF"/>
+        <use xlink:href="#marker" x="45" y="10" fill="#8888FF"/>
+        <text font-family="embeded" font-size="20" y="-10 -5 5 10">1234</text>
+      </g>
+
+      <g id="yMore" transform="translate(130, 250)">
+        <text text-anchor="end" x="-30">y more</text>
+        <use xlink:href="#marker" x="0" y="-10" fill="#8888FF"/>
+        <use xlink:href="#marker" x="15" y="-5" fill="#8888FF"/>
+        <use xlink:href="#marker" x="30" y="5" fill="#8888FF"/>
+        <use xlink:href="#marker" x="45" y="10" fill="#8888FF"/>
+        <text font-family="embeded" font-size="20" y="-10 -5 5 10 20">1234</text>
+      </g>
+
+      <g id="yFewer" transform="translate(130, 300)">
+        <text text-anchor="end" x="-30">y fewer</text>
+        <use xlink:href="#marker" x="0" y="-10" fill="#8888FF"/>
+        <use xlink:href="#marker" x="15" y="-5" fill="#8888FF"/>
+        <use xlink:href="#marker" x="30" y="5" fill="#8888FF"/>
+        <use xlink:href="#marker" x="45" y="5" fill="#8888FF"/>
+        <text font-family="embeded" font-size="20" y="-10 -5 5">1234</text>
+      </g>
+
+      <g transform="translate(220, 0)">
+        <g id="xyAll" transform="translate(130, 80)">
+          <text text-anchor="end" x="-30">x/y all</text>
+          <use xlink:href="#marker" x="0" fill="orange"/>
+          <use xlink:href="#marker" x="20" y="-10" fill="#8888FF"/>
+          <use xlink:href="#marker" x="40" y="-5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="60" y="5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="80" y="10" fill="#8888FF"/>
+          <text font-family="embeded" font-size="20" x="20 40 60 80" y="-10 -5 5 10">1234</text>
+        </g>
+
+        <g id="xyMore" transform="translate(130, 120)">
+          <text text-anchor="end" x="-30">x/y more</text>
+          <use xlink:href="#marker" x="0" fill="orange"/>
+          <use xlink:href="#marker" x="20" y="-10" fill="#8888FF"/>
+          <use xlink:href="#marker" x="40" y="-5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="60" y="5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="80" y="10" fill="#8888FF"/>
+          <use xlink:href="#marker" x="100" y="20" fill="orange"/>
+          <text font-family="embeded" font-size="20" x="20 40 60 80 100" y="-10 -5 5 10 20">1234</text>
+        </g>
+
+        <g id="xyFewer" transform="translate(130, 160)">
+          <text text-anchor="end" x="-30">x/y fewer</text>
+          <use xlink:href="#marker" x="0" fill="orange"/>
+          <use xlink:href="#marker" x="20" y="-10" fill="#8888FF"/>
+          <use xlink:href="#marker" x="40" y="-5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="60" y="5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="75" y="5" fill="#8888FF"/>
+          <text font-family="embeded" font-size="20" x="20 40 60" y="-10 -5 5">1234</text>
+        </g>
+
+        <g id="xAllyFewer" transform="translate(130, 200)">
+          <text text-anchor="end" x="-30">x all y fewer</text>
+          <use xlink:href="#marker" x="0" fill="orange"/>
+          <use xlink:href="#marker" x="20" y="-10" fill="#8888FF"/>
+          <use xlink:href="#marker" x="40" y="-5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="60" y="5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="80" y="5" fill="#8888FF"/>
+          <text font-family="embeded" font-size="20" x="20 40 60 80" y="-10 -5 5">1234</text>
+        </g>
+
+        <g id="xFewerYall" transform="translate(130, 240)">
+          <text text-anchor="end" x="-30">x fewer y all</text>
+          <use xlink:href="#marker" x="0" fill="orange"/>
+          <use xlink:href="#marker" x="20" y="-10" fill="#8888FF"/>
+          <use xlink:href="#marker" x="40" y="-5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="60" y="5" fill="#8888FF"/>
+          <use xlink:href="#marker" x="77.52" y="10" fill="#8888FF"/>
+          <text font-family="embeded" font-size="20" x="20 40 60" y="-10 -5 5 10">1234</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.12 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-05-t.svg b/Tests/W3CTestSuite/svg/text-text-05-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..82affeaca80ccbe0df500c81acec38d3b8892526
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-05-t.svg
@@ -0,0 +1,174 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="VH" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: text-text-05-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+        <p>
+          The purpose of this test is to validate the interaction of text-anchor
+          and x/y glyph positioning.
+        </p>
+        <p>
+          Each row shows a different combination of x/y values: 1, more than characters,
+          fewer than characters. This tests the anchor value: start.
+        </p>
+        <p>
+          The blue markers show the various x/y absolute positions around which text
+          chunks should be anchored. The glyphs are black squares of increasing sizes.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Rendered output must match the reference image for the test to pass.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-05-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <style type="text/css">
+  @font-face {
+    font-family: embeded;
+    src: url(woffs/embeded-text-text-05.woff) format("woff");
+    }
+  </style>
+    <g font-size="16">
+      <defs>
+        <font id="embeded" horiz-adv-x="224">
+          <font-face font-family="embeded" units-per-em="1000" panose-1="0 0 0 0 0 0 0 0 0 0" ascent="917" descent="-250" alphabetic="0"/>
+          <missing-glyph horiz-adv-x="800" d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+          <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="1500" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+          <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+          <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="1500" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+          <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1500" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+        </font>
+
+      </defs>
+
+      <defs>
+        <g id="marker">
+          <line y2="-15" stroke="fuchsia"/>
+          <rect x="-4" y="-4" width="8" height="8"/>
+        </g>
+      </defs>
+
+      <g id="legend" transform="translate(10, 40)">
+        <text y="30">1.x 1.y</text>
+        <text y="60">4.x 1.y</text>
+        <text y="90">2.x 1.y</text>
+        <text y="120">1.x 4.y</text>
+        <text y="150">4.x 4.y</text>
+        <text y="180">2.x 4.y</text>
+        <text y="210">1.x 2.y</text>
+        <text y="240">4.x 2.y</text>
+        <text y="270">2.x 2.y</text>
+      </g>
+
+      <g id="anchorStart" text-anchor="start" transform="translate(150, 40)">
+        <text y="-17" text-anchor="middle">text-anchor</text>
+        <text y="-3" text-anchor="middle">start</text>
+        <line x1="0" y1="10" x2="0" y2="290" stroke="fuchsia"/>
+
+        <g id="textContent">
+          <!-- 1.x 1.y -->
+          <use y="30" xlink:href="#marker" fill="#8888ff"/>
+          <text x="0" y="30" font-family="embeded" font-size="10">1234</text>
+
+          <!-- 4.x 1.y : four text chunks -->
+          <use x="10" y="60" xlink:href="#marker" fill="#8888ff"/>
+          <use x="20" y="60" xlink:href="#marker" fill="#8888ff"/>
+          <use x="30" y="60" xlink:href="#marker" fill="#8888ff"/>
+          <use x="40" y="60" xlink:href="#marker" fill="#8888ff"/>
+          <text x="10 20 30 40" y="60" font-family="embeded" font-size="10">1234</text>
+
+          <!-- 2.x 1.y : two text chunks -->
+          <use x="10" y="90" xlink:href="#marker" fill="#8888ff"/>
+          <use x="60" y="90" xlink:href="#marker" fill="#8888ff"/>
+          <text x="10 60" y="90" font-family="embeded" font-size="10">1234</text>
+
+          <!-- 1.x 4.y : four text chunks -->
+          <g transform="translate(0, 120)">
+            <use x="0" y="-10" xlink:href="#marker" fill="#8888ff"/>
+            <use x="15" y="-5" xlink:href="#marker" fill="#8888ff"/>
+            <use x="30" y="5" xlink:href="#marker" fill="#8888ff"/>
+            <use x="45" y="10" xlink:href="#marker" fill="#8888ff"/>
+            <text x="0" y="-10 -5 5 10" font-family="embeded" font-size="10">1234</text>
+          </g>
+
+          <!-- 4.x 4.y : four text chunks -->
+          <g transform="translate(0, 150)">
+            <use x="10" y="-10" xlink:href="#marker" fill="#8888ff"/>
+            <use x="20" y="-5" xlink:href="#marker" fill="#8888ff"/>
+            <use x="30" y="5" xlink:href="#marker" fill="#8888ff"/>
+            <use x="40" y="10" xlink:href="#marker" fill="#8888ff"/>
+            <text x="10 20 30 40" y="-10 -5 5 10" font-family="embeded" font-size="10">1234</text>
+          </g>
+
+          <!-- 2.x 4.y : four text chunks -->
+          <g transform="translate(0, 180)">
+            <use x="10" y="-10" xlink:href="#marker" fill="#8888ff"/>
+            <use x="20" y="-5" xlink:href="#marker" fill="#8888ff"/>
+            <use x="35" y="5" xlink:href="#marker" fill="#8888ff"/>
+            <use x="50" y="10" xlink:href="#marker" fill="#8888ff"/>
+            <text x="10 20" y="-10 -5 5 10" font-family="embeded" font-size="10">1234</text>
+          </g>
+
+          <!-- 1.x 2.y : two text chunks -->
+          <g transform="translate(0, 210)">
+            <use x="0" y="-10" xlink:href="#marker" fill="#8888ff"/>
+            <use x="15" y="5" xlink:href="#marker" fill="#8888ff"/>
+            <text x="0" y="-10 5" font-family="embeded" font-size="10">1234</text>
+          </g>
+
+          <!-- 4.x 2.y : four text chunks -->
+          <g transform="translate(0, 240)">
+            <use x="10" y="-10" xlink:href="#marker" fill="#8888ff"/>
+            <use x="20" y="-5" xlink:href="#marker" fill="#8888ff"/>
+            <use x="30" y="-5" xlink:href="#marker" fill="#8888ff"/>
+            <use x="40" y="-5" xlink:href="#marker" fill="#8888ff"/>
+            <text x="10 20 30 40" y="-10 -5" font-family="embeded" font-size="10">1234</text>
+          </g>
+
+          <!-- 2.x 2.y : two text chunks -->
+          <g transform="translate(0, 270)">
+            <use x="10" y="-10" xlink:href="#marker" fill="#8888ff"/>
+            <use x="60" y="-5" xlink:href="#marker" fill="#8888ff"/>
+            <text x="10 60" y="-10 -5" font-family="embeded" font-size="10">1234</text>
+          </g>
+
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-06-t.svg b/Tests/W3CTestSuite/svg/text-text-06-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..abefbc57c0b84a41ee7655cac9f40a6f67e65e4a
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-06-t.svg
@@ -0,0 +1,152 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AE" author="VH" status="accepted"
+    version="$Revision: 1.9 $" testname="$RCSfile: text-text-06-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+        <p>
+          The purpose of this test is to validate the interaction of x/y
+          glyph positioning and ligatures.
+        </p>
+        <p>
+          The first line shows an example where there is a ligature (fi) which
+          should be accounted for before breaking into text chunks (see specification
+          section 10.5, additional x/y/dx/dy processing rules, bullet discussing
+          ligatures). In this first line, the ligatures cause the x position 180
+          (shown in orange), to be ignored. As a result, a glyph should be shown over
+          each pale blue square markers. The glyphs are black squares of increasing sizes
+          except for the initial ligature which has the form of two small black triangles
+          joined at their tops. The ligature should show on the first pale blue
+          marker position.
+        </p>
+        <p>
+          The second line shows the same test but using multiple y positions.
+        </p>
+        <p>
+          The third line shows the same test but using multiple x and y
+          positions.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>
+          The bottom left hand corners of the first row of black squares are
+          equal distance apart along the x axis and are centered inside the blue
+          squares.
+        </li>
+        <li>
+          The bottom left hand corners of the first row of black squares are
+          equal distance apart along the x and y axis and are centered inside
+          the blue squares.
+        </li>
+        <li>
+          The bottom left hand corners of the first row of black squares are
+          same distance apart in the x axis as the first row of squares and are
+          same distance apart in the y axis as the second row of squares.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-06-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <style type="text/css">
+  @font-face {
+    font-family: embeded;
+    src: url(woffs/embeded-text-text-06.woff) format("woff");
+    }
+  </style>
+    <g font-size="10">
+      <defs>
+        <font id="embeded" horiz-adv-x="224">
+          <font-face font-family="embeded" units-per-em="1000" panose-1="0 0 0 0 0 0 0 0 0 0" ascent="917" descent="-250" alphabetic="0"/>
+          <missing-glyph horiz-adv-x="800" d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+          <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="1500" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+          <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+          <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="1500" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+          <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1500" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+          <glyph unicode="fi" glyph-name="fi" horiz-adv-x="1500" d="M 0 0 L 500 0 L 0 700 L 500 700 Z"/>
+        </font>
+      </defs>
+
+      <defs>
+        <g id="marker">
+          <line y2="-15" stroke="orange"/>
+          <rect x="-4" y="-4" width="8" height="8"/>
+        </g>
+      </defs>
+
+      <g transform="translate(20, 30)">
+        <g id="legend" transform="translate(10, 40)" font-size="12">
+          <text>x positioning</text>
+          <text y="40">y positioning</text>
+          <text y="140">x/y positioning</text>
+        </g>
+
+        <g transform="translate(100, 40)">
+          <use xlink:href="#marker" x="10" fill="#8888ff"/>
+          <use xlink:href="#marker" x="180" fill="orange"/>
+          <use xlink:href="#marker" x="40" fill="#8888ff"/>
+          <use xlink:href="#marker" x="70" fill="#8888ff"/>
+          <use xlink:href="#marker" x="100" fill="#8888ff"/>
+          <use xlink:href="#marker" x="130" fill="#8888ff"/>
+          <text x="10 180 40 70 100 130" y="0" font-family="embeded">fi1234</text>
+        </g>
+
+        <g transform="translate(100, 80)">
+          <use xlink:href="#marker" y="-10" fill="#8888ff"/>
+          <use xlink:href="#marker" x="15" y="50" fill="orange"/>
+          <use xlink:href="#marker" x="15" y="0" fill="#8888ff"/>
+          <use xlink:href="#marker" x="30" y="10" fill="#8888ff"/>
+          <use xlink:href="#marker" x="45" y="20" fill="#8888ff"/>
+          <use xlink:href="#marker" x="60" y="30" fill="#8888ff"/>
+          <text y="-10 50 0 10 20 30" x="0" font-family="embeded">fi1234</text>
+        </g>
+
+        <g transform="translate(100, 180)">
+          <use xlink:href="#marker" x="10" y="-10" fill="#8888ff"/>
+          <use xlink:href="#marker" x="180" y="50" fill="orange"/>
+          <use xlink:href="#marker" x="40" y="0" fill="#8888ff"/>
+          <use xlink:href="#marker" x="70" y="10" fill="#8888ff"/>
+          <use xlink:href="#marker" x="100" y="20" fill="#8888ff"/>
+          <use xlink:href="#marker" x="130" y="30" fill="#8888ff"/>
+          <text x="10 180 40 70 100 130" y="-10 50 0 10 20 30" font-family="embeded">fi1234</text>
+        </g>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-07-t.svg b/Tests/W3CTestSuite/svg/text-text-07-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a4ff44578ac9e7acc044689305f6326c12ec342b
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-07-t.svg
@@ -0,0 +1,79 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AE" author="MI" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: text-text-07-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+        <p>
+          Tests multiple x, y, rotate, with various combinations. Since an
+          array of values is given, each glyph must use the value from the
+          corresponding character in the list.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>
+          Each letter in the word "ROTATE" is rotated 10
+          degrees more than the previous letter, with the first letter being
+          rotated at 0 degrees.
+        </li>
+        <li>
+          Each letter in the word "Multi XY" (including the white space) is
+          shifted in the x and y by 20 pixels more (in user space) than the
+          previous letter, with the first letter beginning at coordinate
+          240, 60.
+        </li>
+        <li>
+          Each letter in the word "Both Together" (including the space) is
+          rotated and shifted. Each of the rotated letters is rotated -10
+          degrees more than the previous letter, with the first letter being
+          rotated a 0 degrees. Each of the shifted letters is shifted by 20
+          pixels more than the previous letter in the x direction and -10 pixels
+          more than the previous letter in the y direction, with the first
+          letter beginning at the coordinate 10, 300.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-07-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="240 260 280 300 320 340 360" y="60 80 100 120 140 160 180 200" font-size="35">Multi X Y</text>
+    <text x="10" y="60" rotate="0 10 20 30 40 50 60" font-size="35">ROTATE</text>
+    <text x="10 30 50 70 90 110 130 150 170 190 210 230 250" y="300 290 280 270 260 250 240 230 220 210 200 190 180" rotate="0 -10 -20 -30 -40 -50 -60 -70 -80 -90 -100 -110 -120" font-size="35">Both Together</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-08-b.svg b/Tests/W3CTestSuite/svg/text-text-08-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b3938c1d3023aa7a469266de03323557151d0ae6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-08-b.svg
@@ -0,0 +1,64 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="DJ" author="SH" status="accepted"
+    version="$Revision" testname="$RCSfile: text-text-08-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+      <p>
+        The three opacity properties (fill-opacity,
+        stroke-opacity, and opacity) of 'text' elements are
+        covered in this test.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>The text "Normal Text" has a pink stroke with no opacity and a blue fill with no opacity.</li>
+        <li>The text "Fill Opacity" has a pink stroke with no opacity and a blue fill with 50% opacity.</li>
+        <li>The text "Stroke Opacity" has a pink stroke with 50% opacity and a blue fill with no opacity.</li>
+        <li>The text "Opacity" has a pink stroke and a blue fill both with 50% opacity.</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-08-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="19" y="60" font-size="64" font-family="Verdana" fill="blue" stroke="fuchsia" stroke-width="2">Normal Text</text>
+    <text x="19" y="120" font-size="64" font-family="Verdana" fill="blue" stroke="fuchsia" stroke-width="2" fill-opacity="0.50">Fill opacity</text>
+    <text x="19" y="180" font-size="64" font-family="Verdana" fill="blue" stroke="fuchsia" stroke-width="2" stroke-opacity="0.50">Stroke opacity</text>
+    <text x="19" y="240" font-size="64" font-family="Verdana" fill="blue" stroke="fuchsia" stroke-width="2" opacity="0.50">Opacity</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-09-t.svg b/Tests/W3CTestSuite/svg/text-text-09-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..41b5ee1dbea368e13f3299e24f8e10d9747df8cd
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-09-t.svg
@@ -0,0 +1,83 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="AE" author="CL" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: text-text-09-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+      <p>
+        Tests multiple x, y, rotate, with various combinations. Since an
+        array of values is given, each glyph must use the value from the
+        corresponding character in the list. In this test, there are less values
+        in the array than there are characters.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if:
+      </p>
+      <ul>
+        <li>
+          In the word "ROTATE", each of the letters "ROTA" is rotated 10
+          degrees more than the previous letter, with the first letter being
+          rotated at 0 degrees. The letters "TE" have the same 30 degree rotation.
+        </li>
+        <li>
+          The first 5 letters in the word "MultiXY" are shifted in the x and y
+          by 20 pixels more (in user space) than the previous letter, with the
+          first letter beginning at coordinate 240, 60. The letters 'X' and 'Y'
+          will have the same y coordinate as the letter 'i' in "Multi".
+        </li>
+        <li>
+          The first 10 letters (including the space) in the word "Both Together"
+          are rotated and shifted. Each of the rotated letters is rotated -10
+          degrees more than the previous letter, with the first letter being
+          rotated a 0 degrees. Subsequent letters after the first 10 rotated at
+          -90 degrees. Each of the shifted letters is shifted by 20 pixels more
+          than the previous letter in the x direction and -10 pixels more than
+          the previous letter in the y direction, with the first letter
+          beginning at the coordinate 10, 300. Subsequent letters after the
+          first 10 will have the same y coordinate as the letter 't' is
+          "Together".
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-09-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="240 260 280 300" y="60 80 100 120 140" font-size="35">Multi X Y</text>
+    <text x="10" y="60" rotate="0 10 20 30" font-size="35">ROTATE</text>
+    <text x="10 30 50 70 90 110 130 150" y="300 290 280 270 260 250 240 230" rotate="0 -10 -20 -30 -40 -50 -60 -70 -80 -90" font-size="35">Both Together</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-10-t.svg b/Tests/W3CTestSuite/svg/text-text-10-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..57b0e1b9bcdf2e4fe83dca2200ddb99b179561c6
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-10-t.svg
@@ -0,0 +1,76 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: text-text-10-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+      <p>
+        Test rendering of text rotated by a transform attribute.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if the image shows text rotated by various different angles, the result should closely match the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-10-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text transform="rotate(90) translate(120 -100)" text-anchor="middle">Rotated 90 degrees</text>
+    <text transform="rotate(-90) translate(-120 140)" text-anchor="middle">Rotated -90 degrees</text>
+    <text transform="rotate(180) translate(-120 -250)" text-anchor="middle">Rotated 180 degrees</text>
+    <text transform="rotate(360) translate(120 230)" text-anchor="middle">Unrotated text</text>
+    <text transform="translate(250 180) rotate(85 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(75 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(65 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(55 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(45 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(35 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(25 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(15 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(5 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(-5 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(-15 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(-25 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(-35 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(-45 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(-55 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(-65 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(-75 0 0)">Rotated by 10 degrees</text>
+    <text transform="translate(250 180) rotate(-85 0 0)">Rotated by 10 degrees</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-11-t.svg b/Tests/W3CTestSuite/svg/text-text-11-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0316cbd7507e83268814e8be8b57cbc53cbae2b7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-11-t.svg
@@ -0,0 +1,81 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.3 $" testname="$RCSfile: text-text-11-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+      <p>
+        Test rendering of text rotated by a transform attribute, same as the text-text-10-t test but not using an SVGFont.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if the image shows text rotated by various different angles, the result should closely match the reference image, but note that the font is allowed
+        be different from the font used in the reference image.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-11-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  
+    <!-- Note that picking a platform font (sans-serif) is one of the main purposes of this test -->
+    <g font-family="sans-serif">
+      <text transform="rotate(90) translate(120 -100)" text-anchor="middle">Rotated 90 degrees</text>
+      <text transform="rotate(-90) translate(-120 140)" text-anchor="middle">Rotated -90 degrees</text>
+      <text transform="rotate(180) translate(-120 -250)" text-anchor="middle">Rotated 180 degrees</text>
+      <text transform="rotate(360) translate(120 230)" text-anchor="middle">Unrotated text</text>
+      <text transform="translate(250 180) rotate(85 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(75 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(65 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(55 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(45 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(35 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(25 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(15 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(5 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(-5 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(-15 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(-25 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(-35 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(-45 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(-55 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(-65 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(-75 0 0)">Rotated by 10 degrees</text>
+      <text transform="translate(250 180) rotate(-85 0 0)">Rotated by 10 degrees</text>
+    </g>
+    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.3 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved 
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-text-12-t.svg b/Tests/W3CTestSuite/svg/text-text-12-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..0fb521c4b5410a92750e77e26a517e4e8bded621
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-text-12-t.svg
@@ -0,0 +1,186 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="VH" status="issue"
+    version="$Revision: 1.1 $" testname="$RCSfile: text-text-12-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextElement">
+    		<p>ISSUE: the glyphs don't cover the entire em-cell, and the spec doesn't require visual alignment - text adjustments are based on advances</p>
+        <p>
+          The purpose of this test is to validate the interaction of text-anchor
+          and x/y glyph positioning.
+        </p>
+        <p>
+          Each row shows a different combination of x/y values: 1, more than characters,
+          fewer than characters. Each column shows different anchor values: middle
+          and end.
+        </p>
+        <p>
+          The blue markers show the various x/y absolute positions around which text
+          chunks should be anchored. The glyphs are black squares of increasing sizes.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Rendered output must match the reference image for the test to pass.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-text-12-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <style type="text/css">
+  @font-face {
+    font-family: embeded;
+    src: url(woffs/embeded-text-text-05.woff) format("woff");
+    }
+  </style>
+    <g font-size="16">
+      <defs>
+        <font id="embeded" horiz-adv-x="224">
+          <font-face font-family="embeded" units-per-em="1000" panose-1="0 0 0 0 0 0 0 0 0 0" ascent="917" descent="-250" alphabetic="0"/>
+          <missing-glyph horiz-adv-x="800" d="M50 0V800H750V0H50ZM700 50V750H100V50H700Z"/>
+          <glyph unicode="1" glyph-name="gl_1" horiz-adv-x="1500" d="M 0 0 L 250 0 L 250 250 L 0 250 Z"/>
+          <glyph unicode="2" glyph-name="gl_2" horiz-adv-x="1500" d="M 0 0 L 500 0 L 500 500 L 0 500 Z"/>
+          <glyph unicode="3" glyph-name="gl_3" horiz-adv-x="1500" d="M 0 0 L 750 0 L 750 750 L 0 750 Z"/>
+          <glyph unicode="4" glyph-name="gl_4" horiz-adv-x="1500" d="M 0 0 L 1000 0 L 1000 1000 L 0 1000 Z"/>
+        </font>
+
+      </defs>
+
+      <defs>
+        <g id="marker">
+          <line y2="-15" stroke="fuchsia"/>
+          <rect x="-4" y="-4" width="8" height="8"/>
+        </g>
+      </defs>
+
+      <g id="legend" transform="translate(10, 40)">
+        <text y="30">1.x 1.y</text>
+        <text y="60">4.x 1.y</text>
+        <text y="90">2.x 1.y</text>
+        <text y="120">1.x 4.y</text>
+        <text y="150">4.x 4.y</text>
+        <text y="180">2.x 4.y</text>
+        <text y="210">1.x 2.y</text>
+        <text y="240">4.x 2.y</text>
+        <text y="270">2.x 2.y</text>
+      </g>
+			
+			<defs>
+	      <g id="textContent">
+	        <!-- 1.x 1.y -->
+	        <use y="30" xlink:href="#marker" fill="#8888ff"/>
+	        <text x="0" y="30" font-family="embeded" font-size="10">1234</text>
+	
+	        <!-- 4.x 1.y : four text chunks -->
+	        <use x="10" y="60" xlink:href="#marker" fill="#8888ff"/>
+	        <use x="20" y="60" xlink:href="#marker" fill="#8888ff"/>
+	        <use x="30" y="60" xlink:href="#marker" fill="#8888ff"/>
+	        <use x="40" y="60" xlink:href="#marker" fill="#8888ff"/>
+	        <text x="10 20 30 40" y="60" font-family="embeded" font-size="10">1234</text>
+	
+	        <!-- 2.x 1.y : two text chunks -->
+	        <use x="10" y="90" xlink:href="#marker" fill="#8888ff"/>
+	        <use x="60" y="90" xlink:href="#marker" fill="#8888ff"/>
+	        <text x="10 60" y="90" font-family="embeded" font-size="10">1234</text>
+	
+	        <!-- 1.x 4.y : four text chunks -->
+	        <g transform="translate(0, 120)">
+	          <use x="0" y="-10" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="15" y="-5" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="30" y="5" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="45" y="10" xlink:href="#marker" fill="#8888ff"/>
+	          <text x="0" y="-10 -5 5 10" font-family="embeded" font-size="10">1234</text>
+	        </g>
+	
+	        <!-- 4.x 4.y : four text chunks -->
+	        <g transform="translate(0, 150)">
+	          <use x="10" y="-10" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="20" y="-5" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="30" y="5" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="40" y="10" xlink:href="#marker" fill="#8888ff"/>
+	          <text x="10 20 30 40" y="-10 -5 5 10" font-family="embeded" font-size="10">1234</text>
+	        </g>
+	
+	        <!-- 2.x 4.y : four text chunks -->
+	        <g transform="translate(0, 180)">
+	          <use x="10" y="-10" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="20" y="-5" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="35" y="5" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="50" y="10" xlink:href="#marker" fill="#8888ff"/>
+	          <text x="10 20" y="-10 -5 5 10" font-family="embeded" font-size="10">1234</text>
+	        </g>
+	
+	        <!-- 1.x 2.y : two text chunks -->
+	        <g transform="translate(0, 210)">
+	          <use x="0" y="-10" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="15" y="5" xlink:href="#marker" fill="#8888ff"/>
+	          <text x="0" y="-10 5" font-family="embeded" font-size="10">1234</text>
+	        </g>
+	
+	        <!-- 4.x 2.y : four text chunks -->
+	        <g transform="translate(0, 240)">
+	          <use x="10" y="-10" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="20" y="-5" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="30" y="-5" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="40" y="-5" xlink:href="#marker" fill="#8888ff"/>
+	          <text x="10 20 30 40" y="-10 -5" font-family="embeded" font-size="10">1234</text>
+	        </g>
+	
+	        <!-- 2.x 2.y : two text chunks -->
+	        <g transform="translate(0, 270)">
+	          <use x="10" y="-10" xlink:href="#marker" fill="#8888ff"/>
+	          <use x="60" y="-5" xlink:href="#marker" fill="#8888ff"/>
+	          <text x="10 60" y="-10 -5" font-family="embeded" font-size="10">1234</text>
+	        </g>
+	      </g>
+			</defs>
+			
+      <g id="anchorMiddle" text-anchor="middle" transform="translate(250, 40)">
+        <text y="-17" text-anchor="middle">text-anchor</text>
+        <text y="-3" text-anchor="middle">middle</text>
+        <line x1="0" y1="10" x2="0" y2="290" stroke="fuchsia"/>
+        <use xlink:href="#textContent"/>
+      </g>
+
+      <g id="anchorEnd" text-anchor="end" transform="translate(350, 40)">
+        <text y="-17" text-anchor="middle">text-anchor</text>
+        <text y="-3" text-anchor="middle">end</text>
+        <line x1="0" y1="10" x2="0" y2="290" stroke="fuchsia"/>
+        <use xlink:href="#textContent"/>
+      </g>
+
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-tref-01-b.svg b/Tests/W3CTestSuite/svg/text-tref-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..10a53a0fd8d885210b6bd2df5142ca27ff15a593
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-tref-01-b.svg
@@ -0,0 +1,73 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: text-tref-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TRefElement">
+        <p>
+          Test viewer capability to handle a basic 'tref' element
+          which points to a text string in an external file.
+        </p>
+        <p>
+          The test case consists of a single sub-test.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The box in the middle of the frame should
+        contain green "Simple external referenced text.",
+        which is obtained by a 'tref' element reference to a 'text' element in a 'defs'
+        section of another file (text-extTref-BE-18-targ.svg).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-tref-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Test case label -->
+    <text x="75" y="25" font-size="12" fill="blue">Test 'tref' element with an external referenced string.</text>
+    <!-- External tref reference, to another file -->
+    <text x="75" y="200" font-size="18" fill="green">
+      <tref xlink:href="../images/text-extTref-BE-18-targ.svg#tref-external-reference"/>
+    </text>
+    <rect x="73" y="183" width="260" height="22" fill="none" stroke="black"/>
+    <text x="73" y="217" font-size="12" fill="black">'tref' to a string in another file</text>
+    <!-- Patch code -->
+    <!--
+	<text x="75" y="200" font-size="18" fill="green" >
+	Simple external referenced text.
+	</text>
+-->
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-tref-02-b.svg b/Tests/W3CTestSuite/svg/text-tref-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7773c95e15c73feefcf6c55da518bb9bf8750593
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-tref-02-b.svg
@@ -0,0 +1,79 @@
+<!DOCTYPE svg [
+<!ATTLIST bar id ID #REQUIRED>
+]>
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: text-tref-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TRefElement">
+        <p>
+          Test viewer capability to handle  'tref' elements
+          which point to text strings outside the current SVG document fragment.
+        </p>
+        <p>
+          The test case consists of two sub-tests; one results in the word "Hello" and the second, the word "World".
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the phrase "Hello World" is displayed, in green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-tref-02-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Test case label -->
+    <text x="75" y="25" font-family="SVGFreeSansASCII,sans-serif" font-size="12" fill="blue">Test 'tref' element pointing outside the SVG document fragment.</text>
+
+    <text x="75" y="200" font-size="36" font-family="SVGFreeSansASCII,sans-serif" fill="green">
+      <tref xlink:href="#hello"/>
+     <tref xlink:href="#world"/>
+    </text>
+<!-- now make a new SVG document fragment, and hide it from being rendered -->
+<defs>
+  <foreignObject>
+    <svg>
+	<text id="hello">Hello</text>
+    </svg>
+  </foreignObject>
+</defs>
+<!-- and another way to make a separate document fragment -->
+<foo xmlns="http://example.org/foo">
+  <bar id="world">World</bar>
+</foo>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-tref-03-b.svg b/Tests/W3CTestSuite/svg/text-tref-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ba05e5d5324c1610fb87a3f7a76bc14dc036fb14
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-tref-03-b.svg
@@ -0,0 +1,71 @@
+<!DOCTYPE svg [
+<!ATTLIST bar id ID #REQUIRED>
+]>
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="Chris Lilley" status="accepted"
+    version="$Revision: 1.4 $" testname="$RCSfile: text-tref-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TRefElement">
+        <p>
+          Test viewer capability to handle  'tref' elements
+          which point to elements that have children. The flattened text content is to be used.
+        </p>
+        <p>
+          The test case consists of one sub-test; it results in the word "Flattened" being displayed.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">      
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if the phrase "Flattened" is displayed, all in green and at the same font size.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-tref-03-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <!-- Test case label -->
+    <text x="75" y="25" font-family="SVGFreeSansASCII,sans-serif" font-size="12" fill="blue">Test 'tref' element uses flattened textContent.</text>
+
+    <text x="75" y="200" font-size="36" font-family="SVGFreeSansASCII,sans-serif" fill="green">
+      <tref xlink:href="#hello"/>
+    </text>
+<!-- now make a new SVG document fragment, and hide it from being rendered -->
+<defs>
+	<text id="hello">F<tspan fill="blue">l</tspan><tspan fill="red" font-size="100">a</tspan><tspan fill="yellow">t<tspan fill="lime">t</tspan></tspan><tspan fill="orange" dx="50">e</tspan><tspan fill="purple">n</tspan><tspan fill="red">e</tspan><tspan fill="black">d</tspan></text>
+</defs>
+
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-tselect-01-b.svg b/Tests/W3CTestSuite/svg/text-tselect-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b3a3cb0e47b76a722569023346ad09ff39d12ecb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-tselect-01-b.svg
@@ -0,0 +1,74 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Jon Ferraiolo" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: text-tselect-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextSelection">
+      <p>
+        Test text selection.
+      </p>
+      <p>
+        Run the test. Make a text selection in the upper block of text, and verify that text selection is possible and that the selection does not extend across multiple lines. Now make a text selection in the lower block of text, verifying that the selection <em>does</em> extend over multiple lines.
+
+Thus, it should
+        be possible to start text selection at the start of the "However"
+        and drag through the end of "same time." and the all four lines
+        should be selected.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+          For basic viewers conformant acion is as described above if there
+          is a text selection mechanism.  Since text selection is optional
+          on a basic device if text selection is not implemented then this
+          test is a pass, move on to the next test.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-tselect-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text font-size="16" x="10" y="20">Test single line and multiline text selection.</text>
+    <g font-size="16">
+      <text x="25" y="65">Here is a stand-alone 'text' element.</text>
+      <text x="25" y="90">Here is a second 'text' element just below.</text>
+      <text x="25" y="115">Because these are four separate 'text' elements,</text>
+      <text x="25" y="140">text selection should not go across lines here.</text>
+      <text>
+        <tspan x="25" y="190">However, these lines of text are achieved by using</tspan>
+        <tspan x="25" y="215">one 'tspan' per line, all contained within the same</tspan>
+        <tspan x="25" y="240">'text' element, so you should be able to select all</tspan>
+        <tspan x="25" y="265">four lines at the same time.</tspan>
+      </text>
+    </g>
+    <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.8 $</text>
+    <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  </g>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-tselect-02-f.svg b/Tests/W3CTestSuite/svg/text-tselect-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..12be0f93f58d692c2ac1673134ff9c9bcfa2e2bc
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-tselect-02-f.svg
@@ -0,0 +1,146 @@
+<svg version="1.1" baseProfile="full" onload="doSelection(0,0);" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: text-tselect-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextSelection">
+      <p>
+        This test demonstrates text selection of bidirectional text.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The initial result should be that the first 9 characters in logical order
+        starting from logical position 0 are selected.
+      </p>
+      <p>
+        Visually the selection is discontigous and these substrings must be selected (listed in visual order):
+      </p>
+      <p>
+        "abc"
+      </p>
+      <p>
+        the space between "c" and "ו"
+      </p>
+      <p>
+        "1"
+      </p>
+      <p>
+        the space between "3" and "ג"
+      </p>
+      <p>
+        "אבג"
+      </p>
+      <p>
+        If only the substrings listed above were selected then the test has passed.
+      </p>
+      <p>
+        A user agent that allows selecting text in logical order would have generated the same selection
+        as in this testcase if the user started the selection on the character "a" and ended it on the
+        character "1".
+
+        A user agent that allows selecting text in visual order would not have a discontigous selection
+        if the user started the selection on the character "a" and ended it on the character "1". The copied
+        text would be discontigous instead in this case.
+
+        Note that the SVG DOM method requires logical order text selection, so for both types of user agents
+        this testcase must look the same.
+      </p>
+      <p>
+        The testcase also shows what happens when the selection is modified via DOM (click the buttons below
+        the bidi-text). Compliant viewers must throw an exception when the first parameter handed
+        to SVGTextContentElement.selectSubString is out-of-range.
+        That means the variable 'startIndex' must always be in the range 0 &lt;= startIndex &lt;= 18.
+        It can be noted that the parameter 'numChars' is not restricted in this way.
+      </p>
+      <p>
+        Note that the color of the text selection is UA dependent and not defined in the SVG specification.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-tselect-02-f.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <script>
+        var startIndex = 0;
+        var numChars = 9;
+
+        function doSelection(indexDelta, numCharsDelta)
+        {
+        try
+        {
+        document.getElementById('text').selectSubString(startIndex+indexDelta, numChars+numCharsDelta);
+        }
+        catch(e)
+        {
+        if(e.code == DOMException.INDEX_SIZE_ERR)
+        {
+        // If there was an error, re-select the last range
+        document.getElementById('text').selectSubString(startIndex, numChars);
+        return;
+        }
+        }
+
+        startIndex += indexDelta;
+        numChars += numCharsDelta;
+
+        document.getElementById('info').firstChild.data = "StartIndex: " + startIndex + ". NumChars: " + numChars;
+        }
+      </script>
+    </defs>
+
+    <g transform="translate(0,60)">
+      <text id="info" font-size="16" x="10" y="70">StartIndex: 0 NumChars: 0</text>
+
+      <text id="text" font-size="48" y="128" x="10">
+        abc אבג 123 דהו def
+      </text>
+
+      <g id="buttons">
+        <rect x="10" y="160" width="100" height="20" fill="blue" onclick="doSelection(1,0);"/>
+        <text x="60" y="175" text-anchor="middle" font-size="16" fill="white" pointer-events="none">startIndex++</text>
+
+        <rect x="120" y="160" width="100" height="20" fill="blue" onclick="doSelection(-1,0);"/>
+        <text x="170" y="175" text-anchor="middle" font-size="16" fill="white" pointer-events="none">startIndex--</text>
+
+        <rect x="230" y="160" width="100" height="20" fill="blue" onclick="doSelection(0,1);"/>
+        <text x="280" y="175" text-anchor="middle" font-size="16" fill="white" pointer-events="none">numChars++</text>
+
+        <rect x="340" y="160" width="100" height="20" fill="blue" onclick="doSelection(0,-1);"/>
+        <text x="390" y="175" text-anchor="middle" font-size="16" fill="white" pointer-events="none">numChars--</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-tselect-03-f.svg b/Tests/W3CTestSuite/svg/text-tselect-03-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9d051088a9297e17e7098cc1a458be8da4fc8490
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-tselect-03-f.svg
@@ -0,0 +1,157 @@
+<svg version="1.1" baseProfile="full" onload="doSelection(0,0);" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="ED" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: text-tselect-03-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TextSelection">
+      <p>
+        This test demonstrates text selection of bidirectional text.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The initial result should be that the first 9 characters in logical order
+        starting from logical position 0 are selected.
+      </p>
+      <p>
+        Visually the selection is discontigous and these substrings must be selected (listed in visual order):
+      </p>
+      <p>
+        "abc"
+      </p>
+      <p>
+        the space between "c" and "ו"
+      </p>
+      <p>
+        "1"
+      </p>
+      <p>
+        the space between "3" and "ג"
+      </p>
+      <p>
+        "אבג"
+      </p>
+      <p>
+        If only the substrings listed above were selected then the test has passed.
+      </p>
+      <p>
+        A user agent that allows selecting text in logical order would have generated the same selection
+        as in this testcase if the user started the selection on the character "a" and ended it on the
+        character "1".
+
+        A user agent that allows selecting text in visual order would not have a discontigous selection
+        if the user started the selection on the character "a" and ended it on the character "1". The copied
+        text would be discontigous instead in this case.
+
+        Note that the SVG DOM method requires logical order text selection, so for both types of user agents
+        this testcase must look the same.
+      </p>
+      <p>
+        The testcase also shows what happens when the selection is modified via DOM (click the buttons below
+        the bidi-text). Compliant viewers must throw an exception when the first parameter handed
+        to SVGTextContentElement.selectSubString is out-of-range.
+        That means the variable 'startIndex' must always be in the range 0 &lt;= startIndex &lt;= 18.
+        It can be noted that the parameter 'numChars' is not restricted in this way.
+      </p>
+      <p>
+        Note that the color of the text selection is UA dependent and not defined in the SVG specification.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-tselect-03-f.svg,v $</title>
+  <defs>
+    <style type="text/css">
+	@font-face {
+	    font-family: Ezra SIL SR;
+	    src: url(woffs/EzraSILSR.woff) format("woff");
+	}
+    </style>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+    <font-face font-family="SVGHebrew" unicode-range="U+000D-FEFF">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/Heb.svg#SVGHebrew"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <script>
+        var startIndex = 0;
+        var numChars = 9;
+
+        function doSelection(indexDelta, numCharsDelta)
+        {
+        try
+        {
+        document.getElementById('text').selectSubString(startIndex+indexDelta, numChars+numCharsDelta);
+        }
+        catch(e)
+        {
+        if(e.code == DOMException.INDEX_SIZE_ERR)
+        {
+        // If there was an error, re-select the last range
+        document.getElementById('text').selectSubString(startIndex, numChars);
+        return;
+        }
+        }
+
+        startIndex += indexDelta;
+        numChars += numCharsDelta;
+
+        document.getElementById('info').firstChild.data = "StartIndex: " + startIndex + ". NumChars: " + numChars;
+        }
+      </script>
+    </defs>
+
+    <g transform="translate(0,60)">
+      <text id="info" font-size="16" x="10" y="70">StartIndex: 0 NumChars: 0</text>
+
+      <text id="text" font-size="48" y="128" x="10" font-family="SVGHebrew, 'Ezra SIL SR', serif">
+        abc אבג 123 דהו def
+      </text>
+
+      <g id="buttons">
+        <rect x="10" y="160" width="100" height="20" fill="blue" onclick="doSelection(1,0);"/>
+        <text x="60" y="175" text-anchor="middle" font-size="14" fill="white" pointer-events="none">startIndex++</text>
+
+        <rect x="120" y="160" width="100" height="20" fill="blue" onclick="doSelection(-1,0);"/>
+        <text x="170" y="175" text-anchor="middle" font-size="14" fill="white" pointer-events="none">startIndex--</text>
+
+        <rect x="230" y="160" width="100" height="20" fill="blue" onclick="doSelection(0,1);"/>
+        <text x="280" y="175" text-anchor="middle" font-size="14" fill="white" pointer-events="none">numChars++</text>
+
+        <rect x="340" y="160" width="100" height="20" fill="blue" onclick="doSelection(0,-1);"/>
+        <text x="390" y="175" text-anchor="middle" font-size="14" fill="white" pointer-events="none">numChars--</text>
+      </g>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-tspan-01-b.svg b/Tests/W3CTestSuite/svg/text-tspan-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5d10f95d641a5e7e6875721950a2c525ef54770e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-tspan-01-b.svg
@@ -0,0 +1,113 @@
+<svg version="1.1" baseProfile="basic" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="accepted"
+    version="$Revision: 1.10 $" testname="$RCSfile: text-tspan-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TSpanElement">
+      <p>
+        Test tspan element styling and relative position adjustments.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if:
+      </p>
+      <ul>
+        <li>"You are not a banana" is displayed with the word "not" in bold green, with the rest of the sentence in normal blue.</li>
+        <li>"But you are a peach!" is displayed with the word "are" in bold green raised above the baseline, and "a peach!" lowered below the baseline.</li>
+        <li>"Cute and fuzzy" is displayed like there was spaces between each character, and "fuzzy" is displayed on a line below "Cute and".</li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-tspan-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+  	<defs>
+	  	<font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="400">
+	      <font-face-src>
+	        <font-face-uri xlink:href="../resources/FreeSerif.svg#FreeSerif"/>
+	      </font-face-src>
+	    </font-face>
+	    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="700">
+	      <font-face-src>
+	        <font-face-uri xlink:href="../resources/FreeSerifBold.svg#FreeSerifBold"/>
+	      </font-face-src>
+	    </font-face>
+	    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="400" font-style="italic">
+	      <font-face-src>
+	        <font-face-uri xlink:href="../resources/FreeSerifItalic.svg#FreeSerifItalic"/>
+	      </font-face-src>
+	    </font-face>
+	    <font-face font-family="FreeSerif" unicode-range="U+0-7F" font-weight="700"  font-style="italic">
+	      <font-face-src>
+	        <font-face-uri xlink:href="../resources/FreeSerifBoldItalic.svg#FreeSerifBoldItalic"/>
+	      </font-face-src>
+	    </font-face>
+  	</defs>
+    <text x="25" y="20" font-size="16">Basics of tspan: changing visual properties and positioning.</text>
+    <!-- From example tspan01 - using tspan to change visual attributes -->
+    <g id="tspan01" font-size="16" font-family="FreeSerif, serif">
+      <text x="74" y="63.75" fill="blue">
+        You are<tspan font-weight="bold" fill="green"> not </tspan>a banana.
+      </text>
+      <rect x="47.5" y="74.25" width="310.5" height="53.5" fill="none" stroke="#000000"/>
+      <text x="65.25" y="90.75" font-size="16">Text: "You are not a banana."</text>
+      <text x="65.25" y="108" font-size="16">'tspan' changes visual attributes of "not",</text>
+      <text x="65.25" y="125.25" font-size="16">to green, bold.</text>
+    </g>
+    <!-- From example tspan02 - using tspan's dx and dy attributes 
+                 for incremental positioning adjustments -->
+    <g id="tspan02" font-size="16" font-family="FreeSerif, serif">
+      <text x="257.5" y="153.75" fill="blue">
+        But you<tspan dx="2em" dy="-10.75" font-weight="bold" fill="green">are</tspan><tspan dy="25.5" xml:space="preserve"> a peach!</tspan>
+      </text>
+      <rect x="225" y="179" width="245.5" height="53.5" fill="none" stroke="#000000"/>
+      <text x="238" y="195" font-size="16">Text: "But you are a peach!"</text>
+      <text x="238" y="212.25" font-size="16">Using dx,dy, 'tspan' raises "are",</text>
+      <text x="238" y="229.5" font-size="16">'tspan' lowers "a peach!"</text>
+    </g>
+    <!-- Example tspan03 - using tspan's x and y attributes 
+                     for multiline text and precise glyph positioning -->
+    <g id="tspan03" fill="#000000" font-size="16" font-family="FreeSerif, serif">
+      <text fill="rgb(255,164,0)">
+        <tspan x="35 53.75 72.5 91.25 110.5 128.75 147.5 166.25" y="200">Cute and </tspan>
+        <tspan x="63.13 81.88 100.63 119.38 138.13" y="230.5">fuzzy.</tspan>
+      </text>
+      <rect x="17.5" y="244.75" width="335.5" height="53.5" fill="none" stroke="#000000"/>
+      <text x="25.25" y="258" font-size="16">Text: "Cute and fuzzy."</text>
+      <text x="25.25" y="275.25" font-size="16">'tspan' char-by-char placement of "Cute and",</text>
+      <text x="25.25" y="292.5" font-size="16">'tspan' char-by-char "fuzzy", below it.</text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.10 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-tspan-02-b.svg b/Tests/W3CTestSuite/svg/text-tspan-02-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..735b41e9c8b159b78177189be0d053ef16f30bbf
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-tspan-02-b.svg
@@ -0,0 +1,177 @@
+<svg id="svg-root" width="100%" height="100%" 
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" 
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CL" author="AG" status="accepted"
+    version="$Revision: 1.11 $" testname="$RCSfile: text-tspan-02-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#TSpanElementRotateAttribute">
+      <p>
+        Tests the rotate attribute in the tspan element.
+      </p>
+      <ul>
+        <li>
+          Tests the case where more characters than rotate values are
+          supplied. In this case the last rotate value should propogate to
+          subsequent characters in the element and child tspan elements that
+          do not contain a rotate value.
+        </li>
+        <li>
+          Tests the case where more values than characters are supplied. In
+          this case each character should be rotated by the designated value
+          remaining unused values propogate to any child tspan elements that
+          do not contain a rotate value.
+        </li>
+        <li>
+          Tests the case where an ansestor of a tspan element specifies a
+          rotate value but the tspan itself doesn't. In this case the tspan
+          should use the current rotate value specified by the ansestor
+          element.
+        </li>
+        <li>
+          Tests the case where a tspan or text element specifies a rotate
+          value and contains a text string that is broken due to nested child
+          tspan. In this case characters after the child tspan element must
+          be rotated by the current rotate value.
+        </li>
+      </ul>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For this test to pass the text "Not all characters in the text have a
+        specified rotation" must be displayed in green without any red showing.
+        If any red shows the test is a fail.
+      </p>
+      <p>
+        Rotation values:
+      </p>
+      <ul>
+        <li>
+          The characters in the text "Not" must be rotated by 5,15 and 25
+          degrees respectively.
+        </li>
+        <li>
+          The first 3 characters in the text "all characters" must be -10,-20
+          and -30 degrees respectively. Subsequent characters in the text must
+          be each rotated by -40 degrees.
+        </li>
+        <li>
+          All the characters in the text "text have a" must be rotated by -40
+          degrees.
+        </li>
+        <li>
+          The characters in the text "in the" must be rotated by 70,60,50,40,30
+          and 20 degrees respectively. Note: the space in the text consumes a
+          rotate value.
+        </li>
+        <li>
+          All the characters in the text "specified" must be rotated by -10
+          degrees.
+        </li>
+        <li>
+          All the characters in the text "rotation" must be rotated by 55
+          degrees.
+        </li>
+      </ul>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-tspan-02-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text font-size="35" fill="red" x="20" y="120" rotate="5,15,25,35,-10,-20,-30,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,70,60,50,40,30,20,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,55,-10,-10,-10,-10,-10,-10,-10,-10,-10,55,55,55,55,55,55,55,55,55">
+      Not all characters in the
+      <tspan x="20" y="180">text have a specified rotation</tspan>
+    </text>
+
+
+    <text font-size="35" fill="green" x="20" y="120" rotate="5,15,25,35,45,55" stroke="green" stroke-width="0.5">
+      Not
+
+      <tspan id="child1" rotate="-10,-20,-30,-40">
+        all characters
+
+        <tspan id="child2" rotate="70,60,50,40,30,20,10">
+          in
+
+          <tspan id="child3">
+            the
+          </tspan>
+        </tspan>
+
+        <tspan x="20" y="180" id="child4">
+          text
+        </tspan>
+
+        have a
+      </tspan>
+
+      <tspan id="child5" rotate="-10">
+        specified
+      </tspan>
+
+      rotation
+    </text>
+
+    <text id="rotation_values" font-size="8" xml:space="preserve">
+      <tspan x="30" y="135">
+5      15   25
+      </tspan>
+      <tspan x="80" y="130">
+-10  -20 -30
+      </tspan>
+      <tspan x="125" y="130">
+ -40  -40  -40  -40  -40   -40 -40 -40  -40  -40
+      </tspan>
+      <tspan x="295" y="145">
+70   60
+      </tspan>
+      <tspan x="340" y="140">
+40   30    20
+      </tspan>
+      <tspan x="15" y="190">
+-40 -40  -40  -40    -40  -40   -40   -40       -40
+      </tspan>
+      <tspan x="190" y="200">
+   -10   -10    -10   -10 -10   -10 -10    -10
+      </tspan>
+      <tspan x="275" y="190">
+-10
+      </tspan>
+      <tspan x="340" y="210">
+  55    55  55  55   55 55  55   55
+      </tspan>
+    </text>
+    
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+  <text id="revision" x="10" y="340" stroke="none" 
+    fill="black">$Revision: 1.11 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240" 
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-ws-01-t.svg b/Tests/W3CTestSuite/svg/text-ws-01-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3d8b66890f860fb2d74f310b3061e1b9d1085698
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-ws-01-t.svg
@@ -0,0 +1,96 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="SVGWG" author="Lofton Henderson" status="issue"
+    version="$Revision: 1.8 $" testname="$RCSfile: text-ws-01-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#WhiteSpace">
+    <!-- RESOLUTION 2011-03-04 deprecate xml;space in favour of CSS whitespace property, for SVG2 -->
+        <p>
+          Test for viewer correct handling of whitespace and the 'xml:space' attribute.
+          There are two sub-tests, for xml:space value "default".
+          In each test, the content of the 'text' element is written on
+          multiple lines.  The first test of each pair has indented text with leading
+          space characters, tabs, etc.  The second has no indentation, but a line break
+          before the content and after it.  There are no space (or other whitespace)
+          characters at the ends of the lines.
+        </p>
+        <p>
+          The two test cases are self-descriptive.  From the top;
+          first, "default" value applied to 3 lines of content with indents, space characters, tabs, etc;
+          second, "default" applied to two lines content with no indent;
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        In each test, the test string is in blue and the reference
+        image is in black.
+        The rendered picture should approximately match the reference image,
+        however there is some question in the reference image concerning the
+        exact amount of space in the long-space areas. The third test uses the nbsp unicode character
+        to force the reference white spaces display, which provides an accurate match if the font in use
+        has the same metrics for that character and the default white space.
+        Also, variations are possible in the text fonts and layout (per CSS2 rules).
+      </p>
+      <p>
+        The test also uses the 'rect' element,
+        as well as basic fill (solid primary colors),
+        stroke (black 1-pixel lines), font-family (Arial)
+        and font-size properties.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-ws-01-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="15" y="35" font-size="32" fill="black">Basic: xml:space attribute</text>
+    <text x="35" y="60" font-size="32" fill="black">&amp; whitespace handling.</text>
+    <!-- Test 1:  indented, spaces, tabs, and space='default' -->
+    <!-- Features=" line break and spaces before 1st line" tabs before 2nd line; -->
+    <!-- spaces before 3rd line; no space at ends of any lines.                 -->
+    <text x="15" y="105" fill="blue" font-size="40" xml:space="default">WS with indented lines.</text>
+    <text x="15" y="140" fill="black" font-size="40">WS with indented lines.</text>
+    <rect x="25" y="145" width="350" height="36" fill="none" stroke="black"/>
+    <text x="28" y="175" fill="black" font-size="40">xml:space='default'</text>
+    <!-- Test 2:  non-indented,and space='default' -->
+    <!-- Features="  line break before 1st line" no space either at beginning -->
+    <!-- or end of any lines.                                                -->
+    <text x="15" y="225" fill="blue" font-size="40" xml:space="default">
+      WS
+      non-indented lines.
+    </text>
+    <text x="15" y="260" fill="black" font-size="40">WS non-indented lines.</text>
+    <rect x="25" y="265" width="350" height="36" fill="none" stroke="black"/>
+    <text x="28" y="295" fill="black" font-size="40">xml:space='default'</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-ws-02-t.svg b/Tests/W3CTestSuite/svg/text-ws-02-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..15317ca014a94ded495598e0ecc75918b80fe910
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-ws-02-t.svg
@@ -0,0 +1,101 @@
+<svg version="1.1" baseProfile="tiny" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="Lofton Henderson" status="issue"
+    version="$Revision: 1.8 $" testname="$RCSfile: text-ws-02-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#WhiteSpace">
+        <!-- RESOLUTION 2011-03-04 deprecate xml;space in favour of CSS whitespace property, for SVG2 -->
+        <p>
+          Test for viewer correct handling of whitespace and the 'xml:space' attribute.
+          There are two sub-tests, for value "preserve".
+          In each test, the content of the 'text' element is written on
+          multiple lines.  The first test of each pair has indented text with leading
+          space characters, tabs, etc.  The second has no indentation, but a line break
+          before the content and after it.  There are no space (or other whitespace)
+          characters at the ends of the lines.
+        </p>
+        <p>
+          The two test cases are self-descriptive.  From the top;
+          first, "preserve" applied to essentially the same content as first;
+          second, "preserve" applied to essentially the same content as second.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        In each test, the test string is in blue and the reference
+        image is in black.
+        The rendered picture should approximately match the reference image,
+        however there is some question in the reference image concerning the
+        exact amount of space in the long-space areas. The third test uses the nbsp unicode character
+        to force the reference white spaces display, which provides an accurate match if the font in use
+        has the same metrics for that character and the default white space.
+        Also, variations are possible in the text fonts and layout (per CSS2 rules).
+      </p>
+      <p>
+        The test also uses the 'rect' element,
+        as well as basic fill (solid primary colors),
+        stroke (black 1-pixel lines), font-family
+        and font-size properties.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-ws-02-t.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text x="15" y="35" font-size="32" fill="black">Basic: xml:space attribute</text>
+    <text x="35" y="60" font-size="32" fill="black">&amp; whitespace handling.</text>
+    <!-- Test 3:  indented, spaces, tabs, and space='preserve' -->
+    <!-- Features=" line break and spaces before 1st line" tabs before 2nd line; -->
+    <!-- spaces before 3rd line; no space at ends of any lines.                 -->
+    <text x="15" y="105" fill="blue" font-size="40" xml:space="preserve">
+WS
+		with
+ indented lines.
+    </text>
+    <!-- should match this, with blank replacing HT, LF, etc -->
+    <text x="15" y="140" fill="black" font-size="40" xml:space="preserve">&#160;WS&#160;&#160;&#160;with&#160;&#160;indented&#160;lines.</text>
+
+    <rect x="25" y="145" width="380" height="36" fill="none" stroke="black"/>
+    <text x="28" y="175" fill="black" font-size="40">xml:space='preserve'</text>
+    <!-- Test 4:  non-indented, and space='preserve' -->
+    <!-- Features="  no line break before 1st line" no space either at beginning -->
+    <!-- or end of any lines.                                                -->
+    <text x="15" y="225" fill="blue" font-size="40" xml:space="preserve">WS
+non-indented lines.
+      </text>
+    <text x="15" y="260" fill="black" font-size="40">WS non-indented lines.</text>
+    <rect x="25" y="265" width="380" height="36" fill="none" stroke="black"/>
+    <text x="28" y="295" fill="black" font-size="40">xml:space='preserve'</text>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/text-ws-03-t.svg b/Tests/W3CTestSuite/svg/text-ws-03-t.svg
new file mode 100644
index 0000000000000000000000000000000000000000..03342bbeace302d0ebf09b961f578d84d33ca0bb
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/text-ws-03-t.svg
@@ -0,0 +1,84 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="issue"
+    version="$Revision: 1.9 $" testname="$RCSfile: text-ws-03-t.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/text.html#WhiteSpace">
+        <!-- RESOLUTION 2011-03-04 deprecate xml;space in favour of CSS whitespace property, for SVG2 -->
+      <p>
+        This tests that an 'xml:space' attribute on a text element child
+        will be honored.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        After loading the test, four blue text strings and
+        four orange text strings should be presented.
+      </p>
+      <p>
+        The test is passed if all four blue text strings appear
+        identical (with a large space between the "b" and the "c"
+        on each line), and all four orange text strings appear
+        identical (with a small space between the "b" and the "c"
+        on each line).
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: text-ws-03-t.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='30' font-size='14'>Test that xml:space="" is honored on text element children</text>
+
+    <g font-size='24'>
+      <text id="t2" display="none">      cd</text>
+      <g fill='blue'>
+        <text x='100' y='100' xml:space="preserve">ab      cd</text>
+        <text x='100' y='130'>ab<tspan id="t1" xml:space="preserve">      cd</tspan></text>
+        <text x='100' y='160'>ab<tref xml:space="preserve" xlink:href="#t1"/></text>
+        <text x='100' y='190'>ab<tref xml:space="preserve" xlink:href="#t2"/></text>
+      </g>
+
+      <text id="t4" display="none">b      cd</text>
+      <g fill='#ffa500'>
+        <text x='300' y='100'>ab cd</text>
+        <text x='300' y='130' xml:space="preserve">a<tspan id="t3" xml:space="default">b      cd</tspan></text>
+        <text x='300' y='160' xml:space="preserve">a<tref xml:space="default" xlink:href="#t3"/></text>
+        <text x='300' y='190' xml:space="preserve">a<tref xml:space="default" xlink:href="#t4"/></text>
+      </g>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.9 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-basic-01-f.svg b/Tests/W3CTestSuite/svg/types-basic-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2be4195b80517f9ca457c963d4221689b15ac568
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-basic-01-f.svg
@@ -0,0 +1,75 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="ED" author="CL" status="accepted"
+    version="$Revision: 1.5 $" testname="$RCSfile: types-basic-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/types.html#BasicDataTypes">
+      <p>
+        Tests scientific notation in attribute values; in particular, that numbers 
+        of the form .n with a leading decimal point, are supported
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if all the coloured rectangles are of the same height 
+        and line up with each other and 
+        with the grey marker lines. If any red is visible, the test fails.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-basic-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    
+    <polyline points="20,75 380,75" stroke="#999" stroke-width="1"/>
+    <polyline points="20,125 380,125" stroke="#999" stroke-width="1"/>
+   
+    <rect width="300" height="50" x="50" y="75" fill="red"/>
+
+    <polyline points="50,100 150,100" stroke-width="50" stroke="#6F3"/>
+    <polyline points="150,100 250,100" stroke-width="5e1" stroke="#6C6"/>
+    <polyline points="250,100 350,100" stroke-width=".5e2" stroke="#39F"/>
+   
+    
+    <text x="50" y="200" font-size="20">Different forms of the &lt;number&gt; type</text>
+    
+    <g text-anchor="middle" fill="#555">
+      <text x="100" y="110" font-size="20">50</text>
+      <text x="200" y="110" font-size="20" >5e1</text>
+      <text x="300" y="110" font-size="20">.5e2</text>
+    </g>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-basic-02-f.svg b/Tests/W3CTestSuite/svg/types-basic-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..53fb16367798323df2c680809374d016aa59325e
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-basic-02-f.svg
@@ -0,0 +1,84 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: types-basic-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/types.html#BasicDataTypes">
+      <p>
+        Tests units and no units on &lt;length&gt; in CSS on a property defined in the SVG specification.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test is passed if there are six circles with the same thick green stroke visible, and no red.
+        If the SVG user agent doesn't support CSS styling then this test does not apply.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-basic-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+      <style>
+        #swNoUnit     { stroke-width: 20 }
+        #swUnit       { stroke-width: 20px }
+        #swUpperCaseUnit { stroke-width: 20PX }
+      </style>
+      
+      <g id="references" fill="none" stroke="red" stroke-width="19">
+        <circle r="40" transform="translate(100 100)"/>
+        <circle r="40" transform="translate(240 100)"/>
+        <circle r="40" transform="translate(380 100)"/>
+        
+        <circle r="40" transform="translate(100 240)"/>
+        <circle r="40" transform="translate(240 240)"/>
+        <circle r="40" transform="translate(380 240)"/>
+      </g>
+      
+      <!-- "For length values in SVG-specific properties and their corresponding presentation attributes, the length unit identifier is optional." -->
+      <circle r="40" id="swNoUnit" fill="none" stroke="lime" transform="translate(100 100)"/>
+      <circle r="40" id="swUnit" fill="none" stroke="lime" transform="translate(240 100)"/>
+      <circle r="40" id="swPresAttr" fill="none" stroke="lime" stroke-width="20" transform="translate(380 100)"/>
+            
+      <!-- "In presentation attributes for all properties, whether defined in this specification or in CSS2, the length identifier, if specified, must be in lower case." -->
+      <g stroke-width="20">
+        <circle r="40" id="swUpperCaseUnitPresAttr" stroke-width="10PX" fill="none" stroke="lime" transform="translate(100 240)"/>
+      </g>
+
+      <!-- Test that units are case-insensitive when specified in CSS -->
+      <circle r="40" id="swUpperCaseUnit" fill="none" stroke="lime" transform="translate(240 240)"/>
+      <circle r="40" id="swUpperCaseUnitInline" style="stroke-width:20PX" fill="none" stroke="lime" transform="translate(380 240)"/>      
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-01-b.svg b/Tests/W3CTestSuite/svg/types-dom-01-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..60093ac542094ae8021e034dc52e1f7fd305f008
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-01-b.svg
@@ -0,0 +1,107 @@
+<svg version="1.1" baseProfile="tiny" onload="testSVGLocatable()" id="svg-root"
+  width="100%" height="100%" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="AE,ED" author="AN" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: types-dom-01-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/types.html#BasicDOMInterfaces">
+      <p>
+        This test checks all the methods and properties of the SVGLocatable interface.
+        Note the use of nested svg elements and testing against different elements in the hierarchy.
+        Note that the values of .getScreenCTM() and .getCTM() can only be tested correctly if they are
+        in the html-based test or the width and height of the root element is explicitly set to 480x360.
+        The methods .getScreenCTM() and .getCTM() are tested from the rotated text element, the method .getBBox(),
+        .getTransformToElement() is tested between the rotated text and its parent group, the method .getBBox() and
+        the properties .farthestViewportElement and .nearestViewportElement are tested on the blue circle.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required. Make sure scripting is enabled.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        For the test to pass, the values generated by script must match the values provided in the png image. The correct values are:
+      </p>
+      <p>
+        .getScreenCTM() for id "rotText": 0.42,0.42,-0.42,0.42,70.00,-60.00
+      </p>
+      <p>
+        .getCTM() for id "rotText": 0.42,0.42,-0.42,0.42,70.00,-60.00
+      </p>
+      <p>
+        .getTransformToElement() between id "rotText" and id "parentGroup": 0.42,0.42,-0.42,0.42,0.00,0.00
+      </p>
+      <p>
+        .getBBox() for 'blueCircle': .x=-50,.y=-50,.width=100,.height=100
+      </p>
+      <p>
+        .farthestViewportElement of blueCircle=svg-root
+      </p>
+      <p>
+        .nearestViewportElement of blueCircle=nestedSVG
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-01-b.svg,v $</title>
+  <defs>
+    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <script type="text/ecmascript">
+      function testSVGLocatable() {
+      var rotText = document.getElementById("rotatedText");
+      var blueCircle = document.getElementById("blueCircle")
+      var matr = rotText.getScreenCTM();
+      document.getElementById("result1").firstChild.nodeValue = ".getScreenCTM(): " + matr.a.toFixed(2) + "," + matr.b.toFixed(2) + "," + matr.c.toFixed(2) + "," + matr.d.toFixed(2) + "," + matr.e.toFixed(2) + "," + matr.f.toFixed(2);
+      var matr = rotText.getCTM();
+      document.getElementById("result2").firstChild.nodeValue = ".getCTM(): " + matr.a.toFixed(2) + "," + matr.b.toFixed(2) + "," + matr.c.toFixed(2) + "," + matr.d.toFixed(2) + "," + matr.e.toFixed(2) + "," + matr.f.toFixed(2);
+      var matr = rotText.getTransformToElement(document.getElementById("parentGroup"));
+      document.getElementById("result3").firstChild.nodeValue = ".getTransformToElement(): " + matr.a.toFixed(2) + "," + matr.b.toFixed(2) + "," + matr.c.toFixed(2) + "," + matr.d.toFixed(2) + "," + matr.e.toFixed(2) + "," + matr.f.toFixed(2);
+      var bbox = blueCircle.getBBox();
+      document.getElementById("result4").firstChild.nodeValue = ".getBBox() for 'blueCircle': .x="+bbox.x+",.y="+bbox.y+",.width="+bbox.width+",.height="+bbox.height;
+      document.getElementById("result5").firstChild.nodeValue = ".farthestViewportElement of blueCircle="+blueCircle.farthestViewportElement.getAttributeNS(null,"id");
+      document.getElementById("result6").firstChild.nodeValue = ".nearestViewportElement of blueCircle="+blueCircle.nearestViewportElement.getAttributeNS(null,"id");
+      }
+    </script>
+    <g font-size="12">
+      <g id="parentGroup" transform="translate(70,-60)">
+        <text id="rotatedText" transform="scale(0.6),rotate(45)" font-size="20" x="30" y="150">Rotated Text for testing SVGLocatable</text>
+        <text id="otherText" transform="scale(0.7)" font-size="20" x="100" y="130">Some other text with id 'otherText'</text>
+        <svg id="nestedSVG" x="200" y="100" width="110" height="110" viewBox="-55 -55 110 110">
+          <circle id="blueCircle" cx="0" cy="0" r="50" fill="blue"/>
+        </svg>
+      </g>
+      <text id="result1" x="10" y="200"> </text>
+      <text id="result2" x="10" y="220"> </text>
+      <text id="result3" x="10" y="240"> </text>
+      <text id="result4" x="10" y="260"> </text>
+      <text id="result5" x="10" y="280"> </text>
+      <text id="result6" x="10" y="300"> </text>
+    </g>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <!--<g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-02-f.svg b/Tests/W3CTestSuite/svg/types-dom-02-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..cac86de2d01e43166f32fd974482e06f429dacfc
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-02-f.svg
@@ -0,0 +1,156 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.8 $" testname="$RCSfile: types-dom-02-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/types.html#BasicDOMInterfaces">
+      <p>
+        This tests that the animVal properties that are objects
+        are always distinct from their corresponding baseVal properties.
+        This is tested for interfaces SVGAnimatedNumberList, SVGAnimatedLength,
+        SVGAnimatedLengthList, SVGAnimatedAngle, SVGAnimatedRect,
+        SVGAnimatedTransformList and SVGAnimatedPreserveAspectRatio.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Once loaded, the test shows 7 rectangles
+        representing seven sub-tests reflecting
+        the result of checking that an animVal object is
+        not the same object as its corresponding baseVal object.
+        Each rectangle will be either black to indicate that
+        the sub-test wasn't run, red to indicate that the
+        sub-test failed, and green to indicate that the
+        sub-test passed.
+      </p>
+      <p>
+        The test is passed if all 7 rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-02-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='210' y='55' text-anchor='end'>animVal != baseVal:</text>
+
+    <g font-size='14' transform='translate(500)rotate(90)'>
+      <rect id='r1b' x='40' y='60' width='20' height='20'/>
+      <text x='70' y='75'>SVGAnimatedNumberList</text>
+      <rect id='r2b' x='40' y='90' width='20' height='20'/>
+      <text x='70' y='105'>SVGAnimatedLength</text>
+      <rect id='r3b' x='40' y='120' width='20' height='20'/>
+      <text x='70' y='135'>SVGAnimatedLengthList</text>
+      <rect id='r4b' x='40' y='150' width='20' height='20'/>
+      <text x='70' y='165'>SVGAnimatedAngle</text>
+      <rect id='r5b' x='40' y='180' width='20' height='20'/>
+      <text x='70' y='195'>SVGAnimatedRect</text>
+      <rect id='r6b' x='40' y='210' width='20' height='20'/>
+      <text x='70' y='225'>SVGAnimatedTransformList</text>
+      <rect id='r7b' x='40' y='240' width='20' height='20'/>
+      <text x='70' y='255'>SVGAnimatedPreserveAspectRatio</text>
+    </g>
+
+    <g display='none'>
+      <text id='text' rotate='0 20 40'>abc</text>
+      <circle id='circle' r='50'/>
+      <marker id='marker' orient='1.5708rad'/>
+      <svg id='svg' viewBox='10 20 30 40'/>
+    </g>
+
+    <script><![CDATA[
+      function $(id) { return document.getElementById(id); }
+
+      var text = $('text'),
+          circle = $('circle'),
+          marker = $('marker'),
+          svg = $('svg');
+
+      function expect_value(id, fn, value) {
+        try {
+          if (fn() === value) {
+            $(id).setAttribute('fill', 'green');
+            return;
+          }
+        } catch (e) {
+        }
+        $(id).setAttribute('fill', 'red');
+      }
+
+      // SVGAnimatedNumberList: rotate on text
+      expect_value
+        ('r1b',
+         function() { return text.rotate.animVal != text.rotate.baseVal; },
+         true);
+
+      // SVGAnimatedLength: r on circle
+      expect_value
+        ('r2b',
+         function() { return circle.r.animVal != text.rotate.baseVal; },
+         true);
+
+      // SVGAnimatedLengthList: x on text
+      expect_value
+        ('r3b',
+         function() { return text.x.animVal != text.x.baseVal; },
+         true);
+
+      // SVGAnimatedAngle: orient on marker
+      expect_value
+        ('r4b',
+         function() { return marker.orientAngle.animVal != marker.orientAngle.baseVal; },
+         true);
+
+      // SVGAnimatedRect: viewBox on svg
+      expect_value
+        ('r5b',
+         function() { return svg.viewBox.animVal != svg.viewBox.baseVal; },
+         true);
+
+      // SVGAnimatedTransformList: transform on circle
+      expect_value
+        ('r6b',
+         function() { return circle.transform.animVal != circle.transform.baseVal; },
+         true);
+
+      // SVGAnimatedPreserveAspectRatio: preserveAspectRatio on svg
+      expect_value
+        ('r7b',
+         function() { return svg.preserveAspectRatio.animVal != svg.preserveAspectRatio.baseVal; },
+         true);
+    ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.8 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-03-b.svg b/Tests/W3CTestSuite/svg/types-dom-03-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b9228250fe2fb96ae176365d364118813d448d2f
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-03-b.svg
@@ -0,0 +1,84 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="ED" author="CM" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: types-dom-03-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/#__svg__SVGLocatable__getBBox">
+      <p>
+        Test that bounding box geometry can be obtained
+        before the SVGLoad event is dispatched.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Load the test.  A rectangle will be shown indicating
+        the result of the test.  It will be black if test
+        did not run, red if the test failed and green if
+        the test passed.
+      </p>
+      <p>
+        The test is passed if the rectangle is green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-03-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='30'>Test that getBBox() works before SVGLoad</text>
+
+    <rect id='r' x='10' y='40' width='50' height='50'/>
+    <text id='t' visibility='hidden' x='1000' y='1000'>Abc</text>
+
+    <script><![CDATA[
+      function $(x) { return document.getElementById(x); }
+
+      var t = $('t'),
+          r = $('r'),
+          b1, b2, pass = false;
+
+      try {
+        b1 = t.getBBox();
+        b2 = r.getBBox();
+        if (b1.x > 0 && b1.y > 0 && b1.width > 0 && b1.height > 0
+              && b2.x == 10 && b2.y == 40 && b2.width == 50 && b2.height == 50) {
+          pass = true;
+        }
+      } catch (e) {
+      }
+      r.setAttribute('fill', pass ? 'green' : 'red');
+    ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-04-b.svg b/Tests/W3CTestSuite/svg/types-dom-04-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..37df62551a1ab264311ed5e06a3a34971c923d7d
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-04-b.svg
@@ -0,0 +1,250 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="ED" author="CM" status="accepted"
+    version="$Revision: 1.7 $" testname="$RCSfile: types-dom-04-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/svgdom.html#SVGDOMOverview">
+      <p>
+        This tests that SVG DOM objects that correspond to attributes
+        are live.
+        This is tested for interfaces
+        SVGAnimatedNumberList, SVGAnimatedLength,
+        SVGAnimatedLengthList, SVGAnimatedAngle, SVGAnimatedRect,
+        SVGAnimatedTransformList, SVGAnimatedPreserveAspectRatio,
+        SVGAnimatedBoolean, SVGAnimatedString, SVGAnimatedEnumeration,
+        SVGAnimatedInteger and SVGAnimatedNumber.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Once loaded, the test shows 12 rectangles, one for
+        each sub-test.  Each sub-test is checking that
+        an SVG DOM object of a particular interface is live.
+        The rectangle indicates the result of running the
+        sub-test: black to indicate that it wasn't run,
+        red to indicate that it failed, and green to indicate
+        that it passed.
+      </p>
+      <p>
+        The test is passed if all 12 rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-04-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='30'>Testing liveness of SVG DOM objects</text>
+
+    <g font-size='14' transform='translate(500)rotate(90)'>
+      <rect id='r1' x='40' y='60' width='20' height='20'/>
+      <text x='70' y='75'>SVGAnimatedNumberList</text>
+      <rect id='r2' x='40' y='90' width='20' height='20'/>
+      <text x='70' y='105'>SVGAnimatedLength</text>
+      <rect id='r3' x='40' y='120' width='20' height='20'/>
+      <text x='70' y='135'>SVGAnimatedLengthList</text>
+      <rect id='r4' x='40' y='150' width='20' height='20'/>
+      <text x='70' y='165'>SVGAnimatedAngle</text>
+      <rect id='r5' x='40' y='180' width='20' height='20'/>
+      <text x='70' y='195'>SVGAnimatedRect</text>
+      <rect id='r6' x='40' y='210' width='20' height='20'/>
+      <text x='70' y='225'>SVGAnimatedTransformList</text>
+      <rect id='r7' x='40' y='240' width='20' height='20'/>
+      <text x='70' y='255'>SVGAnimatedPreserveAspectRatio</text>
+      <rect id='r8' x='40' y='270' width='20' height='20'/>
+      <text x='70' y='285'>SVGAnimatedBoolean</text>
+      <rect id='r9' x='40' y='300' width='20' height='20'/>
+      <text x='70' y='315'>SVGAnimatedString</text>
+      <rect id='r10' x='40' y='330' width='20' height='20'/>
+      <text x='70' y='345'>SVGAnimatedEnumeration</text>
+      <rect id='r11' x='40' y='360' width='20' height='20'/>
+      <text x='70' y='375'>SVGAnimatedInteger</text>
+      <rect id='r12' x='40' y='390' width='20' height='20'/>
+      <text x='70' y='405'>SVGAnimatedNumber</text>
+    </g>
+
+    <g display='none'>
+      <text id='text' rotate='0 20 40' x='10 20' lengthAdjust='spacing'>abc</text>
+      <circle id='circle' r='50' transform='scale(1) scale(2)' class='one'/>
+      <marker id='marker' orient='30'/>
+      <svg id='svg' viewBox='10 20 30 40' preserveAspectRatio='none' externalResourcesRequired='false'/>
+      <filter>
+        <feTurbulence id='feTurbulence' baseFrequency='2 3' numOctaves='2'/>
+      </filter>
+    </g>
+
+    <script><![CDATA[
+      function $(id) { return document.getElementById(id); }
+
+      var text = $('text'),
+          circle = $('circle'),
+          marker = $('marker'),
+          svg = $('svg'),
+          feTurbulence = $('feTurbulence');
+
+      function expect_exception(id, fn, code) {
+        try {
+          fn();
+        } catch (e) {
+          if (e.code == code) {
+            $(id).setAttribute('fill', 'green');
+            return;
+          }
+        }
+        $(id).setAttribute('fill', 'red');
+      }
+
+      function expect_value(id, fn, value) {
+        try {
+          if (fn() === value) {
+            $(id).setAttribute('fill', 'green');
+            return;
+          }
+        } catch (e) {
+        }
+        $(id).setAttribute('fill', 'red');
+      }
+
+      // SVGAnimatedNumberList: rotate on text
+      expect_value
+        ('r1',
+         function() {
+           return text.rotate.baseVal.numberOfItems == 3
+               && (text.setAttribute('rotate', '0 20'), text.rotate.baseVal.numberOfItems == 2);
+         },
+         true);
+
+      // SVGAnimatedLength: r on circle
+      expect_value
+        ('r2',
+         function() {
+           return circle.r.baseVal.value == 50
+               && (circle.setAttribute('r', '100'), circle.r.baseVal.value == 100);
+         },
+         true);
+
+      // SVGAnimatedLengthList: x on text
+      expect_value
+        ('r3',
+         function() {
+           return text.x.baseVal.numberOfItems == 2
+               && (text.setAttribute('x', '10'), text.x.baseVal.numberOfItems == 1);
+         },
+         true);
+
+      // SVGAnimatedAngle: orient on marker
+      expect_value
+        ('r4',
+         function() {
+           return marker.orientAngle.baseVal.value == 30
+               && (marker.setAttribute('orient', '60'), marker.orientAngle.baseVal.value == 60);
+         },
+         true);
+
+      // SVGAnimatedRect: viewBox on svg
+      expect_value
+        ('r5',
+         function() {
+           return svg.viewBox.baseVal.x == 10
+               && (svg.setAttribute('viewBox', '20 30 40 50'), svg.viewBox.baseVal.x == 20);
+         },
+         true);
+
+      // SVGAnimatedTransformList: transform on circle
+      expect_value
+        ('r6',
+         function() {
+           return circle.transform.baseVal.numberOfItems == 2
+               && (circle.setAttribute('transform', 'scale(1)'), circle.transform.baseVal.numberOfItems == 1);
+         },
+         true);
+
+      // SVGAnimatedPreserveAspectRatio: preserveAspectRatio on svg
+      expect_value
+        ('r7',
+         function() {
+           return svg.preserveAspectRatio.baseVal.align == 1 /* none */
+               && (svg.setAttribute('preserveAspectRatio', 'xMidYMid'), svg.preserveAspectRatio.baseVal.align == 6);
+         },
+         true);
+
+      // SVGAnimatedBoolean: externalResourcesRequired on svg
+      expect_value
+        ('r8',
+         function() {
+           return !svg.externalResourcesRequired.baseVal
+               && (svg.setAttribute('externalResourcesRequired', 'true'), svg.externalResourcesRequired.baseVal);
+         },
+         true);
+
+      // SVGAnimatedString: class on circle
+      expect_value
+        ('r9',
+         function() {
+           return circle.className.baseVal == 'one'
+               && (circle.setAttribute('class', 'two'), circle.className.baseVal == 'two');
+         },
+         true);
+
+      // SVGAnimatedEnumeration: lengthAdjust on text
+      expect_value
+        ('r10',
+         function() {
+           return text.lengthAdjust.baseVal == 1 /* spacing*/
+               && (text.setAttribute('lengthAdjust', 'spacingAndGlyphs'), text.lengthAdjust.baseVal == 2);
+         },
+         true);
+
+      // SVGAnimatedInteger: numOctaves on feTurbulence
+      expect_value
+        ('r11',
+         function() {
+           return feTurbulence.numOctaves.baseVal == 2
+               && (feTurbulence.setAttribute('numOctaves', '1'), feTurbulence.numOctaves.baseVal == 1);
+         },
+         true);
+
+      // SVGAnimatedNumber: baseFrequency on feTurbulence
+      expect_value
+        ('r12',
+         function() {
+           return feTurbulence.baseFrequencyY.baseVal == 3
+               && (feTurbulence.setAttribute('baseFrequency', '4 5'), feTurbulence.baseFrequencyY.baseVal == 5);
+         },
+         true);
+    ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.7 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-05-b.svg b/Tests/W3CTestSuite/svg/types-dom-05-b.svg
new file mode 100644
index 0000000000000000000000000000000000000000..52ca38323a62cd521ca8bcee07d5ae92c9d625e1
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-05-b.svg
@@ -0,0 +1,127 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="ED" author="CM" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: types-dom-05-b.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/types.html#BasicDOMInterfaces">
+      <p>
+        This tests that assigning a valid length or angle string to
+        valueAsString on an SVGLength or SVGAngle will affect that object's
+        unitType, and that assigning an invalid string will throw
+        a DOMException with code SYNTAX_ERR.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Once the test is loaded, four rectangles are presented, indicating
+        the result of passing a valid or invalid string to an
+        SVGLength or SVGAngle object, as indicated.  Each rectangle
+        will be black if the sub-test did not run, red if it
+        failed or green if it passed.
+      </p>
+      <p>
+        The test is passed if all four rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-05-b.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='10' y='30'>Test side effects of assigning to valueAsString</text>
+
+    <rect id='r1' x='10' y='40' width='30' height='30'/>
+    <rect id='r2' x='10' y='80' width='30' height='30'/>
+    <rect id='r3' x='10' y='120' width='30' height='30'/>
+    <rect id='r4' x='10' y='160' width='30' height='30'/>
+    <g font-size='15'>
+      <text x='50' y='60'>Valid string on SVGLength</text>
+      <text x='50' y='100'>Invalid string on SVGLength</text>
+      <text x='50' y='140'>Valid string on SVGAngle</text>
+      <text x='50' y='180'>Invalid string on SVGAngle</text>
+    </g>
+
+    <circle id='c' r='1em' display='none'/>
+    <marker id='m' orient='20rad' display='none'/>
+    <script>
+      var b,
+          c = document.getElementById('c');
+          m = document.getElementById('m');
+      
+      b = false;
+      try {
+        if (c.r.baseVal.unitType != 3) { /* SVGLength.SVG_LENGTHTYPE_EMS */
+          throw 1;
+        }
+        c.r.baseVal.valueAsString = '2px';
+        if (c.r.baseVal.unitType == 5) { /* SVGLength.SVG_LENGTHTYPE_PX */
+          b = true;
+        }
+      } catch (e) {
+      }
+      document.getElementById('r1').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        c.r.baseVal.valueAsString = 'rubbish';
+      } catch (e) {
+        b = e.code == 12; // SYNTAX_ERR
+      }
+      document.getElementById('r2').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        if (m.orientAngle.baseVal.unitType != 3) { /* SVGAngle.SVG_ANGLETYPE_RAD */
+          throw 1;
+        }
+        m.orientAngle.baseVal.valueAsString = '2grad';
+        if (m.orientAngle.baseVal.unitType == 4) { /* SVGAngle.SVG_ANGLETYPE_GRAD */
+          b = true;
+        }
+      } catch (e) {
+      }
+      document.getElementById('r3').setAttribute('fill', b ? 'green' : 'red');
+
+      b = false;
+      try {
+        m.orientAngle.baseVal.valueAsString = 'rubbish';
+      } catch (e) {
+        b = e.code == 12; // SYNTAX_ERR
+      }
+      document.getElementById('r4').setAttribute('fill', b ? 'green' : 'red');
+    </script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-06-f.svg b/Tests/W3CTestSuite/svg/types-dom-06-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..09ed98f785d6c40a4e9e08d145d67d4f355da253
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-06-f.svg
@@ -0,0 +1,130 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink" onload="runtest()">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="CM" author="ED" status="accepted"
+    version="$Revision: 1.6 $" testname="$RCSfile: types-dom-06-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/types.html#InterfaceSVGStringList">
+      <p>
+        This tests parts of the SVGStringList interface. Particularly it tests that
+        strings that are taken from one SVGStringList and then inserted into another
+        SVGStringList duplicates the value instead of removing the value from the
+        first list when it's inserted into the second list.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        The test has passed if there are three green rectangles visible and no red. Red is an indication that the test failed.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-06-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+		<defs>
+			<script type="application/ecmascript">
+				function runtest()
+				{
+					try {
+						var r1 = document.getElementById("r1");
+						var r2 = document.getElementById("r2");
+						var r3 = document.getElementById("r3");
+						var i0 = r1.requiredFeatures.getItem(0);
+						var i1 = r1.requiredFeatures.getItem(1);
+						
+						if(i0 != "http://www.w3.org/TR/SVG11/feature#Shape")
+						{
+							r1.removeAttribute("requiredFeatures");
+							return;
+						}
+						if(i1 != "this.is.a.bogus.feature.string")
+						{
+							r1.removeAttribute("requiredFeatures");
+							return;
+						}
+						if(r1.requiredFeatures.numberOfItems != 2)
+						{
+							r1.removeAttribute("requiredFeatures");
+							return;
+						}
+						r2.requiredFeatures.appendItem(i1);
+						if(r1.requiredFeatures.numberOfItems != 2)
+						{
+							r1.removeAttribute("requiredFeatures");
+							return;
+						}
+						if(r2.requiredFeatures.numberOfItems != 1)
+						{
+							r1.removeAttribute("requiredFeatures");
+							return;
+						}
+						r3.requiredFeatures.insertItemBefore(i0,0);
+						if(r3.requiredFeatures.numberOfItems != 2)
+						{
+							r3.setAttribute("fill", "red");
+							return;
+						}
+						if(r1.requiredFeatures.numberOfItems != 2)
+						{
+							r1.removeAttribute("requiredFeatures");
+							return;
+						}
+					}
+					catch(e)
+					{
+						var f = document.getElementById("fail");
+						f.setAttribute("fill", "red");
+					}				
+				}
+			</script>
+		</defs>
+		
+		<text x="50%" y="70" text-anchor="middle">SVGStringList DOM</text>
+		
+		<!-- background images -->
+		<g>
+			<rect width="100" height="100" fill="lime" transform="translate(80 100)"/>
+			<rect width="100" height="100" fill="lime" transform="translate(190 100)"/>
+			<rect width="100" height="100" fill="red" transform="translate(300 100)"/>
+		</g>
+		
+		<!-- tests -->
+		<rect id="r1" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Shape this.is.a.bogus.feature.string" width="100" height="100" fill="red" transform="translate(100 100)"/>
+		<rect id="r2" width="100" height="100" fill="red" transform="translate(190 100)"/>
+		<rect id="r3" width="100" height="100" fill="lime" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Shape" transform="translate(300 100)"/>
+		
+		<rect id="fail" width="100%" height="100%" fill="none"/>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.6 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-07-f.svg b/Tests/W3CTestSuite/svg/types-dom-07-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6abf6cabbab0f02f92623dac64ce280c098d366c
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-07-f.svg
@@ -0,0 +1,156 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.3" reviewer="CL" author="CM" status="accepted"
+    version="$Revision: 1.2 $" testname="$RCSfile: types-dom-07-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/types.html#BasicDOMInterfaces">
+        <p>
+          This tests that the contents of an animVal object are read only.
+          This is tested for interfaces SVGAnimatedNumberList, SVGAnimatedLength,
+          SVGAnimatedLengthList, SVGAnimatedAngle, SVGAnimatedRect,
+          SVGAnimatedTransformList and SVGAnimatedPreserveAspectRatio.
+        </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Once loaded, the test shows 7 rectangles
+        representing seven sub-tests reflecting the result
+        of checking that an animVal object's contents is read
+        only.
+        Each rectangle will be either black to indicate that
+        the sub-test wasn't run, red to indicate that the
+        sub-test failed, and green to indicate that the
+        sub-test passed.
+      </p>
+      <p>
+        The test is passed if all 7 rectangles are green.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-07-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+
+    <text x='210' y='55' text-anchor='end'>animVal is read only:</text>
+ 
+    <g font-size='14' transform='translate(500)rotate(90)'>
+      <rect id='r1a' x='40' y='60' width='20' height='20'/>
+      <text x='70' y='75'>SVGAnimatedNumberList</text>
+      <rect id='r2a' x='40' y='90' width='20' height='20'/>
+      <text x='70' y='105'>SVGAnimatedLength</text>
+      <rect id='r3a' x='40' y='120' width='20' height='20'/>
+      <text x='70' y='135'>SVGAnimatedLengthList</text>
+      <rect id='r4a' x='40' y='150' width='20' height='20'/>
+      <text x='70' y='165'>SVGAnimatedAngle</text>
+      <rect id='r5a' x='40' y='180' width='20' height='20'/>
+      <text x='70' y='195'>SVGAnimatedRect</text>
+      <rect id='r6a' x='40' y='210' width='20' height='20'/>
+      <text x='70' y='225'>SVGAnimatedTransformList</text>
+      <rect id='r7a' x='40' y='240' width='20' height='20'/>
+      <text x='70' y='255'>SVGAnimatedPreserveAspectRatio</text>
+    </g>
+
+    <g display='none'>
+      <text id='text' rotate='0 20 40'>abc</text>
+      <circle id='circle' r='50'/>
+      <marker id='marker' orient='1.5708rad'/>
+      <svg id='svg' viewBox='10 20 30 40'/>
+    </g>
+
+    <script><![CDATA[
+      function $(id) { return document.getElementById(id); }
+
+      var text = $('text'),
+          circle = $('circle'),
+          marker = $('marker'),
+          svg = $('svg');
+
+      function expect_exception(id, fn, code) {
+        try {
+          fn();
+        } catch (e) {
+          if (e.code == code) {
+            $(id).setAttribute('fill', 'green');
+            return;
+          }
+        }
+        $(id).setAttribute('fill', 'red');
+      }
+
+      // SVGAnimatedNumberList: rotate on text
+      expect_exception
+        ('r1a',
+         function() { text.rotate.animVal.clear(); },
+         7 /* DOMException.NO_MODIFICATION_ALLOWED_ERR */);
+
+      // SVGAnimatedLength: r on circle
+      expect_exception
+        ('r2a',
+         function() { circle.r.animVal.value = 123; },
+         7 /* DOMException.NO_MODIFICATION_ALLOWED_ERR */);
+
+      // SVGAnimatedLengthList: x on text
+      expect_exception
+        ('r3a',
+         function() { text.x.animVal.clear(); },
+         7 /* DOMException.NO_MODIFICATION_ALLOWED_ERR */);
+
+      // SVGAnimatedAngle: orient on marker
+      expect_exception
+        ('r4a',
+         function() { marker.orientAngle.animVal.value = 123; },
+         7 /* DOMException.NO_MODIFICATION_ALLOWED_ERR */);
+
+      // SVGAnimatedRect: viewBox on svg
+      expect_exception
+        ('r5a',
+         function() { svg.viewBox.animVal.x = 123; },
+         7 /* DOMException.NO_MODIFICATION_ALLOWED_ERR */);
+
+      // SVGAnimatedTransformList: transform on circle
+      expect_exception
+        ('r6a',
+         function() { circle.transform.animVal.clear(); },
+         7 /* DOMException.NO_MODIFICATION_ALLOWED_ERR */);
+
+      // SVGAnimatedPreserveAspectRatio: preserveAspectRatio on svg
+      expect_exception
+        ('r7a',
+         function() { svg.preserveAspectRatio.animVal.align = 1; },
+         7 /* DOMException.NO_MODIFICATION_ALLOWED_ERR */);
+    ]]></script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.2 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved --><!--
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>-->
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-08-f.svg b/Tests/W3CTestSuite/svg/types-dom-08-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b2d1eaf62ec5bf01b4bd3b91d1eb567299cb86dc
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-08-f.svg
@@ -0,0 +1,189 @@
+<svg id="svg-root" width="100%" height="100%"
+  viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
+    template-version="1.4" reviewer="[reviewer]" author="ED" status="created"
+    version="$Revision: 1.1 $" testname="$RCSfile: types-dom-08-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/types.html#InterfaceSVGLocatable">
+      <p>
+        This test draws a few basic shapes and checks for correct values from getBBox().
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        To pass, each returned bounding box must be correct (indicated by printing the values in green), and when this happens the text in the rect with blue stroke changes from 'failed' to 'passed'.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-08-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <defs>
+      <rect id="myRect" x="0" y="0" width="60" height="40"/>
+    </defs>
+
+    <g id="body">
+      <g id="wrap" transform="translate(300,100)">
+        <g id="group1" transform="translate(10, 20)" fill="#ff0">
+          <rect id="rect1" transform="scale(2)" x="10" y="10" width="50" height="50"/>
+          <rect id="rect2" x="10" y="10" width="100" height="100"/>
+          <g id="group2" transform="translate(10, 20)">
+            <rect id="rect3" x="0" y="10" width="150" height="50"/>
+            <circle id="circle1" cx="20" cy="20" r="100" />
+          </g>
+        </g>
+        <rect id="rect4" x="10" y="10" width="400" height="0"/>
+        <use id="myUse" xlink:href="#myRect" x="-30" y="-20" fill="#ff0"/>
+        <g id="emptyG"/>
+        <line id="thickLine" stroke-width="10" x2="100" y2="0" stroke="#ff0"/>
+      </g>
+
+      <circle id="circle2" cx="20" cy="20" r="100" />
+
+      <text  x="240" y="40" text-anchor="middle" >SVGLocatable.getBBox() - basic test</text>
+
+      <rect x="330" y="315" width="130" height="40" stroke="blue" fill="none"/>
+      <g fill="black">
+        <text id="TestStatus" x="333" y="350" font-size="40">failed</text>
+      </g>
+    </g>
+    
+        <script><![CDATA[
+      var svg_ns = "http://www.w3.org/2000/svg";
+      var xlink_ns = "http://www.w3.org/1999/xlink";
+  
+      var count=0;
+      var topsvg = document.documentElement;
+      var startY = 80;
+      var rowHeight = 12;
+      var fontSize = "10";
+      var isPassed = true;
+  
+      function drawString( text, color )
+      {
+        node_to_insert=document.createElementNS(svg_ns,"text");
+        node_to_insert.setAttributeNS(null,"font-size",fontSize);
+        var xVal = 5;
+        node_to_insert.setAttributeNS(null,"x", xVal.toString());
+        var yVal = startY + count++ * rowHeight;
+        node_to_insert.setAttributeNS(null, "y",  yVal.toString());
+        node_to_insert.setAttributeNS(null, "fill",  color  );
+        node_to_insert.appendChild(document.createTextNode(text));
+        document.getElementById( "test-body-content" ).appendChild(node_to_insert);          
+       
+      }
+  
+      function verifyBBox( bbox, x, y, width, height, epsilon )
+      {
+        if
+        (
+          ( Math.abs(bbox.x - x ) < epsilon ) &&
+          ( Math.abs(bbox.y - y ) < epsilon ) &&
+          ( Math.abs(bbox.width - width ) < epsilon ) &&
+          ( Math.abs(bbox.height - height ) < epsilon ) 
+        )
+        {
+          return "green";
+        }
+        else
+        {
+          isPassed = false;
+          drawString( "Results do not match expected values ( " + x + ", " + y + ", " + width + ", " + height + " )", "red" );
+          return "red";
+        }
+      }
+  
+      function displayGetBBox( )
+      {
+        drawString( "getBBox()", "black" );             
+        var bbox = document.getElementById( "group1" ).getBBox( );
+        drawString( "[group1] " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height, verifyBBox( bbox, -70, -60, 230, 200, 1 / 65535 ) );            
+  
+        bbox = document.getElementById( "rect1" ).getBBox( );
+        drawString( "[rect1] " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height, verifyBBox( bbox, 10, 10, 50, 50, 1 / 65535 ));
+  
+        bbox = document.getElementById( "rect2" ).getBBox( );
+        drawString( "[rect2] " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height , verifyBBox( bbox, 10, 10, 100, 100, 1 / 65535 ));
+  
+        bbox = document.getElementById( "group2" ).getBBox( );
+        drawString( "[group2] " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height, verifyBBox( bbox, -80, -80, 230, 200, 1 / 65535 ));
+  
+        bbox = document.getElementById( "rect3" ).getBBox( );
+        drawString( "[rect3] " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height ,  verifyBBox( bbox, 0, 10, 150, 50, 1 / 65535 ));
+  
+        bbox = document.getElementById( "circle1" ).getBBox( );
+        drawString( "[circle1] " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height , verifyBBox( bbox, -80, -80, 200, 200, 1 / 65535 ));
+        
+        bbox = document.getElementById( "rect4" ).getBBox( );
+        drawString( "[rect4] " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height, verifyBBox( bbox, 10, 10, 400, 0, 1 / 65535 ));
+
+        bbox = document.getElementById( "myUse" ).getBBox( );
+        drawString( "[myUse] " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height , verifyBBox( bbox, -30, -20, 60, 40, 1 / 65535 ));
+
+        bbox = document.getElementById( "thickLine" ).getBBox( );
+        drawString( "[thickLine] " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height , verifyBBox( bbox, 0, 0, 100, 0, 1 / 65535 ));
+
+      }
+  
+      displayGetBBox();
+  
+      // remove from tree, get bbox
+      drawString( "node removed from tree, should still have bounding box", "black" );
+      circle = document.getElementById( "circle2" );
+      document.getElementById( "body" ).removeChild(circle);
+      bbox = circle.getBBox( );
+      drawString( "[circle2]: " + bbox.x + " " + bbox.y + " " + bbox.width + " " + bbox.height , verifyBBox( bbox, -80, -80, 200, 200, 1 / 65535 ));
+
+      var emptyG = document.getElementById( "emptyG" );
+      bbox = emptyG.getBBox( );
+      if ( bbox == null )
+      {
+        drawString( "[emptyG]: null" , "green");
+      }
+      else
+      {
+        isPassed = false;
+        drawString( "Results do not match expected values (null)" , "red");
+      }
+
+
+      if( isPassed )
+      {
+        var status = document.getElementById("TestStatus");
+        status.firstChild.nodeValue = "passed" ;
+        status.setAttribute( "fill", "green");
+      }
+ ]]></script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.1 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-svgfittoviewbox-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svgfittoviewbox-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e787925025a4b55d651caa08a4a1f3620587e357
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-svgfittoviewbox-01-f.svg
@@ -0,0 +1,88 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="[reviewer]" author="Microsoft" status="created" version="$Revision: 1.5 $" testname="$RCSfile: types-dom-svgfittoviewbox-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/types.html#InterfaceSVGFitToViewBox">
+      <p>
+        Retrieving the 'viewBox' and 'preserveAspectRatio' attributes of the 'SVGFitToViewBox' interface is supported.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Run the test. No interaction required.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-svgfittoviewbox-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-size="18">
+    <svg id="testSvg" viewBox="0 0 300 200" preserveAspectRatio="xMinYMin slice" />
+    <text id="failText" x="100" y="100" font-size="80" fill="red">FAIL</text>
+    <text id="passText" x="350" y="300" font-size="50" display="none">PASS</text>
+    <script type="text/javascript">    
+      <![CDATA[
+ 
+        try
+        {
+            var testElement = document.getElementById("testSvg");
+            var viewBox = testElement.viewBox.baseVal;
+            var preserveAspectRatioAlign = testElement.preserveAspectRatio.baseVal.align;
+            var passingTests = 0;
+
+            if ((0 == viewBox.x) && (0 == viewBox.y) && (300 == viewBox.width) && (200 == viewBox.height))
+            {
+                passingTests++;
+            }
+
+            if (SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMINYMIN == preserveAspectRatioAlign && SVGPreserveAspectRatio.SVG_MEETORSLICE_SLICE == testElement.preserveAspectRatio.baseVal.meetOrSlice)
+            {
+                passingTests++;
+            }
+
+            if (2 == passingTests)
+            {
+                document.getElementById("failText").setAttribute("display", "none");
+                document.getElementById("passText").setAttribute("display", "inline");
+            }
+        }
+        catch(ex)
+        {
+          alert("ERROR: " + ex.message);
+      
+        }
+        ]]>
+
+    </script>
+
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-svglengthlist-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svglengthlist-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..615cc649e9ddf595acd5e74f33752ae102550ec7
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-svglengthlist-01-f.svg
@@ -0,0 +1,114 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.4 $" testname="$RCSfile: types-dom-svglengthlist-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/types.html#InterfaceSVGLengthList">
+      <p>
+        The 'getItem', 'replaceItem', and 'removeItem' operations of the 'SVGLengthList' interface raise the 'INDEX_SIZE_ERR' exception when the specified
+        index number is greater than the number of items in the list.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Retrieve a 'SVGLengthList' object by getting the 'baseVal' attribute from the 'x' object of a 'SVGTextElement'. Attempt to call 'getItem',
+        'replaceItem', and 'removeItem' with an index larger than the number of items in the list. For each of these operations, verify there was an
+        exception of type 'INDEX_SIZE_ERR' thrown.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-svglengthlist-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text id="test" />
+    <g transform="translate(96, 96)" font-size="100">
+      <text id="failText" fill="red">FAIL</text>
+      <text id="passText" fill="green" display="none">PASS</text>
+    </g>
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var testElement = document.getElementById("test");
+            var svgList = testElement.x.baseVal;
+            var passingTests = 0;
+
+            try
+            {
+                svgList.getItem(5);
+            }
+            catch (ex)
+            {
+                if (DOMException.INDEX_SIZE_ERR == ex.code)
+                {
+                    passingTests++;
+                }
+            }
+
+            try
+            {
+                var svgElement = testElement.ownerSVGElement;
+                var svgLength = svgElement.createSVGLength();
+                svgLength.valueAsString = "100px";
+                svgList.replaceItem(svgLength, 5);
+            }
+            catch (ex)
+            {
+                if (DOMException.INDEX_SIZE_ERR == ex.code)
+                {
+                    passingTests++;
+                }
+            }
+
+            try
+            {
+                svgList.removeItem(5);
+            }
+            catch (ex)
+            {
+                if (DOMException.INDEX_SIZE_ERR == ex.code)
+                {
+                    passingTests++;
+                }
+            }
+
+            if (3 == passingTests)
+            {
+                document.getElementById("failText").setAttribute("display", "none");
+                document.getElementById("passText").setAttribute("display", "inline");
+            }
+        }
+        catch(ex)
+        {
+            alert("ERROR: " + ex.message);
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-svgnumberlist-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svgnumberlist-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..96e230cfeef6216f1652acbd1791bef3d3dcfaca
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-svgnumberlist-01-f.svg
@@ -0,0 +1,114 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.5 $" testname="$RCSfile: types-dom-svgnumberlist-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/types.html#InterfaceSVGNumberList">
+      <p>
+        The 'getItem', 'replaceItem', and 'removeItem' operations of the 'SVGNumberList' interface raise the 'INDEX_SIZE_ERR' exception when the specified
+        index number is greater than the number of items in the list.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Retrieve a 'SVGNumberList' object by getting the 'baseVal' attribute from the 'rotate' object of a 'SVGTextElement'. Attempt to call 'getItem',
+        'replaceItem', and 'removeItem' with an index larger than the number of items in the list. For each of these operations, verify there was an
+        exception of type 'INDEX_SIZE_ERR' thrown.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-svgnumberlist-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <text id="test" />
+    <g transform="translate(96, 96)" font-size="100">
+      <text id="failText" fill="red">FAIL</text>
+      <text id="passText" fill="green" display="none">PASS</text>
+    </g>
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var testElement = document.getElementById("test");
+            var svgList = testElement.rotate.baseVal;
+            var passingTests = 0;
+             
+            try
+            {
+                svgList.getItem(5);
+            }
+            catch (ex)
+            {
+                if (DOMException.INDEX_SIZE_ERR == ex.code)
+                {
+                    passingTests++;
+                }
+            }
+
+            try
+            {
+                var svgElement = testElement.ownerSVGElement;
+                var svgNumber = svgElement.createSVGNumber();
+                svgNumber.value = 100;
+                svgList.replaceItem(svgNumber, 5);
+            }
+            catch (ex)
+            {
+                if (DOMException.INDEX_SIZE_ERR == ex.code)
+                {
+                    passingTests++;
+                }
+            }
+
+            try
+            {
+                svgList.removeItem(5);
+            }
+            catch (ex)
+            {
+                if (DOMException.INDEX_SIZE_ERR == ex.code)
+                {
+                    passingTests++;
+                }
+            }
+
+            if (3 == passingTests)
+            {
+                document.getElementById("failText").setAttribute("display", "none");
+                document.getElementById("passText").setAttribute("display", "inline");
+            }
+        }
+        catch(ex)
+        {
+            alert("ERROR: " + ex.message);
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-svgstringlist-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svgstringlist-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..17a457c2cacde80c7cc48f8d93698b61d188d7e4
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-svgstringlist-01-f.svg
@@ -0,0 +1,112 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.4 $" testname="$RCSfile: types-dom-svgstringlist-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/types.html#InterfaceSVGStringList">
+      <p>
+        The 'getItem', 'replaceItem', and 'removeItem' operations of the 'SVGStringList' interface raise the 'INDEX_SIZE_ERR' exception when the specified index number
+        is greater than the number of items in the list.
+      </p>
+    </d:testDescription>
+    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Retrieve a 'SVGStringList' object by getting the 'requiredExtensions' attribute from a 'SVGSVGElement'. Attempt to call 'getItem', 'replaceItem',
+        and 'removeItem' with an index larger than the number of items in the list. For each of these operations, verify there was an exception of type 'INDEX_SIZE_ERR' thrown.
+      </p>
+    </d:operatorScript>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-svgstringlist-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <svg id="test" />
+    <g transform="translate(96, 96)" font-size="100">
+      <text id="failText" fill="red">FAIL</text>
+      <text id="passText" fill="green" display="none">PASS</text>
+    </g>
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var testElement = document.getElementById("test");
+            var svgList = testElement.requiredExtensions;
+            var passingTests = 0;
+             
+            try
+            {
+                svgList.getItem(5);
+            }
+            catch (ex)
+            {
+                if (DOMException.INDEX_SIZE_ERR == ex.code)
+                {
+                    passingTests++;
+                }
+            }
+
+            try
+            {
+                svgList.replaceItem("fakeValue", 5);
+            }
+            catch (ex)
+            {
+                if (DOMException.INDEX_SIZE_ERR == ex.code)
+                {
+                    passingTests++;
+                }
+            }
+
+            try
+            {
+                svgList.removeItem(5);
+            }
+            catch (ex)
+            {
+                if (DOMException.INDEX_SIZE_ERR == ex.code)
+                {
+                    passingTests++;
+                }
+            }
+
+            if (3 == passingTests)
+            {
+                document.getElementById("failText").setAttribute("display", "none");
+                document.getElementById("passText").setAttribute("display", "inline");
+            }
+        }
+        catch(ex)
+        {
+
+            alert("ERROR: " + ex.message);
+      
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.4 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>
diff --git a/Tests/W3CTestSuite/svg/types-dom-svgtransformable-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svgtransformable-01-f.svg
new file mode 100644
index 0000000000000000000000000000000000000000..15aa68601448583f2aaf2fc1181db6ad72d51941
--- /dev/null
+++ b/Tests/W3CTestSuite/svg/types-dom-svgtransformable-01-f.svg
@@ -0,0 +1,82 @@
+<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <!--======================================================================-->
+  <!--=  Copyright 2008 World Wide Web Consortium, (Massachusetts          =-->
+  <!--=  Institute of Technology, European Research Consortium for         =-->
+  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
+  <!--=  All Rights Reserved.                                              =-->
+  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
+  <!--======================================================================-->
+  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" template-version="1.4" reviewer="CM" author="Microsoft" status="reviewed" version="$Revision: 1.5 $" testname="$RCSfile: types-dom-svgtransformable-01-f.svg,v $">
+    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://dev.w3.org/SVG/profiles/1.1F2/publish/types.html#InterfaceSVGTransformable">
+      <p>
+        Retrieving and setting the 'transform' attribute of the 'SVGTransformable' interface is supported.
+      </p>
+    </d:testDescription>
+    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
+      <p>
+        Test passes if there is no red visible on the page.
+      </p>
+    </d:passCriteria>
+  </d:SVGTestCase>
+  <title id="test-title">$RCSfile: types-dom-svgtransformable-01-f.svg,v $</title>
+  <defs>
+    <font-face
+      font-family="SVGFreeSansASCII"
+      unicode-range="U+0-7F">
+      <font-face-src>
+        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
+      </font-face-src>
+    </font-face>
+  </defs>
+  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
+    <g id="test" transform="translate(10)" />
+    <g transform="translate(100, 100)" font-size="80">
+      <text id="failText" fill="red">FAIL</text>
+      <text id="passText" fill="green" display="none">PASS</text>
+    </g>
+    <script type="text/javascript"><![CDATA[
+        try
+        {
+            var testElement = document.getElementById("test");
+            var passingTests = 0;
+
+            if (SVGTransform.SVG_TRANSFORM_TRANSLATE == testElement.transform.baseVal.getItem(0).type)
+            {
+                passingTests++;
+            }
+
+            var svgElement = testElement.ownerSVGElement;
+            var svgTransform = svgElement.createSVGTransform();
+            svgTransform.setRotate(45, 0, 0);
+            testElement.transform.baseVal.clear();
+            testElement.transform.baseVal.appendItem(svgTransform);
+
+            if (SVGTransform.SVG_TRANSFORM_ROTATE == testElement.transform.baseVal.getItem(0).type)
+            {
+                passingTests++;
+            }
+
+            if (2 == passingTests)
+            {
+                document.getElementById("failText").setAttribute("display", "none");
+                document.getElementById("passText").setAttribute("display", "inline");
+            }
+        }
+        catch(ex)
+        {
+            alert('ERROR: ' + ex.message);
+        }]]>
+    </script>
+  </g>
+  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
+    <text id="revision" x="10" y="340" stroke="none"
+      fill="black">$Revision: 1.5 $</text>
+  </g>
+  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000"/>
+  <!-- comment out this watermark once the test is approved -->
+  <g id="draft-watermark">
+    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
+    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
+      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
+  </g>
+</svg>