[gs-regression] cluster regression ghostpdl-r8959
atfxsw01 at tticluster.com
atfxsw01 at tticluster.com
Fri Aug 8 17:03:24 PDT 2008
ran 683 tests with gsvg in 1.727 seconds on 16 nodes
ERROR running 681 of 683 tests
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-33-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-smil-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-15-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-17-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-cond-207-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AE" owner="ED" desc="Tests that the general feature strings map to the corresponding sub-feature strings." status="accepted" approved="yes" version="$Revision: 1.3 $" testname="$RCSfile: struct-cond-207-t.svg,v $">
<OperatorScript>
<p>
Tests that the general feature strings map to the corresponding sub-feature strings.
The test has passed if the test result column does not show "Failed" as a result for
any of the subtests.
</p>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text fill="#000" x="240" font-size="14" y="30" id="display-title">
Required Features Attribute
</text>
<text x="240" y="45" id="comment-1">
Tests that the general feature strings map to the corresponding sub-feature strings.
</text>
<text text-anchor="end" x="340" y="-15" fill="#555" font-size="14">
Feature
</text>
<text x="350" y="-15" fill="#555" font-size="14">
Test result
</text>
<text text-anchor="end" x="340" y="0" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-all
</text>
<switch>
<text x="350" y="0" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-all">
<switch>
<tspan requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static-DOM http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-animated http://www.w3.org/Graphics/SVG/feature/1.2/#Audio http://www.w3.org/Graphics/SVG/feature/1.2/#Video http://www.w3.org/Graphics/SVG/feature/1.2/#Animation http://www.w3.org/Graphics/SVG/feature/1.2/#Discard http://www.w3.org/Graphics/SVG/feature/1.2/#MediaAttribute">
Passed
</tspan>
<tspan>
Failed
</tspan>
</switch>
</text>
<text x="350" y="0" fill="red">
Not supported
</text>
</switch>
<text text-anchor="end" x="340" y="12" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-animated
</text>
<switch>
<text x="350" y="12" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-animated">
<switch>
<tspan requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static http://www.w3.org/Graphics/SVG/feature/1.2/#TimedAnimation">
Passed
</tspan>
<tspan>
Failed
</tspan>
</switch>
</text>
<text x="350" y="12" fill="red">
Not supported
</text>
</switch>
<text text-anchor="end" x="340" y="24" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static-DOM
</text>
<switch>
<text x="350" y="24" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static-DOM">
<switch>
<tspan requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static http://www.w3.org/Graphics/SVG/feature/1.2/#Scripting http://www.w3.org/Graphics/SVG/feature/1.2/#Handler http://www.w3.org/Graphics/SVG/feature/1.2/#Listener">
Passed
</tspan>
<tspan>
Failed
</tspan>
</switch>
</text>
<text x="350" y="24" fill="red">
Not supported
</text>
</switch>
<text text-anchor="end" x="340" y="36" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static
</text>
<switch>
<text x="350" y="36" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static">
<switch>
<tspan requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#CoreAttribute http://www.w3.org/Graphics/SVG/feature/1.2/#Structure http://www.w3.org/Graphics/SVG/feature/1.2/#ConditionalProcessing http://www.w3.org/Graphics/SVG/feature/1.2/#ConditionalProcessingAttribute http://www.w3.org/Graphics/SVG/feature/1.2/#Image http://www.w3.org/Graphics/SVG/feature/1.2/#Prefetch http://www.w3.org/Graphics/SVG/feature/1.2/#Shape http://www.w3.org/Graphics/SVG/feature/1.2/#Text http://www.w3.org/Graphics/SVG/featu
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-211-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-text-09-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-210-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-circle-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-220-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-27-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-glob-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-nsstroke-203-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="NR" owner="BitFlash" desc="Non-scaling Stroke" status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: paint-nsstroke-203-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Non-scaling Stroke
</p>
<p>
Testing "non-scaling-stroke" on basic shapes with "animate" and "animateTranform".
</p>
<p>
The animation should run indefinitely.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text xml:id="display-title" x="240" y="30" font-size="14" fill="#000">
Non-scaling Stroke
</text>
<text xml:id="comment-1" x="240" y="45">
The 'vector-effect' is set to 'non-scaling' on the geometric shapes used in this kaleidoscope.
</text>
<text xml:id="comment-2" x="240" y="57">
The animation should run indefinitely.
</text>
<defs>
<g xml:id="group1">
<g>
<rect xml:id="bluesquare" x="-40" y="-40" width="20" height="20" fill="#00f" stroke="black" stroke-width="2" vector-effect="non-scaling-stroke" fill-opacity="0.5" stroke-opacity="0.5">
<animateTransform attributeName="transform" type="rotate" begin="0s" dur="5s" values="0;359" repeatCount="indefinite" accumulate="none" additive="replace" calcMode="linear" fill="remove" restart="always" />
<animateColor attributeName="fill" begin="0s" dur="5s" values="#00f;#0f0;#f00;#ff0;#0f0;#00f" fill="remove" repeatCount="indefinite" />
<animateColor attributeName="stroke" begin="0s" dur="5s" values="#000;#080;#0f0;#080;#040;#000" fill="remove" repeatCount="indefinite" />
</rect>
<animateTransform attributeName="transform" type="translate" begin="0s" dur="3s" values="-10,0;50,-10" repeatCount="indefinite" accumulate="none" additive="replace" calcMode="linear" fill="remove" restart="always" />
</g>
<g>
<rect xml:id="tall" x="0" y="0" width="10" height="40" fill="#f60" stroke="blue" stroke-width="10" vector-effect="non-scaling-stroke" fill-opacity="0.6" stroke-opacity="0.6">
<animateTransform attributeName="transform" type="rotate" begin="1s" dur="3s" values="0;359" repeatCount="indefinite" accumulate="none" additive="replace" calcMode="linear" fill="remove" restart="always" />
<animateColor attributeName="fill" begin="0s" dur="5s" values="#f60;#f00;#00f;#0ff;#f60" fill="remove" repeatCount="indefinite" />
</rect>
<animateTransform attributeName="transform" type="translate" begin="1s" dur="3s" values="75,20;-10,0" repeatCount="indefinite" accumulate="none" additive="replace" calcMode="linear" fill="remove" restart="always" />
</g>
<g>
<polygon xml:id="polygon1" points="0 0 5 0 15 30 0 20" fill="#0fc" stroke="red" stroke-width="1" vector-effect="non-scaling-stroke" fill-opacity="0.4" stroke-opacity="0.4">
<animateTransform attributeName="transform" type="rotate" begin="3s" dur="5s" values="0;359" repeatCount="indefinite" accumulate="none" additive="replace" calcMode="linear" fill="remove" restart="always" />
<animateColor attributeName="fill" begin="0s" dur="5s" values="#0fc;#ff0;#f00;#0f0;#0fc" fill="remove" repeatCount="indefinite" />
</polygon>
<animateTransform attributeName="transform" type="translate" begin="2s" dur="2s" values="40,0;40,10" repeatCount="indefinite" accumulate="none" additive="replace" calcMode="linear" fill="remove" restart="always" />
</g>
</g>
</defs>
<use xlink:href="#group1" />
<use xlink:href="#group1" transform="scale(1,-1)" />
<use xlink:href="#group1" />
<use xlink:href="#group1" transform="scale(1,-1)" />
<use xlink:href="#group1" />
<use xlink:href="#group1" transform="scale(1,-1)" />
<use xlink:href="#group1" />
<use xlink:href="#group1" transform="scale(1,-1)" />
<use xlink:href="#group1" />
<use
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-desc-03-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CL" owner="CN" desc="Test the CSS2 font-maching algorithm against a set of SVG fonts." status="accepted" approved="yes" version="$Revision: 1.2 $" testname="$RCSfile: fonts-desc-03-t.svg,v $">
<OperatorScript>
<Paragraph>
This test demonstrates CSS font matching based on the
font-weight attribute.
</Paragraph>
<Paragraph>
The first line should show a square and then a triangle.
The bold font should match the second SVGFont1 declaration.
</Paragraph>
<Paragraph>
The second line should show a triangle and then a square.
This test shows that order of font definition does not
effect selection.
</Paragraph>
<Paragraph>
The last line should show a square then a triangle. This test
demonstrates that basic font-weight selection using
font-weight numbers.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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>
<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>
<text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black"
tests_public/svg/svgw3c-1.2-tiny/svg/text-tselect-03-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="CL" owner="ED" desc="Tests bidirectional text selection" status="accepted" approved="yes" version="$Revision: 1.7 $" testname="$RCSfile: text-tselect-03-t.svg,v $">
<OperatorScript>
<p>
This test demonstrates text selection of bidirectional text.
</p>
<p>
To pass the test the the first 9 characters in logical order starting from logical position 0 are to be selected. This must be done by the tester since there's no way to control the selection in DOM. The selection should be started at the letter 'a' and proceed to the number '1' as indicated by the arrows. Visually this makes the selection 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>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
<font id="mini" horiz-adv-x="500">
<font-face font-family="tselect" 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="686" bbox="-797 -545 2010 1166" underline-thickness="50" underline-position="-100" unicode-range="U+05D0-U+05D5, U+0061-U+0066, U+0020, U+0031-U+0033" />
<missing-glyph horiz-adv-x="432" d="M33 0v666h333v-666h-333zM66 33h267v600h-267v-600z" />
<glyph glyph-name="one" unicode="1" d="M183 593q-18 0 -72 -22v14l180 91l8 -2v-600q0 -36 18 -47t77 -12v-15h-276v15q56 2 75.5 16.5t19.5 61.5v453q0 47 -30 47z" />
<glyph glyph-name="two" unicode="2" d="M31 477q5 23 10 40t21.5 49.5t37 54t57 38.5t82.5 17q78 0 131.5 -51t53.5 -126q0 -113 -128 -247l-168 -176h239q34 0 50.5 11.5t44.5 54.5l13 -5l-55 -137h-390v12l178 189q130 138 130 260q0 63 -39 102t-102 39q-52 0 -83.5 -28.5t-61.5 -101.5z" />
<glyph glyph-name="three" unicode="3" d="M81 78q23 0 68.5 -28t79.5 -28q55 0 93 43t38 106q0 52 -27 91.5t-74 56.5q-29 11 -106 11v13q34 12 58.5 23.5t51.5 31t41.5 47.5t14.5 64q0 47 -30.5 77t-79.5 30q-47 0 -82.5 -25.5t-66.5 -80.5l-15 4q26 71 70.5 116.5t126.5 45.5q69 0 112.5 -38t43.5 -99 q0 -41 -21 -72t-73 -66q60 -26 94 -66.5t34 -115.5q0 -106 -78.5 -169.5t-197.5 -63.5q-52 0 -82.5 15.5t-30.5 41.5q0 16 10.5 25.5t27.5 9.5z" />
<glyph glyph-name="a" unicode="a" horiz-adv-x="444" d="M37 97q0 38 21.5 69t57 50.5t80 39t91.5 36.5v61q0 83 -76 83q-30 0 -51 -14.5t-21 -34.5q0 -8 2.5 -22t2.5 -18q0 -17 -13.5 -29.5t-31.5 -12.5q-17 0 -30 13t-13 30q0 47 48.5 79.5t119.5 32.5q82 0 113 -39.5t31 -120.5v-195q0 -33 6.5 -45.5t23.5 -12.5q21 0 44 19 v-26q-26 -29 -45.5 -39.5t-44.5 -10.5q-31 0 -45.5 17t-18.5 56q-86 -73 -146 -73q-46 0 -75.5 30t-29.5 77zM287 123v145q-90 -33 -126 -64t-36 -75v-4q0 -32 18.5 -54.5t44.5 -22.5q34 0 73 23q16 9 21 19t5 33z" />
<glyph glyph-name="b" unicode="b" d="M153 681v-306q15 37 54 61t85 24q75 0 125.5 -62.5t50.5 -154.5q0 -107 -67.5 -180t-166.5 -73q-60 0 -112.5 20.5t-52.5 43.5v519q0 31 -9.5 41t-39.5 10q-11 0 -17 -1v16l29 8q67 19 116 36zM153 322v-252q0 -19 29 -33.5t68 -14.5q62 0 96 46t34 129q0 91 -34.5 145.5 t-93.5 54.5q-39 0 -69 -23t-30 -52z" />
<glyph glyph-name="c" unicode="c" horiz-adv-x="444" d="M25 213q0 111 65.5 179t153.5 68q63 0 108.5 -30.5t45.5 -72.5q0 -17 -14 -29.5t-34 -12.5q-34 0 -47 46l-6 22q-8 28 -20 38t-39 10q-61 0 -98.5 -48.5t-37.5 -125.5q0 -86 43.5 -140.5t111.5 -54.5q43 0 74 21t67 73l14 -9q-10 -20 -17.5 -33t-27 -39t-38.5 -42 t-50 -29.5t-64 -13.5q-83 0 -136.5 62.5t-53.5 160.5z" />
<glyph glyph-name="d" unicode="d" d="M344 -10l-4 3v64q-48 -67 -128 -67q-83 0 -134 59.5t-51 155.5q0 106 61 180.5t147 74.5q54 0 10
tests_public/svg/svgw3c-1.2-tiny/svg/udom-event-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-80-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-alevel-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-65-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Basic tests on the min attribute" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-65-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<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
<
set
>
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
<
set
>
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
<
set
>
animation with the same configuration except that the min attribute value is set to 'media'. Because
the
<
set
>
element does not define a media, the behavior should be as if the attribute was not specified.
The active duration (5s) of the second
<
set
>
animation is therefore not constrained.
</p>
<p>
On the second row, the
<
set
>
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
<
set
>
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
<
set
>
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
<
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
<
set
>
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
<
5s) the (min constrained) active duration has to be corrected to 5s.
</p>
<p>
On the sixth row, the
<
set
>
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
<
8s) the active duration has to be corrected to 8s. As the fill attribute is
set to 'remove' on the
<
set
>
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
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-line-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-dom-213-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-214-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-image-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-trans-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-elem-02-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AE" owner="Dean Jackson" desc="Basic test of embedded fonts using glyph outlines" status="accepted" approved="yes" version="$Revision: 1.7 $" testname="$RCSfile: fonts-elem-02-t.svg,v $">
<OperatorScript>
<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. An implementation that passes this test should completely fill the cutout, leaving a solid black area (some slight antialiasing effects may remain).
</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>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<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 -24
tests_public/svg/svgw3c-1.2-tiny/svg/text-ws-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-discard-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-event-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-align-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/script-element-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-polyline-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-intro-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/script-listener-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-overview-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-216-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AS" owner="DOH" desc="Compare from-to, from-by and by animateTransform skewX with values animateTransform." status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: animate-elem-216-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Compare from-to, from-by and by animateTransform skewX with values animateTransform.
</p>
<p>
The main indication for a failed test is the appearance of red.
</p>
<p>
SMIL 2 specifies, how from-to, from-by and by animations have to be converted into
values animation. Therefore they have to be the same as the related values animation.
The conversion is as follows:
</p>
<table>
<tr>
<th>
used
</th>
<th>
converted
</th>
</tr>
<tr>
<td>
from="a" to="b"
</td>
<td>
values="a;b"
</td>
</tr>
<tr>
<td>
from="a" by="b"
</td>
<td>
values="a;a+b"
</td>
</tr>
<tr>
<td>
by="a"
</td>
<td>
values="0;a" additive="sum"
</td>
</tr>
</table>
<p>
(by and from-by animations have only a meaning, if values can be added somehow.
'0' is used as a general symbol for the neutral element of addition for the related attribute,
this means 0 + a = a + 0 = a. And '0' is not equal to the symbol '1' as the basic unit of the
related attribute, '0' is a predecessor of '1' in the related attribute space. For animateTransform
the '0' is the same as the zero matrix, not the unity or identity matrix.
For the skewX type this is a skew with an angle of 0.
Deviating from SMIL 2 in SVG it is specified, that for animateTranform the animation
effect has to be postmultiplied to the underlying value, if the animation is additive. Note
that for two additive skewX angles a, b the resulting angle is not a+b but atan(tan(a)+tan(b)).
</p>
<p>
The from-to, from-by and by are applied to animateTransform of the skewX type
of different blue stroked
paths and are compared with the related values animations including additive and
cumulative hehaviour for underlying red paths. Additionally underlying dark red
paths simulate the same behaviour using always the defaults additive replace and
accumulate replace with animateMotion. The blue paths cover all red paths.
Therefore if something red gets visible, an error is occured.
Because fill is always not set and therefore remove,
the final value is the value at 2s given with a simple values animateTransform, not very
interesting for the test.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<path xml:id="fromto" id="fromto" d="M-20,40Q-20,-40 40,-40 20,0 20,40C30,80 -20,0 -20,40" />
<path xml:id="fromby" id="fromby" d="M-20,40L20,-40M-20,-40C-20,40 0,0 20,40" />
<path xml:id="by" id="by" d="M-20,0L20,40M-20,-40L20,-20M-10,-40L15,40" />
</defs>
<animateTransform attributeName="transform" type="skewX" values="10" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="skewX" values="10" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="skewX" values="10" begin="67s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-23;-30" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-38;-45" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-23;-30" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-38;-45" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="62s" dur="5s" />
<use xlink:href="#fromto" stroke="#800">
<title>
dark red values comparsion for from-to animations - if visible fail
</title>
</use>
<use xlink:href="#fromto" stroke="#f00">
<title>
red values comparsion for from-to animations - if visible fail
</title>
<animateTransform attributeName="transform" type="skewX" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromto" stroke="#88f">
<title>
blue from-to animations
</title>
<animateTransform attributeName="transform" type="skewX" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewX" from="-8" to="-15" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" from="-8" to="-15" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" from="-8" to="-15" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="skewX" from="-8" to="-15" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="skewX" values="10" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="skewX" values="10" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="skewX" values="10" begin="67s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-23;-30" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-38;-45" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-23;-30" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-38;-45" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="62s" dur="5s" />
<use xlink:href="#fromby" stroke="#800">
<title>
dark red values comparsion for from-by animations - if visible fail
</title>
</use>
<use xlink:href="#fromby" stroke="#f00">
<title>
red values comparsion for from-by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="skewX" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="skewX" values="-8;-15" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromby" stroke="#88f">
<title>
blue from-by animations
</title>
<animateTransform attributeName="transform" type="skewX" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewX" from="-8" by="-7" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" from="-8" by="-7" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" from="-8" by="-7" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="skewX" from="-8" by="-7" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="skewX" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewX" values="0;20" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="20;40" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="40;60" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="0;20" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="20;40" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="40;60" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="0;15" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="0;15" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="0;15" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="0;15" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="0;15" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="skewX" values="0;15" begin="62s" dur="5s" />
<use xlink:href="#by" stroke="#800">
<title>
dark red values comparsion for by animations - if visible fail
</title>
</use>
<use xlink:href="#by" stroke="#f00">
<title>
red values comparsion for by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="skewX" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewX" values="0;20" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" values="0;20" begin="20s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewX" values="0;15" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none"
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-glyph-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/render-elems-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-color-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-dom-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-09-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-kern-01-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="CN" owner="VH" desc="Test handling of hkern elements in SVG Fonts" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: fonts-kern-01-t.svg,v $">
<OperatorScript>
<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>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</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" />
<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"
tests_public/svg/svgw3c-1.2-tiny/svg/struct-frag-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-13-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-traitaccess-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-36-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Animation of transform on structure, hyperlinking and text elements" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-36-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
This test validates the animation of the transform attribute on structure elements, hyperlinks and text elements.
</p>
<p>
The test applies an
<
animateTransform
>
on various element types:
<
g
>
,
<
use
>
,
<
image
>
,
<
switch
>
,
<
a
>
and
<
text
>
. 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>
<p>
The static reference image shows the final state of the animation.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<font xml: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 text-anchor="middle" x="240" y="25" font-size="16">
<
animateTransform
>
on structure,
</text>
<text text-anchor="middle" x="240" y="45" font-size="16">
hyperlinking and text elements
</text>
<animateTransform attributeName="transform" type="rotate" values="0;360;180;360" dur="3s" />
<text y="60" text-anchor="middle">
<
g
>
</text>
<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)" />
<text y="40" text-anchor="middle">
<
use
>
</text>
<image xml: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/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYX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
tests_public/svg/svgw3c-1.2-tiny/svg/paint-vfill-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-dom-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-constr-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-text-04-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AE" owner="VH" desc="Tests that the viewer can handle the rotate attribute on the text element" status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: text-text-04-t.svg,v $">
<OperatorScript>
<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 red 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>
<p>
In all the above tests, blue markers represent the expected glyph positions. The red markers are showing positions where no glyph should appear. The glyphs are black squares of increasing sizes.
</p>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<font xml: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>
<defs>
<rect xml:id="marker" x="-4" y="-4" width="8" height="8" />
</defs>
<text text-anchor="end" x="-30">
Reference
</text>
<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 xml:id="ref" font-family="embeded" font-size="20">
1234
</text>
<text text-anchor="end" x="-30">
x all
</text>
<use xlink:href="#marker" x="0" fill="red" />
<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>
<text text-anchor="end" x="-30">
x more
</text>
<use xlink:href="#marker" x="0" fill="red" />
<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="red" />
<text font-family="embeded" font-size="20" x="20 40 60 80 100">
1234
</text>
<text text-anchor="end" x="-30">
x fewer
</text>
<use xlink:href="#marker" x="0" fill="red" />
tests_public/svg/svgw3c-1.2-tiny/svg/script-handle-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-220-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-10-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-208-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-fill-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-12-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-22-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-textcontent-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-alevel-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-image-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-rect-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-svg-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-217-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-83-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/linking-a-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-211-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-order-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/linking-refs-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-image-09-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-68-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-other-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-trans-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-svg-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-discard-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-elem-05-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="CN" owner="VH" desc="Basic test of embedded fonts using glyph outlines" status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: fonts-elem-05-t.svg,v $">
<OperatorScript>
<p />
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<font xml: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 xml: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 xml: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 xml:id="marker">
<line y2="-40" stroke="red" />
<rect x="-4" y="-4" width="8" height="8" fill="#8888ff" />
</g>
<g xml:id="marker500">
<line y2="-40" stroke="red" />
<line x1="15" x2="15" y2="-40" stroke="red" />
<line x2="15" stroke="red" />
<rect x="-4" y="-4" width="8" height="8" fill="#8888ff" />
</g>
<g xml:id="marker1000">
<line y2="-40" stroke="red" />
<line x1="30" x2="30" y2="-40" stroke="red" />
<line x2="30" stroke="red" />
<rect x="-4" y="-4" width="8" height="8" fill="#8888ff" />
</g>
</defs>
<text x="240" y="50" text-anchor="middle" font-size="30">
<
font
>
horiz-origin-x
</text>
<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>
<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>
<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>
<text xml:id="revi
tests_public/svg/svgw3c-1.2-tiny/svg/interact-zoom-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-211-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AS" owner="DOH" desc="Compare from-to, from-by and by animateMotion with values animateMotion." status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: animate-elem-211-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Compare from-to, from-by and by animateMotion with values animateMotion.
</p>
<p>
The main indication for a failed test is the appearance of red.
</p>
<p>
SMIL 2 specifies, how from-to, from-by and by animations have to be converted into
values animation. Therefore they have to be the same as the related values animation.
The conversion is as follows:
</p>
<p>
(by and from-by animations have only a meaning, if values can be added somehow.
'0' is used as a general symbol for the neutral element of addition for the related attribute,
this means 0 + a = a + 0 = a. And '0' is not equal to the symbol '1' as the basic unit of the
related attribute, '0' is a predecessor of '1' in the related attribute space. For animateMotion
the '0' is no motion or is related to a translation given in coordinates: 0,0.)
</p>
<p>
The from-to, from-by and by are applied to animateMotion of different blue stroked
paths and are compared with the related values animations including additive and
cumulative hehaviour for underlying red paths. Additionally underlying dark red
paths simulate the same behaviour using always the defaults additive replace and
accumulate replace. The blue paths cover all red paths. Therefore if something
red gets visible, an error is occured. Because fill is always not set and therefore remove,
the final value is the value at 2s given with a simple values animateMotion, not very
interesting for the test.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<path xml:id="fromto" id="fromto" d="M-15,-20L-20,20 20,20C-10,-10 30,-20 -15,-20Z" />
<path xml:id="fromby" id="fromby" d="M-20,-15L-20,15 20,20C20,0 -10,-20 -20,-15Z" />
<path xml:id="by" id="by" d="M-20,-20C100,80 40,-60 20,20Z" />
</defs>
<use xlink:href="#fromto" x="40" y="80" stroke="#800">
<title>
dark red values comparsion for from-to animations - if visible fail
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion values="30,90;50,60" begin="4s" dur="5s" />
<animateMotion values="60,130;80,100" begin="9s" dur="5s" />
<animateMotion values="90,170;110,140" begin="14s" dur="5s" />
<animateMotion values="10,70;30,40" begin="20s" dur="5s" />
<animateMotion values="40,110;60,80" begin="25s" dur="5s" />
<animateMotion values="70,150;90,120" begin="30s" dur="5s" />
<animateMotion values="30,90;50,60" begin="36s" dur="5s" />
<animateMotion values="30,90;50,60" begin="41s" dur="5s" />
<animateMotion values="30,90;50,60" begin="46s" dur="5s" />
<animateMotion values="10,70;30,40" begin="52s" dur="5s" />
<animateMotion values="10,70;30,40" begin="57s" dur="5s" />
<animateMotion values="10,70;30,40" begin="62s" dur="5s" />
</use>
<use xlink:href="#fromto" x="40" y="80" stroke="#f00">
<title>
red values comparsion for from-to animations - if visible fail
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion values="10,70;30,40" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateMotion values="10,70;30,40" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateMotion values="10,70;30,40" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateMotion values="10,70;30,40" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromto" x="40" y="80" stroke="#88f">
<title>
blue from-to animations
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion from="10,70" to="30,40" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateMotion from="10,70" to="30,40" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateMotion from="10,70" to="30,40" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateMotion from="10,70" to="30,40" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<use xlink:href="#fromby" x="160" y="80" stroke="#800">
<title>
dark red values comparsion for from-by animations - if visible fail
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion values="30,90;50,60" begin="4s" dur="5s" />
<animateMotion values="60,130;80,100" begin="9s" dur="5s" />
<animateMotion values="90,170;110,140" begin="14s" dur="5s" />
<animateMotion values="10,70;30,40" begin="20s" dur="5s" />
<animateMotion values="40,110;60,80" begin="25s" dur="5s" />
<animateMotion values="70,150;90,120" begin="30s" dur="5s" />
<animateMotion values="30,90;50,60" begin="36s" dur="5s" />
<animateMotion values="30,90;50,60" begin="41s" dur="5s" />
<animateMotion values="30,90;50,60" begin="46s" dur="5s" />
<animateMotion values="10,70;30,40" begin="52s" dur="5s" />
<animateMotion values="10,70;30,40" begin="57s" dur="5s" />
<animateMotion values="10,70;30,40" begin="62s" dur="5s" />
</use>
<use xlink:href="#fromby" x="160" y="80" stroke="#f00">
<title>
red values comparsion for from-by animations - if visible fail
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion values="10,70;30,40" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateMotion values="10,70;30,40" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateMotion values="10,70;30,40" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateMotion values="10,70;30,40" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromby" x="160" y="80" stroke="#88f">
<title>
blue from-by animations
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion from="10,70" by="20,-30" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateMotion from="10,70" by="20,-30" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateMotion from="10,70" by="20,-30" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateMotion from="10,70" by="20,-30" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<use xlink:href="#by" x="300" y="200" stroke="#800">
<title>
dark red values comparsion for by animations - if visible fail
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion values="20,20;40,-10" begin="4s" dur="5s" />
<animateMotion values="40,-10;60,-40" begin="9s" dur="5s" />
<animateMotion values="60,-40;80,-70" begin="14s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="20s" dur="5s" />
<animateMotion values="40,-10;60,-40" begin="25s" dur="5s" />
<animateMotion values="60,-40;80,-70" begin="30s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="36s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="41s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="46s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="52s" dur="5s" />
<animateMotion val
tests_public/svg/svgw3c-1.2-tiny/svg/paint-color-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-nsstroke-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-31-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-pevents-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/script-handle-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-progressive-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-frag-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-event-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-dom-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-image-10-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/linking-frag-202-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="ED" owner="BitFlash" desc="Testing Links to External 'svgView' with Transforms" status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: linking-frag-202-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Testing Links to external and internal 'svgView' with Transforms.
</p>
<p>
The first part of the test is passed if the rect links on the top line go to the linking-frag-202-t.svg file and
adjust the resulting view according to their respective text;
- The rect with 'Rotate' must link to the linking-frag-201-t.svg file and rotate resulting view
- The rect with 'Shift' must link to the linking-frag-201-t.svg file and shitf the resulting view
- The rect with 'Scale' must link to the linking-frag-201-t.svg file and scale the resulting view
- The rect with 'skewX' must link to the linking-frag-201-t.svg file and skew the resulting view along the X axis
- The rect with 'skewY' must link to the linking-frag-201-t.svg file and skew the resulting view along the Y axis
- The rect with 'identity' must link to the linking-frag-201-t.svg file and not change the resulting view.
</p>
<p>
The second part of the test is passed if the rect links on the bottom line link to this file and adjust the
resulting view according to their respective text;
- The rect with 'Rotate' must link to this file and rotate resulting view
- The rect with 'Shift' must link to this file and shitf the resulting view
- The rect with 'Scale' must link to this file and scale the resulting view
- The rect with 'skewX' must link to this file and skew the resulting view along the X axis
- The rect with 'skewY' must link to this file and skew the resulting view along the Y axis
- The rect with 'identity' must link to this file and not change the resulting view.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
<rect xml:id="outlineRect" width="50" height="25" stroke="#333" fill-opacity="0.5" />
</defs>
<text xml:id="display-title" fill="black" x="240" y="40" font-size="18">
Testing Links to External 'svgView' with Transforms
</text>
<text xml:id="comment-1" text-anchor="middle" fill="#555" x="240" y="65" font-size="12">
First line links to an svgView in an external file
<tspan fill="black" font-style="italic">
(linking-frag-201-t.svg)
</tspan>
</text>
<text xml:id="comment-2" text-anchor="middle" fill="#555" x="240" y="80" font-size="12">
Second line links to an svgView in the local file
</text>
<a xml:id="a1" xlink:href="linking-frag-201-t.svg#svgView(transform(rotate(30, 150, 150)))" transform="translate(30,100)">
<use stroke-width="2" xlink:href="#outlineRect" fill="red">
<set attributeName="stroke-width" to="4" begin="a1.focusin" end="a1.focusout" />
</use>
<text x="25" y="17" stroke="none" stroke-width="0" fill="white" text-anchor="middle">
Rotate
</text>
</a>
<a xml:id="a2" xlink:href="linking-frag-201-t.svg#svgView(transform(translate(50, -50)))" transform="translate(100,100)">
<use stroke-width="2" xlink:href="#outlineRect" fill="blue">
<set attributeName="stroke-width" to="4" begin="a2.focusin" end="a2.focusout" />
</use>
<text x="25" y="17" stroke="none" stroke-width="0" fill="white" text-anchor="middle">
Shift
</text>
</a>
<a xml:id="a3" xlink:href="linking-frag-201-t.svg#svgView(transform(scale(0.5)))" transform="translate(170,100)">
<use stroke-width="2" xlink:href="#outlineRect" fill="green">
<set attributeName="stroke-width" to="4" begin="a3.focusi
tests_public/svg/svgw3c-1.2-tiny/svg/text-text-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-77-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="NR" desc="Test on the animation of text properties and inheritance of animated text properties" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-77-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
This test demonstrates how
<
set
>
elements change text properties on a
<
text
>
element. For each of the
text properties being tested, 3
<
set
>
elements are set. The first
<
set
>
element acts directly on the
<
text
>
element. The second
<
set
>
element acts on a
<
g
>
containing children. The third
<
set
>
element acts on an
<
a
>
containing children. In each case the test validates that the animated
value set on the
<
g
>
and
<
a
>
elements is inherited by the
<
text
>
element. All the
<
set
>
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
<
set
>
validates the transform property. When applied to the
<
text
>
element, the letter A
will be translated to the right every 1s, in the
<
text
>
column. When applied to the
<
g
>
element, the
letter A inherits the transform value and is translated to the right every 1s, as seen in the
<
g
>
column.
When applied to the
<
a
>
element, the letter A inherits the transform value and is translated to the right
every 1s, as seen in
<
a
>
column.
</p>
<p>
The second
<
set
>
validates the text-anchor attribute. When applied to the
<
text
>
element, the anchor
position of letter A is moved from start to end. When applied to the
<
g
>
and
<
a
>
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
<
set
>
validates the font-size attribute. The font size of letter A is changed from 20 to 30. When
applied to
<
g
>
and
<
a
>
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
<
set
>
validates the font-family attribute. The font-family is changed from default to serif. When
applied to
<
g
>
and
<
a
>
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
<
set
>
validates the font-style attribute. The font-style is changed from normal to italic. When
applied to
<
g
>
and
<
a
>
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
<
set
>
validates the font-weight attribute. The font-weight is changed from normal to bold. When
applied to
<
g
>
and
<
a
>
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:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml: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>
<text text-anchor="middle" x="240" y="30" font-size="20">
text
</text>
<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>
<text x="20" y="3">
<
text
>
</text>
<text x="135" y="3">
<
g
>
</text>
<text x="250" y="3">
<
a
>
</text>
<text xml:id="one" x="10" y="20" fill="#aaa">
A
</text>
<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" xml:id="firstSet" type="translate" from="30,0" to="30,0" begin="0s; firstSet.end + 1s" dur="1s" />
</text>
<animateTransform attributeName="transform" xml:id="secondSet" type="translate" from="140,0" to="140,0" begin="0s; secondSet.end + 1s" dur="1s" />
<text x="10" y="20">
A
</text>
<a xlink:href="" transform="translate(220, 0)">
<animateTransform attributeName="transform" xml: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>
<use xlink:href="#setTwoRef" />
<use xlink:href="#setTwoRef" x="110" />
<use xlink:href="#setTwoRef" x="220" />
<text x="10" y="20">
A
<set xml:id="secondSet1" attributeName="text-anchor" to="end" begin="0s; secondSet1.end + 1s" dur="1s" />
<animateTransform attributeName="transform" xml:id="secondSet1_1" type="translate" from="40,0" to="40,0" begin="0s; secondSet1_1.end + 1s" dur="1s" />
</text>
<set xml:id="secondSet2" attributeName="text-anchor" to="end" begin="0s; secondSet2.end + 1s" dur="1s" />
<text x="120" y="20">
A
<animateTransform attributeName="transform" xml:id="secondSet2_1" type="translate" from="40,0" to="40,0" begin="0s; secondSet2_1.end + 1s" dur="1s" />
</text>
<a>
<set xml:id="secondSet3" attributeName="text-anchor" to="end" begin="0s; secondSet3.end + 1s" dur="1s" />
<text x="230" y="20">
A
<animateTransform attributeName="transform" xml:id="secondSet3_1" type="translate" from="40,0" to="40,0" begin="0s; secondSet3_1.end + 1s" dur="1s" />
</text>
</a>
<use xlink:href="#setThreeRef" />
<use xlink:href="#setThreeRef" x="110" />
<use xlink:href="#setThreeRef" x="220" />
<text x="10" y="20">
A
<set xml:id="thirdSet1" attributeName="font-size" to="30" begin="0s; thirdSet1.end + 1s" dur="1s" />
<animateTransform attributeName="transform" xml:id="thirdSet1_1" type="translate" from="30,0" to="30,0" begin="0s; thirdSet1_1.end + 1s" dur="1s" />
</text>
<set xml:id="thirdSet2" attributeName="font-size" to="30" begin="0s; thirdSet2.end + 1s" dur="1s" />
<text x="120" y="20">
A
<animateTransform attributeName="transform" xml:id="thirdSet2_1" type="translate" from="30,0" to="30,0" begin="0s; thirdSet2_1.end + 1s" dur="1s" />
</text>
<a>
<set xml:id="thirdSet3" attributeName="font-size" to="30" begin="0s; thirdSet3.end + 1s" dur="1s" />
<text x="230" y="20">
A
<animateTransform attributeName="transform" xml:id="thirdSet3_1" type="translate" from="30, 0" to="30,0" begin="0s; thirdSet3_1.end + 1s" dur="1s" />
</text>
</a>
<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 xml:id="fourthSet1" attributeName="font-family" to="serif" begin="0s; fourthSet1.end + 1s" dur="1s" />
<animateTransform attributeName="transform" xml:id="fourthSet1_1" type="translate" from="30,0" to="30,0" begin="0s; fourthSet1_1.end + 1s" dur="1s" />
</text>
<set xml: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" xml:id="fourthSet2_1" type="translate" from="30,0" to="30,0" begin="0s; fourthSet2_1.end + 1s" dur="1s" />
</text>
<a xlink:href="" transform="translate(220,0)" font-family="sans-serif">
<set xml: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" xml:id="fourthSet3_1" type="translate" from="30,0" to="30,0" begin="0s; fourthSet2_1.end + 1s" dur="1s" />
</text>
</a>
<use xlink:href="#setFiveRef" />
<use xlink:href="#setFiveRef" x="110" />
<use xlink:href="#setFiveRef" x="220" />
<text x="10" y="20">
A
<set xml:id="fifthSet1" attributeName="font-style" to="italic" begin="0s; fifthSet1.end + 1s" dur="1s" />
<animateTransform attributeName="transform" xml:id="fifthSet1_1" type="translate" from="30,0" to="30,0" begin="0s; fifthSet1_1.end + 1s" dur="1s" />
</text>
<set xml:id="fifthSet2" attributeName="font-style" to="italic" begin="0s; fifthSet2.end + 1s" dur="1s" />
<text x="10" y="20">
A
<animateTransform attributeName="transform" xml:id="fifthSet2_1" type="translate" from="30,0" to="30,0" begin="0s; fifthSet2_1.end + 1s" dur="1s" />
</text>
<a xlink:href="" transform="translate(220,0)">
<set xml:id="fifthSet3" attributeName="font-style" to="italic" begin="0s; fifthSet3.end + 1s" dur="1s" />
<text x="10" y="20">
A
<animateTransform attributeName="transform" xml:id="fifthSet3_1" type="translate" from="30,0" to="30,0" begin="0s; fifthSet3_1.end + 1s" dur="1s" />
</text>
</a>
<use xlink:href="#setSixRef" />
<use xlink:href="#setSixRef" x="110" />
<use xlink:href="#setSixRef" x="220" />
<text x="10" y="20">
A
<set xml:id="sixthSet1" attributeName="font-weight" to="bold" begin="0s; sixthSet1.end + 1s" dur="1s" />
<animateTransform attributeName="transform" xml:id="sixthSet1_1" type="translate" from="30,0" to="30,0" begin="0s; sixthSet1_1.end + 1s" dur="1s" />
</text>
<set xml:id="sixthSet2" attributeName="font-weight" to="bold" begin="0s; sixthSet2.end + 1s" dur="1s" />
<text x="10" y="20">
A
<animateTransform attributeName="transform" xml:id="sixthSet2_1" type="translate" from="30,0" to="30,0" begin="0s; sixthSet2_1.end + 1s" dur="1s" />
</text>
<a xlink:href="" transform="translate(220,0)">
<set xml:id="sixthSet3" attributeName="font-weight" to="bold" begin="0s; sixthSet3.end + 1s" dur="1s" />
<text x="10" y="20">
A
<animateTransform attributeName="transform" xml:id="sixthSet3_1" type="translate" from="30,0" to="30,0" begin="0s; sixthSet3_1.end + 1s" dur="1s" />
</text>
</a>
<text xml:id="revision" x="10" y="340" stroke="none"
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-208-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-ellipse-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-39-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Animation of xlink:href on the a, image and use elements" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-39-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
This test validates that the xlink:href attribute can be animated on the
<
a
>
,
<
image
>
and
<
use
>
elements, using the
<
animate
>
or
<
set
>
animation elements.
</p>
<p>
For the
<
a
>
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
<
image
>
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
<
set
>
and
<
animate
>
animations should always match.
</p>
<p>
For the
<
use
>
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 (
<
set
>
and
<
animation
>
) should always match.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<text xml:id="useA">
Use A
</text>
<text xml:id="useB">
Use B
</text>
<text xml:id="useC">
Use C
</text>
</defs>
<text text-anchor="middle" x="240" y="25" font-size="16">
<
animate
>
on xlink:href
</text>
<text text-anchor="middle" font-size="20" y="10">
<
set
>
</text>
<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 xml:id="initialAnchor" y="10" fill="gray" font-weight="bold">
38
</text>
<text xml:id="anchor1sto2s" y="10" display="none" fill="gray" font-weight="bold">
02
</text>
<set xml:id="hideInitial" xlink:href="#initialAnchor" attributeName="display" to="none" begin="1s;showAnchor.end+1s" dur="1s" />
<set xml: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">
<
a
>
</text>
<image x="-30" y="-30" width="60" height="60" xlink:href="data:image/jpg;base64,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">
<set attributeName="xlink:href" xml: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/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYX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" begin="1s;imageHrefSet.end+1s" dur="1s" />
</image>
<text y="60" text-anchor="middle">
<
image
>
</text>
<use xlink:href="#useA" font-size="30" fill="rgb(230,230,230)" text-anchor="middle" stroke="rgb(255,180,0)" font-weight="bold">
<set xml:id="useSet" attributeName="xlink:href" to="#useB" begin="0s;useSet.end+1s" dur="1s" />
</use>
<text y="60" text-anchor="middle">
<
use
>
</text>
<text text-anchor="middle" font-size="20" y="10">
<
animate
>
</text>
<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 xml:id="initialAnchor2" y="10" fill="gray" font-weight="bold">
09
</text>
<text xml:id="anchor1sto2s2" y="10" display="none" fill="gray" font-weight="bold">
03
</text>
<set xml:id="hideInitial2" xlink:href="#initialAnchor2" attributeName="display" to="none" begin="1s;showAnchor2.end+1s" dur="1s" />
<set xml: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="1s;showAnchor2.end+1s" dur="1s" />
</a>
<text y="60" text-anchor="middle">
<
a
>
</text>
<image x="-30" y="-30" width="60" height="60" xlink:href="data:image/jpg;base64,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">
<animate attributeName="xlink:href" xml:id="imageHrefAnimate" begin="1s;imageHrefAnimate.end" dur="2s" to="data:image/jpg;base64,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" from="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/4RX+RXhpZgAASUkqAAgAAAAJAA8BAgAGAAAAegAAABABAgAXAAAAgAAAABIBAwABAAAAAQAAABoBBQABAAAAoAAAABsBBQABAAAAqAAAACgBAwABAAAAAgAAADIBAgAUAAAAsAAAABMCAwABAAAAAQAAAGmHBAABAAAAxAAAAGYFAABDYW5vbgBDYW5vbiBESUdJVEFMIElYVVMgMzAwAAAAAAAAAAAAALQAAAABAAAAtAAAAAEAAAAyMDAyOjAxOjE1IDA0OjQyOjU4ABsAmoIFAAEAAABWAwAAnYIFAAEAAABeAwAAAJAHAAQAAAAwMjEwA5ACABQAAAAOAgAABJACABQAAAAiAgAAAZEHAAQAAAABAgMAApEFAAEAAAA+AwAAAZIKAAEAAABGAwAAApIFAAEAAABOAwAABJIKAAEAAABmAwAABZIFAAEAAABuAwAABpIFAAEAAAB2AwAAB5IDAAEAAAAFAAAACZIDAAEAAAAAAAAACpIFAAEAAAB+AwAAfJIHAJoBAACGAwAAhpIHAAgBAAA2AgAAAKAHAAQAAAAwMTAwAaADAAEAAAABAAAAAqADAAEAAABABgAAA6ADAAEAAACwBAAABaAEAAEAAAAwBQAADqIFAAEAAAAgBQAAD6IFAAEAAAAoBQAAEKIDAAEAAAACAAAAF6IDAAEAAAACAAAAAKMHAAEAAAADAAAAAAAAADIwMDI6MDE6MTUgMDQ6NDI6NTgAMjAwMjowMToxNSAwNDo0Mjo1OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAPUAAAAgAAAA1QAAACAAAAABAAAAyAAAAGQAAAAKAAAAAAAAAAMAAACs3QIAA
AABAP//AADoAwAAMAEAACAAAAAMAAEAAwAmAAAAHAQAAAIAAwAEAAAAaAQAAAMAAwAEAAAAcAQAAAQAAwAaAAAAeAQAAAAAAwAGAAAArAQAAAAAAwAEAAAAuAQAAAYAAgAgAAAAwAQAAAcAAgAYAAAA4AQAAAgABAABAAAAcVYQAAkAAgAgAAAA+AQAABAABAABAAAAAAAEAQ0AAwAEAAAAGAUAAAAAAABMAAIAAAADAAEAAAAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAwABAAEwAAD/////BgKtACAAdADVAP//AAAAAAAAAAAAAP//AABABkAGAgAwAdMAngAAAAAAAAAAADQAAACPAD8B1QD1AAAAAAAAAAEAAwAAAAAAAAAHMAAAAAAAAAAA//8AANUA+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAElNRzpESUdJVEFMIElYVVMgMzAwIEpQRUcAAAAAAAAARmlybXdhcmUgVmVyc2lvbiAxLjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAPQA9AD0AABqGADOAAAAgE8SAJsAAAAEAAEAAgAEAAAAUjk4AAIABwAEAAAAMDEwMAEQAwABAAAAQAYAAAIQAwABAAAAsAQAAAAAAAAGAAMBAwABAAAABgAAABoBBQABAAAAtAUAABsBBQABAAAAvAUAACgBAwABAAAAAgAAAAECBAABAAAA9AUAAAICBAABAAAA7g8AAAAAAAC0AAAAAQAAALQAAAABAAAA//////////////////////////////////////////////////9//////////////9j/2wCEAAkGBggGBQkIBwgKCQkLDRYPDQwMDRwTFRAWIR0jIiEcIB8kKTQsJCcxJx4fLT0tMTY3Ojo6Iio/RD44QjM3OTYBCQkJDAoMFAwMFA8KCgoPGhoKChoaTxoaGhoaT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT//AABEIAHgAoAMBIQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2N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rmsWro1TsC38J6tge4NONxBMAFc59FJrFprbU1Ti9HoD2sLJhmbHo3SmJZwA5Bj46dqqM7kygiVJkiB+YnPbPFMa9jfcFwSPek43dxqSSsNa7mUbvLVB7tSHUHWLcYmHtkHNCh5sXP5EB1p0TAtHx6g4/lU0OqQyLlrd93q4z+tVZ9G0LnXVCyXdw5/cBMf7uaga+uQwLxIT6gYqlHzZLl5KwNcs7ZljOT6UmYznkp+JFaIhjMRqM+ac/72aljDsR+/z9GqkTYk8uRTnex+rVIszIMfOSfamB//2apR82S5eSsDXLO2ZYzk+lJmM//Y/+0O2lBob3Rvc2hvcCAzLjAAOEJJTQPtClJlc29sdXRpb24AAAAAEABIAAAAAQACAEgAAAABAAI4QklNBA0YRlggR2xvYmFsIExpZ2h0aW5nIEFuZ2xlAAAAAAQAAAAeOEJJTQQZEkZYIEdsb2JhbCBBbHRpdHVkZQAAAAAEAAAAHjhCSU0D8wtQcmludCBGbGFncwAAAAkAAAAAAAAAAAEAOEJJTQQKDkNvcHlyaWdodCBGbGFnAAAAAAEAADhCSU0nEBRKYXBhbmVzZSBQcmludCBGbGFncwAAAAAKAAEAAAAAAAAAAjhCSU0D9RdDb2xvciBIYWxmdG9uZSBTZXR0aW5ncwAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gXQ29sb3IgVHJhbnNmZXIgU2V0dGluZ3MAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAZHdWlkZXMAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4NVVJMIG92ZXJyaWRlcwAAAAQAAAAAOEJJTQQaBlNsaWNlcwAAAAB3AAAABgAAAAAAAAAAAAAAWgAAAHgAAAALAG8AcABlAHIAYQBfAGgAbwB1AHMAZQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAeAAAAFoAAAAAAAAAAAAAA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
tests_public/svg/svgw3c-1.2-tiny/svg/paint-vfill-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-15-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-svg-210-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-svg-209-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-13-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-node-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-25-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/render-elems-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-polygon-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-212-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-coord-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-209-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-40-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Animation of x/y on use, image, rect and text. Animation of width/height on image and rect." status="accepted" approved="yes" version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-40-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
This test validates that the x and y attributes can be animated on
<
use
>
,
<
image
>
,
<
rect
>
and
<
text
>
elements. The test also validates that the width and height attributes can be animated on
<
image
>
and
<
rect
>
</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
<
text
>
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:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<rect xml:id="posMarker" x="-3" y="-3" width="6" height="6" />
<g xml:id="markerGroup" fill="rgb(230,230,230)" stroke="rgb(255,180,0)">
<use xml:id="topLeft" xlink:href="#posMarker" x="-15" y="-15" />
<use xml:id="topRight" xlink:href="#posMarker" x="15" y="-15" />
<use xml:id="bottomRight" xlink:href="#posMarker" x="15" y="15" />
<use xml: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 xml: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>
<defs>
<font xml: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>
<defs>
<g xml:id="markerGroup2" fill="rgb(230,230,230)" stroke="rgb(255,180,0)">
<use xml:id="topLeft2" xlink:href="#posMarker" x="-15" y="-15" />
<use xml:id="topRight2" xlink:href="#posMarker" x="15" y="-15" />
<use xml:id="bottomRight2" xlink:href="#posMarker" x="15" y="15" />
<use xml: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 text-anchor="middle" x="240" y="25" font-size="16">
<
animate
>
of x/y/width/height
</text>
<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
<
use
>
</text>
<image xlink:href="data:image/jpg;base64,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
tests_public/svg/svgw3c-1.2-tiny/svg/struct-cond-205-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AE" owner="ED" desc="Tests all the feature strings." status="accepted" approved="yes" version="$Revision: 1.3 $" testname="$RCSfile: struct-cond-205-t.svg,v $">
<OperatorScript>
<p>
Tests all the SVG Tiny 1.2 feature strings using requiredFeatures.
</p>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text fill="#000" x="240" font-size="14" y="30" id="display-title">
Required Features Attribute
</text>
<text x="240" y="45" id="comment-1">
A series of switches are used to determine which 'requiredFeatures' are supported.
</text>
<text text-anchor="end" x="340" y="-15" fill="#555" font-size="14">
Feature
</text>
<text x="350" y="-15" fill="#555" font-size="14">
Supported?
</text>
<text text-anchor="end" x="340" y="0" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static
</text>
<switch>
<text x="350" y="0" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static">
Yes
</text>
<text x="350" y="0" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="12" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static-DOM
</text>
<switch>
<text x="350" y="12" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-static-DOM">
Yes
</text>
<text x="350" y="12" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="24" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-animated
</text>
<switch>
<text x="350" y="24" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-animated">
Yes
</text>
<text x="350" y="24" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="36" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-all
</text>
<switch>
<text x="350" y="36" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SVG-all">
Yes
</text>
<text x="350" y="36" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="48" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#CoreAttribute
</text>
<switch>
<text x="350" y="48" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#CoreAttribute">
Yes
</text>
<text x="350" y="48" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="60" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#NavigationAttribute
</text>
<switch>
<text x="350" y="60" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#NavigationAttribute">
Yes
</text>
<text x="350" y="60" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="72" fill="black">
garbage
</text>
<switch>
<text x="350" y="72" fill="green" requiredFeatures="garbage">
Yes
</text>
<text x="350" y="72" fill="red">
No (expected)
</text>
</switch>
<text text-anchor="end" x="340" y="84" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#NavigationAttribute
</text>
<switch>
<text x="350" y="84" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#NavigationAttribute">
Yes
</text>
<text x="350" y="84" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="96" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#Structure
</text>
<switch>
<text x="350" y="96" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#Structure">
Yes
</text>
<text x="350" y="96" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="108" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#structure
</text>
<switch>
<text x="350" y="108" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#structure">
Yes
</text>
<text x="350" y="10
tests_public/svg/svgw3c-1.2-tiny/svg/udom-dom-211-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-205-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="NR" owner="DOH" desc="Path length zero subpaths stroking and stroke-linecap" status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: paint-stroke-205-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Stroking for subpaths with path length zero, depending on stroke-linecap.
</p>
<p>
The main indication for a failed test is the appearence of something red
(this simple indication may fail itself, if the viewer does not support stroke-linecap).
</p>
<p>
Several paths containing a subpath with length zero are
stroked and some of them animated.
</p>
<p>
The zero length subpath is placed between two
other subpaths of finite length or before or after a
subpath of finite length or in one case the path consists of two
subpaths of length zero.
The behaviour is checked for stroke-linecap round,
square (subpath visible) and bevel (subpath not visible)
on the left.
</p>
<p>
On the right the behaviour is tested with simple
animations to check the correct alignment
or shrinking to zero length.
stroke-linecap is animated between round or square too
for some of them.
</p>
<p>
The behaviour is compared with similar paths with a
subpath of a very small length. Because the red stroked
paths have a slightly smaller stroke, they are always covered
by blue paths.
If something red gets visible, an error is occured.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<animate xlink:href="#bluetestcase" attributeName="d" attributeType="XML" values=" M200,200L300,300M500,500ZM700,700L800,800; M800,200L700,300M500,500ZM300,700L200,800; M800,800L700,700M500,500ZM300,300L200,200; M200,800L300,700M500,500ZM700,300L800,200; M200,200L300,300M500,500ZM700,700L800,800 " dur="10s" repeatDur="indefinite" />
<animate xlink:href="#rederror" attributeName="d" attributeType="XML" values=" M200,200L300,300M499.99,499.99L500.01,500.01M700,700L800,800; M800,200L700,300M500.01,499.99L499.99,500.01M300,700L200,800; M800,800L700,700M500.01,500.01L499.99,499.99M300,300L200,200; M200,800L300,700M499.99,500.01L500.01,499.99M700,300L800,200; M200,200L300,300M499.99,499.99L500.01,500.01M700,700L800,800 " dur="10s" repeatDur="indefinite" />
<animate xlink:href="#bluetestcase2" attributeName="d" attributeType="XML" values="M200,1000h100M450,1000h100M700,1000h100;M200,1000h100M500,1000h0M700,1000h100" dur="4s" fill="freeze" />
<animate xlink:href="#rederror2" attributeName="d" attributeType="XML" values="M200,1000h100M450,1000h100M700,1000h100;M200,1000h100M499.99,1000h0.02M700,1000h100" dur="4s" fill="freeze" />
<animate xlink:href="#bluetestcase3" attributeName="d" attributeType="XML" values="M1000,100v100m0,300v100m0,300v100;M1000,200v200m0,200v0m0,200v200" dur="4s" fill="freeze" />
<animate xlink:href="#rederror3" attributeName="d" attributeType="XML" values="M1000,100v100m0,300v100m0,300v100;M1000,200v200m0,199.99v0.02m0,199.99v200" dur="4s" fill="freeze" />
<animate xlink:href="#bluetestcase4" attributeName="d" attributeType="XML" values="M-350,1000h100m100,0c500,-800 -500,-800 0,0m100,0h100; M-350,1000h100m100,0c0,0 0,0 0,0m100,0h100" dur="4s" begin="5s" fill="freeze" />
<animate xlink:href="#rederror4" attributeName="d" attributeType="XML" values="M-350,1000h100m100,0c500,-800 -500,-800 0,0m100,0h100; M-350,1000h100m99.99,0c0,0 0,0 0.02,0m99.99,0h100" dur="4s" begi
tests_public/svg/svgw3c-1.2-tiny/svg/paint-fill-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/linking-refs-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-trans-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-image-04-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AS" owner="Tim Thompson" desc="Test that jpg and png image formats are understood when inlined with the data: URI scheme." status="accepted" approved="yes" version="$Revision: 1.8 $" testname="$RCSfile: struct-image-04-t.svg,v $">
<OperatorScript>
<p>
The image test case checks to see if the basic image formats allowed in the tiny profile are supported using the data: URI schema and base64 encoding.. 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>
<p>
The rendered picture should match the reference image, except for possible variations in the labelling text (per CSS2 rules).
</p>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<image xml:id="image1JPEG" x="240" y="0" width="240" height="150" xlink:href="data:image/jpg;base64,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" />
<image xml:id="image1PNG" x="240" y="150" width="240" height="150" xlink:href="data:image/png;base64,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
Ep4aQ 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
tests_public/svg/svgw3c-1.2-tiny/svg/udom-svg-204-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AE" owner="CM" desc="Test the SVGElementInstance interface" status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: udom-svg-204-t.svg,v $">
<OperatorScript>
<div xmlns="http://www.w3.org/1999/xhtml">
<p>
This tests that the
<tt>
correspondingElement
</tt>
and
<tt>
correspondingUseElement
</tt>
attributes of the
<b>
SVGElementInstance
</b>
interface have expected values.
</p>
<p>
The test consists of a single rectangle that is a descendant
of a number of
<tt>
g
</tt>
elements and a couple of nested
<tt>
use
</tt>
shadow trees. When the user clicks the rectangle,
a
<tt>
mousedown
</tt>
event is dispatched, which travels up
the nested shadow trees. If the
<tt>
correspondingElement
</tt>
and
<tt>
correspondingUseElement
</tt>
attributes of the
<b>
SVGElementInstance
</b>
object (which is the
<tt>
currentTarget
</tt>
of the event) are correct, the rectangle becomes blue. Otheriwse,
it becomes red.
</p>
</div>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text x="10" y="42">
SVGElementInstance interface test
</text>
<text x="10" y="68" font-size="12">
Click the rectangle. The test has passed if it turns blue.
</text>
<use xml:id="use1" xlink:href="#g1" />
<use xml:id="use2" xlink:href="#g3" />
<use xml:id="use3" xlink:href="#g5" />
<script type="application/ecmascript">
targets = [
];
currentTargets = [
];
correspondingElements = [
];
correspondingUseElements = [
];
function listener(e) {
targets.push(e.target);
currentTargets.push(e.currentTarget);
correspondingElements.push(e.currentTarget.correspondingElement);
correspondingUseElements.push(e.currentTarget.correspondingUseElement);
}
// Get all of the elements.
var ids = 'g1 g2 g3 g4 g5 g6 use1 use2 use3 rect1'.split(' ');
for (var i in ids) {
var id = ids[i
];
this[id
] = document.getElementById(id);
this[id
].addEventListener('mousedown', listener, false);
}
function assertTrue(b) {
if (!b) {
throw 'assertion failed';
}
}
function docListener(e) {
document.removeEventListener('mousedown', docListener, false);
var colour = 'blue';
try {
assertTrue(targets.length == 10);
assertTrue(targets[0
]);
for (var i = 0; i < 9; i++) {
// Test all the targets are the same.
assertTrue(targets[i
] == targets[i + 1
]);
// Test all the currentTargets are different.
assertTrue(currentTargets[i
] != currentTargets[i + 1
]);
// Test none of the currentTargets is null.
assertTrue(currentTargets[i
]);
// Test that all correspondingUseElements are use3.
assertTrue(correspondingUseElements[i
] == use3);
}
assertTrue(currentTargets[9
]);
assertTrue(!correspondingUseElements[9
]);
// Test that all the correspondingElement are correct.
assertTrue(correspondingElements[0
] == rect1);
assertTrue(correspondingElements[1
] == g2);
assertTrue(correspondingElemen
tests_public/svg/svgw3c-1.2-tiny/svg/media-alevel-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-traitaccess-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-discard-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-11-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-202-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="ASL" owner="BitFlash" desc="Test Focusable Property - Anchor Element" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: interact-focus-202-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Test Focusable Property
</p>
<p>
Testing the focusable property : its default value and animatability on text and anchor elements.
</p>
<p>
The 1st text is the target of animateColor which starts on focusin, and also has the focusable attribute set to false.
</p>
<p>
The 2nd text does not have a focusable attribute and is not the target of animations which start by focus events.
</p>
<p>
The 3rd text is the target of animateColor which starts on focusin.
</p>
<p>
The 4th text is the target of animateColor which starts on activate.
</p>
<p>
The 5th text is the child of an a element.
</p>
<p>
The 6th text is the child of an a element and also has the focusable attribute set to false.
</p>
<p>
The 7th text has the editable attribute set to simple.
</p>
<p>
The 8th text is the observer DOMFocusIn and DOMFocusOut handlers.
</p>
<p>
The 9th and 10th text elements are used to modify the focusable attribute of the 11th element.
</p>
<p>
The 11th text is the target of animateColor which starts on focusin, and also has the focusable attribute set to false.
The focusable attribute is modified by activate events on the 9th and 10th elements.
</p>
<p>
The 12th and 13th text elements are used to modify the focusable attribute of the 14th element.
</p>
<p>
The 14th text is the child of an a element - the a element also has the focusable attribute set to false.
The focusable attribute is modified by activate events on the 12th and 13th elements.
</p>
<p>
The focus ring will look like the following: 3, 4, 5, 7, 8, 9, 10, 12 and 13.
</p>
<p>
Activating the 9th text element will make the 11th element focusable.
</p>
<p>
Activating the 12th text element will make the 14th element focusable.
</p>
<p>
Focus navigation is user agent dependant but typically is navigated with the keyboard keys.
</p>
<p>
TAB or arrow keys move the focus while the ENTER key activates the focused element.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
<script type="text/ecmascript">
function setRed() {
var myText6 = document.getElementById("text6");
myText6.setTrait("fill", "red");
}
function setBlack() {
var myText6 = document.getElementById("text6");
myText6.setTrait("fill", "black");
}
</script>
<rect xml:id="myRect" width="200" height="20" fill="#DDD" stroke="none" />
</defs>
<use xlink:href="#myRect" x="40" y="80" />
<text xml:id="text0" x="50" y="95" focusable="false" font-size="12">
Unfocusable (explicit)
<set attributeName="fill" to="red" begin="text0.focusin" />
<set attributeName="fill" to="black" begin="text0.focusout" />
</text>
<use xlink:href="#myRect" x="40" y="110" />
<text xml:id="text00" x="50" y="125" font-size="12">
Unfocusable (implicit)
</text>
<use xlink:href="#myRect" x="40" y="140" />
<text xml:id="text1" x="50" y="155" font-size="12">
Focusable (red on focus)
<set attributeName="fill" to="red" begin="text1.focusin" end="text1.focusout; indefinite" />
</text>
<use xlink:href="#myRect" x="40" y="170" />
<text xml:id="text3" x="50" y="185" font-size="12">
Focusable (red on activate)
<set attributeName="fill" to="red" begin
tests_public/svg/svgw3c-1.2-tiny/svg/text-fonts-03-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="CL" owner="MI" desc="Testing font-family attribute" status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: text-fonts-03-t.svg,v $">
<OperatorScript>
<p>
Testing font-family attribute. Two SVG fonts are defined. Various text elements are then used with varying values for the font-family attribute. 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>
<p>
The rendered picture should match the reference image exactly, except for possible variations in the labelling text (per CSS2 rules).
</p>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<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
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-214-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AS" owner="DOH" desc="Compare from-to, from-by and by animateTransform scale with values animateTransform." status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: animate-elem-214-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Compare from-to, from-by and by animateTransform scale with values animateTransform.
</p>
<p>
The main indication for a failed test is the appearance of red.
</p>
<p>
SMIL 2 specifies, how from-to, from-by and by animations have to be converted into
values animation. Therefore they have to be the same as the related values animation.
The conversion is as follows:
</p>
<table>
<tr>
<th>
used
</th>
<th>
converted
</th>
</tr>
<tr>
<td>
from="a" to="b"
</td>
<td>
values="a;b"
</td>
</tr>
<tr>
<td>
from="a" by="b"
</td>
<td>
values="a;a+b"
</td>
</tr>
<tr>
<td>
by="a"
</td>
<td>
values="0;a" additive="sum"
</td>
</tr>
</table>
<p>
(by and from-by animations have only a meaning, if values can be added somehow.
'0' is used as a general symbol for the neutral element of addition for the related attribute,
this means 0 + a = a + 0 = a. And '0' is not equal to the symbol '1' as the basic unit of the
related attribute, '0' is a predecessor of '1' in the related attribute space. For animateTransform
the '0' is the same as the zero matrix, not the unity or identity matrix.
For the scale type this is a scaling with 0,0, this means no display if not added to another
value. Deviating from SMIL 2 in SVG it is specified, that for animateTranform the animation
effect has to be postmultiplied to the underlying value, if the animation is additive.)
</p>
<p>
The from-to, from-by and by are applied to animateTransform of the scale type
of different blue stroked
paths and are compared with the related values animations including additive and
cumulative hehaviour for underlying red paths. Additionally underlying dark red
paths simulate the same behaviour using always the defaults additive replace and
accumulate replace with animateMotion. The blue paths cover all red paths.
Therefore if something red gets visible, an error is occured.
Because fill is always not set and therefore remove,
the final value is the value at 2s given with a simple values animateTransform, not very
interesting for the test.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<path xml:id="fromto" id="fromto" d="M20,-20C-30,-30 -30,20 -20,20S0,-20 0,0" />
<path xml:id="fromby" id="fromby" d="M-20,20Q50,-40 0,-20T20,20" />
<path xml:id="by" id="by" d="M-20,5Q-25,-25 20,-20Q25,25 -5,20M-6,-6L-10,5M3,-6L7,9" />
</defs>
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="67s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0.6,-2.3;-1.2,-3" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,-3.8;-1.8,-4.5" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0.6,-2.3;-1.2,-3" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,-3.8;-1.8,-4.5" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="62s" dur="5s" />
<use xlink:href="#fromto" stroke="#800">
<title>
dark red values comparsion for from-to animations - if visible fail
</title>
</use>
<use xlink:href="#fromto" stroke="#f00">
<title>
red values comparsion for from-to animations - if visible fail
</title>
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="2s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromto" stroke="#88f">
<title>
blue from-to animations
</title>
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="2s" />
<animateTransform attributeName="transform" type="scale" from="1.2,-0.8" to="-0.6,-1.5" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="scale" from="1.2,-0.8" to="-0.6,-1.5" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="scale" from="1.2,-0.8" to="-0.6,-1.5" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="scale" from="1.2,-0.8" to="-0.6,-1.5" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="67s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0.6,-2.3;-1.2,-3" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,-3.8;-1.8,-4.5" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0.6,-2.3;-1.2,-3" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,-3.8;-1.8,-4.5" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="62s" dur="5s" />
<use xlink:href="#fromby" stroke="#800">
<title>
dark red values comparsion for from-by animations - if visible fail
</title>
</use>
<use xlink:href="#fromby" stroke="#f00">
<title>
red values comparsion for from-by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="2s" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="scale" values="1.2,-0.8;-0.6,-1.5" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromby" stroke="#88f">
<title>
blue from-by animations
</title>
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="2s" />
<animateTransform attributeName="transform" type="scale" from="1.2,-0.8" by="-1.8,-0.7" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="scale" from="1.2,-0.8" by="-1.8,-0.7" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="scale" from="1.2,-0.8" by="-1.8,-0.7" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="scale" from="1.2,-0.8" by="-1.8,-0.7" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="scale" values="-1,1" begin="2s" />
<animateTransform attributeName="transform" type="scale" values="0,0;-0.4,1" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="-0.4,1;-0.8,2" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="-0.8,2;-1.2,3" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,0;-0.4,1" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="-0.4,1;-0.8,2" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="-0.8,2;-1.2,3" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,0;-0.7,1.5" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,0;-0.7,1.5" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,0;-0.7,1.5" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,0;-0.7,1.5" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,0;-0.7,1.5" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="scale" values="0,0;-0.7,1.5" begin="62s" dur="5s" />
<use xlink:href="#by" stroke="#800">
<title>
dark red values comparsion for by animations - if visible fail
</title>
</use>
<use xlink:href="#by" stroke="#f00">
<title>
red values comparsion for by animations - if visible fail
</title>
<animateTransform att
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-34-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-event-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-09-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-221-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-210-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-pevents-08-t.svg (ppmraw 600dpi)
<handler type="text/ecmascript" ev:event="load">
init(evt);
</handler>
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="DOH" owner="ED" desc="Tests when text is considered hit by pointer-events" status="accepted" approved="yes" version="$Revision: 1.7 $" testname="$RCSfile: interact-pevents-08-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Tests when text is considered hit by pointer-events.
</p>
<p>
The test is passed if the following conditions are met:
- Any single character in either of the lines of text has 'mouseover' event and the fill of the
characters' assocated line of text is set to green.
- The fill of the characters' assocated text is set back to black on a 'mouseout' event.
</p>
<p>
The dy of the glyphs vary quite a bit, so it's easy to tell if an implementation uses the text
boundingbox for 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:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<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
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-circle-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-node-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-211-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-over-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-19-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-rect-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-constr-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/render-elems-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-212-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-order-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-18-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-intro-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-28-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-66-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Basic test on the max attribute and combinations of the min and max attributes" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-66-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<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
<
set
>
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
<
set
>
animation has a (0s
<
= t
<
5s) active duration and no max attribute so
the actual active duration is (0s
<
= t
<
5s). The first row shows a second rectangle with a
<
set
>
animation with the same configuration except that the max attribute value is set to 'media'. Because the
<
set
>
element does not define a media, the behavior should be as if the attribute was not specified.
</p>
<p>
On the second row, the
<
set
>
animation has a (0s
<
= t
<
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
<
= t
<
5s).
</p>
<p>
On the third row, the
<
set
>
animation has a (0s
<
= t
<
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
<
= t
<
5s).
</p>
<p>
On the fourth row, the
<
set
>
animation has a (0s
<
= t
<
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
<
= t
<
5s).
</p>
<p>
On the fifth row, the
<
set
>
animation has a (0s
<
= t
<
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
<
= t
<
5s).
</p>
<p>
On the sixth row, the
<
set
>
animation has a (0s
<
= t
<
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
<
= t
<
5s).
</p>
<p>
On the seventh row, the
<
set
>
animation has a [0s, 5s[[ initial active duration, a min of 8s and a max of 2s.
Because the min
tests_public/svg/svgw3c-1.2-tiny/svg/struct-image-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-elem-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-smil-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-line-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-alevel-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-glyph-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-svg-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-discard-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-215-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-event-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/script-element-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-polyline-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-20-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-align-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-trans-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-frag-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-217-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AS" owner="DOH" desc="Compare from-to, from-by and by animateTransform skewY with values animateTransform." status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: animate-elem-217-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Compare from-to, from-by and by animateTransform skewY with values animateTransform.
</p>
<p>
The main indication for a failed test is the appearance of red.
</p>
<p>
SMIL 2 specifies, how from-to, from-by and by animations have to be converted into
values animation. Therefore they have to be the same as the related values animation.
The conversion is as follows:
</p>
<table>
<tr>
<th>
used
</th>
<th>
converted
</th>
</tr>
<tr>
<td>
from="a" to="b"
</td>
<td>
values="a;b"
</td>
</tr>
<tr>
<td>
from="a" by="b"
</td>
<td>
values="a;a+b"
</td>
</tr>
<tr>
<td>
by="a"
</td>
<td>
values="0;a" additive="sum"
</td>
</tr>
</table>
<p>
(by and from-by animations have only a meaning, if values can be added somehow.
'0' is used as a general symbol for the neutral element of addition for the related attribute,
this means 0 + a = a + 0 = a. And '0' is not equal to the symbol '1' as the basic unit of the
related attribute, '0' is a predecessor of '1' in the related attribute space. For animateTransform
the '0' is the same as the zero matrix, not the unity or identity matrix.
For the skewY type this is a skew with an angle of 0.
Deviating from SMIL 2 in SVG it is specified, that for animateTranform the animation
effect has to be postmultiplied to the underlying value, if the animation is additive. Note
that for two additive skewY angles a, b the resulting angle is not a+b but atan(tan(a)+tan(b)).
</p>
<p>
The from-to, from-by and by are applied to animateTransform of the skewY type
of different blue stroked
paths and are compared with the related values animations including additive and
cumulative hehaviour for underlying red paths. Additionally underlying dark red
paths simulate the same behaviour using always the defaults additive replace and
accumulate replace with animateMotion. The blue paths cover all red paths.
Therefore if something red gets visible, an error is occured.
Because fill is always not set and therefore remove,
the final value is the value at 2s given with a simple values animateTransform, not very
interesting for the test.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<path xml:id="fromto" id="fromto" d="M-20,40Q-20,40 40,40 20,0 20,40C30,-80 -20,0 -20,-40" />
<path xml:id="fromby" id="fromby" d="M-30,10L30,-10M-20,-40C20,-40 0,0 20,40" />
<path xml:id="by" id="by" d="M20,0L0,40M-20,-50L-20,30M-20,50L40,40" />
</defs>
<animateTransform attributeName="transform" type="skewY" values="10" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="skewY" values="10" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="skewY" values="10" begin="67s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-23;-30" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-38;-45" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-23;-30" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-38;-45" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="62s" dur="5s" />
<use xlink:href="#fromto" stroke="#800">
<title>
dark red values comparsion for from-to animations - if visible fail
</title>
</use>
<use xlink:href="#fromto" stroke="#f00">
<title>
red values comparsion for from-to animations - if visible fail
</title>
<animateTransform attributeName="transform" type="skewY" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromto" stroke="#88f">
<title>
blue from-to animations
</title>
<animateTransform attributeName="transform" type="skewY" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewY" from="-8" to="-15" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" from="-8" to="-15" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" from="-8" to="-15" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="skewY" from="-8" to="-15" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="skewY" values="10" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="skewY" values="10" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="skewY" values="10" begin="67s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-23;-30" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-38;-45" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-23;-30" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-38;-45" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="62s" dur="5s" />
<use xlink:href="#fromby" stroke="#800">
<title>
dark red values comparsion for from-by animations - if visible fail
</title>
</use>
<use xlink:href="#fromby" stroke="#f00">
<title>
red values comparsion for from-by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="skewY" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="skewY" values="-8;-15" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromby" stroke="#88f">
<title>
blue from-by animations
</title>
<animateTransform attributeName="transform" type="skewY" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewY" from="-8" by="-7" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" from="-8" by="-7" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" from="-8" by="-7" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="skewY" from="-8" by="-7" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="skewY" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewY" values="0;20" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="20;40" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="40;60" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="0;20" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="20;40" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="40;60" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="0;15" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="0;15" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="0;15" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="0;15" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="0;15" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="skewY" values="0;15" begin="62s" dur="5s" />
<use xlink:href="#by" stroke="#800">
<title>
dark red values comparsion for by animations - if visible fail
</title>
</use>
<use xlink:href="#by" stroke="#f00">
<title>
red values comparsion for by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="skewY" values="10" begin="2s" />
<animateTransform attributeName="transform" type="skewY" values="0;20" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" values="0;20" begin="20s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="skewY" values="0;15" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-81-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-zoom-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-cond-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-vfill-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-37-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-ellipse-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/script-handle-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-constr-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-52-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-align-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-209-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-14-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-23-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-221-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-fill-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-alevel-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-212-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-event-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-210-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-46-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Animation of text properties: text-anchor, font-size, font-family, font-style and font-weight" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-46-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>
Only the animation of font-size should show a continuous change of the font size.
</p>
<p>
The following animations have a discrete behavior: text-anchor, font-family, font-style, font-weight.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml:id="animateTwoRef" font-weight="bold" font-size="30">
<text x="0" y="20" fill="#aaa" font-family="sans-serif">
A
</text>
<text x="30" y="20" fill="#aaa" font-family="serif">
A
</text>
<text x="60" y="20" font-size="30" fill="#aaa" font-family="sans-serif">
A
</text>
</g>
</defs>
<defs>
<g xml: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>
<defs>
<g xml: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>
<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>
<text x="20" y="3">
<
text
>
</text>
<text x="135" y="3">
<
g
>
</text>
<text x="250" y="3">
<
a
>
</text>
<use xlink:href="#animateZeroRef" />
<use xlink:href="#animateZeroRef" x="110" />
<use xlink:href="#animateZeroRef" x="220" />
<text xml: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" />
<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 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>
<use xlink:href="#animateOneRef" />
<use xlink:href="#animateOneRef" x="110" />
<use xlink:href="#animateOneRef" x="220" />
<text xml: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" />
<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 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>
<use xlink:href="#animateTwoRef" />
<use xlink:href="#animateTwoRef" x="110" />
<use xlink:href="#animateTwoRef" x="220" />
<text xml:id="textID_2" x="0" y="20" font-weight="bold" font-size="30">
A
</text>
<animate xlink:href="#textID_2" attributeName="font-family" values="sans-serif;serif;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" />
<animate attributeName="font-family" values="sans-serif;serif;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 xlink:href="" font-weight="bold" font-size="30" transform="translate(220,0)">
<animate attributeName="font-family" values="sans-serif;serif;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>
<use xlink:href="#animateThreeRef" />
<use xlink:href="#animateThreeRef" x="110" />
<use xlink:href="#animateThreeRef" x="220" />
<text xml: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" />
<animate attributeName="font-style" values="normal;
tests_public/svg/svgw3c-1.2-tiny/svg/struct-use-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-84-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-218-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-elem-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-fonts-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-discard-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-69-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-trans-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-212-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AS" owner="DOH" desc="Compare from-to, from-by and by animateTransform rotate with values animateTransform." status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: animate-elem-212-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Compare from-to, from-by and by animateTransform rotate (around zero) with values animateTransform.
</p>
<p>
The main indication for a failed test is the appearance of red.
</p>
<p>
SMIL 2 specifies, how from-to, from-by and by animations have to be converted into
values animation. Therefore they have to be the same as the related values animation.
The conversion is as follows:
</p>
<table>
<tr>
<th>
used
</th>
<th>
converted
</th>
</tr>
<tr>
<td>
from="a" to="b"
</td>
<td>
values="a;b"
</td>
</tr>
<tr>
<td>
from="a" by="b"
</td>
<td>
values="a;a+b"
</td>
</tr>
<tr>
<td>
by="a"
</td>
<td>
values="0;a" additive="sum"
</td>
</tr>
</table>
<p>
(by and from-by animations have only a meaning, if values can be added somehow.
'0' is used as a general symbol for the neutral element of addition for the related attribute,
this means 0 + a = a + 0 = a. And '0' is not equal to the symbol '1' as the basic unit of the
related attribute, '0' is a predecessor of '1' in the related attribute space. For animateTransform
the '0' is the same as the zero matrix, not the unity or identity matrix.
For the rotate type this is a skew with an angle of 0.
Deviating from SMIL 2 in SVG it is specified, that for animateTranform the animation
effect has to be postmultiplied to the underlying value, if the animation is additive. Note
that for two additive rotate angles a, b the resulting angle is not a+b but atan(tan(a)+tan(b)).
</p>
<p>
The from-to, from-by and by are applied to animateTransform of the rotate type
of different blue stroked
paths and are compared with the related values animations including additive and
cumulative hehaviour for underlying red paths. Additionally underlying dark red
paths simulate the same behaviour using always the defaults additive replace and
accumulate replace with animateMotion. The blue paths cover all red paths.
Therefore if something red gets visible, an error is occured.
Because fill is always not set and therefore remove,
the final value is the value at 2s given with a simple values animateTransform, not very
interesting for the test.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<path xml:id="fromto" id="fromto" d="M-20,40C-20,40 0,0 -20,-20 20,20 20,0 20,40C30,40 -20,0 -20,40" />
<path xml:id="fromby" id="fromby" d="M-20,-30Q40,0 20,20M0,-40C40,-40 20,-20 30,40" />
<path xml:id="by" id="by" d="M20,20Q40,-20 20,-20M-20,-20L20,40M0,-20L40,40" />
</defs>
<animateTransform attributeName="transform" type="rotate" values="100" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="rotate" values="100" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="rotate" values="100" begin="67s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-230;-300" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-380;-450" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-230;-300" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-380;-450" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="62s" dur="5s" />
<use xlink:href="#fromto" stroke="#800">
<title>
dark red values comparsion for from-to animations - if visible fail
</title>
</use>
<use xlink:href="#fromto" stroke="#f00">
<title>
red values comparsion for from-to animations - if visible fail
</title>
<animateTransform attributeName="transform" type="rotate" values="100" begin="2s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromto" stroke="#88f">
<title>
blue from-to animations
</title>
<animateTransform attributeName="transform" type="rotate" values="100" begin="2s" />
<animateTransform attributeName="transform" type="rotate" from="-80" to="-150" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" from="-80" to="-150" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" from="-80" to="-150" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="rotate" from="-80" to="-150" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="rotate" values="100" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="rotate" values="100" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="rotate" values="100" begin="67s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-230;-300" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-380;-450" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-230;-300" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-380;-450" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="62s" dur="5s" />
<use xlink:href="#fromby" stroke="#800">
<title>
dark red values comparsion for from-by animations - if visible fail
</title>
</use>
<use xlink:href="#fromby" stroke="#f00">
<title>
red values comparsion for from-by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="rotate" values="100" begin="2s" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="rotate" values="-80;-150" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromby" stroke="#88f">
<title>
blue from-by animations
</title>
<animateTransform attributeName="transform" type="rotate" values="100" begin="2s" />
<animateTransform attributeName="transform" type="rotate" from="-80" by="-70" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" from="-80" by="-70" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" from="-80" by="-70" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="rotate" from="-80" by="-70" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="rotate" values="100" begin="2s" />
<use xlink:href="#by" stroke="#800">
<title>
dark red values comparsion for by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="rotate" values="0;200" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="200;400" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="400;600" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0;200" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="200;400" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="400;600" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0;150" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0;150" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0;150" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0;150" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0;150" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0;150" begin="62s" dur="5s" />
</use>
<use xlink:href="#by" stroke="#f00">
<title>
red values comparsion for by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="rotate" values="100" begin="2s" />
<animateTransform attributeName="transform" type="rotate" values="0;200" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type
tests_public/svg/svgw3c-1.2-tiny/svg/struct-progressive-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/linking-refs-203-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="DOH" owner="BitFlash" desc="External Fragments with 'use' Element" status="accepted" approved="yes" version="$Revision: 1.7 $" testname="$RCSfile: linking-refs-203-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Tests various external fragments with 'use' element:
fill, stroke, text, group, multiple levels, name clash and circular references
</p>
<p>
SVG fragments defined in an external file are invoked with the 'use' element.
The test is passed if the following objects are rendered:
- Right top; square with a horizontal gradient fill from orange to yellow, diagonal gradient stroke from blue to pink
- Right middle top; square with a diagonal gradient fill from blue to pink, horizontal gradient stroke from orange to yellow
- Right middle bottom; the letters ABC in an SVG font
- Right bottom; the English alphabet a to j in the shape of a square
- Left Top; square with horizontal gradient fill from orange to yellow, and 3 circles all with a blue to red gradient fill
running diagonally inside the square
- Left middle top; green square with a yellow circle in the middle
- Left middle bottom; red square
- Left bottom; two identical squares with light blue fill.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
<linearGradient xml:id="myLocalGrad">
<stop offset="0.05" stop-color="#F60" />
<stop offset="0.95" stop-color="#FF6" />
</linearGradient>
<rect xml:id="nameClashTest" x="0" y="0" width="30" height="30" fill="blue" />
</defs>
<text xml:id="display-title" fill="black" x="240" y="40" font-size="18">
External Fragments with 'use' Element
</text>
<text fill="#000" fill-opacity="0.6" x="50" y="72">
Rect using external gradients
</text>
<text fill="#000" fill-opacity="0.6" x="50" y="86">
for fill and stroke
</text>
<use xlink:href="../images/svglib.svg#rect3" x="10" y="60" fill="green" stroke="blue" stroke-width="5" />
<text fill="#000" fill-opacity="0.6" x="50" y="72">
Rect using external fill gradient
</text>
<text fill="#000" fill-opacity="0.6" x="50" y="86">
gradient
&
local stroke gradient
</text>
<use xlink:href="../images/svglib.svg#rect4" x="10" y="60" stroke="url(#myLocalGrad)" stroke-width="5" />
<text fill="#000" fill-opacity="0.6" x="50" y="80">
Text using SVG font
</text>
<use xlink:href="../images/svglib.svg#text2" fill="blue" x="10" y="80" />
<text fill="#000" fill-opacity="0.6" x="50" y="80">
Alphabet a to j
</text>
<use xlink:href="../images/svglib.svg#textArea1" fill="blue" x="10" y="60" font-size="12" />
<text fill="#000" fill-opacity="0.6" x="50" y="72">
Group using a rect and
</text>
<text fill="#000" fill-opacity="0.6" x="50" y="86">
3 circles using gradients
</text>
<use xlink:href="../images/svglib.svg#g2" x="10" y="60" />
<text fill="#000" fill-opacity="0.6" x="50" y="72">
2 levels of external
<
use
>
A green
</text>
<text fill="#000" fill-opacity="0.6" x="50" y="86">
rect, yellow circle must appear
</text>
<use xlink:href="../images/svglib.svg#g3" x="10" y="60" />
<text fill="#000" fill-opacity="0.6" x="50" y="72">
Testing id name clash.
</text>
<text fill="#000" fill-opacity="0.6" x="50" y="86">
Rect must be red
</text>
<use xlink:href="../images/svglib2.svg#nameClashTest" x="10" y="60" />
<text fill="#000" fill-opacity="0.6" x="50" y="0">
External circular reference
</text>
<text fill="#000" fill-opacity="0.6" x="50" y="12" font-size="9">
Two identical rectangles must appear,
</text>
<text fill="#000" fill-opacity="0.6" x="50" y="22" font-size="9">
proving the circular reference didn't l
tests_public/svg/svgw3c-1.2-tiny/svg/paint-color-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-other-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-32-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-fonts-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-use-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-70-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-desc-02-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="CN" owner="CN" desc="Test the CSS2 font-maching algorithm against a set of SVG fonts." status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: fonts-desc-02-t.svg,v $">
<OperatorScript>
<p>
This tests the behaviour of CSS font matching based on font-variant attribute.
</p>
<p>
The first line of text should be 'square' 'triangle'. The small-caps font should match the second text element.
</p>
<p>
The second line of text should be 'square' 'triangle'. The second line is used to ensure that the order of font specification does not effect the selection of these fonts.
</p>
<p>
The third line of text should be 'square', 'diamond', 'square', 'diamond'. This shows 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 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>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<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>
<text x="50" y="50" font-family="SVGFont1">
a
</text>
<text x="100" y="50" font-family="SVGFont1" font-variant="small-caps">
a
</text>
<text x="50" y="100" font-family="SVGFont2">
a
</text>
<text x
tests_public/svg/svgw3c-1.2-tiny/svg/udom-dom-203-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AE" owner="CM" desc="Test that the Node.textContent attribute works" status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: udom-dom-203-t.svg,v $">
<OperatorScript>
<div xmlns="http://www.w3.org/1999/xhtml">
<p>
This tests that the
<tt>
textContent
</tt>
attribute of the
<b>
Node
</b>
interface works correctly.
</p>
<p>
The rectangle in the top left corner indicates whether the
behavior when manipulating the
<tt>
textContent
</tt>
attribute
on various elements; blue for pass, red for fail.
The two text strings below it indicate whether setting
<tt>
textContent
</tt>
on the
<tt>
text
</tt>
and
<tt>
textArea
</tt>
elements succeeded; they must both be the string âPASSâ.
</p>
</div>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text x="10" y="42">
Node.textContent test
</text>
<metadata xml:id="metadata">
This is the metadata.
</metadata>
<text xml:id="text" x="10" y="140">
This is the text
<tspan xml:id="tspan">
and this is the tspan
</tspan>
.
</text>
<textArea xml:id="textArea" x="10" y="150" width="300">
This is the textArea.
</textArea>
<script type="application/ecmascript">
function assertTrue(b) {
if (!b) {
throw 'assertion failed';
}
}
function test(e, t) {
assertTrue(e.textContent == t);
}
function set(e, t) {
e.textContent = t;
}
try {
// Get all of the elements.
var ids = 'desc title metadata tspan text textArea'.split(' ');
for (var i in ids) {
this[ids[i
]
] = document.getElementById(ids[i
]);
}
// Test getting the initial text.
test(desc, 'This is the desc.');
test(title, 'This is the title.');
test(metadata, 'This is the metadata.');
test(tspan, 'and this is the tspan');
test(text, 'This is the text and this is the tspan.');
test(textArea, 'This is the textArea.');
// Test setting text on a <desc>.
set (desc, 'New desc text.');
test(desc, 'New desc text.');
// Test setting text on a <title>.
set (title, 'New title text.');
test(title, 'New title text.');
// Test setting text on a <metadata>.
set (metadata, 'New metadata text.');
test(metadata, 'New metadata text.');
// Test setting text on a <tspan>, and that the enclosing
// <text>'s text content is returned appropriately.
set (tspan, 'New tspan text.');
test(tspan, 'New tspan text.');
test(text, 'This is the text New tspan text..');
// Test setting text on a <text>, and that the enclosed
// <tspan> isnât changed.
set (text, 'PASS');
test(text, 'PASS');
test(tspan, 'New tspan text.');
// Test that the <tspan> was removed from its parent.
assertTrue(tspan.parentNode == null);
// Test setting text on a <textArea>.
set (textArea, 'PASS');
test(textArea, 'PASS');
// Set the rectangle to be blue if the previous tests all passed.
document.getElementById('ind').setAttributeNS(null, 'fill', 'blue');
} catch (e) {
}
</script>
<text xml:id="revision" x="10" y="340" stroke="none" fill="blac
tests_public/svg/svgw3c-1.2-tiny/svg/udom-traitaccess-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-event-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/script-handle-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-node-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-vfill-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-nsstroke-202-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="NR" owner="BitFlash" desc="Non-scaling Stroke" status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: paint-nsstroke-202-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Non-scaling Stroke
</p>
<p>
The SVG root element has a fixed width and height rather than the usual
width="100%" height="100%" viewBox="0 0 480 360"
This is to ensure that the two versions align just before scaling - both should be identical at the start.
As the shapes zoom forward the non-scaling stroke should maintain a fixed width while the other strokes scale.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text xml:id="display-title" x="240" y="30" font-size="14" fill="#000">
Non-scaling Stroke
</text>
<text xml:id="comment-1" x="240" y="45">
The SVG root element has a fixed width and height rather than 100%. Both versions should
</text>
<text xml:id="comment-2" x="240" y="57">
be identical at the start and should align just before scaling. As the shapes zoom forward
</text>
<text xml:id="comment-3" x="240" y="69">
the non-scaling stroke should maintain a fixed width while the other strokes scale.
</text>
<defs>
<g xml:id="shapes" transform="translate(0,0)" vector-effect="inherit">
<g stroke-dasharray="2, 6" stroke="black" vector-effect="inherit">
<rect x="36" y="85" fill="none" width="175" height="75" stroke-dasharray="5,5" stroke-width="10" stroke-opacity="0.5" vector-effect="inherit" />
<circle fill="none" stroke-dasharray="5,5" r="24" cx="88" cy="122" stroke-width="10" stroke-opacity="0.5" vector-effect="inherit" />
<g xml:id="plus" stroke-dasharray="6, 3" stroke-width="5" stroke-opacity="0.5" stroke="black" vector-effect="inherit">
<line fill="none" x1="67" x2="108" y1="122" y2="122" vector-effect="inherit" />
<line fill="none" x1="88" x2="88" y1="102" y2="142" vector-effect="inherit" />
</g>
<ellipse fill="none" rx="50" cx="200" ry="0" cy="200" stroke-width="10" stroke-opacity="0.5" vector-effect="inherit" />
</g>
<g stroke-dasharray="6, 3" stroke-width="10" stroke-opacity="0.5" stroke="black" vector-effect="inherit">
<g xml:id="x" vector-effect="inherit">
<line fill="none" x1="133" x2="198" y1="152" y2="92" vector-effect="inherit" />
<line fill="none" x1="133" x2="198" y1="95" y2="150" vector-effect="inherit" />
</g>
<g transform="translate(0,-10)" vector-effect="inherit">
<polyline fill="none" points="28,235.0 51,225.0 75,235.0 98,225.0 122,235.0 146,225.0 168,235.0 193,225.0 218,235" stroke="black" vector-effect="inherit" />
<ellipse fill="none" rx="87" cx="123" ry="15" cy="195" vector-effect="inherit" />
<line fill="none" x1="63" x2="185" y1="195" y2="195" stroke-width="3" stroke-dasharray="6, 3, 12, 3" vector-effect="inherit" />
<line fill="none" x1="28" x2="220" y1="245" y2="245" vector-effect="inherit" />
<line fill="none" x1="28" x2="220" y1="260" y2="260" stroke-width="15" stroke-dasharray="6, 3, 12, 3" vector-effect="inherit" />
</g>
</g>
</g>
</defs>
<animate attributeName="fill-opacity" from="1" to="0" dur="1s" begin="3s" fill="freeze" />
<text x="130" y="275">
Non Scaling Stroke
</text>
<text x="355" y="275">
Scaling Stroke
</text>
<use x="5" y="0" xlink:href="#shapes" vector-effect="non-scaling-stroke" />
<use x="230" y="0" xlink:href="#shapes">
<animateTransform type="translate" dur="1s" fill="freeze" from="0, 0" to="-225, 0" begin="1s" attributeName="transform" additive="sum" attributeType="XML" />
</use>
<animateTransform type="translate" dur="4s" fill="freeze" values="0,0; -230,-400;
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-17-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-209-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-pevents-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-circle-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-svg-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-text-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-209-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-78-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="NR" desc="Test on the animation of graphic properties and the inheritance of animated graphics properties" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-78-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
This test demonstrates how
<
set
>
elements change graphics properties on elements from the 'Basic Shapes'
chapter. For each of the graphics properties being tested, 3
<
set
>
elements are set. The first
<
set
>
element acts directly on the 'Basic Shape' element. The
<
set
>
element acts on a
<
g
>
containing
children. The third
<
set
>
element acts on an
<
a
>
containing children. In each case the test validates
that the animated value set on the
<
g
>
and
<
a
>
elements is inherited by the 'Basic Shape' element. All
the
<
set
>
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
<
set
>
validates the fill property, with fill set to orange. When applied directly to the 'Basic
Shape' element, the
<
rect
>
fill value will change to orange when it is translated to the right every 1s.
When applied to the
<
g
>
and
<
a
>
elements, the
<
rect
>
inherits the fill value and is orange.
</p>
<p>
The second
<
set
>
validates the fill-style property, with fill-style set to evenodd. When applied to the
'Basic Shape' element, the
<
polyline
>
fill-style is changed from nonzero to evenodd. When applied to the
<
g
>
and
<
a
>
elements, the
<
polyline
>
inherits the evenodd fill-style.
</p>
<p>
The third
<
set
>
validates the stroke property. In this case fill is set to none. When stroke is applied
to the 'Basic Shape' element, the
<
rect
>
on the right appears with the stroke color. When applied to the
<
g
>
and
<
a
>
elements, the
<
rect
>
inherits the stroke property.
</p>
<p>
The fourth
<
set
>
validates the stroke-width property, with stroke-width set to 4. When stroke-width is
applied to the 'Basic Shape' element, the
<
line
>
on the right has a width of 4. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the stroke-width.
</p>
<p>
The fifth
<
set
>
validates the stroke-linecap property, with stroke-linecap set to round. When
stroke-linecap is applied to the 'Basic Shape' element, the
<
line
>
stroke-linecap value switches from
butt to round. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the square
stroke-linecap.
</p>
<p>
The sixth
<
set
>
validates the stroke-linejoin property, with stroke-linejoin set to bevel. When
stroke-linejoin is applied to the 'Basic Shape' element, the
<
line
>
stroke-linejoin value switches
from miter to bevel. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the
bevel stroke-linejoin.
</p>
<p>
The seventh
<
set
>
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
<
polyline
>
switches from bevel to miter.When applied to the
<
g
>
and
<
a
>
elements,the
<
line
>
inherits the stroke-miterlimit.
</p>
<p>
The eighth
<
set
>
validates the stroke-dashoffset property, with stroke-dashoffset set to 5.5. When
stroke-dashoffset is applied to the 'Basic Shape' element, the
<
line
>
has a different dashing
pattern. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the property.
</p>
<p>
The ninth
<
set
>
validates the display property, with display set to none. When display is applied to
the 'Basic Shape' element, the
<
rect
>
does not appear on the right. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the display property and hence is not seen.
</p>
<p>
The tenth
<
set
>
validates the visibility property, with visibility set to hidden. When visibility is
applied to the 'Basic Shape' element, the
<
rect
>
is hidden on the right. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the visibility property and hence is not seen.
</p>
<p>
The eleventh
<
set
>
validates the color property, with color set to blue. When color is applied to the
'Basic Shape' element, the
<
rect
>
on the right switches from default color of black to blue. When
applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the color property.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<g xml: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>
<defs>
<g xml:id="setTwoRef">
<polyline fill="#ccc" stroke="#ccc" stroke-width="1" points="20,10,0,10,15,20,10,2,5,20,20,10" />
<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)" />
</g>
</defs>
<defs>
<g xml: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>
<defs>
<g xml:id="setFourRef">
<line x1="10" y1="8" x2="20" y2="0" stroke="#ccc" />
<line x1="10" y1="8" x2="20" y2="0" stroke-width="4" stroke="#ccc" transform="translate(30,0)" />
</g>
</defs>
<defs>
<g xml:id="setFiveRef">
<line x1="10" y1="8" x2="20" y2="0" stroke="#ccc" />
<line x1="10" y1="8" x2="20" y2="0" stroke-linecap="round" stroke="#ccc" transform="translate(30,0)" />
</g>
</defs>
<defs>
<g xm
tests_public/svg/svgw3c-1.2-tiny/svg/render-elems-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-cond-206-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AE" owner="ED" desc="Tests all the feature strings." status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: struct-cond-206-t.svg,v $">
<OperatorScript>
<p>
Tests all the SVG Tiny 1.2 feature strings using requiredFeatures.
</p>
<p>
The test has passed if there is only one string "Yes" or "No" visible
for each sub-test in the "Supported?" column.
</p>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text fill="#000" x="240" font-size="14" y="30" id="display-title">
Required Features Attribute
</text>
<text x="240" y="45" id="comment-1">
A series of switches are used to determine which 'requiredFeatures' are supported.
</text>
<text text-anchor="end" x="340" y="-15" fill="#555" font-size="14">
Feature
</text>
<text x="350" y="-15" fill="#555" font-size="14">
Supported?
</text>
<text text-anchor="end" x="340" y="0" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#Gradient
</text>
<switch>
<text x="350" y="0" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#Gradient">
Yes
</text>
<text x="350" y="0" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="12" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#SolidColor
</text>
<switch>
<text x="350" y="12" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#SolidColor">
Yes
</text>
<text x="350" y="12" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="24" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#Hyperlinking
</text>
<switch>
<text x="350" y="24" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#Hyperlinking">
Yes
</text>
<text x="350" y="24" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="36" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#XlinkAttribute
</text>
<switch>
<text x="350" y="36" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#XlinkAttribute">
Yes
</text>
<text x="350" y="36" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="48" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#ExternalResourcesRequired
</text>
<switch>
<text x="350" y="48" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#ExternalResourcesRequiredAttribute">
Yes
</text>
<text x="350" y="48" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="60" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#Scripting
</text>
<switch>
<text x="350" y="60" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#Scripting">
Yes
</text>
<text x="350" y="60" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="72" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#Handler
</text>
<switch>
<text x="350" y="72" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#Handler">
Yes
</text>
<text x="350" y="72" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="84" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#Listener
</text>
<switch>
<text x="350" y="84" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#Listener">
Yes
</text>
<text x="350" y="84" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="96" fill="black">
http://www.w3.org/Graphics/SVG/feature/1.2/#TimedAnimation
</text>
<switch>
<text x="350" y="96" fill="green" requiredFeatures="http://www.w3.org/Graphics/SVG/feature/1.2/#TimedAnimation">
Yes
</text>
<text x="350" y="96" fill="red">
No
</text>
</switch>
<text text-anchor="end" x="340" y="108" fill="b
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/metadata-example-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-pAR-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-210-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-svg-211-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-coord-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-26-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-intro-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-03-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AE" owner="Jon Ferraiolo" desc="Test inheritance of animated properties." status="accepted" approved="yes" version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-03-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<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:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<font xml: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 0H13
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-14-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-213-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/script-listener-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-smil-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-ws-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-41-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Animation of the various graphics properties with the animate element." status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-41-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<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>
<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. In most tests, 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>
<p>
The following animations should show continuous changes: fill, stroke, stroke-width, stroke-miterlimit,
stroke-dashoffset and color. Note that visually, stroke-miterlimit shows a sharp transition, but that is because
the miter is cut off when the animated miter limit reaches the test sharp angle's miter value. The stroke-miterlimit
value is changed continously but that is not visible in this test.
</p>
<p>
The following animations have a discrete behavior: fill-rule, stroke-linecap, stroke-linejoin, display and visibility.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml: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>
<defs>
<g xml: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="t
tests_public/svg/svgw3c-1.2-tiny/svg/media-alevel-208-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-64-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-glyph-02-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="CL" owner="CN" desc="Test on arabic-form" status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: fonts-glyph-02-t.svg,v $">
<OperatorScript>
<p>
The first subtest tests the arabic-form attribute and should 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 is the same, but with glyphs for the letter khah. It should match the reference image.
</p>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<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
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-elem-01-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AE" owner="Dean Jackson" desc="Basic test of embedded fonts using glyph outlines" status="accepted" approved="yes" version="$Revision: 1.7 $" testname="$RCSfile: fonts-elem-01-t.svg,v $">
<OperatorScript>
<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>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<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 1063Q6
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-fonts-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-trans-09-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-215-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AS" owner="DOH" desc="Compare from-to, from-by and by animateTransform translate with values animateTransform and animateMotion." status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: animate-elem-215-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Compare from-to, from-by and by animateTransform translate with values
animateTransform and animateMotion.
</p>
<p>
The main indication for a failed test is the appearance of red.
</p>
<p>
SMIL 2 specifies, how from-to, from-by and by animations have to be converted into
values animation. Therefore they have to be the same as the related values animation.
The conversion is as follows:
</p>
<table>
<tr>
<th>
used
</th>
<th>
converted
</th>
</tr>
<tr>
<td>
from="a" to="b"
</td>
<td>
values="a;b"
</td>
</tr>
<tr>
<td>
from="a" by="b"
</td>
<td>
values="a;a+b"
</td>
</tr>
<tr>
<td>
by="a"
</td>
<td>
values="0;a" additive="sum"
</td>
</tr>
</table>
<p>
(by and from-by animations have only a meaning, if values can be added somehow.
'0' is used as a general symbol for the neutral element of addition for the related attribute,
this means 0 + a = a + 0 = a. And '0' is not equal to the symbol '1' as the basic unit of the
related attribute, '0' is a predecessor of '1' in the related attribute space. For animateTransform
the '0' is the same as the zero matrix, not the unity or identity matrix.
For the translate type this is a translation given in coordinates: 0,0.)
</p>
<p>
The from-to, from-by and by are applied to animateTransform of the translate type
of different blue stroked
paths and are compared with the related values animations including additive and
cumulative hehaviour for underlying red paths. Additionally underlying dark red
paths simulate the same behaviour using always the defaults additive replace and
accumulate replace with animateMotion. The blue paths cover all red paths.
Therefore if something red gets visible, an error is occured.
Because fill is always not set and therefore remove,
the final value is the value at 2s given with a simple values animateTransform, not very
interesting for the test.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<path xml:id="fromto" id="fromto" d="M-20,-20C120,-40 -80,-60 20,20" />
<path xml:id="fromby" id="fromby" d="M-20,20Q5,-80 20,20" />
<path xml:id="by" id="by" d="M-20,-10Q-20,20 20,20Q20,-20 -10,-20 M-0.1,-0.1L0.1,0.1" />
</defs>
<use xlink:href="#fromto" x="40" y="80" stroke="#800">
<title>
dark red values comparsion for from-to animations - if visible fail
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion values="30,90;50,60" begin="4s" dur="5s" />
<animateMotion values="60,130;80,100" begin="9s" dur="5s" />
<animateMotion values="90,170;110,140" begin="14s" dur="5s" />
<animateMotion values="10,70;30,40" begin="20s" dur="5s" />
<animateMotion values="40,110;60,80" begin="25s" dur="5s" />
<animateMotion values="70,150;90,120" begin="30s" dur="5s" />
<animateMotion values="30,90;50,60" begin="36s" dur="5s" />
<animateMotion values="30,90;50,60" begin="41s" dur="5s" />
<animateMotion values="30,90;50,60" begin="46s" dur="5s" />
<animateMotion values="10,70;30,40" begin="52s" dur="5s" />
<animateMotion values="10,70;30,40" begin="57s" dur="5s" />
<animateMotion values="10,70;30,40" begin="62s" dur="5s" />
</use>
<use xlink:href="#fromto" x="40" y="80" stroke="#f00">
<title>
red values comparsion for from-to animations - if visible fail
</title>
<animateTransform attributeName="transform" type="translate" values="20,20" begin="2s" />
<animateTransform attributeName="transform" type="translate" values="10,70;30,40" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" values="10,70;30,40" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" values="10,70;30,40" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="translate" values="10,70;30,40" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromto" x="40" y="80" stroke="#88f">
<title>
blue from-to animations
</title>
<animateTransform attributeName="transform" type="translate" values="20,20" begin="2s" />
<animateTransform attributeName="transform" type="translate" from="10,70" to="30,40" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" from="10,70" to="30,40" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" from="10,70" to="30,40" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="translate" from="10,70" to="30,40" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<use xlink:href="#fromby" x="160" y="80" stroke="#800">
<title>
dark red values comparsion for from-by animations - if visible fail
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion values="30,90;50,60" begin="4s" dur="5s" />
<animateMotion values="60,130;80,100" begin="9s" dur="5s" />
<animateMotion values="90,170;110,140" begin="14s" dur="5s" />
<animateMotion values="10,70;30,40" begin="20s" dur="5s" />
<animateMotion values="40,110;60,80" begin="25s" dur="5s" />
<animateMotion values="70,150;90,120" begin="30s" dur="5s" />
<animateMotion values="30,90;50,60" begin="36s" dur="5s" />
<animateMotion values="30,90;50,60" begin="41s" dur="5s" />
<animateMotion values="30,90;50,60" begin="46s" dur="5s" />
<animateMotion values="10,70;30,40" begin="52s" dur="5s" />
<animateMotion values="10,70;30,40" begin="57s" dur="5s" />
<animateMotion values="10,70;30,40" begin="62s" dur="5s" />
</use>
<use xlink:href="#fromby" x="160" y="80" stroke="#f00">
<title>
red values comparsion for from-by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="translate" values="20,20" begin="2s" />
<animateTransform attributeName="transform" type="translate" values="10,70;30,40" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" values="10,70;30,40" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" values="10,70;30,40" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="translate" values="10,70;30,40" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromby" x="160" y="80" stroke="#88f">
<title>
blue from-by animations
</title>
<animateTransform attributeName="transform" type="translate" values="20,20" begin="2s" />
<animateTransform attributeName="transform" type="translate" from="10,70" by="20,-30" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" from="10,70" by="20,-30" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" from="10,70" by="20,-30" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="translate" from="10,70" by="20,-30" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<use xlink:href="#by" x="300" y="200" stroke="#800">
<title>
dark red values comparsion for by animations - if visible fail
</title>
<animateMotion values="20,20" begin="2s" />
<animateMotion values="20,20;40,-10" begin="4s" dur="5s" />
<animateMotion values="40,-10;60,-40" begin="9s" dur="5s" />
<animateMotion values="60,-40;80,-70" begin="14s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="20s" dur="5s" />
<animateMotion values="40,-10;60,-40" begin="25s" dur="5s" />
<animateMotion values="60,-40;80,-70" begin="30s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="36s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="41s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="46s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="52s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="57s" dur="5s" />
<animateMotion values="20,20;40,-10" begin="62s" dur="5s" />
</use>
<use xlink:href="#by" x="300" y="200" stroke="#f00">
<title>
red values comparsion for by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="translate" values="20,20" begin="2s" />
<animateTransform attributeName="transform" type="translate" values="0,0;20,-30" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" values="0,0;20,-30" begin="20s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" values="0,0;20,-30" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="translate" values="0,0;20,-30" begin="52s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
</use>
<use xlink:href="#by" x="300" y="200" stroke="#88f">
<title>
blue by animations
</title>
<animateTransform attributeName="transform" type="translate" values="20,20" begin="2s" />
<animateTransform attributeName="transform" type="translate" by="20,-30" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" by="20,-30" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="translate" by="20,-30" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="translate" by="20,-30" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<text x="300" y="300">
animateTransform translate
</text>
<text x="300" y="315">
compare from-to, from-by, by
</text>
<text x="300" y="330">
with values and animateMotion
</text>
<text x="300" y="350">
red=wrong, no animation: wrong
</text>
<text x="10" y="275">
attributes noted:
</text>
<text x="10" y="290">
<tspan fill="#88f">
cumulative/additive;
</tspan>
<tspan fill="#00f">
cumulative/not additive;
</tspan>
</text>
<text x="10" y="305">
<tspan fill="#00a">
not
tests_public/svg/svgw3c-1.2-tiny/svg/udom-svg-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-trans-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-group-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-210-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-209-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-vfill-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-traitaccess-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-use-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-16-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-desc-05-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CL" owner="CN" desc="Test the CSS2 font-maching algorithm against a set of SVG fonts." status="accepted" approved="yes" version="$Revision: 1.2 $" testname="$RCSfile: fonts-desc-05-t.svg,v $">
<OperatorScript>
<Paragraph>
This tests a combination of font attribute matching. 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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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
tests_public/svg/svgw3c-1.2-tiny/svg/linking-uri-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-frag-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/script-handle-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-rect-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-35-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-use-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-222-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-212-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-dom-206-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AE" owner="CM" desc="Test the operation of Node.removeChild" status="accepted" approved="yes" version="$Revision: 1.5 $" testname="$RCSfile: udom-dom-206-t.svg,v $">
<OperatorScript>
<div xmlns="http://www.w3.org/1999/xhtml">
<p>
This tests that the
<tt>
removeChild
</tt>
method of the
<b>
Node
</b>
interface works correctly.
</p>
<p>
The test has three sub-tests, for different
<tt>
removeChild
</tt>
behavior, which consist of a paired rectangle and circle:
</p>
<ul>
<li>
The first is a test of successfully removing a single element
from the document. Initially, a red rectangle occludes a blue
rectangle. This red rectangle should then be removed by the
<tt>
removeChild
</tt>
call, which results in the blue rectangle
becoming visible. The circle beneath it represents whether
<tt>
removeChild
</tt>
returned the correct value (i.e., a reference
to the same red rectangle that was removed). If this return
value is incorrect, the circle will remain red. If it was
correct, the circle is changed to be blue.
</li>
<li>
The second is a test of successfully removing a subtree
from the document. The subtree is simply a
<tt>
g
</tt>
element
with a red
<tt>
rect
</tt>
as a child, which initially occludes
a blue rectangle. The group with the red rectangle should then be
removed by the
<tt>
removeChild
</tt>
call, which results in the blue
rectangle becoming visible. The circle beneath it represents
whether
<tt>
removeChild
</tt>
returned the correct value (i.e., a
reference to the
<tt>
g
</tt>
element that was removed). If this
return value is incorrect, the circle will remain red. If it was
correct, the circle is changed to be blue.
</li>
<li>
The third is a test of
<tt>
removeChild
</tt>
throwing a NOT_FOUND_ERR
<b>
DOMException
</b>
when passed an element that is not a child of
the element on which the method was called. If the blue rectangle
remains, the implementation correctly did not remove it. The circle
indicates whether the exception was thrown as expected. If the
exception was not thrown, or the wrong is exception is thrown,
the circle will remain red. Otherwise, the circle will be changed
to be blue.
</li>
</ul>
<p>
The test has been passed if the top row shows three blue rectangles
and the bottom row shows three blue circles.
</p>
</div>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text x="10" y="42">
Node.removeChild test
</text>
<text x="10" y="280" font-size="12">
All three rects and three circles must be blue.
</text>
<text x="55" y="20">
remove single element
</text>
<text x="155" y="20"
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-12-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-210-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/render-elems-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-constr-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-209-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-11-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-21-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-fill-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-213-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-205-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-29-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-82-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Test on the animateTransform additive behavior" status="accepted" approved="yes" version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-82-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<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). The total length along the sx component is 2 + 2 = 4. The total length along the sy component is
0 + 1 = 1. At 0s, the expected transform is scale(1,2). At 1.5s, the expected transform is scale(3,1.5) so that a
length of 2 has been run on the sx component and a length of 0.5 has been run on the sy component. At 3s, the
expected transform is scale(3,2).
</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 c
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-19-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-44-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-units-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-67-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Basic test on restart attribute" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-67-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
This tests performs basic tests on restart attribute
</p>
<p>
Each row in the test shows different rectangles subject to
<
set
>
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
<
set
>
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
<
= t
<
4s) which should be superceeded, at 1s, by a new
interval of (1s
<
= t
<
5s) because the default restart behavior is 'always'. Consequently, the rectangle
should be in the right position during the (0s
<
= t
<
5s) interval and move to the left position at 5s.
</p>
<p>
On the second row, the
<
set
>
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
<
set
>
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
<
= t
<
5s) and is not superseded by a (1s
<
= t
<
6s) interval because of
the restart value. The second (right most) red rectangle's
<
set
>
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
<
= t
<
2.5s) which is
followed by a (2.5s
<
= t
<
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
<
set
>
animation has a begin attribute set to '0s;5s' and a dur attribute set to 5s.
This results in a first interval of (0s
<
= t
<
5s). Because the restart attribute is set to 'never', the
following possible interval, (5s
<
= t
<
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:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<rect xml:id="shadow" x="-6" y="-6" width="12" height="12" fill="#ccc" stroke="black" stroke-width="1" />
</defs>
<text text-anchor="middle" x="240" y="30" font-size="20">
restart
</text>
<text>
no restart (defaults to always)
</tex
tests_public/svg/svgw3c-1.2-tiny/svg/interact-order-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-defs-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-event-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-svg-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/linking-refs-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-image-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-align-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-alevel-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/linking-a-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-218-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-color-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/linking-frag-201-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="ED" owner="BitFlash" desc="Testing Links to External 'svgView' with Transforms" status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: linking-frag-201-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Testing Links to external and internal 'svgView' with Transforms.
</p>
<p>
The first part of the test is passed if the rect links on the top line go to the linking-frag-202-t.svg file and
adjust the resulting view according to their respective text;
- The rect with 'Rotate' must link to the linking-frag-202-t.svg file and rotate resulting view
- The rect with 'Shift' must link to the linking-frag-202-t.svg file and shitf the resulting view
- The rect with 'Scale' must link to the linking-frag-202-t.svg file and scale the resulting view
- The rect with 'skewX' must link to the linking-frag-202-t.svg file and skew the resulting view along the X axis
- The rect with 'skewY' must link to the linking-frag-202-t.svg file and skew the resulting view along the Y axis
- The rect with 'identity' must link to the linking-frag-202-t.svg file and not change the resulting view.
</p>
<p>
The second part of the test is passed if the rect links on the bottom line link to this file and adjust the
resulting view according to their respective text;
- The rect with 'Rotate' must link to this file and rotate resulting view
- The rect with 'Shift' must link to this file and shitf the resulting view
- The rect with 'Scale' must link to this file and scale the resulting view
- The rect with 'skewX' must link to this file and skew the resulting view along the X axis
- The rect with 'skewY' must link to this file and skew the resulting view along the Y axis
- The rect with 'identity' must link to this file and not change the resulting view.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
<rect xml:id="outlineRect" width="50" height="25" stroke="#333" fill-opacity="0.5" />
</defs>
<text xml:id="display-title" fill="black" x="240" y="40" font-size="18">
Testing Links to External 'svgView' with Transforms
</text>
<text xml:id="comment-1" text-anchor="middle" fill="#555" x="240" y="65" font-size="12">
First line links to an svgView in an external file
<tspan fill="black" font-style="italic">
(linking-frag-202-t.svg)
</tspan>
</text>
<text xml:id="comment-2" text-anchor="middle" fill="#555" x="240" y="80" font-size="12">
Second line links to an svgView in the local file
</text>
<a xml:id="a1" xlink:href="linking-frag-202-t.svg#svgView(transform(rotate(30, 150, 150)))" transform="translate(30,100)">
<use stroke-width="2" xlink:href="#outlineRect" fill="red">
<set attributeName="stroke-width" to="4" begin="a1.focusin" end="a1.focusout" />
</use>
<text x="25" y="17" stroke="none" stroke-width="0" fill="white" text-anchor="middle">
Rotate
</text>
</a>
<a xml:id="a2" xlink:href="linking-frag-202-t.svg#svgView(transform(translate(50, -50)))" transform="translate(100,100)">
<use stroke-width="2" xlink:href="#outlineRect" fill="blue">
<set attributeName="stroke-width" to="4" begin="a2.focusin" end="a2.focusout" />
</use>
<text x="25" y="17" stroke="none" stroke-width="0" fill="white" text-anchor="middle">
Shift
</text>
</a>
<a xml:id="a3" xlink:href="linking-frag-202-t.svg#svgView(transform(scale(0.5)))" transform="translate(170,100)">
<use stroke-width="2" xlink:href="#outlineRect" fill="green">
<set attributeName="stroke-width" to="4" begin="a3.focus
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-210-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AS" owner="DOH" desc="Compare from-to, from-by and by animateColor with values animateColor and animate." status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: animate-elem-210-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Compare from-to, from-by and by animateColor with values animateColor and animate.
</p>
<p>
The main indication for a failed test is the appearance of red.
</p>
<p>
SMIL 2 specifies, how from-to, from-by and by animations have to be converted into
values animations. Therefore they have to be the same as the related values animation.
Additionally set animations can be replaced by values animations too.
The conversion is as follows:
</p>
<table>
<tr>
<th>
used
</th>
<th>
converted
</th>
</tr>
<tr>
<td>
from="a" to="b"
</td>
<td>
values="a;b"
</td>
</tr>
<tr>
<td>
from="a" by="b"
</td>
<td>
values="a;a+b"
</td>
</tr>
<tr>
<td>
by="a"
</td>
<td>
values="0;a" additive="sum"
</td>
</tr>
<tr>
<td>
set to="a"
</td>
<td>
values="a" additive="replace" accumulate="none"
</td>
</tr>
</table>
<p>
(by and from-by animations have only a meaning, if values can be added somehow.
'0' is used as a general symbol for the neutral element of addition for the related attribute,
this means 0 + a = a + 0 = a. And '0' is not equal to the symbol '1' as the basic unit of the
related attribute, '0' is a predecessor of '1' in the related attribute space. In the color space
0 is represented by black, #000, #000000, rgb(0,0,0) etc. Addition is performed for each
of the three components of the color vector separately.)
</p>
<p>
The from-to, from-by and by animations applied to fill properties
of circles are compared with the related values animations including additive and
cumulative hehaviour for the stroke of the same circles. Additionally underlying
filled larger circles simulate the same behaviour using always the defaults additive replace and
accumulate replace. The fill of the background circle and stroke and fill of the smaller
test circle centered in it are always exactly the same. Therefore if
rings in each centered circle system with different color get visible, an error is occured.
But each separated circle system representing one of 12 subtests can have another color.
Because the fill attribute for animation is always not set and therefore remove,
the final value is only that of the set animation, not very interesting for the test.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text x="270" y="315">
compare from-to, from-by, by
</text>
<text x="270" y="330">
with values animate, animateColor
</text>
<text x="270" y="350">
different colored rings in circle=wrong
</text>
<text x="120" y="30">
attributes noted:
</text>
<text x="280" y="30">
attributes noted:
</text>
<text x="120" y="50">
cumulative
</text>
<text x="120" y="65">
additive
</text>
<text x="120" y="120">
cumulative
</text>
<text x="120" y="135">
not additive
</text>
<text x="120" y="190">
not cumulative
</text>
<text x="120" y="205">
additive
</text>
<text x="120" y="260">
not cumulative
</text>
<text x="120" y="275">
not additive
tests_public/svg/svgw3c-1.2-tiny/svg/coords-trans-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-progressive-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-213-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-svg-208-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-53-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-15-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-frag-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-216-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/script-handle-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-zoom-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-dom-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-ellipse-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-polygon-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-213-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-area-222-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-text-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-cond-02-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AE" owner="Chris Lilley," desc="Test that viewer has the basic capability to switch on user langauge" status="accepted" approved="yes" version="$Revision: 1.7 $" testname="$RCSfile: struct-cond-02-t.svg,v $">
<OperatorScript>
<p>
This tests ability to use the 'systemLanguage' as a test attribute within a switch element. To pass, either
</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
<
language
>
" 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>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<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">
<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>
<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>
<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>
<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">
<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">
<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 Mincho',ï¼ï¼³ ææ,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>
<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>
</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 syste
tests_public/svg/svgw3c-1.2-tiny/svg/text-intro-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/render-elems-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/jpeg-required-208-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-30-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="VH" owner="OA" desc="Tests various types of animations on referenced elements" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-30-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
The purpose of this test is to test animated
<
use
>
where the referenced
<
defs
>
also is animated.
</p>
<p>
The test shows 6 different elements, each element defined in a
<
defs
>
and referenced with a
<
use
>
.
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:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<line xml: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 xml: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 xml: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 xml: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 xml: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 xml: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/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYX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
tests_public/svg/svgw3c-1.2-tiny/svg/render-groups-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-fill-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-vfill-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/shapes-intro-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-dom-210-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AE" owner="CM" desc="Test the operation of Document.createElementNS" status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: udom-dom-210-t.svg,v $">
<OperatorScript>
<div xmlns="http://www.w3.org/1999/xhtml">
<p>
This tests that the
<tt>
createElementNS
</tt>
method on the
<b>
Document
</b>
interface works correctly, for each SVG Tiny 1.2
element, and for some unknown elements.
</p>
<p>
There are four sub-tests (a rectangle for each). These are:
</p>
<ul>
<li>
Sub-test 1: test creating each SVG Tiny 1.2 element.
</li>
<li>
Sub-test 2: test creating an unknown element in no namespace.
</li>
<li>
Sub-test 3: test creating an unknown element in the SVG namespace.
</li>
<li>
Sub-test 4: test creating an unknown element in another namespace.
</li>
</ul>
<p>
The test has been passed if all four rectangles are blue.
</p>
</div>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<text x="10" y="42">
Document.createElement(NS) test
</text>
<text x="10" y="150">
SVG elements
</text>
<text x="120" y="150">
Unknown element,
<tspan x="120" y="160">
no namespace
</tspan>
</text>
<text x="230" y="150">
Unknown element,
<tspan x="230" y="160">
SVG namespace
</tspan>
</text>
<text x="340" y="150">
Unknown element,
<tspan x="340" y="160">
non-SVG namespace
</tspan>
</text>
<text x="10" y="250" font-size="12">
All four rectangles must be blue.
</text>
<script type="application/ecmascript">
SVGNS = 'http://www.w3.org/2000/svg';
VNS = 'http://example.org/vegetable';
// Get all of the elements.
var ids = 'g1 rect1 rect2 rect3 rect4'.split(' ');
for (var i in ids) {
this[ids[i
]
] = document.getElementById(ids[i
]);
}
// List of all SVG element names.
var elementNames = 'a animate animateColor animateMotion animateTransform animation audio circle defs desc discard ellipse font font-face font-face-src font-face-uri foreignObject g glyph handler hkern image line linearGradient listener metadata missing-glyph mpath path polygon polyline prefetch radialGradient rect script set solidColor stop svg switch tbreak text textArea title tspan use video'.split(' ');
// Test creating SVG Tiny 1.2 elements.
try {
for (var i in elementNames) {
var elementName = elementNames[i
];
var elt = document.createElementNS(SVGNS, elementName);
if (elt.localName != elementName ||
elt.namespaceURI != SVGNS ||
elt.parentNode != null ||
elt.ownerDocument != document ||
elt.textContent != '') {
throw 'assertion failed for <' + elementName + '>';
}
}
rect1.setAttributeNS(null, 'fill', 'blue');
} catch (e) {
}
// Test creating an unknown element in no namespace.
try {
var elt = document.createElementNS(null, 'thing');
if (elt.localName == 'thing' &&
elt.namespaceURI == null &&
elt.parentNode == null &&
elt.ownerDocument == document &&
elt.textContent == '') {
rect2.setAttributeNS(null, 'fill', 'blue');
}
} catch (e) {
}
// Test creating an unknown element in the SVG namespace.
try {
var elt = document.createElementNS(SVGNS, 'donkey');
if (elt.localName == 'donkey' &&
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-12-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-09-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-24-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-viewattr-05-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AG" owner="Vincent Hardy" desc="Validates viewBox specification and the preserveAspectRatio attribute" status="accepted" approved="yes" version="$Revision: 1.11 $" testname="$RCSfile: coords-viewattr-05-t.svg,v $">
<OperatorScript>
<p>
This test verifies the implementation of the preserveAspectRatio attribute on
<
image
>
referencing raster content.
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>
<p>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</p>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<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>
<image xlink:href="data:image/jpg;base64,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 1LDy+47rI8G19vnC7bpPR
tests_public/svg/svgw3c-1.2-tiny/svg/fonts-glyph-201-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AG" owner="CL" desc="ligature matching in document order" status="accepted" approved="yes" version="$Revision: 1.3 $" testname="$RCSfile: fonts-glyph-201-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Test that ligatures are always used, and only used, when they occur before the
glyphs for characters they are ligatures of. The word "fjord" is displayed twice;
the top one must use the fj ligature and the bottom one must not; the top of the letter f overlaps the
dot of the letter i..
</p>
<p>
Two fonts are defined, almost identical; in one the fj ligature is the
first glyph defined, in the second one it is the last glyph.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<font id="Fjord-BoldOblique-nolig" horiz-adv-x="312">
<font-face font-family="Fjord-nl" font-weight="700" font-style="oblique" font-stretch="normal" units-per-em="1000" panose-1="2 0 8 3 0 0 0 0 0 0" ascent="800" descent="-200" x-height="447" cap-height="-1e+10" bbox="-92 -234 639 726.333" underline-thickness="50" underline-position="-100" slope="-9.8" unicode-range="U+0064-U+0072" />
<missing-glyph horiz-adv-x="432" d="M33 0v666h333v-666h-333zM66 33h267v600h-267v-600z" />
<glyph glyph-name="f" unicode="f" d="M171 429c3.33299 25.333 7.66701 48.333 13 69l11 46c20.667 62.667 53 109 97 139c8.66699 6.66699 21.667 13.667 39 21c28.667 12 62.333 19 101 21c33.333 2 62 -0.666992 86 -8h1c16 -5.33301 30 -12.667 42 -22c6.66699 -4 11.333 -8.66699 14 -14 c1.33301 -2 1.66699 -9 1 -21v-1l-2 -48c-2.66699 -10.667 -6 -19 -10 -25c-15.333 -22.667 -37 -32 -65 -28c-12 2 -22.333 6.33301 -31 13c-6.66699 5.33301 -12 11.667 -16 19c-9.33301 15.333 -11.333 32.333 -6 51c1.33301 4.66699 3.33301 9.66699 6 15l3 10 c-0.666992 2.66699 -3.66699 5.66699 -9 9c-6.66699 5.33301 -14.667 9.66699 -24 13l-11 3c-3.33301 0 -9.66699 -3.66699 -19 -11c-12.667 -9.33301 -25.333 -22.667 -38 -40c-22.667 -31.333 -39.333 -67.667 -50 -109l-6 -38l-11 -64h116l-6 -18l-5 -8l-10 -2h-20h-80 l-14 -83l-27 -157l-12 -70l-5 -33v-1c1.33299 -17.3333 15 -28.6667 41 -34l12 -2l-3 -20h-236l3 20c27.3333 0 47.6667 9.6667 61 29l4 6l5 22l6 38l49 285h-60l6 17l4 9l16 2h39z" />
<glyph glyph-name="j" unicode="j" d="M248 644c4.66701 1.33301 11.333 1.33301 20 0c14 -3.33301 25 -10 33 -20c15.333 -18.667 17.667 -39.333 7 -62v-2v0c-4.66699 -8.66699 -10.667 -15.667 -18 -21c-6.66699 -4.66699 -14.667 -7.66699 -24 -9h-1c-22 -4.66699 -39.667 1.66699 -53 19l-1 1 c-15.333 19.333 -17.667 40.333 -7 63l1 1c3.33299 8 8.33299 14.333 15 19c8.66701 6 18 9.66699 28 11zM82 385l4 18l14 3l32 4l92 21l29 10l17 5l20 1l-59 -343l-12 -73c-8 -46 -18.333 -79.3333 -31 -100c-38.667 -66.667 -108 -116 -208 -148 c-24 -7.33299 -48 -13 -72 -17l3 20c19.3333 4 37.6667 10.333 55 19c55.3333 28 95 76.667 119 146l5 16c4.6667 15.3333 11.667 53 21 113l22 124l17 103l5 28c1.33299 12 1.66701 19.667 1 23c-8 25.333 -32 34.333 -72 27h-2z" />
<glyph glyph-name="o" unicode="o" horiz-adv-x="554" d="M346 447c15.333 0.666992 32 0 50 -2c42 -3.33301 75.333 -16 100 -38c20.667 -16.667 36 -40.333 46 -71c15.333 -46 15.667 -95.333 1 -148l-2 -6c-20.667 -69.333 -58.333 -121.667 -113 -157l-22 -12c-29.333 -14.6667 -66 -24.3333 -110 -29 c-58 -4.6667 -105 2.6667 -141 22c-8 4 -17 10.3333 -27 19c-45.3333 41.3333 -62.6667 101 -52 179c2.6667 19.333 7.3333 38.333 14 57l20 44c34 65.333 84.333 108 151 128c19.333 5.33301 47.667 10 85 14zM341 416c-6 0 -14 -3.33301 -24 -10 c-21.333 -12 -39.333 -26.667 -54 -44c-46.667 -52.667 -71 -113 -73 -181c-0.667007 -25.333 2.33299 -49.667 9 -73c11.333 -35.3333 29.333 -61.6667 54 -79c15.333 -10 26 -15 32 -15c4.66699 0 13 3.3333 25 10c21.333 12 39.333 26.6667 54 44 c46.667 52 71 112.333 73 181c0.666992 24.667 -2 48.333 -8 71c-11.333 36 -29.667 63 -55 81c-12 9.33301 -23 14.333 -33 15z" />
<glyph glyph-name="r" unicode="r" horiz-adv-x="445" d="M318 422c-1.33301 5.33301 2 9.66699 10 13c8.66699 4.66699 23.333 8.33301 44 11c67.333 9.33301 110 -2.66699 128 -36l7 -19c2 -9.33301 2.66699 -18 2 -26c-1.33301 -8.66699 -10 -15.667 -26 -21c-20 -5.33301 -39.667 -8 -59 -8c-11.333 0 -19.667 1 -25 3 c-5.33301 1.33301 -7.33301 8 -6 20v3c-1.33301 17.333 -7.33301 31.333 -18 42c-6 6 -11.333 9 -16 9c-4.66699 -0.666992 -12.333 -5.33301 -23 -14c-17.333 -14 -32.333 -33.333 -45 -58c-12.667 -25.333 -22.333 -50.333 -29 -75 c-4.66699 -16.667 -12.667 -58.333 -24 -125l-10 -56l-4 -28c1.33299 -17.3333 15 -28.6667 41 -34l12 -2l-3 -20h-236l3 20c26.6667 0 47 9.6667 61 29l2 4c1.333 1.3333 3.667 9.3333 7 24l7 43l26 149l10 60c2.66701 15.333 2.33299 26.333 -1 33 c-8 16 -24.667 24 -50 24l-21 -2l4 18l12 3h1l33 4c30 4.66699 60.333 11.667 91 21l30 10l17 5l20 1l-12 -72h1c8.66699 18.667 21.667 34 39 46v1zM278 375h-1h1z" />
<glyph glyph-name="d" unicode="d" horiz-adv-x="562" d="M380 666l50 5l81 19l31 10l22 7l20 1l-10 -60l-21 -123l-58 -339l-15 -91l-4 -23c-1.33301 -10 -1.66699 -16.3333 -1 -19c5.33301 -19.3333 22 -30 50 -32h1h1l-3 -20h-147l1 86h-1c-3.33301 -11.3333 -9.66699 -23.3333 -19 -36c-18.667 -29.3333 -41 -49 -67 -59 c-11.333 -4 -26 -6.6667 -44 -8c-14 -1.3333 -28 -1.3333 -42 0c-37.333 3.3333 -66 14.6667 -86 34c-26 25.3333 -41 63.6667 -45 115c-6 72 11.3333 139.667 52 203l2 3c20 30.667 43.333 54 70 70c30 18 65 29.667 105 35c23.333 2.66699 41 0.333008 53 -7 c22 -14 30.667 -35.333 26 -64l-1 -6l-8 -19c-3.33301 -3.33301 -5.33301 -5 -6 -5l-8 4l-14 10c6.66699 10 10 18.333 10 25v1c0 16 -6.66699 26.667 -20 32c-5.33301 2 -11 2.33301 -17 1c-4 -0.666992 -11 -4.33301 -21 -11c-14 -10.667 -27.333 -23.667 -40 -39 c-39.333 -50 -61 -109 -65 -177c-2 -29.333 0 -55.667 6 -79c8.66701 -36.6667 24.333 -63 47 -79c13.333 -10 23.667 -14.6667 31 -14c6 0.6667 15 5.3333 27 14c13.333 10.6667 26.333 27 39 49c14 24 25 54.333 33 91l22 119l31 180l16 98l5 28l1 19 c-3.33301 19.333 -18.667 30.333 -46 33h-6l-21 -2z" />
<glyph glyph-name="fjlig" unicode="fj" horiz-adv-x="624" d="M639 633v-23c-5.33331 -25.3333 -20.3333 -41.6667 -45 -49c-18.6667 -6 -36.3333 -4.33331 -53 5c-8.66669 4.66669 -15 10 -19 16c-6 6.66669 -10 15 -12 25c-2 11.3333 -2.33334 21 -1 29c2 9.33331 6.66669 19 14 29c-26.6667 14 -45.6667 22.3333 -57 25 c-10 2.66669 -17.6667 3.66669 -23 3c-4.66666 0 -12.3333 -3 -23 -9c-15.3333 -8.66669 -30.6667 -20.3333 -46 -35c-33.3333 -33.3333 -56 -71 -68 -113l-9 -45l-10 -62h312l-23 -137l-34 -201l-11 -64l-9 -46c-4 -12.6667 -11.6667 -26.3333 -23 -41l-1 -2 c-17.3333 -22 -45 -44 -83 -66l-102 -57c-15.3333 -10 -29 -20.3333 -41 -31h-1c-5.33334 5.33333 -8.33334 9.66667 -9 13v1c0 1.33333 2.33334 4.33333 7 9l22 19c40.6667 36.6667 69.6667 69 87 97c12 19.3333 20.3333 36 25 50c4 12.6667 8 32.3333 12 59l13 76l35 203 l15 90h-196l-15 -87l-24 -142l-13 -77l-6 -34v-4c1.33333 -17.3333 15 -28.6667 41 -34l12 -2l-3 -20h-236l3 20c27.3333 0 47.6667 9.66667 61 29l4 6l5 22l6 38l49 285h-60l6 17l4 9l16 2h39c7.33333 62.6667 21.6667 113 43 151c12.6667 21.3333 25.6667 39.3333 39 54 c54.6667 58.6667 130 89.3333 226 92c13.3333 0.666687 27 0.333313 41 -1c34 -2 64.6667 -10.3333 92 -25c10 -4 17.6667 -16.6667 23 -38c2.66669 -9.33331 4 -19 4 -29z" />
</font>
<font id="Fjord-BoldOblique-lig" horiz-adv-x="312">
<font-face font-family="Fjord-wl" font-weight="700" font-style="oblique" font-stretch="normal" units-per-em="1000" panose-1="2 0 8 3 0 0 0 0 0 0" ascent="800" descent="-200" x-height="447" cap-height="-1e+10" bbox="-92 -234 639 726.333" underline-thickness="50" underline-position="-100" slope="-9.8" unicode-range="U+0064-U+0072" />
<missing-glyph horiz-adv-x="432" d="M33 0v666h333v-666h-333zM66 33h267v600h-267v-600z" />
<glyph glyph-name="fjlig" unicode="fj" horiz-adv-x="624" d="M639 633v-23c-5.33331 -25.3333 -20.3333 -41.6667 -45 -49c-18.6667 -6 -36.3333 -4.33331 -53 5c-8.66669 4.66669 -15 10 -19 16c-6 6.66669 -10 15 -12 25c-2 11.3333 -2.33334 21 -1 29c2 9.33331 6.66669 19 14 29c-26.6667 14 -45.6667 22.3333 -57 25 c-10 2.66669 -17.6667 3.66669 -23 3c-4.66666 0 -12.3333 -3 -23 -9c-15.3333 -8.66669 -30.6667 -20.3333 -46 -35c-33.3333 -33.3333 -56 -71 -68 -113l-9 -45l-10 -62h312l-23 -137l-34 -201l-11 -64l-9 -46c-4 -12.6667 -11.6667 -26.3333 -23 -41l-1 -2 c-17.3333 -22 -45 -44 -83 -66l-102 -57c-15.3333 -10 -29 -20.3333 -41 -31h-1c-5.33334 5.33333 -8.33334 9.66667 -9 13v1c0 1.33333 2.33334 4.33333 7 9l22 19c40.6667 36.6667 69.6667 69 87 97c12 19.3333 20.3333 36 25 50c4 12.6667 8 32.3333 12 59l13 76l35 203 l15 90h-196l-15 -87l-24 -142l-13 -77l-6 -34v-4c1.33333 -17.3333 15 -28.6667 41 -34l12 -2l-3 -20h-236l3 20c27.3333 0 47.6667 9.66667 61 29l4 6l5 22l6 38l49 285h-60l6 17l4 9l16 2h39c7.33333 62.6667 21.6667 113 43 151c12.6667 21.3333 25.6667 39.3333 39 54 c54.6667 58.6667 130 89.3333 226 92c13.3333 0.666687 27 0.333313 41 -1c34 -2 64.6667 -10.3333 92 -25c10 -4 17.6667 -16.6667 23 -38c2.66669 -9.33331 4 -19 4 -29z" />
<glyph glyph-name="f" unicode="f" d="M171 429c3.33299 25.333 7.66701 48.333 13 69l11 46c20.667 62.667 53 109 97 139c8.66699 6.66699 21.667 13.667 39 21c28.667 12 62.333 19 101 21c33.333 2 62 -0.666992 86 -8h1c16 -5.33301 30 -12.667 42 -22c6.66699 -4 11.333 -8.66699 14 -14 c1.33301 -2 1.66699 -9 1 -21v-1l-2 -48c-2.66699 -10.667 -6 -19 -10 -25c-15.333 -22.667 -37 -32 -65 -28c-12 2 -22.333 6.33301 -31 13c-6.66699 5.33301 -12 11.667 -16 19c-9.33301 15.333 -11.333 32.333 -6 51c1.33301 4.66699 3.33301 9.66699 6 15l3 10 c-0.666992 2.66699 -3.66699 5.66699 -9 9c-6.66699 5.33301 -14.667 9.66699 -24 13l-11 3c-3.33301 0 -9.66699 -3.66699 -19 -11c-12.667 -9.33301 -25.333 -22.667 -38 -40c-22.667 -31.333 -39.333 -67.667 -50 -109l-6 -38l-11 -64h116l-6 -18l-5 -8l-10 -2h-20h-80 l-14 -83l-27 -157l-12 -70l-5 -33v-1c1.33299 -17.3333 15 -28.6667 41 -34l12 -2l-3 -20h-236l3 20c27.3333 0 47.6667 9.6667 61 29l4 6l5 22l6 38l49 285h-60l6 17l4 9l16 2h39z" />
<glyph glyph-name="j" unicode="j" d="M248 644c4.66701 1.33301 11.333 1.33301 20 0c14 -3.33301 25 -10 33 -20c15.333 -18.667 17.667 -39.333 7 -62v-2v0c-4.66699 -8.66699 -10.667 -15.667 -18 -21c-6.66699 -4.66699 -14.667 -7.66699 -24 -9h-1c-22 -4.66699 -39.667 1.66699 -53 19l-1 1 c-15.333 19.333 -17.667 40.333 -7 63l1 1c3.33299 8 8.33299 14.333 15 19c8.66701 6 18 9.66699 28 11zM82 385l4 18l14 3l32 4l92 21l29 10l17 5l20 1l-59 -343l-12 -73c-8 -46 -18.333 -79.3333 -31 -100c-38.667 -66.667 -108 -116 -208 -148 c-24 -7.33299 -48 -13 -72 -17l3 20c19.3333 4 37.6667 10.333 55 19c55.3333 28 95 76.667 119 146l5 16c4.6667 15.3333 11.667 53 21 113l22 124l17 103l5 28c1.33299 12 1.66701 19.667 1 23c-8 25.333 -32 34.333 -72 27h-2z" />
<glyph glyph-name="o" unicode="o" horiz-adv-x="554" d="M346 447c15.333 0.666992 32 0 50 -2c42 -3.33301 75.333 -16 100 -38c20.667 -16.667 36 -40.333 46 -71c15.333 -46 15.667 -95.333 1 -148l-2 -6c-20.667 -69.333 -58.333 -121.667 -113 -157l-22 -12c-29.333 -14.6667 -66 -24.3333 -110 -29 c-58 -4.6667 -105 2.6667 -141 22c-8 4 -17 10.3333 -27 19c-45.3333 41.3333 -62.6667 101 -52 179c2.6667 19.333 7.3333 38.333 14 57l20 44c34 65.333 84.333 108 151 128c19.333 5.33301 47.667 10 85 14zM341 416c-6 0 -14 -3.33301 -24 -10 c-21.333 -12 -39.333 -26.667 -54 -44c-46.667 -52.667 -71 -113 -73 -181c-0.667007 -25.333 2.33299 -49.667 9 -73c11.333 -35.3333 29.333 -61.6667 54 -79c15.333 -10 26 -15 32 -15c4.66699 0 13 3.3333 25 10c21.333 12 39.333 26.6667 54 44 c46.667 52 71 112.333 73 181c0.666992 24.667 -2 48.333 -8 71c-11.333 36 -29.667 63 -55 81c-12 9.33301 -23 14.333 -33 15z" />
<glyph glyph-name="r" unicode="r" horiz-adv-x="445" d="M318 422c-1.33301 5.33301 2 9.66699 10 13c8.66699 4.66699 23.333 8.33301 44 11c67.333 9.33301 110 -2.66699 128 -36l7 -19c2 -9.33301 2.66699 -18 2 -26c-1.33301 -8.66699 -10 -15.667 -26 -21c-20 -5.33301 -39.667 -8 -59 -8c-11.333 0 -19.667 1 -25 3 c-5.333
tests_public/svg/svgw3c-1.2-tiny/svg/text-fonts-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-other-203-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-group-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-image-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-stroke-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-progressive-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-alevel-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-focus-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-38-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/linking-refs-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-85-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/coords-trans-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-211-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-anim-207-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paths-data-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/udom-traitaccess-204-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-video-219-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-213-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AS" owner="DOH" desc="Compare from-to, from-by and by animateTransform rotate with values animateTransform." status="accepted" approved="yes" version="$Revision: 1.4 $" testname="$RCSfile: animate-elem-213-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Compare from-to, from-by and by animateTransform rotate with values animateTransform.
</p>
<p>
The main indication for a failed test is the appearance of red.
</p>
<p>
SMIL 2 specifies, how from-to, from-by and by animations have to be converted into
values animation. Therefore they have to be the same as the related values animation.
The conversion is as follows:
</p>
<table>
<tr>
<th>
used
</th>
<th>
converted
</th>
</tr>
<tr>
<td>
from="a" to="b"
</td>
<td>
values="a;b"
</td>
</tr>
<tr>
<td>
from="a" by="b"
</td>
<td>
values="a;a+b"
</td>
</tr>
<tr>
<td>
by="a"
</td>
<td>
values="0;a" additive="sum"
</td>
</tr>
</table>
<p>
(by and from-by animations have only a meaning, if values can be added somehow.
'0' is used as a general symbol for the neutral element of addition for the related attribute,
this means 0 + a = a + 0 = a. And '0' is not equal to the symbol '1' as the basic unit of the
related attribute, '0' is a predecessor of '1' in the related attribute space. For animateTransform
the '0' is the same as the zero matrix, not the unity or identity matrix.
For the rotate type this is a skew with an angle of 0.
Deviating from SMIL 2 in SVG it is specified, that for animateTranform the animation
effect has to be postmultiplied to the underlying value, if the animation is additive. Note
that for two additive rotate angles a, b the resulting angle is not a+b but atan(tan(a)+tan(b)).
</p>
<p>
The from-to, from-by and by are applied to animateTransform of the rotate type
of different blue stroked
paths and are compared with the related values animations including additive and
cumulative hehaviour for underlying red paths. Additionally underlying dark red
paths simulate the same behaviour using always the defaults additive replace and
accumulate replace with animateMotion. The blue paths cover all red paths.
Therefore if something red gets visible, an error is occured.
Because fill is always not set and therefore remove,
the final value is the value at 2s given with a simple values animateTransform, not very
interesting for the test.
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<path xml:id="fromto" id="fromto" d="M-20,40C-20,40 0,0 -20,-20 20,20 20,0 20,40C30,40 -20,0 -20,40" />
<path xml:id="fromby" id="fromby" d="M-20,-30Q40,0 20,20M0,-40C40,-40 20,-20 30,40" />
<path xml:id="by" id="by" d="M20,20Q40,-20 20,-20M-20,-20L20,40M0,-20L40,40" />
</defs>
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="67s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-230,5,0;-300,10,-10" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-380,10,-5;-450,15,-15" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-230,5,0;-300,10,-10" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-380,10,-5;-450,15,-15" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="62s" dur="5s" />
<use xlink:href="#fromto" stroke="#800">
<title>
dark red values comparsion for from-to animations - if visible fail
</title>
</use>
<use xlink:href="#fromto" stroke="#f00">
<title>
red values comparsion for from-to animations - if visible fail
</title>
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="2s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromto" stroke="#88f">
<title>
blue from-to animations
</title>
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="2s" />
<animateTransform attributeName="transform" type="rotate" from="-80,0,5" to="-150,5,-5" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" from="-80,0,5" to="-150,5,-5" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" from="-80,0,5" to="-150,5,-5" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="rotate" from="-80,0,5" to="-150,5,-5" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="2s" dur="18s" />
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="35s" dur="17s" />
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="67s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-230,5,0;-300,10,-10" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-380,10,-5;-450,15,-15" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-230,5,0;-300,10,-10" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-380,10,-5;-450,15,-15" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="62s" dur="5s" />
<use xlink:href="#fromby" stroke="#800">
<title>
dark red values comparsion for from-by animations - if visible fail
</title>
</use>
<use xlink:href="#fromby" stroke="#f00">
<title>
red values comparsion for from-by animations - if visible fail
</title>
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="2s" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="rotate" values="-80,0,5;-150,5,-5" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
</use>
<use xlink:href="#fromby" stroke="#88f">
<title>
blue from-by animations
</title>
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="2s" />
<animateTransform attributeName="transform" type="rotate" from="-80,0,5" by="-70,5,-10" begin="4s" dur="5s" repeatCount="3" additive="sum" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" from="-80,0,5" by="-70,5,-10" begin="20s" dur="5s" repeatCount="3" additive="replace" accumulate="sum" />
<animateTransform attributeName="transform" type="rotate" from="-80,0,5" by="-70,5,-10" begin="36s" dur="5s" repeatCount="3" additive="sum" accumulate="none" />
<animateTransform attributeName="transform" type="rotate" from="-80,0,5" by="-70,5,-10" begin="52s" dur="5s" repeatCount="3" additive="replace" accumulate="none" />
<set attributeName="stroke" to="#00f" begin="20s" />
<set attributeName="stroke" to="#00a" begin="36s" />
<set attributeName="stroke" to="#006" begin="52s" />
</use>
<animateTransform attributeName="transform" type="rotate" values="100,-5,5" begin="2s" />
<animateTransform attributeName="transform" type="rotate" values="0,0,0;200,5,-5" begin="4s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="200,5,-5;400,10,-10" begin="9s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="400,10,-10;600,15,-15" begin="14s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0,0,0;200,5,-5" begin="20s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="200,5,-5;400,10,-10" begin="25s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="400,10,-10;600,15,-15" begin="30s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0,0,0;200,5,-5" begin="36s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0,0,0;200,5,-5" begin="41s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0,0,0;200,5,-5" begin="46s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0,0,0;200,5,-5" begin="52s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0,0,0;200,5,-5" begin="57s" dur="5s" />
<animateTransform attributeName="transform" type="rotate" values="0,0,0;200,5,-5" begin="62s" dur="5s" />
<use x
tests_public/svg/svgw3c-1.2-tiny/svg/struct-defs-201-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-10-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/struct-use-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/media-audio-202-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/paint-grad-08-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AG" owner="Haroon Sheikh" desc="Test that the viewer has basic capability to handle linear gradients on fills and stroke of objects and text. This means it needs to understand the following elements : <linearGradient>, <stop> and the following properties : stop-color, fill:url(# ), stroke(url# )" status="accepted" approved="yes" version="$Revision: 1.6 $" testname="$RCSfile: paint-grad-08-t.svg,v $">
<d:OperatorScript xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/1999/xhtml">
<p>
Test that the viewer has basic capability to handle linear gradients on fills and stroke of text.
</p>
<p>
This test uses the following elements :
<
linearGradient
>
,
<
stop
>
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 red (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>
<p>
The rendered picture should match the reference image, except for possible variations in the labelling text (per CSS2 rules).
</p>
</d:OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<defs>
<font xml: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="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>
</defs>
<linearGradient xml:id="Gradient" gradientUnits="userSpaceOnUse" x1="10" y1="10" x2="440" y2="10">
<stop stop-color="blue" offset="0" />
<stop stop-color="red" offset="1" />
</linearGradient>
<text font-family="MyFont" font-size="68" fill="url(#Gradient)" x="20" y="90">
Gradient on fill
</text>
<text font-size="30" x="40" y="130">
Linear gradient on filled text
</text>
<text font-family="MyFont" x="20" y="220" fo
tests_public/svg/svgw3c-1.2-tiny/svg/struct-discard-206-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/interact-pevents-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/text-align-202-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns:xhtml="http://www.w3.org/1999/xhtml" reviewer="AE" owner="CL" desc="test alignment on RTL text" status="accepted" approved="yes" version="$Revision: 1.8 $" testname="$RCSfile: text-align-202-t.svg,v $">
<OperatorScript>
<p>
This test checks for text alignment on right-to-left text.
</p>
<p>
The first subtest has the word for 'Egypt', Ù
ص
</p>
<p>
The second subtest has the hebrew text פע×××ת
</p>
<p>
Text-anchor values of start are black, middle are maroon and end are dark blue.
</p>
</OperatorScript>
</SVGTestCase>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../images/SVGFreeSans.svg#ascii" />
</font-face-src>
</font-face>
</defs>
<font id="Untitled2" horiz-adv-x="537">
<font-face font-family="svgSerifHebrewArabic" font-weight="500" font-stretch="normal" units-per-em="1000" panose-1="2 0 6 3 0 0 0 0 0 0" ascent="800" descent="-200" x-height="-1e+10" cap-height="-1e+10" bbox="11 -345 531 843" underline-thickness="50" underline-position="-100" unicode-range="U+0590-U+06FF,U+FB50-U+FEFC" />
<missing-glyph horiz-adv-x="432" d="M33 0v666h333v-666h-333zM66 33h267v600h-267v-600z" />
<glyph glyph-name="uniFDF2" unicode="Ø§ï» ï» ï»ª" horiz-adv-x="640" arabic-form="isolated" d="M918 261q45 0 45 87q0 110 -10 155l-29 132l55 29l19 -162q6 -65 8 -148v-20q0 -98 -13 -131t-59 -33q-109 2 -119 75q-12 -75 -111 -75q-60 0 -103 114l-34 -30q-54 1 -87 21t-33 50q0 23 9.5 42t30.5 34.5t33.5 23t40 20t28.5 12.5v45l31 34q3 -77 6.5 -122.5t10 -80.5 t19 -50.5t29.5 -22.5t44 -7q41 0 50.5 13.5t9.5 56.5q0 144 -24 271l55 41q3 -235 28 -342q8 -33 53 -33q2 0 6 0.5t7 0.5h4zM483 341q14 -23 31.5 -31t54.5 -8q16 0 23 1v107q-91 -34 -109 -69zM786 782q2 0 11 -15t22 -15q14 9 14 24q0 8 -3 15q3 6 6 6q3 1 7 -10t4 -37 q0 -16 -5.5 -22t-20.5 -6q-11 0 -29 5q-17 -21 -31 -21q-34 0 -34 41q0 18 2 30h2q3 1 5 -4t3 -11t4.5 -11.5t9.5 -5.5q7 0 19 6.5t12 18.5q0 5 -1 8q1 2 3 4zM790 853q-4 30 -28 67l28 30q5 -28 5 -57q0 -27 -5 -40z" />
<glyph glyph-name="uniFEFB" unicode="ÙØ§" horiz-adv-x="676" arabic-form="isolated" d="M440 438c28 61.3333 53.3333 125.5 76 192.5c22.6667 67 35 116.5 37 148.5l-20 55c0 1.33331 -0.166687 3.66669 -0.5 7s-0.5 6 -0.5 8c0 26.6667 7 49 21 67v-14c0.666687 -18 21 -34 61 -48l-10 -52l-18 -19c-5.33331 -14 -9.83331 -33.5 -13.5 -58.5 s-13.3333 -62 -29 -111s-41.5 -115.167 -77.5 -198.5c39.3333 -70 59 -123 59 -159c0 -28.6667 -17.3333 -46.8333 -52 -54.5s-111 -12.5 -229 -14.5l6 91c81.3333 32.6667 137.667 75.6667 169 129l-141 212c-34.6667 51.3333 -53.6667 77.6667 -57 79 c-2.66667 0 -7.33333 -1.83331 -14 -5.5s-11.6667 -5.5 -15 -5.5c-12 0 -26.6667 9.16669 -44 27.5s-26 44.8333 -26 79.5c0 30.6667 6 46 18 46c14 0 42.1667 -27.5 84.5 -82.5c42.3333 -55 82.3333 -112.333 120 -172zM336 273c49.3333 1.33334 83 4.33334 101 9 s27 14 27 28c0 9.33334 -8 30.6667 -24 64c-30 -41.3333 -64.6667 -75 -104 -101z" />
<glyph glyph-name="uniFEFC" unicode="ÙØ§" horiz-adv-x="724" arabic-form="terminal" d="M739 197h-48c-70 0 -105 54.6667 -105 164l-11 98c-30 -116.667 -75.6667 -195.667 -137 -237c-46.6667 -17.3333 -123.667 -26 -231 -26c-36 0 -64 0.333328 -84 1c110.667 35.3333 206.333 72.3333 287 111c98.6667 56.6667 148 174.667 148 354 c0 62 -4.66669 146 -14 252l120 -119c-28 -20 -42 -76.3333 -42 -169c0 -74.6667 9 -172.333 27 -293c14 -35.3333 29.3333 -53 46 -53h37zM438 445c-69.3333 144 -143.667 216 -223 216h-8l-3 144c66.6667 -4 117.333 -39.6667 152 -107s62 -151.667 82 -253z" />
<glyph unicode=" " horiz-adv-x="450" />
<glyph glyph-name="afii57664" unicode="×" d="M71 51c0 9.33333 -6.16666 36.5 -18.5 81.5c-12.3333 45 -18.5 74.5 -18.5 88.5c0 34 21 75 63 123c-3.33334 0.666656 -8.33334 3.5 -15 8.5s-14.3333 12.3333 -23 22c-8.66667 9.66666 -16.1667 24.3333 -22.5 44c-6.33333 19.6667 -9.5 41.8333 -9.5 66.5 c0 24 6.33333 46 19 66s25.3333 30 38 30h2c1.33334 0 2.16666 -1 2.5 -3s0.833336 -6.66669 1.5 -14s2 -15.3333 4 -24c6 -22.6667 25.1667 -50.6667 57.5 -84c32.3333 -33.3333 63.1667 -61 92.5 -83c29.3333 -22 45.6667 -33 49 -33l51 71 c-5.33334 0 -20.5 11.5 -45.5 34.5s-37.5 42.8333 -37.5 59.5c0 16.6667 7.33334 34 22 52s29 27 43 27c4 0 6.16666 -1.33331 6.5 -4s0.166656 -6.33331 -0.5 -11v-6c0 -14 8.16666 -27.6667 24.5 -41c16.3333 -13.3333 34.1667 -25 53.5 -35s37.1667 -23.3333 53.5 -40 s24.5 -35 24.5 -55c0 -26.6667 -9.33334 -50.1667 -28 -70.5s-34 -30.5 -46 -30.5c-0.666656 0 -4.33334 15.6667 -11 47c-2.66666 13.3333 -7.33334 25 -14 35s-12.6667 16.6667 -18 20l-8 5l-49 -77c1.33334 0 8 -3.5 20 -10.5s26.5 -17.5 43.5 -31.5 s33.8333 -29.6667 50.5 -47s30.8333 -38 42.5 -62s17.5 -47.6667 17.5 -71c0 -41.3333 -4 -69 -12 -83s-18.6667 -21 -32 -21h-7c-0.666656 0 -1.5 6.33333 -2.5 19c-1 12.6667 -6.5 29.3333 -16.5 50c-10 20.6667 -25.3333 39 -46 55 c-42.6667 31.3333 -96.5 74.3333 -161.5 129c-65 54.6667 -97.8333 82 -98.5 82l-9 -7c-6 -4.66666 -12.1667 -12.1667 -18.5 -22.5s-9.5 -21.5 -9.5 -33.5c0 -15.3333 6.66666 -32.6667 20 -52s27.8333 -36.6667 43.5 -52c15.6667 -15.3333 30.1667 -33.1667 43.5 -53.5 c13.3333 -20.3333 20 -39.1667 20 -56.5c0 -12 -3.5 -22.1667 -10.5 -30.5c-7 -8.33333 -14.8333 -14 -23.5 -17s-16.6667 -6.5 -24 -10.5h-115l6 12c0.666668 2 2.66667 3 6 3c5.33333 0 9.33333 0.5 12 1.5s5.66667 2.66667 9 5c3.33334 2.33333 5.66666 6.33333 7 12 c1.33334 5.66667 2 13.1667 2 22.5z" />
<glyph glyph-name="afii57665" unicode="×" d="M115 442c-26.6667 0 -46.6667 5.5 -60 16.5c-13.3333 11 -20 34.5 -20 70.5c0 36.6667 9.33333 59.6667 28 69c0 -2 1.33334 -5.5 4 -10.5s9 -10.3333 19 -16s22.3333 -8.5 37 -8.5h206c32 0 59.8333 -10.1667 83.5 -30.5s35.5 -57.1667 35.5 -110.5l2 -314h54l-35 -108 h-445l35 108h370v260c0 30.6667 -8.16666 50.6667 -24.5 60s-40.5 14 -72.5 14h-217z" />
<glyph glyph-name="afii57666" unicode="×" horiz-adv-x="350" d="M141 433c-17.3333 0 -30.1667 5.33334 -38.5 16s-12.5 31.3333 -12.5 62c0 44 6.33334 73 19 87c0 -0.666687 0.833336 -2.33331 2.5 -5s4 -6.16669 7 -10.5l7.5 -10.5c4 -6 15.1667 -9.5 33.5 -10.5s37.3333 -3.33331 57 -7s32.8333 -11.8333 39.5 -24.5 c8.66666 -14.6667 13 -37.6667 13 -69v-22v-264c0 -29.3333 2.83334 -59 8.5 -89s11.8333 -58.6667 18.5 -86c-16.6667 0 -27.3333 0.666667 -32 2c-4.66666 1.33333 -7.83334 4.83333 -9.5 10.5c-1.66667 5.66667 -2.5 14.1667 -2.5 25.5 c-1.33333 10 -5.5 29.8333 -12.5 59.5s-10.5 44.8333 -10.5 45.5h-10l-62 -143h-118v4c0 67.3333 10 102 30 104l120 21c4.66667 4.66667 12.8333 14.6667 24.5 30s17.8333 27.3333 18.5 36c1.33333 16 5.16667 43.8333 11.5 83.5c6.33333 39.6667 9.5 65.8333 9.5 78.5 c0 6 -0.333328 10.3333 -1 13v4c0 15.3333 -4 29.8333 -12 43.5s-22 20.5 -42 20.5c-6 0 -15.5 -0.833344 -28.5 -2.5s-22.5 -2.5 -28.5 -2.5z" />
<glyph glyph-name="afii57667" unicode="×" d="M53 596c0 -4.66669 4.5 -11.5 13.5 -20.5s23.1667 -13.5 42.5 -13.5h315c14.6667 0 28 -5.5 40 -16.5s18 -23.8333 18 -38.5c0 -17.3333 -4.5 -32.5 -13.5 -45.5s-20.8333 -19.5 -35.5 -19.5h-10v-350c0 -2.66666 0.166656 -5.83334 0.5 -9.5s0.5 -6.5 0.5 -8.5 c0 -10.6667 -3.66666 -26 -11 -46s-15.6667 -30 -25 -30h-2l-2 1c-0.666656 0 -1 3.33333 -1 10c0 2 0.166656 6.16667 0.5 12.5c0.333344 6.33333 0.5 11.1667 0.5 14.5l9 406h-281c-32.6667 0 -55.3333 6.83334 -68 20.5c-12.6667 13.6667 -19 33.8333 -19 60.5 c0 37.3333 9.33333 61.6667 28 73z" />
<glyph glyph-name="afii57668" unicode="×" d="M52 598c0 -3.33331 1.16667 -7.33331 3.5 -12s8 -9.66669 17 -15s20.8333 -8 35.5 -8h315c12.6667 0 22.8333 -5.5 30.5 -16.5s11.5 -24.1667 11.5 -39.5c0 -43.3333 -14 -65 -42 -65h-10l5 -343c0 -2 1 -7.83334 3 -17.5s3 -17.5 3 -23.5 c0 -9.33333 -2.83334 -21.6667 -8.5 -37c-5.66666 -15.3333 -12.5 -23 -20.5 -23c-3.33334 0 -6 0.666667 -8 2c-0.666656 0 -1 2 -1 6c0 2.66667 0.166656 7.33333 0.5 14c0.333344 6.66667 0.5 11.6667 0.5 15l5 407h-280c-60 0 -90 28.6667 -90 86c0 32.6667 10 56 30 70 zM74 142c0 -16.6667 0.666664 -34.8333 2 -54.5s2 -30.1667 2 -31.5c0 -14 -2.16666 -27 -6.5 -39s-11.1667 -18 -20.5 -18l-1 1h-3c-4.66667 0 -7 16.6667 -7 50c0 2 0.166668 7 0.5 15s0.5 16.6667 0.5 26c0 8.66666 -0.333332 21 -1 37s-1 28 -1 36 c0 40.6667 4.83333 75.3333 14.5 104c9.66667 28.6667 19.1667 43 28.5 43c4 0 6 -6.33334 6 -19c0 -6 -2.33334 -25.6667 -7 -59c-4.66666 -33.3333 -7 -63.6667 -7 -91z" />
<glyph glyph-name="afii57669" unicode="×" horiz-adv-x="350" d="M166 563c32.6667 0 53.8333 -6.33331 63.5 -19s14.5 -32.3333 14.5 -59c0 -6 -0.166672 -14.1667 -0.5 -24.5s-0.5 -17.5 -0.5 -21.5l12 -340c0 -14.6667 -2 -34.8333 -6 -60.5c-4 -25.6667 -9.33333 -38.5 -16 -38.5h-2c-0.666672 0 -3.33333 5 -8 15s-7 18.3333 -7 25 l7 325v7c0 13.3333 -7.66667 28.8333 -23 46.5s-34 26.5 -56 26.5c-4 0 -10 -0.166656 -18 -0.5s-13.6667 -0.5 -17 -0.5c-18.6667 0 -33.5 5.83334 -44.5 17.5s-16.5 26.5 -16.5 44.5c0 16 4 33.3333 12 52s15.6667 32 23 40l3 -10c2 -7.33331 5.5 -13.3333 10.5 -18 s12.1667 -7 21.5 -7c2.66666 0 6 -0.166687 10 -0.5s7 -0.5 9 -0.5c4 0 9.16667 0.166687 15.5 0.5s10.8333 0.5 13.5 0.5z" />
<glyph glyph-name="afii57670" unicode="×" horiz-adv-x="350" d="M225 420c-4.66667 0 -8.5 2.16666 -11.5 6.5s-4.5 8.5 -4.5 12.5c0 4.66666 2 7 6 7c0 -0.666656 -3.66667 -1 -11 -1c-2 -5.33334 -6.16667 -12.5 -12.5 -21.5s-11.3333 -19 -15 -30s-5.5 -24.8333 -5.5 -41.5c0 -20.6667 5.33333 -54.6667 16 -102 c10.6667 -47.3333 16 -84 16 -110c0 -30.6667 -5.33333 -58.3333 -16 -83c-3.33333 -8 -6.16667 -17.5 -8.5 -28.5s-4.66667 -18.6667 -7 -23c-2.33333 -4.33333 -6.5 -6.5 -12.5 -6.5c-7.33333 0 -14 7.16667 -20 21.5c-6 14.3333 -9 25.5 -9 33.5 c0 0.666668 2.5 11.5 7.5 32.5s7.5 47.1667 7.5 78.5c0 15.3333 -0.833328 37.5 -2.5 66.5s-2.5 50.8333 -2.5 65.5c0 31.3333 1.66667 55.1667 5 71.5s8.83333 29.5 16.5 39.5l29.5 37c-2.66667 0 -7.66667 -0.166656 -15 -0.5s-13 -0.5 -17 -0.5 c-32.6667 0 -58.1667 7 -76.5 21s-27.5 39 -27.5 75c0 26.6667 7 46 21 58c0 -0.666687 4.33334 -4.83331 13 -12.5s14 -13.1667 16 -16.5c3.33334 -4.66669 24.3333 -7.33331 63 -8s61.3333 -3.66669 68 -9c20.6667 -16 31 -37 31 -63c0 -20.6667 -4 -37.3333 -12 -50 s-18 -19 -30 -19z" />
<glyph glyph-name="afii57671" unicode="×" d="M65 -1c-5.33333 0 -9.33333 3.83333 -12 11.5c-2.66667 7.66667 -4 24.8333 -4 51.5l4 306c0.666668 15.3333 16 40 46 74c-26 0 -44.1667 8 -54.5 24s-15.5 39 -15.5 69c0 32.6667 7.66667 53.6667 23 63c4.66667 -9.33331 9.83333 -16.6667 15.5 -22 c5.66666 -5.33331 10.8333 -8.66669 15.5 -10s9.33334 -2.33331 14 -3s8.33334 -0.666687 11 0h315c13.3333 0 23.8333 -5.33331 31.5 -16s11.5 -24 11.5 -40c0 -43.3333 -14.3333 -65 -43 -65h-10l11 -345c0 -66 -8.66666 -99 -26 -99 c-5.33334 0 -9.16666 4.66667 -11.5 14c-2.33334 9.33333 -3.5 17 -3.5 23v407h-265c-20.6667 -30 -31 -54.6667 -31 -74v-314c0 -36.6667 -7.33334 -55 -22 -55z" />
<glyph glyph-name="afii57672" unicode="×" d="M70 323c0 -26.6667 2.5 -67 7.5 -121s9.83334 -85.3333 14.5 -94h350c17.3333 50 26 121.667 26 215c0 37.3333 -7.83334 62 -23.5 74s-51.5 18 -107.5 18c-19.3333 0 -39.1667 -6.83334 -59.5 -20.5s-37 -28.6667 -50 -45l-37.5 -45.5 c-12 -14 -20.3333 -21.3333 -25 -22c-2 0 -3 1 -3 3c0 5.33334 14.6667 32.3333 44 81s47.3333 84.6667 54 108c16 59.3333 25 89 27 89c14.6667 1.33331 25 2 31 2c29.3333 0 55 -5 77 -15s39.1667 -23 51.5 -39s22.3333 -35.6667 30 -59s12.8333 -46 15.5 -68 s4 -46.6667 4 -74c0 -46.6667 -1.66666 -87.5 -5 -122.5s-7.5 -62.3333 -12.5 -82s-10.8333 -38.6667 -17.5 -57c-6.66666 -18.3333 -13.3333 -34.5 -20 -48.5h-400c1.33333 16 2 33.3333 2 52c0.666668 21.3333 1 49.3333 1 84c0 16 -0.166668 41.1667 -0.5 75.5 s-0.5 63.1667 -0.5 86.5c0 31.3333 3.5 59.3333 10.5 84s12.8333 40.5 17.5 47.5s8.33334 11.8333 11 14.5c-8 0 -19.1667 6.83334 -33.5 20.5s-21.5 31.1667 -21.5 52.5c0 18 3.16667 35.6667 9.5 53c6.33333 17.3333 14.8333 26.6667 25.5 28 c0 -12.6667 7.16666 -24.1667 21.5 -34.5s30 -19 47 -26s32.6667 -18.5 47 -34.5s21.5 -35 21.5 -57c0 -14.6667 -3 -29 -9 -43s-10.6667 -21.6667 -14 -23c0 3.33334 -13.3333 14.5 -40 33.5c-26.6667 19 -42 28.5 -46 28.5c-2 -2.66666 -4.33334 -7.5 -7 -14.5 s-5.5 -20.1667 -8.5 -39.5s-4.5 -41 -4.5 -65z" />
<glyph glyph-name="afii57673" unicode="×" horiz-adv-x="350" d="M118 478c-17.3333 0 -31.1667 6 -41.5 18s-15.5 27.3333 -15.5 46c0 15.3333 3.16666 32 9.5 50s13.5 31 21.5 39c0 -5.33331 4.83334 -12.1667 14.5 -20.5s21.5 -12.5 35.5 -12.5c5.33333 0 13.6667 0.333313 25 1s20 1 26 1c22.6667 0 38.8333 -6.83331 48.5 -20.5 s14.5 -29.1667 14.5 -46.5c0 -24.6667 -5.83333 -66.1667 -17.5 -124.5s-21.5 -87.5 -29.5 -87.5c0 0.666656 0.5 4.16666 1.5 10.5s2.16667 14.6667 3.5 25s2 20.1667 2 29.5c0 34.6667 -6.83333 58.8333 -20.5 72.5s-29.5 20.5 -47.5 20.5 c-3.33333 0 -8.33333 -0.166656 -15 -0.5c-6.66666 -0.333344 -11.6667 -0.5 -15 -0.5z" />
<glyph glyph-name="afii57674" unicode="×" d="M62 564c0 -4.66669 5.33334 -11.8333 16 -21.5s21 -14.5 31 -14.5h325c13.3333 0 27 -6.33331 41 -19c14 -12.6667 21 -26.3333 21 -41c0 -16 -6.33334 -30.3333 -19 -43s-27 -19 -43 -19h-10c8 -304 12 -494.333 12 -571c0 -60 -0.333344 -105.333 -1 -136 c0 -29.3333 -7.33334 -44 -22 -44c-2.66666 0 -5 0.333344 -7 1c-1.33334 0 -5.33334 5.83334 -12 17.5s-10 20.8333 -10 27.5l11 705h-283c-57.3333 0 -86 23 -86 69c0 17.3333 3.66667 35 11 53c7.33333 18 15.6667 30 25 36z" />
<glyph glyph-name="afii57675" unicode="×" d="M101 442c-46.6667 0 -70 29 -70 87c0 35.3333 9.66667 58.3333 29 69c0 -2 1.33333 -5.33331 4 -10c2.66666 -4.66669 9 -10 19 -16s22.3333 -9 37 -9h246c24.6667 0 45.1667 -4.66669 61.5 -14s28.3333 -23 36 -41s12.8333 -36.5 15.5 -55.5s4 -41.5 4 -67.5 c0 -12 -0.333344 -29.5 -1 -52.5s-1 -39.8333 -1 -50.5c0 -12.6667 0.666656 -33.1667 2 -61.5s2 -49.5 2 -63.5c0 -49.3333 -7.16666 -87.8333 -21.5 -115.5c-14.3333 -27.6667 -41.8333 -41.5 -82.5 -41.5h-366l36 108h322c34 0 56 7.33334 66 22 c10 14.6667 15 40.6667 15 78c0 6.66667 -0.166656 18.1667 -0.5 34.5c-0.333344 16.3333 -0.5 29.5 -0.5 39.5v45c0 46 -5.16666 76.6667 -15.5 92s-35.8333 23 -76.5 23h-260z" />
<glyph glyph-name="afii57676" unicode="×" d="M159 843c11.3333 0 21.5 -5.16669 30.5 -15.5s15.1667 -20.8333 18.5 -31.5l4 -16c0 -3.33331 -2.16667 -9.16669 -6.5 -17.5s-8.66667 -21.6667 -13 -40s-6.5 -41.5 -6.5 -69.5v-65h261c16 0 29.8333 -5.66669 41.5 -17s17.8333 -26.6667 18.5 -46l9 -204v-2 c0 -15.3333 -8.16666 -34.8333 -24.5 -58.5c-16.3333 -23.6667 -32.1667 -43.5 -47.5 -59.5s-37.6667 -38 -67 -66l-49 -47c-10.6667 -10.6667 -18 -20.6667 -22 -30c-4 -9.33333 -5.83334 -16 -5.5 -20s-1.33334 -7.16667 -5 -9.5s-11.5 -3.5 -23.5 -3.5 c-17.3333 0 -26 4.66667 -26 14c0 12 12.6667 30.1667 38 54.5s53.1667 48.3333 83.5 72s58.1667 49.6667 83.5 78c25.3333 28.3333 38 52.1667 38 71.5v6l-13 113c-5.33334 21.3333 -18.6667 32 -40 32l-302 2c-3.33333 0 -5 9.66666 -5 29v6l7 191 c0.666672 16.6667 6.16667 30.6667 16.5 42s15.5 22.3333 15.5 33c0 12.6667 -4.66667 21 -14 25s-14 12.6667 -14 26c0 15.3333 5.66667 23 17 23h2z" />
<glyph glyph-name="afii57677" unicode="×" d="M389 563c22 0 42.6667 -9 62 -27s29 -47.6667 29 -89v-18l3 -427l-450 -2l11 334c0.666668 30.6667 8.16667 56.3333 22.5 77c14.3333 20.6667 25.8333 31 34.5 31h2h26h-1c-7.33334 0 -16.8333 -11 -28.5 -33s-17.5 -47 -17.5 -75v-226h382l1 280 c0 18.6667 -2.5 32.6667 -7.5 42s-14.8333 14 -29.5 14c-2.66666 0 -7.33334 -0.166656 -14 -0.5s-12 -0.5 -16 -0.5h-288c-31.3333 0 -53.6667 6.66666 -67 20c-13.3333 13.3333 -20 28.6667 -20 46c0 17.3333 4.83333 34.8333 14.5 52.5 c9.66667 17.6667 20.1667 29.8333 31.5 36.5c-0.666664 0 -1 -2.66669 -1 -8c0 -18 12.3333 -27 37 -27h284z" />
<glyph glyph-name="afii57678" unicode="×" d="M483 127c0 -14 0.333344 -25 1 -33v-12c0 -6 -6.66666 -21 -20 -45s-20 -36.3333 -20 -37h-335c0.666664 0 11.6667 17.6667 33 53c21.3333 35.3333 32.3333 53.6667 33 55h286l3 121v4c0 60.6667 -19.5 110.5 -58.5 149.5s-90.1667 58.5 -153.5 58.5 c-29.3333 0 -56 -6.33334 -80 -19s-42.8333 -28.1667 -56.5 -46.5c-13.6667 -18.3333 -25.1667 -38.5 -34.5 -60.5s-15.6667 -41.6667 -19 -59c-3.33333 -17.3333 -5 -32.3333 -5 -45c0 -7.33333 2.16667 -27.3333 6.5 -60c4.33334 -32.6667 6.5 -60.6667 6.5 -84 c0 -44 -7.33333 -66.3333 -22 -67c-2.66667 0 -5.83333 4 -9.5 12s-5.5 16.6667 -5.5 26v14c0 18 -1.66667 42.5 -5 73.5s-5 54.5 -5 70.5c0 36 6.16667 77.1667 18.5 123.5c12.3333 46.3333 33.8333 82.5 64.5 108.5c-3.33334 5.33334 -11.6667 12.1667 -25 20.5 s-24.6667 18.1667 -34 29.5s-14 25.6667 -14 43c0 15.3333 2.66667 30.8333 8 46.5s12 26.1667 20 31.5c0 -0.666687 8 -10.6667 24 -30c3.33334 -6 17 -11 41 -15s39.6667 -10.6667 47 -20c6 -7.33331 10.6667 -16.3333 14 -27c3.33333 -10.6667 5.66667 -20.6667 7 -30 s2.66667 -15 4 -17c1.33333 -3.33334 10.3333 -0.333344 27 9c14.6667 8.66666 27.1667 20.8333 37.5 36.5c10.3333 15.6667 17.8333 29.1667 22.5 40.5s7.33334 17 8 17c41.3333 -4 75.3333 -12.3333 102 -25s46.5 -29.6667 59.5 -51s21.6667 -42.8333 26 -64.5 s6.5 -47.8333 6.5 -78.5c0 -13.3333 -0.5 -34 -1.5 -62s-1.5 -49 -1.5 -63v-7c0 -3.33333 -0.166656 -15.1667 -0.5 -35.5s-0.5 -36.8333 -0.5 -49.5z" />
<glyph glyph-name="afii57679" unicode="×" horiz-adv-x="350" d="M122 416c-23.3333 0 -39.8333 7.33334 -49.5 22c-9.66667 14.6667 -14.5 31.3333 -14.5 50c0 32 12 57.3333 36 76c0 -4.66669 6.66666 -15.3333 20 -32c4 -5.33331 20.1667 -9.33331 48.5 -12s46.1667 -6.33331 53.5 -11c22.6667 -15.3333 34 -34 34 -56 c0 -23.3333 -9.5 -53.1667 -28.5 -89.5s-28.5 -73.5 -28.5 -111.5l12 -495v-4c0 -19.3333 -2.83333 -40.1667 -8.5 -62.5s-14.5 -33.5 -26.5 -33.5h-4c-4.66667 0 -7 12.3333 -7 37l14 558c0 16.6667 4.16667 37.3333 12.5 62s12.5 40.3333 12.5 47c0 37.3333 -17 56 -51 56 c-2.66667 0 -6.83333 -0.166656 -12.5 -0.5s-9.83334 -0.5 -12.5 -0.5z" />
<glyph glyph-name="afii57680" unicode="× " horiz-adv-x="350" d="M144 444c-24 0 -41.5 5.83334 -52.5 17.5s-16.5 35.1667 -16.5 70.5c0 33.3333 5.33334 55.3333 16 66c0 -0.666687 2.66666 -4 8 -10s9 -10.6667 11 -14c4.66666 -6.66669 20 -10 46 -10h13c37.3333 0 62.1667 -7.5 74.5 -22.5s18.5 -49.1667 18.5 -102.5 c1.33334 -8 2 -56 2 -144c0 -73.3333 -0.666656 -142.667 -2 -208c0 -0.666664 -7.16667 -14.8333 -21.5 -42.5c-14.3333 -27.6667 -21.5 -42.5 -21.5 -44.5h-172l55 108h129l16 269v7c0 16 -4.5 30.1667 -13.5 42.5s-25.5 18.5 -49.5 18.5 c-4 0 -10.6667 -0.166656 -20 -0.5s-16 -0.5 -20 -0.5z" />
<glyph glyph-name="afii57681" unicode="ס" d="M59 283c0 -62.6667 6.33334 -107.5 19 -134.5s40 -40.5 82 -40.5h157c5.33334 0 13.1667 -0.166664 23.5 -0.5s17.8333 -0.5 22.5 -0.5c18.6667 0 33.5 1.66666 44.5 5s21.8333 10.6667 32.5 22c10.6667 11.3333 18.3333 29.1667 23 53.5s7 55.8333 7 94.5 c0 60.6667 -7.16666 102.5 -21.5 125.5s-43.1667 34.5 -86.5 34.5h-257c0 -3.33334 -2.5 -8.66666 -7.5 -16l-16 -24c-5.66666 -8.66666 -10.8333 -23.5 -15.5 -44.5c-4.66667 -21 -7 -45.8333 -7 -74.5zM79 443c-28.6667 3.33334 -43 29 -43 77c0 42 8.66667 68 26 78 c0 -1.33331 1.33333 -4.5 4 -9.5c2.66666 -5 9 -10.5 19 -16.5s22 -9 36 -9h246c22 0 40.8333 -4.16669 56.5 -12.5s27.8333 -18.8333 36.5 -31.5c8.66666 -12.6667 15.5 -29.1667 20.5 -49.5s8.16666 -39.1667 9.5 -56.5s2 -38 2 -62c0 -8 -0.166656 -19.6667 -0.5 -35 s-0.5 -26.6667 -0.5 -34c0 -95.3333 -15.1667 -166.167 -45.5 -212.5c-30.3333 -46.3333 -73.1667 -69.5 -128.5 -69.5h-157c-23.3333 0 -43.1667 3.66667 -59.5 11c-16.3333 7.33333 -29.1667 16.5 -38.5 27.5c-9.33333 11 -16.3333 26.5 -21 46.5s-7.66667 39 -9 57 c-1.33333 18 -2 41.3333 -2 70v70c0 64 16.3333 117.667 49 161z" />
<glyph glyph-name="afii57682" unicode="×¢" d="M414 564c25.3333 0 42.5 -4.66669 51.5 -14s13.5 -28 13.5 -56c0 -50 -13.3333 -131 -40 -243s-50.3333 -175.667 -71 -191c-12 -8 -74.6667 -20 -188 -36l-169 -24c8.66667 15.3333 18 36.3333 28 63c10 26.6667 15 43 15 49l136 27l-31.5 68 c-11 22.6667 -20.8333 46 -29.5 70c-8.66666 24 -13 42.6667 -13 56c0 9.33334 2.16666 20.5 6.5 33.5s9.16667 24.1667 14.5 33.5l15 26l7 12c0 -0.666656 -3 -1 -9 -1c-22 0 -37 6.5 -45 19.5s-12 31.5 -12 55.5c0 52 8.66666 81 26 87c0 -2 1 -5.16669 3 -9.5 s6.66667 -9 14 -14s16.3333 -7.5 27 -7.5h7c50 0 75 -25 75 -75c0 -17.3333 -2.66667 -34.6667 -8 -52s-9.66667 -27 -13 -29c0 4 -5.33333 8.83334 -16 14.5s-24.6667 8.5 -42 8.5l-6 -15c-4 -10 -8 -22.6667 -12 -38s-6 -29.6667 -6 -43c0 -14 2.5 -27.5 7.5 -40.5 s14 -33.6667 27 -62c13 -28.3333 25.1667 -59.1667 36.5 -92.5c5.33333 0 32.1667 4 80.5 12c48.3333 8 73.8333 13.3333 76.5 16c21.3333 32.6667 38.1667 70.8333 50.5 114.5c12.3333 43.6667 18.5 81.8333 18.5 114.5v4c0 12 -5.16666 20 -15.5 24s-22 5.66666 -35 5 s-25.6667 2.16666 -38 8.5s-19.8333 17.5 -22.5 33.5c-1.33334 4.66666 -2 12.6667 -2 24c0 21.3333 3.16666 42.1667 9.5 62.5s14.5 32.8333 24.5 37.5l7 -8c4.66666 -6 7.66666 -11.6667 9 -17c4 -7.33331 15.3333 -11 34 -11h4z" />
<glyph glyph-name="afii57683" unicode="×£" d="M174 182c31.3333 0 54.6667 7.16667 70 21.5c15.3333 14.3333 23 42.1667 23 83.5c0 25.3333 -5.16666 42.3333 -15.5 51c-10.3333 8.66666 -26.5 13 -48.5 13c-7.33333 0 -20.6667 -0.5 -40 -1.5s-35 -1.5 -47 -1.5c-28 0 -42 6 -42 18c0 6.66666 3.66666 14 11 22 s14.3333 14 21 18c4.66666 0 11.3333 0.166656 20 0.5c8.66667 0.333344 15 0.5 19 0.5h154c43.3333 0 77.5 -13.3333 102.5 -40s37.5 -74 37.5 -142c0 -6 -1.16666 -47.5 -3.5 -124.5s-3.5 -141.167 -3.5 -192.5c0 -164.667 11 -247 33 -247c13.3333 0 20 59.3333 20 178 c0 70.6667 -2.33334 154.667 -7 252l-7 146v26c0 176.667 -56 265 -168 265h-193c-40 0 -60 11.6667 -60 35c-17.3333 -8.66669 -26 -35.3333 -26 -80c0 -24 4.33333 -41.3333 13 -52c8.66667 -10.6667 24.6667 -18.6667 48 -24 c-13.3333 -14.6667 -26.8333 -33.8333 -40.5 -57.5c-13.6667 -23.6667 -20.5 -48.8333 -20.5 -75.5c0 -10 5.16667 -23.3333 15.5 -40c10.3333 -16.6667 20.1667 -27.6667 29.5 -33c18 -12.6667 53 -19 105 -19z" />
<glyph glyph-name="afii57684" unicode="פ" d="M175 216c32 0 55.3333 7.33333 70 22c14.6667 14.6667 22 41.3333 22 80c0 27.3333 -5.16666 45.5 -15.5 54.5c-10.3333 9 -26.8333 13.5 -49.5 13.5c-6.66667 0 -19.5 -0.5 -38.5 -1.5s-34.5 -1.5 -46.5 -1.5c-28 0 -42 6.33334 -42 19c0 6 3.66666 13 11 21 s14.3333 13.6667 21 17c4.66666 0 11.3333 0.333344 20 1c8.66667 0.666656 15 1 19 1h154c25.3333 0 46.1667 -2.66666 62.5 -8s30.1667 -17 41.5 -35c14.6667 -24 25.1667 -44.8333 31.5 -62.5s9.83334 -39.8333 10.5 -66.5l6 -162h-398l-35 -108h417 c2 4.66667 8.5 23.6667 19.5 57c11 33.3333 16.5 50.3333 16.5 51v164c0 29.3333 -0.666656 55.1667 -2 77.5s-5.33334 47.8333 -12 76.5s-15.6667 52.1667 -27 70.5c-11.3333 18.3333 -27.8333 34 -49.5 47s-47.5 19.5 -77.5 19.5h-193c-40 0 -60 11.6667 -60 35 c-18 -9.33331 -27 -36 -27 -80c0 -24 4.5 -41.1667 13.5 -51.5s25.1667 -18.5 48.5 -24.5l-11 -14c-7.33334 -9.33334 -14.5 -19 -21.5 -29s-13.6667 -23.5 -20 -40.5c-6.33333 -17 -9.5 -33.5 -9.5 -49.5c0 -10 5.33333 -23.3333 16 -40 c10.6667 -16.6667 20.3333 -28 29 -34c19.3333 -12.6667 54.6667 -19 106 -19z" />
<glyph glyph-name="afii57685" unicode="×¥" d="M443 361c-6.66666 6.66666 -13 13.3333 -19 20s-10 11 -12 13s-4.16666 3.66666 -6.5 5s-4.83334 2 -7.5 2s-7.16666 -0.666656 -13.5 -2s-10.8333 -2 -13.5 -2c-4.66666 -4 -18.1667 -14 -40.5 -30s-41.3333 -31.3333 -57 -46s-29.5 -30.3333 -41.5 -47 c-13.3333 -20 -23.8333 -72.3333 -31.5 -157c-7.66667 -84.6667 -17.1667 -139.667 -28.5 -165l4 -195v-3c0 -19.3333 -3.5 -40.5 -10.5 -63.5s-17.8333 -34.5 -32.5 -34.5c-5.33334 0 -9.16666 4.66666 -11.5 14s-3.5 16.6667 -3.5 22l13 633 c0 4.66666 3.66667 11.1667 11 19.5s11 15.8333 11 22.5c0 14.6667 -6.66667 25.3333 -20 32c-13.3333 6.66666 -28.1667 10.5 -44.5 11.5s-31.1667 6.33334 -44.5 16c-13.3333 9.66666 -20 24.8333 -20 45.5c0 17.3333 3.66667 35.1667 11 53.5 c7.33333 18.3333 15.6667 31.1667 25 38.5c0 -1.33331 3.83333 -5.66669 11.5 -13c7.66666 -7.33331 12.5 -12.3333 14.5 -15c4 -5.33331 15.5 -9.16669 34.5 -11.5s32.5 -5.83331 40.5 -10.5c23.3333 -16 35 -39.6667 35 -71c0 -24 -7.5 -51.5 -22.5 -82.5 s-22.5 -67.1667 -22.5 -108.5l6 -230c3.33333 8.66667 11.1667 52.5 23.5 131.5s24.5 126.833 36.5 143.5c10.6667 14.6667 22.6667 28.3333 36 41c13.3333 12.6667 30.1667 26.3333 50.5 41s33.5 24.6667 39.5 30c-8 4.66666 -14.1667 14.5 -18.5 29.5s-6.5 27.5 -6.5 37.5 c0 16 4.5 31.8333 13.5 47.5c9 15.6667 19.5 26.1667 31.5 31.5c0 -1.33331 4.16666 -5.66669 12.5 -13s13.5 -13.3333 15.5 -18c2.66666 -6.66669 9 -10.8333 19 -12.5c10 -1.66666 20.1667 -5.16666 30.5 -10.5s17.5 -15.3333 21.5 -30c5.33334 -17.3333 8 -34.3333 8 -51 c0 -30.6667 -9 -50.3333 -27 -59z" />
<glyph glyph-name="afii57686" unicode="צ" d="M369 598c0 -13.3333 5.5 -23.8333 16.5 -31.5s23.3333 -13 37 -16s26 -10.8333 37 -23.5s16.5 -30 16.5 -52c0 -16.6667 -3.83334 -32.3333 -11.5 -47s-17.5 -24.6667 -29.5 -30c0 23.3333 -16.3333 39 -49 47l-40 -192c18 -8.66667 30.5 -15.1667 37.5 -19.5 s14.1667 -10.1667 21.5 -17.5s16.6667 -17.3333 28 -30c16.6667 -16.6667 28 -32.6667 34 -48c6 -15.3333 9 -35.3333 9 -60c0 -14.6667 -3.5 -30.3333 -10.5 -47c-7 -16.6667 -12.5 -27 -16.5 -31h-436c32 55.3333 49.6667 91.3333 53 108h314 c0 13.3333 -2.33334 23.6667 -7 31c-18.6667 23.3333 -39.8333 40.8333 -63.5 52.5s-45.1667 18.5 -64.5 20.5c-19.3333 2 -37.6667 4.16667 -55 6.5s-30.8333 8.16667 -40.5 17.5s-14.5 24.6667 -14.5 46c0 9.33334 0.5 25.3333 1.5 48s1.5 39.6667 1.5 51 c0 29.3333 -3.5 49 -10.5 59s-19.5 15 -37.5 15h-20c-20 0 -34.3333 5.83334 -43 17.5c-8.66667 11.6667 -13 25.1667 -13 40.5c0 16 3.83333 32.5 11.5 49.5c7.66667 17 16.1667 28.8333 25.5 35.5c0 -11.3333 4.33333 -19.6667 13 -25 c8.66666 -5.33331 18.5 -8.33331 29.5 -9s22.5 -3.16669 34.5 -7.5s20.6667 -11.1667 26 -20.5c7.33333 -11.3333 11 -43 11 -95c0 -9.33334 -0.166672 -24 -0.5 -44s-0.5 -34.6667 -0.5 -44s55 -39.6667 165 -91l39 191c-28 9.33334 -42 29.3333 -42 60 c0 17.3333 4.16666 34.5 12.5 51.5s18.5 28.1667 30.5 33.5z" />
<glyph glyph-name="afii57687" unicode="×§" d="M457 230c0 41.3333 -2.33334 73.6667 -7 97s-13.6667 41 -27 53s-28 19.5 -44 22.5s-39.3333 4.5 -70 4.5h-206c-22.6667 0 -38.5 1.66666 -47.5 5s-13.8333 8.66666 -14.5 16s-2 16.6667 -4 28c-3.33333 12 -5 25 -5 39c0 33.3333 9.66667 56.3333 29 69 c0 -6 5.33334 -13.6667 16 -23s24.6667 -14 42 -14h194c22.6667 0 41.6667 -1.16669 57 -3.5s28.8333 -6.33331 40.5 -12c11.6667 -5.66666 20.8333 -13.3333 27.5 -23s12.5 -21.6667 17.5 -36s8.66666 -31.3333 11 -51l8 -68c3 -25.6667 5.5 -54.8333 7.5 -87.5 c0.666656 -4.66667 1 -11.6667 1 -21c0 -21.3333 -2.66666 -39.8333 -8 -55.5s-15 -29.8333 -29 -42.5c-14 -12.6667 -25.6667 -22.1667 -35 -28.5s-25.8333 -15.3333 -49.5 -27c-23.6667 -11.6667 -40.1667 -20.1667 -49.5 -25.5 c-46.6667 -26.6667 -83.1667 -46.8333 -109.5 -60.5c-26.3333 -13.6667 -45.5 -20.5 -57.5 -20.5c-3.33333 0 -5 1 -5 3c0 6 18 21.3333 54 46c36 24.6667 76 49.6667 120 75c9.33334 5.33334 22.6667 11.8333 40 19.5s30.8333 14.1667 40.5 19.5 c9.66666 5.33333 20 12.5 31 21.5s19 20.1667 24 33.5s7.5 29 7.5 47zM76 -153c0 -66.6667 -3.33334 -112.333 -10 -137c-6.66667 -24.6667 -21.3333 -42.3333 -44 -53c-0.666666 0 -1 1.33334 -1 4s1.66667 19.3333 5 50s5 54.6667 5 72c0 4.66667 -0.5 34.5 -1.5 89.5 s-1.5 119.833 -1.5 194.5v150c0 23.3333 3 45.6667 9 67s11.3333 32 16 32c2 0 5.16667 -6 9.5 -18c4.33334 -12 6.5 -26 6.5 -42c0 -7.33333 -0.833336 -17.6667 -2.5 -31s-2.5 -32.3333 -2.5 -57c0 -28.6667 2 -81.5 6 -158.5s6 -131.167 6 -162.5z" />
<glyph glyph-name="afii57688" unicode="ר" d="M336 563c14 0 27.3333 -1.83331 40 -5.5s25.3333 -9.66669 38 -18s23 -21.1667 31 -38.5c8 -17.3333 12.3333 -38 13 -62l1 -18c0.666656 -12 1.66666 -28.1667 3 -48.5s2.5 -42.6667 3.5 -67s1.83334 -51.5 2.5 -81.5s1 -57.6667 1 -83c0 -36 -0.666656 -63.6667 -2 -83 c-1.33334 -19.3333 -2 -29.3333 -2 -30v-12c0 -11.3333 -2.66666 -17 -8 -17c-2.66666 0 -4.66666 0.333333 -6 1c-2 0 -6.5 4.16667 -13.5 12.5c-7 8.33333 -10.5 15.5 -10.5 21.5v1l11 267v20c0 50.6667 -3.5 83.6667 -10.5 99s-18.1667 23 -33.5 23 c-3.33334 0 -11.3333 -0.333344 -24 -1s-24 -1 -34 -1h-225c-30 0 -52 5.5 -66 16.5s-21 32.5 -21 64.5c0 40 9 65 27 75c0 -4.66669 5.33333 -11.6667 16 -21c10.6667 -9.33331 24 -14 40 -14h229z" />
<glyph glyph-name="afii57689" unicode="ש" d="M81 455c-13.3333 0 -25.3333 4.16666 -36 12.5s-16 22.5 -16 42.5c0 18 3.66667 36.6667 11 56s17 30 29 32l8 -10c5.33334 -6.66669 8.66666 -13 10 -19c2 -6.66669 6 -11.1667 12 -13.5s12.3333 -3.33331 19 -3s13.6667 -1.66669 21 -6s13 -11.5 17 -21.5s6 -20 6 -30 c0 -16.6667 -4.33333 -32.8333 -13 -48.5s-15 -24.5 -19 -26.5c0 8.66666 -3.33334 15.8333 -10 21.5s-16 8.5 -28 8.5l-6 -13c-3.33334 -8.66666 -6.83334 -21.1667 -10.5 -37.5s-5.5 -33.8333 -5.5 -52.5c0 -28.6667 7 -71.8333 21 -129.5 c14 -57.6667 27.6667 -94.1667 41 -109.5c21.3333 34 49.8333 96.6667 85.5 188c35.6667 91.3333 53.5 143.667 53.5 157h-2c-18 0 -32.6667 4.83334 -44 14.5s-17 22.8333 -17 39.5c0 16.6667 4.5 35.5 13.5 56.5s19.1667 32.5 30.5 34.5c0 -0.666687 2 -4.16669 6 -10.5 s6.66666 -12.5 8 -18.5c1.33334 -8 6.33334 -12.5 15 -13.5s18.5 -3.16669 29.5 -6.5s19.1667 -11.3333 24.5 -24c4.66666 -11.3333 7 -22.6667 7 -34c0 -16.6667 -3.5 -32.1667 -10.5 -46.5s-12.5 -22.5 -16.5 -24.5c-2.66666 16.6667 -12.3333 25 -29 25 c0 -24.6667 -41.3333 -137 -124 -337h239c28 4 52.6667 41.6667 74 113c21.3333 71.3333 32 139.667 32 205c0 11.3333 -5.16666 19 -15.5 23s-21.8333 5.83334 -34.5 5.5s-25.1667 3 -37.5 10s-20.1667 18.5 -23.5 34.5c-0.666656 2.66666 -1 6.66666 -1 12 c0 16.6667 4.33334 34 13 52s19 29.6667 31 35c0 -1.33331 2.16666 -5.66669 6.5 -13s7.16666 -13 8.5 -17c2.66666 -7.33331 12.6667 -12.3333 30 -15s30 -12.3333 38 -29c6 -13.3333 9 -34.6667 9 -64c0 -59.3333 -9.16669 -127 -27.5 -203 c-18.3333 -76 -36.3333 -136.833 -54 -182.5c-17.6667 -45.6667 -28.5 -70.5 -32.5 -74.5h-332c0 6.66667 -0.833336 16.5 -2.5 29.5s-2.5 23.8333 -2.5 32.5c-2 30 -10 69 -24 117s-21 90.6667 -21 128c0 15.3333 1.16667 30.3333 3.5 45s5.33333 27 9 37 s7.66667 19.5 12 28.5s8.33334 15.8333 12 20.5l9.5 12l4 5h-4z" />
<glyph glyph-name="afii57690" unicode="ת" d="M71 598c0 -2.66669 1.16666 -6.33331 3.5 -11s8.16666 -9.83331 17.5 -15.5s21.3333 -8.5 36 -8.5h232c37.3333 0 60.8333 -1.83331 70.5 -5.5s21.1667 -14.5 34.5 -32.5c5.33334 -7.33331 9.33334 -15.6667 12 -25s4.16666 -18.8333 4.5 -28.5s0.833344 -20.5 1.5 -32.5 l15 -340v-17c0 -55.3333 -7 -83 -21 -83c-0.666656 0 -1 0.333333 -1 1h-2c-2 0 -6.5 4.33333 -13.5 13c-7 8.66667 -10.1667 16 -9.5 22l17 353c0 18 -2.33334 31.8333 -7 41.5s-14.3333 14.5 -29 14.5c-3.33334 0 -8.5 -0.333344 -15.5 -1s-12.5 -1 -16.5 -1h-294 c-1.33334 -4.66666 -4 -10.8333 -8 -18.5s-8.33334 -23 -13 -46s-7 -47.1667 -7 -72.5c0 -22.6667 5 -43.6667 15 -63c10 -19.3333 20.8333 -35 32.5 -47c11.6667 -12 22.5 -26.3333 32.5 -43s15 -33.3333 15 -50c0 -23.3333 -6.33333 -46.1667 -19 -68.5 c-12.6667 -22.3333 -29.3333 -33.5 -50 -33.5h-71c-0.666668 0.666667 -1 7.66667 -1 21c0 35.3333 2 59 6 71s11.6667 18 23 18c16.6667 0 30 -1.66666 40 -5c-5.33334 12 -12.3333 25 -21 39s-16.8333 33.5 -24.5 58.5s-11.5 49.1667 -11.5 72.5 c0 69.3333 15.6667 125 47 167c-11.3333 0 -22.3333 8.16666 -33 24.5c-10.6667 16.3333 -16 36.8333 -16 61.5c0 38 9.66667 61.3333 29 70z" />
<glyph glyph-name="afii57716" unicode="×°" d="M406 563c32 0 53.1667 -6.5 63.5 -19.5s15.5 -35.8333 15.5 -68.5v-21v-15l10 -340c0 -14.6667 -2 -34.8333 -6 -60.5c-4 -25.6667 -9.33334 -38.5 -16 -38.5h-2c-0.666656 0 -3.16666 5 -7.5 15s-6.5 18.3333 -6.5 25l6 325v7c0 12 -7.16666 27.1667 -21.5 45.5 s-33.5 27.5 -57.5 27.5c-4 0 -9.66666 -0.166656 -17 -0.5s-13 -0.5 -17 -0.5c-18.6667 0 -33.5 5.66666 -44.5 17s-16.5 25.6667 -16.5 43c0 16 4 33.6667 12 53s15.3333 33 22 41l3 -10c2 -7.33331 5.5 -13.3333 10.5 -18s12.1667 -7 21.5 -7 c2.66666 0 6.16666 -0.166687 10.5 -0.5s7.16666 -0.5 8.5 -0.5c4.66666 0 10 0.166687 16 0.5s10.3333 0.5 13 0.5zM146 563c32 0 53 -6.66669 63 -20s15 -33.3333 15 -60c0 -4.66666 -0.166672 -11.3333 -0.5 -20s-0.5 -14.6667 -0.5 -18v-6l12 -340c0 -14 -2 -34 -6 -60 s-9.33333 -39 -16 -39h-2c-2 0 -5 5 -9 15s-6 18.3333 -6 25l7 325c0 14.6667 -6.66667 31.6667 -20 51s-33 29 -59 29c-4 0 -10 -0.166656 -18 -0.5s-13.6667 -0.5 -17 -0.5c-18.6667 0 -33.5 5.83334 -44.5 17.5s-16.5 26.5 -16.5 44.5c0 16 4 33.3333 12 52 s15.6667 32 23 40c0 -0.666687 0.666668 -3.16669 2 -7.5c1.33334 -4.33331 2.83334 -8.33331 4.5 -12s5 -7.16669 10 -10.5s11.1667 -5 18.5 -5c2.66666 0 6 -0.166687 10 -0.5s7 -0.5 9 -0.5c4 0 9.16666 0.166687 15.5 0.5c6.33333 0.333313 10.8333 0.5 13.5 0.5z" />
<glyph glyph-name="afii57717" unicode="×±" d="M407 563c32.6667 0 53.8333 -6.83331 63.5 -20.5s14.5 -34.5 14.5 -62.5v-35v-6l10 -340c0 -14.6667 -2 -34.8333 -6 -60.5c-4 -25.6667 -9.33334 -38.5 -16 -38.5h-2c-0.666656 0 -3.33334 5 -8 15s-7 18.3333 -7 25l8 325v5c0 14.6667 -7.5 30.8333 -22.5 48.5 s-33.8333 26.5 -56.5 26.5c-4 0 -10 -0.166656 -18 -0.5s-13.6667 -0.5 -17 -0.5c-18 0 -32.6667 5.66666 -44 17s-17 26 -17 44c0 16 4 33.5 12 52.5s15.6667 32.5 23 40.5l3 -10c2 -7.33331 5.5 -13.3333 10.5 -18s12.1667 -7 21.5 -7 c2.66666 0 6.16666 -0.166687 10.5 -0.5s7.16666 -0.5 8.5 -0.5c4 0 9.33334 0.166687 16 0.5s11 0.5 13 0.5zM91 445c-17.3333 0 -31.3333 6.16666 -42 18.5s-16 27.8333 -16 46.5c0 15.3333 3 31.8333 9 49.5s13 30.5 21 38.5c0 -4.66669 5.16666 -11.3333 15.5 -20 s23.1667 -13 38.5 -13c4.66666 0 12.6667 0.333313 24 1s19.6667 1 25 1c22 0 37.6667 -7 47 -21s14 -29.3333 14 -46c0 -24 -5.83333 -65.1667 -17.5 -123.5s-21.1667 -87.5 -28.5 -87.5v1c0 0.666656 0.5 4.5 1.5 11.5s2.16667 15.6667 3.5 26s2 20.1667 2 29.5 c0 33.3333 -7 56.5 -21 69.5s-30 19.5 -48 19.5c-3.33334 0 -8 -0.166656 -14 -0.5s-10.6667 -0.5 -14 -0.5z" />
<glyph glyph-name="afii57718" unicode="ײ" d="M349 478c-17.3333 0 -31.1667 6 -41.5 18s-15.5 27.3333 -15.5 46c0 15.3333 3.16666 32 9.5 50s13.1667 31 20.5 39c0 -5.33331 4.83334 -12.1667 14.5 -20.5s21.5 -12.5 35.5 -12.5c5.33334 0 13.6667 0.333313 25 1s20 1 26 1c22.6667 0 38.8333 -6.83331 48.5 -20.5 s14.5 -29.1667 14.5 -46.5c0 -22.6667 -6 -63.6667 -18 -123s-21.3333 -89 -28 -89v1c0 0.666656 0.666656 4.5 2 11.5s2.5 15.6667 3.5 26s1.5 20.1667 1.5 29.5c0 33.3333 -6.83334 56.6667 -20.5 70s-29.5 20 -47.5 20c-3.33334 0 -8.33334 -0.166656 -15 -0.5 s-11.6667 -0.5 -15 -0.5zM88 478c-17.3333 0 -31.1667 6 -41.5 18s-15.5 27.3333 -15.5 46c0 15.3333 3 32 9 50s12.6667 31 20 39c0 -4 5.16666 -10.5 15.5 -19.5s22.5 -13.5 36.5 -13.5c4.66666 0 12.6667 0.333313 24 1c11.3333 0.666687 20 1 26 1 c22.6667 0 38.8333 -7 48.5 -21s14.5 -29.3333 14.5 -46c0 -24 -5.83333 -65.3333 -17.5 -124s-21.1667 -88 -28.5 -88v1c0 0.666656 1 8.83334 3 24.5s3 29.5 3 41.5c0 33.3333 -6.66667 56.8333 -20 70.5s-29 20.5 -47 20.5c-3.33334 0 -8.33334 -0.166656 -15 -0.5 s-11.6667 -0.5 -15 -0.5z" />
<glyph glyph-name="uni05F3" unicode="׳" horiz-adv-x="396" d="M283 727c5.33334 0 9 -1.16669 11 -3.5s3 -7.5 3 -15.5c0 -24 -11.8333 -53 -35.5 -87c-23.6667 -34 -48.1667 -62.6667 -73.5 -86c-25.3333 -23.3333 -42.3333 -35 -51 -35c-3.33333 0 -5 2 -5 6c0 12.6667 10.6667 39.3333 32 80s40.6667 73 58 97 c13.3333 17.3333 24.1667 29 32.5 35c8.33334 6 17.8333 9 28.5 9z" />
<glyph glyph-name="uni05F4" unicode="×´" horiz-adv-x="396" d="M197 727c5.33333 0 8.83333 -1 10.5 -3s2.5 -7 2.5 -15c0 -24 -11.8333 -53.1667 -35.5 -87.5s-48.3333 -63.1667 -74 -86.5c-25.6667 -23.3333 -42.5 -35 -50.5 -35c-3.33333 0 -5 2 -5 6c0 12.6667 10.6667 39.5 32 80.5c21.3333 41 41 73.1667 59 96.5 c13.3333 18 24 29.8333 32 35.5s17.6667 8.5 29 8.5zM332 727c5.33334 0 9 -1.16669 11 -3.5s3 -7.5 3 -15.5c0 -24 -11.8333 -53 -35.5 -87s-48.3333 -62.6667 -74 -86c-25.6667 -23.3333 -42.8333 -35 -51.5 -35c-3.33333 0 -5 2 -5 6c0 12 10.8333 38.6667 32.5 80 s41.1667 73.6667 58.5 97c13.3333 17.3333 24.1667 29 32.5 35s17.8333 9 28.5 9z" />
<glyph glyph-name="afii57388" unicode="Ø" horiz-adv-x="226" d="M245 256q-10 -60 -67 -61q-67 0 -79 64q1 9 0 19t2 24t7.5 28t16 31.5t28.5 34.5t47 28l18 -1q-50 -44 -74 -89q34 2 44 2q17 0 28.5 -7t17 -21t8 -25t3.5 -27z" />
<glyph glyph-name="afii57403" unicode="Ø" horiz-adv-x="250" d="M143 395q-38 0 -63.5 28t-25.5 72q0 133 109 227l19 -26q-69 -69 -69 -115q0 -12 11.5 -17.5t26.5 -6t32.5 -9t26.5 -25.5q8 -18 8 -38v-13q-1 -9 -4.5 -19.5t-11 -25t-23 -23.5t-36.5 -9zM150 322q58 0 68 -73q-9 -68 -62 -68h-5q-70 0 -70 70q0 69 69 71z" />
<glyph glyph-name="afii57407" unicode="Ø" horiz-adv-x="473" d="M147 663q0 50 33.5 83.5t88.5 33.5q67 0 93.5 -35t26.5 -81q0 -36 -14.5 -51.5t-31.5 -15.5t-29 14t-12 28q0 13 16.5 32t16.5 29q0 11 -19.5 28.5t-44.5 17.5q-64 0 -64 -62q0 -28 15 -51t32.5 -39t32.5 -56.5t15 -99.5q0 -28 -3 -63h-25q-1 63 -11 98t-22.5 46 t-35.5 33t-40 51q-18 29 -18 60zM344 256q0 -58 -44 -58h-1q-60 0 -60 51q1 51 55 51q50 0 50 -44z" />
<glyph glyph-name="afii57409" unicode="Ø¡" horiz-adv-x="350" d="M277 363q-5 0 -18 28t-27 28q-20 0 -40 -35t-20 -59q0 -16 10 -43t24 -27q7 0 14 3.5t16 9.5t33.5 18.5t59.5 26.5l-13 -52q-76 -23 -231 -140q43 60 97 108q-39 10 -55 28t-16 54q0 53 34 98t82 71h8q56 -3 56 -60q0 -17 -3.5 -37t-10.5 -20z" />
<glyph glyph-name="afii57410" unicode="Ø¢" horiz-adv-x="321" d="M154 1055q16 0 43 -2t39 -2q34 0 54 9t67 45l-17 -55q-17 -29 -44.5 -40t-85.5 -11q-11 0 -35.5 1t-41.5 1q-15 -1 -26.5 0t-35.5 -12t-59 -43q35 69 59 89t83 20zM149 154q27 331 27 391q0 83 -9 265l42 89q14 -255 14 -418q0 -171 -74 -327z" />
<glyph glyph-name="afii57411" unicode="Ø£" horiz-adv-x="249" d="M209 1044q-4 0 -12 18t-18 18q-13 0 -25.5 -22.5t-12.5 -38.5q0 -11 6 -28t15 -17q5 0 9.5 2t10 6t22 12t38.5 17l-8 -33q-49 -15 -150 -91q26 36 63 70q-26 7 -36 18.5t-10 34.5q0 35 22 64t53 46h5q36 -2 36 -39t-8 -37zM149 154q27 369 27 391q0 85 -9 266l42 89 q14 -255 14 -419q0 -171 -74 -327z" />
<glyph glyph-name="afii57412" unicode="ؤ" horiz-adv-x="399" d="M342 652q-4 0 -12 18t-18 18q-13 0 -25.5 -22.5t-12.5 -38.5q0 -11 6 -28t15 -17q5 0 9.5 2t10 6t22 12t38.5 17l-8 -33q-49 -15 -150 -91q26 36 63 70q-26 7 -36 18.5t-10 34.5q0 35 22 64t53 46h5q36 -2 36 -39t-8 -37zM189 303q0 65 32 108t85 43h9q68 -11 84 -172 v-85q0 -112 -106 -247q-59 -75 -167 -75h-53v10q119 70 149.5 96.5t75.5 100.5q34 55 34 96q0 14 -2 21h-99q-42 18 -42 88v16zM341 288q-2 52 -10 77t-32 25q-45 0 -45 -102h9q9 0 27.5 -0.5t26.5 -0.5q16 0 24 1z" />
<glyph glyph-name="afii57413" unicode="Ø¥" horiz-adv-x="249" d="M212 37q-4 0 -12 18t-18 18q-13 0 -25.5 -22.5t-12.5 -38.5q0 -11 6 -28t15 -17q5 0 9.5 2t10 6t22 12t38.5 17l-8 -33q-49 -15 -150 -91q26 36 63 70q-26 7 -36 18.5t-10 34.5q0 35 22 64t53 46h5q36 -2 36 -39t-8 -37zM149 154q27 369 27 391q0 85 -9 266l42 89 q14 -255 14 -419q0 -171 -74 -327z" />
<glyph glyph-name="afii57414" unicode="ئ" horiz-adv-x="776" d="M447 606q-4 0 -12 18t-18 18q-13 0 -25.5 -22.5t-12.5 -38.5q0 -11 6 -28t15 -17q5 0 9.5 2t10 6t22 12t38.5 17l-8 -33q-49 -15 -150 -91q26 36 63 70q-26 7 -36 18.5t-10 34.5q0 35 22 64t53 46h5q36 -2 36 -39t-8 -37zM714 465q27 0 35.5 -15t8.5 -43q0 -9 -2 -27 q-33 26 -66 26q-34 0 -80.5 -43t-46.5 -63q0 -29 80 -29q3 0 19 2t30 2q63 0 63 -37v-4q0 -118 -132 -197q-89 -53 -206 -53q-82 0 -141 17.5t-89 47t-43 60.5t-13 65q0 107 83 222l11 -4q-52 -98 -52 -163t52 -106.5t146 -48.5q302 16 348 109q-2 20 -101 20h-6 q-95 0 -95 56q0 65 67 135.5t130 70.5z" />
<glyph glyph-name="afii57415" unicode="ا" horiz-adv-x="249" d="M149 154q27 369 27 391q0 85 -9 266l42 89q14 -255 14 -419q0 -171 -74 -327z" />
<glyph glyph-name="afii57416" unicode="ب" horiz-adv-x="950" d="M644 2l-52 -54l-52 54l52 53zM926 278q0 82 -10 117t-42 62l18 64q65 -41 65 -124q0 -5 -1 -13t-1 -13v-174h-718q-56 0 -83.5 21t-27.5 76q0 77 70 203l10 -9q-52 -104 -52 -141t42 -69h730z" />
<glyph glyph-name="afii57417" unicode="Ø©" horiz-adv-x="424" d="M392 670l-55 -55l-55 55l55 55zM235 670l-56 -55l-55 55l55 55zM251 564q72 -80 107.5 -145t35.5 -104q0 -21 -8.5 -46t-18.5 -33q-14 -12 -41 -23t-49 -11q-64 0 -93 11.5t-51 49.5q-6 10 -6 34q0 40 30 97.5t50 87.5l-8 10zM235 454q-69 -80 -69 -126q0 -32 32.5 -45 t74.5 -13q52 0 69.5 8.5t17.5 26.5q0 28 -31.5 78t-93.5 71z" />
<glyph glyph-name="afii57418" unicode="ت" horiz-adv-x="925" d="M530 574l-65 -66l-67 66l67 67zM740 574l-65 -66l-67 66l67 67zM862 512q63 -39 63 -119q0 -9 -2 -25v-169h-693q-79 0 -96 41q-11 25 -11 53q0 19 5 47q12 59 63 149l9 -8q-32 -62 -49 -125q-1 -4 -1 -12q0 -35 41 -67h704q0 45 -5 95q-6 46 -45 79z" />
<glyph glyph-name="afii57419" unicode="Ø«" horiz-adv-x="924" d="M756 543l-64 -66l-67 66l67 67zM531 543l-64 -66l-67 66l67 67zM643 665l-65 -67l-66 67l66 66zM921 275q0 64 -8.5 103t-16.5 49.5t-26 25.5l17 63q65 -41 65 -123q0 -5 -1 -13t-1 -13v-173h-713q-55 0 -82.5 21t-27.5 76q0 75 70 201l9 -8q-51 -99 -51 -140 q0 -38 42 -69h724z" />
<glyph glyph-name="afii57420" unicode="ج" horiz-adv-x="750" d="M330 491q16 0 111 -16.5t206 -16.5l88 2l-20 -63h-7q-173 0 -292 -51t-193 -158q-54 -76 -54 -157q0 -35 8.5 -67.5t28 -64t58 -50.5t91.5 -19q112 0 296 46l48 -47q-157 -49 -319 -55h-26q-132 14 -178 78q-45 63 -45 82q-7 21 -7 53q0 68 31.5 128.5t93.5 132.5 q143 118 237 144q-52 15 -106 27t-108 12q-50 0 -64 -17l-27 -10q47 48 77 67.5t72 19.5zM497 104l-53 -53l-52 53l52 51z" />
<glyph glyph-name="afii57421" unicode="Ø" horiz-adv-x="748" d="M330 505q12 0 109.5 -16t209.5 -16l89 1l-20 -62h-7q-175 0 -294.5 -50t-194.5 -156q-54 -75 -54 -155q0 -36 8.5 -68.5t28.5 -63t59 -49t93 -18.5q110 0 307 44l37 -46q-159 -48 -320 -54h-27q-133 14 -180 77q-45 59 -45 82q-7 20 -7 52q0 67 32 126.5t94 131.5 q145 118 239 143q-51 14 -108.5 25.5t-109.5 11.5q-50 0 -62 -16l-27 -10q33 33 50 47.5t43.5 26.5t56.5 12z" />
<glyph glyph-name="afii57422" unicode="Ø®" horiz-adv-x="701" d="M308 503q19 0 107.5 -15.5t193.5 -15.5l84 2l-19 -59h-7q-323 0 -461 -195q-51 -70 -51 -145q0 -32 8 -62t25.5 -60t53 -48.5t84.5 -18.5q105 0 303 59l29 -60q-150 -45 -302 -51h-25q-125 13 -170 72q-42 57 -42 78q-7 18 -7 49q0 62 29 117.5t90 126.5q137 110 225 134 q-50 13 -103 24t-102 11q-47 0 -59 -15l-25 -9q31 31 47 45t41 25t53 11zM379 680l-44 -44l-43 44l43 43z" />
<glyph glyph-name="afii57423" unicode="د" horiz-adv-x="397" d="M382 278q-7 27 -8 45t-7 35t-7.5 27.5t-9.5 22t-14 18.5t-19.5 17.5t-26.5 19l-36 22.5l2 79q22 -7 35.5 -12.5t40 -26t43.5 -48.5t32.5 -80t19.5 -119q0 -78 -56 -78h-202q-55 0 -55 96v21l12 1q4 -38 28 -40h228z" />
<glyph glyph-name="afii57424" unicode="ذ" horiz-adv-x="399" d="M303 725l-57 -57l-55 57l55 55zM378 277q-6 26 -7 44t-6.5 34.5t-7.5 27t-10 22l-13.5 19t-19 17.5t-27 18.5l-35.5 22.5l2 78q21 -7 35 -13t40 -26t42.5 -47.5t32 -79t19.5 -117.5q0 -77 -55 -77h-200q-54 0 -54 95v20l12 2q4 -38 28 -40h224z" />
<glyph glyph-name="afii57425" unicode="ر" horiz-adv-x="328" d="M325 447q20 -69 20 -148q0 -22 -5 -58t-6 -46l-128 -241q-49 -72 -103 -84l-104 -23l5 21q83 49 106 81l69 100q70 99 88 140t18 79q0 45 -18 132z" />
<glyph glyph-name="afii57426" unicode="ز" horiz-adv-x="331" d="M326 601l-56 -56l-59 56l59 53zM325 447q20 -69 20 -148q0 -22 -5 -58t-6 -46l-128 -241q-43 -53 -103 -84l-104 -23l5 21q18 14 34 24t39 31.5t46.5 49t57 76t71.5 112.5q33 54 33 107q0 45 -18 132z" />
<glyph glyph-name="afii57427" unicode="س" horiz-adv-x="951" d="M883 274q52 0 52 19q0 26 -40 116l23 36q45 -101 45 -153t-19 -70t-56 -18q-23 0 -31.5 0.5t-25 8t-34.5 23.5q-25 -34 -61 -34q-58 0 -107 -1q0 -45 -8.5 -79.5t-18 -53.5t-32 -35.5t-35.5 -22.5t-43 -18q-63 -25 -152 -25h-33q-34 2 -60.5 8t-57.5 21t-48 47.5 t-17 79.5q0 64 82 224l13 -23q-67 -101 -67 -158q0 -70 41 -106t150 -36q63 0 134 21t84 41q30 45 30 122q0 67 -42 116l33 72q32 -56 39 -120h107q40 0 40 68v16l13 7q13 -56 31 -74.5t71 -18.5z" />
<glyph glyph-name="afii57428" unicode="Ø´" horiz-adv-x="949" d="M876 272q49 0 49 19q0 25 -39 114l23 36q44 -99 44 -151q0 -50 -19 -68.5t-55 -18.5q-7 -1 -17 -0.5t-20 2.5t-24 9.5t-29 20.5q-25 -33 -59 -33q-59 0 -107 -1q0 -55 -9 -91.5t-31.5 -58.5t-40 -31.5t-55.5 -24.5q-60 -25 -149 -25h-33q-26 1 -47 4.5t-47.5 13.5 t-44 25.5t-30 44t-12.5 66.5q0 63 81 220l13 -23q-67 -102 -67 -156q0 -68 39.5 -103.5t150.5 -35.5q62 0 132 21t83 41q29 44 29 120q0 67 -41 113l33 72q30 -56 38 -118h106q40 0 40 69v13l13 7q12 -54 30 -73t72 -19zM855 553l-47 -45l-49 45l49 45zM774 656l-47 -46 l-49 46l49 44zM691 553l-47 -45l-49 45l49 45z" />
<glyph glyph-name="afii57429" unicode="ص" horiz-adv-x="949" d="M832 466q20 0 38 -5t37 -18t30 -41t11 -67q0 -33 -7 -67l-15 -34v-1q0 -31 -187 -31l-150 -1q-1 -66 -19.5 -111.5t-53.5 -69.5t-76.5 -33.5t-97.5 -9.5q-212 0 -212 177q4 111 35 197l18 -6q-28 -78 -28 -150q0 -78 40.5 -120t147.5 -44q65 2 111 18.5t68.5 42.5 t32 52.5t9.5 56.5q0 71 -63 144l34 72q44 -105 59 -131l120 120q58 55 107 60h11zM895 323q0 82 -84 82q-80 0 -183 -131q7 0 20.5 -0.5t20.5 -0.5q27 0 162 5q64 16 64 45z" />
<glyph glyph-name="afii57430" unicode="ض" horiz-adv-x="949" d="M832 466q20 0 38 -5t37 -18t30 -41t11 -67q0 -33 -7 -67l-15 -34v-1q0 -31 -187 -31l-150 -1q-1 -66 -19.5 -111.5t-53.5 -69.5t-76.5 -33.5t-97.5 -9.5q-212 0 -212 177q4 111 35 197l18 -6q-28 -78 -28 -150q0 -78 40.5 -120t147.5 -44q65 2 111 18.5t68.5 42.5 t32 52.5t9.5 56.5q0 71 -63 144l34 72q44 -105 59 -131l120 120q58 55 107 60h11zM895 333q0 82 -84 82q-80 0 -183 -131q7 0 20.5 -0.5t20.5 -0.5q27 0 162 5q64 16 64 45zM747 633l-49 -48l-48 48l48 48z" />
<glyph glyph-name="afii57431" unicode="Ø·" horiz-adv-x="557" d="M165 277q21 15 21 39q0 126 -86 384l63 83l26.5 -146.5t26.5 -168t12 -140.5q0 -4 -0.5 -11t-0.5 -10q115 131 218 131q22 0 41 -6t39 -21t31.5 -47t11.5 -78v-4q0 -81 -61 -81h-513l-1 79zM536 304q0 45 -28.5 64.5t-65.5 19.5q-38 0 -86.5 -28t-79.5 -56l-20 -20h279 q1 7 1 20z" />
<glyph glyph-name="afii57432" unicode="ظ" horiz-adv-x="550" d="M443 612l-46 -46l-47 46l47 47zM165 277q21 15 21 39q0 126 -86 384l63 83l26.5 -146.5t26.5 -168t12 -140.5q0 -4 -0.5 -11t-0.5 -10q115 131 218 131q22 0 41 -6t39 -21t31.5 -47t11.5 -78v-4q0 -81 -61 -81h-513l-1 79zM536 304q0 45 -28.5 64.5t-65.5 19.5 q-38 0 -86.5 -28t-79.5 -56l-20 -20h279q1 7 1 20z" />
<glyph glyph-name="afii57433" unicode="ع" horiz-adv-x="625" d="M130 -67q0 53 31 127t93 126q-87 75 -122 117v29v2q0 62 65 119q56 49 126 49h5q53 -8 121 -50q-13 1 -36 1q-76 0 -153.5 -28t-86.5 -54q2 -37 51 -77.5t95 -40.5q10 0 37.5 14t81 31t121.5 22l-35 -67q-146 -15 -219 -90q-131 -123 -131 -195q0 -76 361 -122h111 l-104 -65q-176 8 -265 26t-118 46t-29 80z" />
<glyph glyph-name="afii57434" unicode="غ" horiz-adv-x="602" d="M130 -62q0 60 33 131.5t90 119.5q-87 74 -121 116v29v2q0 62 65 119q55 48 124 48h4q52 -8 121 -49q-10 1 -30 1q-77 0 -156 -28t-88 -54q4 -36 51.5 -76.5t93.5 -40.5h6q119 58 231 66l-35 -66q-143 -15 -216 -89q-129 -122 -129 -194q0 -73 356 -120h110l-103 -65 q-173 8 -261 26t-117 45.5t-29 78.5zM323 720l-48 -48l-49 48l49 48z" />
<glyph glyph-name="afii57441" unicode="Ù" horiz-adv-x="801" d="M592 432q0 59 29.5 121.5t73.5 62.5h4q25 0 49.5 -24t40.5 -71q22 -64 22 -158v-66q0 -92 -86 -92l-526 1q-43 5 -56.5 28.5t-14.5 98.5q2 54 26 130l26 -27q-34 -78 -34 -114q0 -34 34 -41q50 0 150 -0.5t149 -0.5q33 0 99 0.5t99 0.5h3q85 0 85 48v5q-56 13 -94.5 20.5 t-58.5 25.5t-20 52zM693 529q-36 -10 -36 -71q0 -49 85 -49q15 0 22 1v1q-8 39 -27.5 76t-43.5 42zM675 712l-49 -50l-50 50l50 51z" />
<glyph glyph-name="afii57442" unicode="Ù" horiz-adv-x="696" d="M709 562l-55 -55l-55 55l55 55zM552 562l-56 -55l-55 55l55 55zM719 183q-17 -140 -88 -187q-95 -56 -259 -56h-31q-209 45 -209 163q-2 22 -2 35q0 96 51 218h11q-28 -97 -28 -167q0 -28 4 -47q11 -116 273 -116h13q96 16 152 36q75 38 75 111q0 10 -1 16q-2 18 -31 18 q-21 0 -49 -7q-95 0 -95 51q0 4 2 14q2 37 30 86q29 59 69 66q52 -24 85 -77q25 -51 28 -94v-63zM607 354h-3q-33 0 -48 -44q-6 -10 -6 -18q0 -20 41 -20h9q38 0 44 2q6 0 6 10q0 2 -2 10q-3 16 -17 37z" />
<glyph glyph-name="afii57443" unicode="Ù" horiz-adv-x="757" d="M948 958l-199 -87q-19 -8 -73.5 -33.5t-54.5 -32.5q0 -10 107 -126l40 -51t31 -41.5t24.5 -38.5t21.5 -43t21 -55.5l24 -74.5q4 -39 4 -75q0 -101 -42 -101h-1l-587 2q-78 0 -128 87q-15 25 -15 89q0 67 20 131l8 -4q-7 -45 -7 -85q0 -77 39.5 -111t137.5 -34h11h529 q2 24 2 35q0 121 -125 286l-61 65l-11 -14q-34 23 -86 75q-4 26 -4 38q0 60 45.5 102t171.5 94l163 66z" />
<glyph glyph-name="afii57444" unicode="Ù" horiz-adv-x="655" d="M377 -150q-45 0 -83 7.5t-77.5 27t-62 60t-22.5 98.5q0 102 61 261l16 -6q-46 -141 -46 -216q0 -74 76 -126q88 -19 160 -19q82 0 117 18q89 46 89 157q0 264 -37 704l38 38l52 41l47 -146l-52 -64v-52q0 -169 6 -305t6 -167q0 -83 -11.5 -137t-42 -95.5t-88 -60 t-146.5 -18.5z" />
<glyph glyph-name="afii57445" unicode="Ù
" horiz-adv-x="549" d="M280 303q-28 0 -51 -38q-4 16 -4 33q0 66 80 68h27q28 0 81.5 -17.5t103.5 -52.5t50 -74q0 -26 -28 -57t-63 -31l-72 24q-71 24 -120 24q-60 0 -85 -36q30 -234 30 -373q0 -63 -22 -111q-20 126 -36 206t-22.5 100t-11 52.5t-8.5 96.5v11q0 50 42 95.5t107 45.5 q25 0 130 -28q-25 17 -68 39.5t-60 22.5z" />
<glyph glyph-name="afii57446" unicode="Ù" horiz-adv-x="651" d="M441 451l-59 -55l-58 55l58 55zM362 -20q67 0 112.5 7t84.5 26.5t58 58t19 97.5q-1 156 -41 188l58 96q17 -71 20 -243l-7 -78q-5 -70 -26 -117t-57 -70.5t-76 -32.5t-96 -9q-32 0 -49 1q-136 0 -188.5 53t-52.5 156q0 92 28 189l21 -4q-17 -74 -17 -132q0 -6 1 -18.5 t1 -18.5q0 -147 207 -149z" />
<glyph glyph-name="afii57470" unicode="Ù" horiz-adv-x="424" d="M251 564q72 -80 107.5 -145t35.5 -104q0 -21 -8.5 -46t-18.5 -33q-14 -12 -41 -23t-49 -11q-64 0 -93 11.5t-51 49.5q-6 10 -6 34q0 40 30 97.5t50 87.5l-8 10zM235 454q-69 -80 -69 -126q0 -32 32.5 -45t74.5 -13q52 0 69.5 8.5t17.5 26.5q0 28 -31.5 78t-93.5 71z" />
<glyph glyph-name="afii57448" unicode="Ù" horiz-adv-x="399" d="M189 303q0 65 32 108t85 43h9q68 -11 84 -172v-85q0 -112 -106 -247q-59 -75 -167 -75h-53v10q119 70 149.5 96.5t75.5 100.5q34 55 34 96q0 14 -2 21h-99q-42 18 -42 88v16zM341 288q-2 52 -10 77t-32 25q-45 0 -45 -102h9q9 0 27.5 -0.5t26.5 -0.5q16 0 24 1z" />
<glyph glyph-name="afii57449" unicode="Ù" horiz-adv-x="776" d="M714 465q27 0 35.5 -15t8.5 -43q0 -9 -2 -27q-33 26 -66 26q-34 0 -80.5 -43t-46.5 -63q0 -29 80 -29q3 0 19 2t30 2q63 0 63 -37v-4q0 -118 -132 -197q-89 -53 -206 -53q-82 0 -141 17.5t-89 47t-43 60.5t-13 65q0 107 83 222l11 -4q-52 -98 -52 -163t52 -106.5 t146 -48.5q302 16 348 109q-2 20 -101 20h-6q-95 0 -95 56q0 65 67 135.5t130 70.5z" />
<glyph glyph-name="afii57450" unicode="Ù" horiz-adv-x="776" d="M461 -122l-65 -66l-67 66l67 67zM619 -89l-65 -66l-67 66l67 67zM714 465q27 0 35.5 -15t8.5 -43q0 -9 -2 -27q-33 26 -66 26q-34 0 -80.5 -43t-46.5 -63q0 -29 80 -29q3 0 19 2t30 2q63 0 63 -37v-4q0 -118 -132 -197q-89 -53 -206 -53q-82 0 -141 17.5t-89 47t-43 60.5 t-13 65q0 107 83 222l11 -4q-52 -98 -52 -163t52 -106.5t146 -48.5q302 16 348 109q-2 20 -101 20h-6q-95 0 -95 56q0 65 67 135.5t130 70.5z" />
<glyph glyph-name="afii57451" unicode="Ù" horiz-adv-x="300" d="M190 1006l-78 -37.5t-42 -28.5t-16 -36l151 74q23 10 32 22t12 35zM190 916l-78 -37.5t-42 -28.5t-16 -36l151 74q23 10 32 22t12 35z" />
<glyph glyph-name="afii57453" unicode="Ù" horiz-adv-x="300" d="M180 -153l-74.5 -37t-43.5 -29t-18 -37l151 74q23 10 32 22t12 35zM180 -63l-74.5 -37t-43.5 -29t-18 -37l151 74q23 10 32 22t12 35z" />
<glyph glyph-name="afii57454" unicode="Ù" horiz-adv-x="300" d="M190 1006l-78 -37.5t-42 -28.5t-16 -36l151 74q23 10 32 22t12 35z" />
<glyph glyph-name="afii57455" unicode="Ù" horiz-adv-x="300" d="M219 1010q24 -11 30 -17.5t6 -15.5q0 -11 -6 -25l-50 23q-34 -64 -127 -100h-21q71 39 124 112l-21 17t-15 13.5t-9 14.5t-3 18q0 34 25.5 59t51.5 25q31 0 31 -41q0 -30 -16 -83zM201 1052q0 18 -5.5 25t-21.5 7q-13 0 -13 -17q0 -12 39 -41q1 10 1 26z" />
<glyph glyph-name="afii57456" unicode="Ù" horiz-adv-x="300" d="M180 -153l-74.5 -37t-43.5 -29t-18 -37l151 74q23 10 32 22t12 35z" />
<glyph glyph-name="afii57457" unicode="Ù" horiz-adv-x="300" d="M250 1011q-1 -13 -15 -30.5t-35 -17.5q-8 0 -17 3q-18 -45 -51 -45q-19 0 -31.5 15.5t-12.5 39.5q0 14 5 37h7q-5 -18 -5 -28q0 -15 8.5 -24t20.5 -9q13 0 22.5 11t27.5 42q10 -14 22 -14q11 0 23 13t12 25q0 21 -23 35l6 12q36 -50 36 -65z" />
<glyph glyph-name="afii57392" unicode="Ù " horiz-adv-x="297" d="M331 404l-111 -124l-106 125l106 122z" />
<glyph glyph-name="afii57393" unicode="Ù¡" horiz-adv-x="254" d="M210 796q79 -141 101.5 -271.5t22.5 -347.5q-6 -22 -15 -22q-11 0 -20.5 60t-20 141t-41.5 181.5t-77 165.5z" />
<glyph glyph-name="afii57394" unicode="Ù¢" horiz-adv-x="427" d="M300 705q22 0 38.5 3.5t28 13.5l18.5 16.5t13 25.5l8 25.5t7 30.5l34 -38q0 -97 -22 -131.5t-97 -34.5q-51 0 -83 23q27 -126 39 -438q-14 -29 -26 -29q-19 0 -29 58.5t-16 138.5t-34.5 180t-78.5 166l60 94q48 -68 72 -86t68 -18z" />
<glyph glyph-name="afii57395" unicode="Ù£" horiz-adv-x="497" d="M144 824l42.5 -54t32 -40.5t22.5 -18t32 -8.5q44 0 57.5 19t20.5 69q7 15 14 15q11 0 16.5 -29.5t12.5 -42.5q9 -19 41 -19q49 0 49 49v5q3 6 11 19t10 13q4 0 13 -49q0 -120 -77 -125q-60 7 -76 52q-30 -38 -46 -48t-46 -10q-8 0 -32 2q23 -95 23 -209q0 -231 -39 -231 q-12 0 -27 29q5 97 5 156q-1 29 0 54t-3.5 59t-13.5 70.5t-31 89.5t-54 116z" />
<glyph glyph-name="afii57396" unicode="Ù¤" horiz-adv-x="440" d="M353 675q37 0 56.5 5t20.5 5q3 0 3 -4q0 -5 -11 -27q-17 -28 -43.5 -37.5t-98.5 -9.5h-48h-20q13 -62 13 -169q0 -260 -29 -260q-15 0 -18 16q-7 213 -23.5 294.5t-81.5 213.5l46 95l48 -67q7 -19 13 -19q2 0 7 22t14 48t36.5 48t68.5 22q24 0 58 -17t34 -49 q0 -12 -14 -12q-28 27 -58 27q-12 0 -28 -3.5t-33.5 -16.5t-17.5 -34q0 -16 7 -36q28 -22 47.5 -28.5t51.5 -6.5z" />
<glyph glyph-name="afii57397" unicode="Ù¥" horiz-adv-x="465" d="M145 189q-59 0 -79 36.5t-20 107.5q0 16 42 115q39 98 143 239l-21 29l52 57q87 -128 127 -213.5t43 -188.5v-11q0 -73 -29.5 -121.5t-87.5 -48.5q-60 0 -84 60q-25 -53 -86 -61zM257 661q-69 -98 -117.5 -190.5t-48.5 -140.5q0 -81 55 -81q12 0 21.5 8t21.5 23.5 t23 23.5q13 11 40 -16t47 -27q12 0 30 6.5t36.5 28t18.5 53.5q0 50 -34 141t-93 171z" />
<glyph glyph-name="afii57398" unicode="Ù¦" horiz-adv-x="466" d="M247 559q27 0 43 5t27.5 13t49.5 26t95 37q3 -45 3 -76q-84 -28 -196.5 -152.5t-179.5 -271.5q-2 -1 -4 -1q-6 0 -6 9q0 46 45.5 155t108.5 185q-86 13 -119.5 42t-33.5 54q0 50 58.5 113t110.5 65h5q36 0 57.5 -14.5t42.5 -48.5q1 -1 1 -3q0 -4 -9 -4q-8 0 -31.5 4.5 t-39.5 4.5q-46 0 -79.5 -33t-33.5 -54q0 -22 19.5 -38.5t65.5 -16.5z" />
<glyph glyph-name="afii57399" unicode="Ù§" horiz-adv-x="421" d="M212 268q0 65 -57.5 217t-107.5 198l25 91q113 -148 175 -429q21 283 118 428l23 -90q-31 -45 -67 -161.5t-40 -225.5l-5 -45q-5 -47 -39 -47v-1q-26 12 -26 48q0 2 0.5 8t0.5 9z" />
<glyph glyph-name="afii57400" unicode="Ù¨" horiz-adv-x="459" d="M314 592q54 -206 121 -293l-36 -100l-154 441l-151 -441l-38 97q67 86 121 294t68 219q17 -11 69 -217z" />
<glyph glyph-name="afii57401" unicode="Ù©" horiz-adv-x="424" d="M398 165q-133 121 -133 344q0 34 1 53q-51 -9 -88 -9q-55 0 -78 26t-23 60q0 13 3.5 32.5t13 46t24 49t39.5 38t56 15.5q49 0 79.5 -65t35.5 -176q-2 -16 -2 -46q0 -76 23.5 -136t71.5 -122zM142 677q0 -29 19.5 -38t61.5 -9q29 0 47 1q-4 24 -7.5 38.5t-11 31.5t-21 25 t-32.5 8q-23 0 -39.5 -19.5t-16.5 -37.5z" />
<glyph glyph-name="uni066B" unicode="Ù«" horiz-adv-x="212" d="M79 183q-24 0 -39.5 23t-15.5 44q0 25 19.5 41t46.5 16q31 0 48.5 -28t17.5 -67q0 -25 -13 -53.5t-36 -47.5l-15 -3q29 48 36 91q-37 -16 -49 -16z" />
<glyph glyph-name="uni0674" unicode="Ù´" horiz-adv-x="300" d="M203 970q-4 0 -12 18t-18 18q-13 0 -25.5 -22.5t-12.5 -38.5q0 -11 6 -28t15 -17q5 0 9.5 2t10 6t22 12t38.5 17l-8 -33q-49 -15 -150 -91q26 36 63 70q-26 7 -36 18.5t-10 34.5q0 35 22 64t53 46h5q36 -2 36 -39t-8 -37z" />
<glyph glyph-name="afii57506" unicode="Ù¾" horiz-adv-x="926" d="M508 26l-52 -55l-53 55l53 52zM921 277q0 51 -4 84.5t-14.5 53t-15 25t-19.5 18.5l18 64q66 -40 66 -125q0 -5 -1 -13t-1 -13v-176h-724q-55 0 -83.5 21.5t-28.5 76.5q0 79 71 204l10 -8q-52 -101 -52 -143q0 -38 42 -69h736zM600 -83l-52 -55l-53 55l53 52zM693 26 l-53 -55l-53 55l53 52z" />
<glyph glyph-name="afii57507" unicode="Ú" horiz-adv-x="750" d="M673 112l-62 -63l-63 63l63 61zM473 112l-62 -63l-63 63l63 61zM580 -13l-62 -61l-63 61l63 62zM334 506q13 0 111 -16.5t212 -16.5l90 2l-20 -63h-7q-177 0 -298 -51t-198 -158q-54 -77 -54 -156q0 -35 8.5 -67.5t28 -64.5t59 -51t94.5 -19q114 0 313 45l37 -47 q-162 -50 -325 -54h-27q-134 13 -182 77q-45 61 -45 83q-8 22 -8 53q0 67 32.5 127.5t95.5 133.5q145 118 242 144q-54 15 -109.5 27t-109.5 12q-51 0 -65 -17l-27 -10q34 34 51 48.5t43.5 26.5t57.5 12z" />
<glyph glyph-name="afii57508" unicode="Ú" horiz-adv-x="338" d="M363 587l-52 -50l-53 50l53 49zM285 707l-52 -50l-54 50l54 48zM216 587l-52 -50l-53 50l53 49zM325 447q20 -69 20 -148q0 -22 -5 -58t-6 -46l-128 -241q-49 -72 -103 -84l-104 -23l5 21q18 14 34 24t39 31.5t46.5 49t57 76t71.5 112.5q33 54 33 107q0 45 -18 132z" />
<glyph glyph-name="afii57509" unicode="Ú¯" horiz-adv-x="874" d="M948 962l-199 -87q-19 -8 -73.5 -33.5t-54.5 -32.5q0 -10 107 -126l40 -51t31 -41.5t24.5 -38.5t21.5 -43t21 -55.5l24 -74.5q4 -39 4 -75q0 -101 -42 -101h-1l-587 2q-78 0 -128 87q-15 26 -15 89q0 67 20 131l8 -5q-7 -45 -7 -84q0 -77 39.5 -111t137.5 -34h11h529 q2 24 2 35q0 121 -125 286l-61 65l-11 -14q-34 23 -86 75q-4 26 -4 38q0 60 45.5 102t171.5 94l163 66zM870 1115v-52l-304 -135q21 45 304 187z" />
<glyph glyph-name="uni06CC" unicode="Û" horiz-adv-x="776" d="M714 465q27 0 35.5 -15t8.5 -43q0 -9 -2 -27q-33 26 -66 26q-34 0 -80.5 -43t-46.5 -63q0 -29 80 -29q3 0 19 2t30 2q63 0 63 -37v-4q0 -118 -132 -197q-89 -53 -206 -53q-82 0 -141 17.5t-89 47t-43 60.5t-13 65q0 107 83 222l11 -4q-52 -98 -52 -163t52 -106.5 t146 -48.5q302 16 348 109q-2 20 -101 20h-6q-95 0 -95 56q0 65 67 135.5t130 70.5z" />
<glyph glyph-name="uni06D4" unicode="Û" horiz-adv-x="176" d="M90 238q10 37 48 46q38 -9 48 -46q-10 -38 -48 -48q-38 10 -48 48z" />
<glyph glyph-name="uniFB56" unicode="Ù¾" horiz-adv-x="926" arabic-form="isolated" d="M508 26l-52 -55l-53 55l53 52zM921 277c0 34 -1.33331 62.1667 -4 84.5s-7.5 40 -14.5 53s-12 21.3333 -15 25s-9.5 9.83334 -19.5 18.5l18 64c44 -26.6667 66 -68.3333 66 -125c0 -3.33334 -0.333313 -7.66666 -1 -13s-1 -9.66666 -1 -13v-176h-724 c-36.6667 0 -64.5 7.16667 -83.5 21.5s-28.5 39.8333 -28.5 76.5c0 52.6667 23.6667 120.667 71 204l10 -8c-34.6667 -67.3333 -52 -115 -52 -143c0 -25.3333 14 -48.3333 42 -69h736zM600 -83l-52 -55l-53 55l53 52zM693 26l-53 -55l-53 55l53 52z" />
<glyph glyph-name="uniFB57" unicode="Ù¾" horiz-adv-x="926" arabic-form="terminal" d="M508 26l-52 -55l-53 55l53 52zM921 277c0 34 -1.33331 62.1667 -4 84.5s-7.5 40 -14.5 53s-12 21.3333 -15 25s-9.5 9.83334 -19.5 18.5l18 64c44 -26.6667 66 -68.3333 66 -125c0 -3.33334 -0.333313 -7.66666 -1 -13s-1 -9.66666 -1 -13v-176h-724 c-36.6667 0 -64.5 7.16667 -83.5 21.5s-28.5 39.8333 -28.5 76.5c0 52.6667 23.6667 120.667 71 204l10 -8c-34.6667 -67.3333 -52 -115 -52 -143c0 -25.3333 14 -48.3333 42 -69h736zM600 -83l-52 -55l-53 55l53 52zM693 26l-53 -55l-53 55l53 52z" />
<glyph glyph-name="uniFB58" unicode="Ù¾" horiz-adv-x="308" arabic-form="initial" d="M148 58l-57 -58l-58 58l58 58zM207 -73l-57 -59l-57 59l57 58zM268 58l-57 -58l-58 58l58 58zM256 534c30 -43.3333 45 -93 45 -149v-74c0 -73.3333 -17.3333 -110.333 -52 -111h-252l-9 83h280v11c0 68 -18.6667 120.667 -56 158z" />
<glyph glyph-name="uniFB59" unicode="Ù¾" horiz-adv-x="308" arabic-form="medial" d="M148 58l-57 -58l-58 58l58 58zM207 -73l-57 -59l-57 59l57 58zM268 58l-57 -58l-58 58l58 58zM256 534c30 -43.3333 45 -93 45 -149v-74c0 -73.3333 -17.3333 -110.333 -52 -111h-252l-9 83h280v11c0 68 -18.6667 120.667 -56 158z" />
<glyph glyph-name="uniFB7A" unicode="Ú" horiz-adv-x="750" arabic-form="isolated" d="M673 112l-62 -63l-63 63l63 61zM473 112l-62 -63l-63 63l63 61zM580 -13l-62 -61l-63 61l63 62zM334 506c9.33334 0 46.5 -5.5 111.5 -16.5s135.5 -16.5 211.5 -16.5l90 2l-20 -63h-7c-230.667 0 -396 -69.6667 -496 -209c-36 -51.3333 -54 -103.333 -54 -156 c0 -23.3333 2.83333 -45.8333 8.5 -67.5c5.66667 -21.6667 15 -43.1667 28 -64.5c13 -21.3333 32.6667 -38.3333 59 -51c26.3333 -12.6667 57.8333 -19 94.5 -19c76 0 180.333 15 313 45l37 -47c-108 -33.3333 -216.333 -51.3333 -325 -54h-27 c-89.3333 8.66667 -150 34.3333 -182 77c-30 40.6667 -45 68.3333 -45 83c-5.33334 14.6667 -8 32.3333 -8 53c0 44.6667 10.8333 87.1667 32.5 127.5c21.6667 40.3333 53.5 84.8333 95.5 133.5c96.6667 78.6667 177.333 126.667 242 144c-36 10 -72.5 19 -109.5 27 s-73.5 12 -109.5 12c-34 0 -55.6667 -5.66666 -65 -17l-27 -10c22.6667 22.6667 39.6667 38.8333 51 48.5s25.8333 18.5 43.5 26.5s36.8333 12 57.5 12z" />
<glyph glyph-name="uniFB7B" unicode="Ú" horiz-adv-x="750" arabic-form="terminal" d="M490 32l-52 -52l-51 52l51 51zM628 401c6 -54.6667 13.3333 -89.3333 22 -104s27.3333 -22 56 -22h50l-3 -81h-40c-20.6667 2 -37.6667 8.83333 -51 20.5s-22.8333 28 -28.5 49s-9.33331 39.5 -11 55.5s-2.5 36.3333 -2.5 61zM333 501c11.3333 0 50 -5.5 116 -16.5 s134 -16.5 204 -16.5l89 2l-20 -62h-7c-228.667 0 -392.333 -69 -491 -207c-35.3333 -50.6667 -53 -102.333 -53 -155c0 -17.3333 1.33333 -34.1667 4 -50.5c2.66667 -16.3333 8.16667 -33.8333 16.5 -52.5c8.33333 -18.6667 19.3333 -34.8333 33 -48.5s32.5 -25 56.5 -34 s52 -13.5 84 -13.5c73.3333 0 164.333 11.3333 273 34l67 -36c-107.333 -32 -214.333 -50 -321 -54h-27c-90 9.33333 -150 35 -180 77c-30 40.6667 -45 68 -45 82c-4.66666 13.3333 -7 30.6667 -7 52c0 44.6667 10.6667 87 32 127s52.6667 84 94 132 c95.3333 77.3333 175 124.667 239 142c-34 9.33334 -70 18 -108 26s-74.3333 12 -109 12c-34 0 -55 -5.33334 -63 -16l-27 -10c32 32 57.8333 54.3333 77.5 67c19.6667 12.6667 43.8333 19 72.5 19zM575 131l-52 -52l-51 52l51 51zM419 131l-52 -52l-51 52l51 51z" />
<glyph glyph-name="uniFB7C" unicode="Ú" horiz-adv-x="580" arabic-form="initial" d="M271 59l-50 -51l-52 51l52 51zM445 59l-52 -51l-50 51l50 51zM358 -38l-51 -52l-51 52l51 51zM149 354c10.6667 14.6667 21.3333 28.5 32 41.5s20.6667 24.3333 30 34s19.6667 17.3333 31 23s23.3333 8.5 36 8.5c18.6667 0 46.5 -12.8333 83.5 -38.5 s76.1667 -57.5 117.5 -95.5c20 -23.3333 63 -40.3333 129 -51l2 -76h-590c-15.3333 0 -23 25 -23 75l462 1l-127 90c-15.3333 10.6667 -32 16 -50 16c-22 0 -61 -10.3333 -117 -31z" />
<glyph glyph-name="uniFB7D" unicode="Ú" horiz-adv-x="580" arabic-form="medial" d="M271 59l-50 -51l-52 51l52 51zM445 59l-52 -51l-50 51l50 51zM358 -38l-51 -52l-51 52l51 51zM149 354c10.6667 14.6667 21.3333 28.5 32 41.5s20.6667 24.3333 30 34s19.6667 17.3333 31 23s23.3333 8.5 36 8.5c18.6667 0 46.5 -12.8333 83.5 -38.5 s76.1667 -57.5 117.5 -95.5c20 -23.3333 63 -40.3333 129 -51l2 -76h-590c-15.3333 0 -23 25 -23 75l462 1l-127 90c-15.3333 10.6667 -32 16 -50 16c-22 0 -61 -10.3333 -117 -31z" />
<glyph glyph-name="uniFB8A" unicode="Ú" horiz-adv-x="338" arabic-form="isolated" d="M363 587l-52 -50l-53 50l53 49zM285 707l-52 -50l-54 50l54 48zM216 587l-52 -50l-53 50l53 49zM325 447c13.3333 -46 20 -95.3333 20 -148c0 -11.3333 -0.333344 -19.6667 -1 -25l-10 -79l-128 -241c-32.6667 -48 -67 -76 -103 -84l-104 -23l5 21 c12.6667 10 24.6667 18.5 36 25.5c11.3333 7 24.3333 17.6667 39 32c14.6667 14.3333 30 30.6667 46 49c16 18.3333 34.8333 43.5 56.5 75.5s45.1667 69 70.5 111c22 36 33 71.6667 33 107c0 30 -6 74 -18 132z" />
<glyph glyph-name="uniFB8B" unicode="Ú" horiz-adv-x="338" arabic-form="terminal" d="M363 587l-52 -50l-53 50l53 49zM285 707l-52 -50l-54 50l54 48zM216 587l-52 -50l-53 50l53 49zM325 447c13.3333 -46 20 -95.3333 20 -148c0 -11.3333 -0.333344 -19.6667 -1 -25l-10 -79l-128 -241c-32.6667 -48 -67 -76 -103 -84l-104 -23l5 21 c12.6667 10 24.6667 18.5 36 25.5c11.3333 7 24.3333 17.6667 39 32c14.6667 14.3333 30 30.6667 46 49c16 18.3333 34.8333 43.5 56.5 75.5s45.1667 69 70.5 111c22 36 33 71.6667 33 107c0 30 -6 74 -18 132z" />
<glyph glyph-name="uniFB92" unicode="Ú¯" horiz-adv-x="874" arabic-form="isolated" d="M142 426c0 -50 12.1667 -87.1667 36.5 -111.5s71.8333 -36.5 142.5 -36.5h9h529c1.33331 16 2 27.6667 2 35c0 80.6667 -41.6667 176 -125 286l-61 65l-11 -14c-20 13.3333 -39.6667 29.6667 -59 49l-27 26c-2.66669 17.3333 -4 30 -4 38c0 40 15.1667 74 45.5 102 s87.5 59.3333 171.5 94l163 66l-6 -63l-199 -87c-12.6667 -5.33331 -37.1667 -16.5 -73.5 -33.5s-54.5 -27.8333 -54.5 -32.5c0 -6.66669 35.6667 -48.6667 107 -126l40 -51c11.3333 -14 21.6667 -27.8333 31 -41.5s17.5 -26.5 24.5 -38.5s14.1667 -26.3333 21.5 -43 c7.33331 -16.6667 14.3333 -35.1667 21 -55.5l24 -74.5c2.66669 -26 4 -51 4 -75c0 -67.3333 -14 -101 -42 -101h-1l-587 2c-52 0 -94.6667 29 -128 87c-10 17.3333 -15 47 -15 89c0 44.6667 6.66666 88.3333 20 131l8 -5c-4.66667 -35.3333 -7 -62.3333 -7 -81zM870 1115 v-52l-304 -135c14 30 115.333 92.3333 304 187z" />
<glyph glyph-name="uniFB93" unicode="Ú¯" horiz-adv-x="874" arabic-form="terminal" d="M142 426c0 -50 12.1667 -87.1667 36.5 -111.5s71.8333 -36.5 142.5 -36.5h9h529c1.33331 16 2 27.6667 2 35c0 80.6667 -41.6667 176 -125 286l-61 65l-11 -14c-20 13.3333 -39.6667 29.6667 -59 49l-27 26c-2.66669 17.3333 -4 30 -4 38c0 40 15.1667 74 45.5 102 s87.5 59.3333 171.5 94l163 66l-6 -63l-199 -87c-12.6667 -5.33331 -37.1667 -16.5 -73.5 -33.5s-54.5 -27.8333 -54.5 -32.5c0 -6.66669 35.6667 -48.6667 107 -126l40 -51c11.3333 -14 21.6667 -27.8333 31 -41.5s17.5 -26.5 24.5 -38.5s14.1667 -26.3333 21.5 -43 c7.33331 -16.6667 14.3333 -35.1667 21 -55.5l24 -74.5c2.66669 -26 4 -51 4 -75c0 -67.3333 -14 -101 -42 -101h-1l-587 2c-52 0 -94.6667 29 -128 87c-10 17.3333 -15 47 -15 89c0 44.6667 6.66666 88.3333 20 131l8 -5c-4.66667 -35.3333 -7 -62.3333 -7 -81zM870 1115 v-52l-304 -135c14 30 115.333 92.3333 304 187z" />
<glyph glyph-name="uniFB94" unicode="Ú¯" horiz-adv-x="329" arabic-form="initial" d="M398 912l-199 -82c-85.3333 -36 -128 -56.6667 -128 -62s35.6667 -44.6667 107 -118l40 -47.5c11.3333 -13 21.6667 -25.8333 31 -38.5c9.33334 -12.6667 17.5 -24.6667 24.5 -36s14 -25 21 -41s14 -33.5 21 -52.5s15.1667 -42.5 24.5 -70.5 c2.66666 -24 4 -47.6667 4 -71c0 -62.6667 -14 -94 -42 -94h-1l-306 2l6 78h308c1.33334 13.3333 2 23 2 29c0 72.6667 -41.6667 160.333 -125 263l-61 61l-11 -13c-16.6667 10 -36.3333 25.3333 -59 46l-27 24c-2.66667 17.3333 -4 29.3333 -4 36 c0 38.6667 15.8333 71.1667 47.5 97.5c31.6667 26.3333 88.1667 55.1667 169.5 86.5l163 62zM354 1077v-50l-304 -130c14 29.3333 115.333 89.3333 304 180z" />
<glyph glyph-name="uniFB95" unicode="Ú¯" horiz-adv-x="329" arabic-form="medial" d="M398 912l-199 -82c-85.3333 -36 -128 -56.6667 -128 -62s35.6667 -44.6667 107 -118l40 -47.5c11.3333 -13 21.6667 -25.8333 31 -38.5c9.33334 -12.6667 17.5 -24.6667 24.5 -36s14 -25 21 -41s14 -33.5 21 -52.5s15.1667 -42.5 24.5 -70.5 c2.66666 -24 4 -47.6667 4 -71c0 -62.6667 -14 -94 -42 -94h-1l-306 2l6 78h308c1.33334 13.3333 2 23 2 29c0 72.6667 -41.6667 160.333 -125 263l-61 61l-11 -13c-16.6667 10 -36.3333 25.3333 -59 46l-27 24c-2.66667 17.3333 -4 29.3333 -4 36 c0 38.6667 15.8333 71.1667 47.5 97.5c31.6667 26.3333 88.1667 55.1667 169.5 86.5l163 62zM354 1077v-50l-304 -130c14 29.3333 115.333 89.3333 304 180z" />
<glyph glyph-name="uniFBFC" unicode="Û" horiz-adv-x="776" arabic-form="isolated" d="M714 465c18 0 29.8333 -5 35.5 -15s8.5 -24.3333 8.5 -43c0 -2 -0.166687 -4.66666 -0.5 -8s-0.5 -5.66666 -0.5 -7l-1 -12c-22 17.3333 -44 26 -66 26c-22.6667 0 -49.5 -14.3333 -80.5 -43s-46.5 -49.6667 -46.5 -63c0 -19.3333 26.6667 -29 80 -29 c2 0 8.33331 0.666656 19 2s20.6667 2 30 2c42 0 63 -12.3333 63 -37v-4c0 -78.6667 -44 -144.333 -132 -197c-59.3333 -35.3333 -128 -53 -206 -53c-54.6667 0 -101.667 5.83333 -141 17.5c-39.3333 11.6667 -69 27.3333 -89 47c-20 19.6667 -34.3333 39.8333 -43 60.5 c-8.66667 20.6667 -13 42.3333 -13 65c0 71.3333 27.6667 145.333 83 222l11 -4c-34.6667 -65.3333 -52 -119.667 -52 -163c0 -43.3333 17.3333 -78.8333 52 -106.5c34.6667 -27.6667 83.3333 -43.8333 146 -48.5c201.333 10.6667 317.333 47 348 109 c-1.33331 13.3333 -35 20 -101 20h-6c-63.3333 0 -95 18.6667 -95 56c0 43.3333 22.3333 88.5 67 135.5s88 70.5 130 70.5z" />
<glyph glyph-name="uniFBFD" unicode="Û" horiz-adv-x="700" arabic-form="terminal" d="M370 -14c70 0 130.167 8 180.5 24c50.3333 16 75.5 32.3333 75.5 49v2c0 10 -9 15 -27 15c-1.33331 0 -3.83331 -0.166664 -7.5 -0.5s-6.5 -0.5 -8.5 -0.5h-110c-28 4 -42 20.3333 -42 49c0 2 0.333344 5.16667 1 9.5s1 7.83333 1 10.5c0 38.6667 28 74.6667 84 108 c30 18 81.3333 27 154 27h50l-1 -77c-8.66669 0 -20.6667 0.166672 -36 0.5s-26.3333 0.5 -33 0.5c-74 0 -123.667 -3.83333 -149 -11.5c-25.3333 -7.66667 -38 -23.1667 -38 -46.5c0 -9.33333 6.33334 -14 19 -14h111c51.3333 0 77 -16.3333 77 -49 c0 -42.6667 -19 -78 -57 -106s-91 -46.6667 -159 -56c-9.33334 -1.33334 -42.3333 -2 -99 -2c-88 8 -147.167 22.8333 -177.5 44.5c-30.3333 21.6667 -45.8333 56.5 -46.5 104.5v13c0 66 18.3333 135.333 55 208l7 -4c-28 -57.3333 -42 -104.333 -42 -141 c0 -47.3333 10.6667 -84 32 -110c44.6667 -31.3333 106.667 -47 186 -47z" />
<glyph glyph-name="uniFBFE" unicode="Û" horiz-adv-x="304" arabic-form="initial" d="M173 55l-59 -57l-61 57l61 57zM300 55l-59 -57l-61 57l61 57zM286 514c30 -41.3333 45 -88 45 -140v-69c0 -69.3333 -17.3333 -104.333 -52 -105h-252c-32.6667 0 -49 26 -49 78h320v10c0 64 -18.6667 113.667 -56 149z" />
<glyph glyph-name="uniFBFF" unicode="Û" horiz-adv-x="304" arabic-form="medial" d="M173 55l-59 -57l-61 57l61 57zM300 55l-59 -57l-61 57l61 57zM286 514c30 -41.3333 45 -88 45 -140v-69c0 -69.3333 -17.3333 -104.333 -52 -105h-252c-32.6667 0 -49 26 -49 78h320v10c0 64 -18.6667 113.667 -56 149z" />
<glyph glyph-name="uniFDF2" unicode="ï·²" horiz-adv-x="640" arabic-form="isolated" d="M918 261c30 0 45 29 45 87c0 73.3333 -3.33331 125 -10 155l-29 132l55 29l19 -162c4 -43.3333 6.66669 -92.6667 8 -148v-20c0 -65.3333 -4.33331 -109 -13 -131s-28.3333 -33 -59 -33c-72.6667 1.33333 -112.333 26.3333 -119 75c-8 -50 -45 -75 -111 -75 c-40 0 -74.3333 38 -103 114l-34 -30c-36 0.666672 -65 7.66666 -87 21s-33 30 -33 50c0 15.3333 3.16666 29.3333 9.5 42s16.5 24.1667 30.5 34.5s25.1667 18 33.5 23s21.6667 11.6667 40 20s27.8333 12.5 28.5 12.5v45l31 34c2 -51.3333 4.16669 -92.1667 6.5 -122.5 s5.66669 -57.1667 10 -80.5s10.6667 -40.1667 19 -50.5s18.1667 -17.8333 29.5 -22.5c11.3333 -4.66667 26 -7 44 -7c27.3333 0 44.1667 4.5 50.5 13.5s9.5 27.8333 9.5 56.5c0 96 -8 186.333 -24 271l55 41c2 -156.667 11.3333 -270.667 28 -342c5.33331 -22 23 -33 53 -33 c1.33331 0 3.33331 0.166656 6 0.5s5 0.5 7 0.5h4zM483 341c9.33334 -15.3333 19.8333 -25.6667 31.5 -31c11.6667 -5.33334 29.8333 -8 54.5 -8c10.6667 0 18.3333 0.333344 23 1v107c-60.6667 -22.6667 -97 -45.6667 -109 -69zM786 782c1.33331 0 5 -5 11 -15 s13.3333 -15 22 -15c9.33331 6 14 14 14 24c0 5.33331 -1 10.3333 -3 15c2 4 4 6 6 6c2 0.666687 4.33331 -2.66669 7 -10s4 -19.6667 4 -37c0 -10.6667 -1.83331 -18 -5.5 -22s-10.5 -6 -20.5 -6c-7.33331 0 -17 1.66669 -29 5c-11.3333 -14 -21.6667 -21 -31 -21 c-22.6667 0 -34 13.6667 -34 41c0 12 0.666687 22 2 30h2c2 0.666687 3.66669 -0.666687 5 -4s2.33331 -7 3 -11s2.16669 -7.83331 4.5 -11.5s5.5 -5.5 9.5 -5.5c4.66669 0 11 2.16669 19 6.5s12 10.5 12 18.5c0 3.33331 -0.333313 6 -1 8 c0.666687 1.33331 1.66669 2.66669 3 4zM790 853c-2.66669 20 -12 42.3333 -28 67l28 30c3.33331 -18.6667 5 -37.6667 5 -57c0 -18 -1.66669 -31.3333 -5 -40z" />
<glyph glyph-name="uniFDFC" unicode="ï·¼" horiz-adv-x="837" arabic-form="isolated" d="M600 292c16 -20 26.6667 -38.3333 32 -55s8 -43.3333 8 -80v-84h-162c-24.6667 0 -41.8333 16.1667 -51.5 48.5c-9.66666 32.3333 -15.5 78.6667 -17.5 139c-2 60.3333 -4.66666 99.8333 -8 118.5c-5.33334 27.3333 -15.3333 48 -30 62l42 67 c12.6667 -38 20.3333 -90.6667 23 -158l6 -154c5.33334 -42 17.3333 -63 36 -63h137c0 23.3333 -2.5 41.3333 -7.5 54s-16.5 29.3333 -34.5 50zM812 9c0 -33.3333 -19.8333 -68.8333 -59.5 -106.5c-39.6667 -37.6667 -75.8333 -56.5 -108.5 -56.5 c-26.6667 0 -52 4.66667 -76 14l-73 28l5 13c45.3333 -8.66666 76 -13 92 -13c44 0 87.6667 19 131 57c42.6667 36.6667 64 71.6667 64 105c0 34 -17.3333 69.3333 -52 106l20 54c38 -34.6667 57 -73.6667 57 -117v-84zM638 5l-27 -49l-55 30l26 48zM560 -25l-27 -50l-55 29 l25 49zM322 415c22.6667 -142 34 -239.667 34 -293c0 -52 -16 -88 -48 -108s-78.6667 -30 -140 -30c-94.6667 0 -142 34.6667 -142 104c0 46 19.6667 104.667 59 176l11 -6c-29.3333 -53.3333 -44 -96.6667 -44 -130c0 -56.6667 38.3333 -85 115 -85 c36.6667 0 72.6667 6.66667 108 20c35.3333 13.3333 53 30.6667 53 52c0 43.3333 -14 148.333 -42 315l-15 8v8c0 26 6 51 18 75h6c0.666656 -14.6667 6 -24 16 -28l40 -18c0 -20 -3 -42 -9 -66z" />
<glyph glyph-name="uniFE70" unicode="ï¹°" arabic-form="isolated" d="M190 1006l-78.5 -38c-19 -9.33331 -32.6667 -18.5 -41 -27.5c-8.33333 -9 -13.8333 -21.1667 -16.5 -36.5l151 74c15.3333 6.66669 26 14 32 22s10 19.6667 12 35zM190 916l-78.5 -38c-19 -9.33331 -32.6667 -18.5 -41 -27.5c-8.33333 -9 -13.8333 -21.1667 -16.5 -36.5 l151 74c15.3333 6.66669 26 14 32 22s10 19.6667 12 35z" />
<glyph glyph-name="uniFE74" unicode="ï¹´" arabic-form="isolated" d="M180 -153l-76 -37c-19.3333 -9.33333 -33.5 -18.8333 -42.5 -28.5s-14.8333 -22.1667 -17.5 -37.5l151 74c15.3333 6.66667 26 14 32 22s10 19.6667 12 35zM180 -63l-76 -37c-19.3333 -9.33334 -33.5 -18.8333 -42.5 -28.5c-9 -9.66667 -14.8333 -22.1667 -17.5 -37.5 l151 74c15.3333 6.66666 26 14 32 22s10 19.6667 12 35z" />
<glyph glyph-name="uniFE76" unicode="ï¹¶" arabic-form="isolated" d="M190 1006l-78.5 -38c-19 -9.33331 -32.6667 -18.5 -41 -27.5c-8.33333 -9 -13.8333 -21.1667 -16.5 -36.5l151 74c15.3333 6.66669 26 14 32 22s10 19.6667 12 35z" />
<glyph glyph-name="uniFE78" unicode="ﹸ" arabic-form="isolated" d="M219 1010c16 -7.33331 26 -13 30 -17s6 -9.33331 6 -16c0 -7.33331 -2 -15.6667 -6 -25l-50 23c-22.6667 -42.6667 -65 -76 -127 -100h-21c47.3333 26 88.6667 63.3333 124 112l-34 28c-9.33333 8.66669 -14 20.3334 -14 35c0 23.3334 8.66667 43.1666 26 59.5 s34.3333 24.5 51 24.5c20.6667 0 31 -14 31 -42c0 -19.3334 -5.33333 -46.6666 -16 -82zM201 1052c0 12 -1.66667 20.3334 -5 25s-10.3333 7 -21 7c-9.33333 0 -14 -5.33337 -14 -16c0 -8.66663 13 -22.6666 39 -42c0.666672 6.66663 1 15.3334 1 26z" />
<glyph glyph-name="uniFE7A" unicode="ﹺ" arabic-form="isolated" d="M180 -153l-76 -37c-19.3333 -9.33333 -33.5 -18.8333 -42.5 -28.5s-14.8333 -22.1667 -17.5 -37.5l151 74c15.3333 6.66667 26 14 32 22s10 19.6667 12 35z" />
<glyph glyph-name="uniFE7C" unicode="ï¹¼" arabic-form="isolated" d="M250 1011c-0.666672 -8 -5.83333 -18.1667 -15.5 -30.5s-21.1667 -18.5 -34.5 -18.5c-3.33333 0 -9 1.33331 -17 4c-12 -30 -29 -45 -51 -45c-12.6667 0 -23.1667 5.16669 -31.5 15.5s-12.5 23.5 -12.5 39.5c0 9.33331 1.66666 21.6667 5 37h7 c-3.33334 -12 -5 -21.3333 -5 -28c0 -10 2.66666 -18 8 -24s12.3333 -9 21 -9c4.66667 0 8.5 0.666687 11.5 2s7.83333 6 14.5 14s14.6667 20.3333 24 37c7.33333 -9.33331 14.6667 -14 22 -14s15 4.33331 23 13s12 17 12 25c0 14 -7.66667 25.6666 -23 35l6 12 c24 -33.3334 36 -55 36 -65z" />
<glyph glyph-name="uniFE81" unicode="Ø¢" horiz-adv-x="321" arabic-form="isolated" d="M155 1055c10 0 23.5 -0.5 40.5 -1.5s29.8333 -1.5 38.5 -1.5c24 0 42.8333 2.83337 56.5 8.5s35.8333 20.5 66.5 44.5l-17 -55c-12 -19.3334 -27 -32.6667 -45 -40s-46 -11 -84 -11c-3.33333 0 -13.6667 0.333313 -31 1s-33 1 -47 1 c-10.6667 -0.666687 -19.8333 -0.5 -27.5 0.5s-19.3333 -2.83331 -35 -11.5c-15.6667 -8.66669 -35.1667 -23.3333 -58.5 -44c22.6667 45.3333 42 74.8333 58 88.5c16 13.6666 44.3333 20.5 85 20.5zM149 154c18 210.667 27 343 27 397c0 56.6667 -3 143 -9 259l42 89 c9.33333 -170 14 -309.333 14 -418c0 -114 -24.6667 -223 -74 -327z" />
<glyph glyph-name="uniFE8C" unicode="ئ" horiz-adv-x="301" arabic-form="medial" d="M175 653c0 14.6667 7.66667 34.6667 23 60s35 38 59 38h5c27.3333 -1.33331 41.6667 -16 43 -44c-12 8 -23 12 -33 12c-12 0 -24 -5.33331 -36 -16s-18 -20 -18 -28c0 -6 4.83333 -14.8333 14.5 -26.5s20.8333 -17.5 33.5 -17.5c13.3333 0 32.3333 3.33331 57 10 c-39.3333 -34 -91.6667 -62.3333 -157 -85c11.3333 22 28.6667 38.3333 52 49c-28.6667 14 -43 30 -43 48zM271 509c28.6667 -42.6667 43 -89.6667 43 -141v-70c0 -70.6667 -16.6667 -106 -50 -106h-240c-30.6667 0 -46 26.3333 -46 79h304v11 c0 64.6667 -17.3333 114.667 -52 150z" />
<glyph glyph-name="uniFE8D" unicode="ا" horiz-adv-x="249" arabic-form="isolated" d="M149 154l13.5 182c4.33333 56 7.33333 93.1667 9 111.5s2.83333 35.6667 3.5 52c0.666672 16.3333 1 33.8333 1 52.5c0 56.6667 -3 143 -9 259l42 89c9.33333 -170 14 -309.667 14 -419c0 -114 -24.6667 -223 -74 -327z" />
<glyph glyph-name="uniFE8E" unicode="ا" horiz-adv-x="275" arabic-form="terminal" d="M215 699c0 -50 -3 -100.5 -9 -151.5s-9 -91.1667 -9 -120.5c0 -30.6667 4 -64 12 -100c7.33333 -30.6667 36.6667 -46 88 -46h5v-81c-58 0 -98.6667 16.3333 -122 49c-23.3333 32.6667 -36.6667 82 -40 148c10.6667 84.6667 16 171.333 16 260 c0 57.3333 -1.66667 106.333 -5 147l47 97c11.3333 -68 17 -135.333 17 -202z" />
<glyph glyph-name="uniFE8F" unicode="ب" horiz-adv-x="950" arabic-form="isolated" d="M644 2l-52 -54l-52 54l52 53zM926 278c0 43.3333 -3 78 -9 104s-11.5 42.3333 -16.5 49s-13.8333 15.3333 -26.5 26l18 64c43.3333 -27.3333 65 -68.6667 65 -124c0 -3.33334 -0.333313 -7.66666 -1 -13s-1 -9.66666 -1 -13v-174h-718c-37.3333 0 -65.1667 7 -83.5 21 s-27.5 39.3333 -27.5 76c0 52 23.3333 119.667 70 203l10 -9c-34.6667 -69.3333 -52 -116.333 -52 -141c0 -24 14 -47 42 -69h730z" />
<glyph glyph-name="uniFE90" unicode="ب" horiz-adv-x="950" arabic-form="terminal" d="M644 2l-52 -54l-52 54l52 53zM926 278c0 43.3333 -3 78 -9 104s-11.5 42.3333 -16.5 49s-13.8333 15.3333 -26.5 26l18 64c43.3333 -27.3333 65 -68.6667 65 -124c0 -3.33334 -0.333313 -7.66666 -1 -13s-1 -9.66666 -1 -13v-174h-718c-37.3333 0 -65.1667 7 -83.5 21 s-27.5 39.3333 -27.5 76c0 52 23.3333 119.667 70 203l10 -9c-34.6667 -69.3333 -52 -116.333 -52 -141c0 -24 14 -47 42 -69h730z" />
<glyph glyph-name="uniFE91" unicode="ب" horiz-adv-x="293" arabic-form="initial" d="M251 29l-67 -69l-68 69l68 68zM274 525c30 -43.3333 45 -92.6667 45 -148v-73c0 -74 -17.3333 -111 -52 -111h-271l2 83h288v11c0 68 -18.3333 120.333 -55 157z" />
<glyph glyph-name="uniFE92" unicode="ب" horiz-adv-x="293" arabic-form="medial" d="M251 29l-67 -69l-68 69l68 68zM274 525c30 -43.3333 45 -92.6667 45 -148v-73c0 -74 -17.3333 -111 -52 -111h-271l2 83h288v11c0 68 -18.3333 120.333 -55 157z" />
<glyph glyph-name="uniFE95" unicode="ت" horiz-adv-x="925" arabic-form="isolated" d="M530 574l-65 -66l-67 66l67 67zM740 574l-65 -66l-67 66l67 67zM895 277c0 52.6667 -3 90.3333 -9 113s-19.6667 43 -41 61l17 61c42 -26 63 -65.6667 63 -119c0 -3.33334 -0.333313 -7.66666 -1 -13s-1 -9.33334 -1 -12v-169h-693 c-34.6667 0 -61.1667 6.83333 -79.5 20.5s-27.5 38.1667 -27.5 73.5c0 50 22.6667 115.333 68 196l9 -8c-33.3333 -66.6667 -50 -112.333 -50 -137c0 -23.3333 13.6667 -45.6667 41 -67h704z" />
<glyph glyph-name="uniFE96" unicode="ت" horiz-adv-x="925" arabic-form="terminal" d="M530 574l-65 -66l-67 66l67 67zM740 574l-65 -66l-67 66l67 67zM895 277c0 52.6667 -3 90.3333 -9 113s-19.6667 43 -41 61l17 61c42 -26 63 -65.6667 63 -119c0 -3.33334 -0.333313 -7.66666 -1 -13s-1 -9.33334 -1 -12v-169h-693 c-34.6667 0 -61.1667 6.83333 -79.5 20.5s-27.5 38.1667 -27.5 73.5c0 50 22.6667 115.333 68 196l9 -8c-33.3333 -66.6667 -50 -112.333 -50 -137c0 -23.3333 13.6667 -45.6667 41 -67h704z" />
<glyph glyph-name="uniFE97" unicode="ت" horiz-adv-x="308" arabic-form="initial" d="M150 689l-57 -58l-59 58l59 59zM295 688l-57 -59l-59 59l59 58zM254 533c29.3333 -44 44 -93.3333 44 -148v-74c0 -74 -17 -111 -51 -111h-251l-8 83h277v15c0 65.3333 -18.3333 116.333 -55 153z" />
<glyph glyph-name="uniFE98" unicode="ت" horiz-adv-x="308" arabic-form="medial" d="M150 689l-57 -58l-59 58l59 59zM295 688l-57 -59l-59 59l59 58zM254 533c29.3333 -44 44 -93.3333 44 -148v-74c0 -74 -17 -111 -51 -111h-251l-8 83h277v15c0 65.3333 -18.3333 116.333 -55 153z" />
<glyph glyph-name="uniFE99" unicode="Ø«" horiz-adv-x="924" arabic-form="isolated" d="M756 543l-64 -66l-67 66l67 67zM531 543l-64 -66l-67 66l67 67zM643 665l-65 -67l-66 67l66 66zM921 275c0 54 -3 92.6667 -9 116s-20 44 -42 62l17 63c43.3333 -27.3333 65 -68.3333 65 -123c0 -3.33334 -0.333313 -7.66666 -1 -13s-1 -9.66666 -1 -13v-173h-713 c-36.6667 0 -64.1667 7 -82.5 21s-27.5 39.3333 -27.5 76c0 52 23.3333 119 70 201l9 -8c-34 -68 -51 -114.667 -51 -140c0 -24 14 -47 42 -69h724z" />
<glyph glyph-name="uniFE9A" unicode="Ø«" horiz-adv-x="924" arabic-form="terminal" d="M756 543l-64 -66l-67 66l67 67zM531 543l-64 -66l-67 66l67 67zM643 665l-65 -67l-66 67l66 66zM921 275c0 54 -3 92.6667 -9 116s-20 44 -42 62l17 63c43.3333 -27.3333 65 -68.3333 65 -123c0 -3.33334 -0.333313 -7.66666 -1 -13s-1 -9.66666 -1 -13v-173h-713 c-36.6667 0 -64.1667 7 -82.5 21s-27.5 39.3333 -27.5 76c0 52 23.3333 119 70 201l9 -8c-34 -68 -51 -114.667 -51 -140c0 -24 14 -47 42 -69h724z" />
<glyph glyph-name="uniFE9B" unicode="Ø«" horiz-adv-x="298" arabic-form="initial" d="M163 675l-61 -61l-61 61l61 62zM293 673l-60 -61l-62 61l62 62zM230 794l-61 -62l-61 62l61 61zM264 532c30 -43.3333 45 -92.6667 45 -148v-73c0 -74 -17.3333 -111 -52 -111h-251l-8 83h278v11c0 68 -18.3333 120.333 -55 157z" />
<glyph glyph-name="uniFE9C" unicode="Ø«" horiz-adv-x="298" arabic-form="medial" d="M163 675l-61 -61l-61 61l61 62zM293 673l-60 -61l-62 61l62 62zM230 794l-61 -62l-61 62l61 61zM264 532c30 -43.3333 45 -92.6667 45 -148v-73c0 -74 -17.3333 -111 -52 -111h-251l-8 83h278v11c0 68 -18.3333 120.333 -55 157z" />
<glyph glyph-name="uniFE9D" unicode="ج" horiz-adv-x="750" arabic-form="isolated" d="M330 491c10.6667 0 47.6667 -5.5 111 -16.5s132 -16.5 206 -16.5l88 2l-20 -63h-5c-116 0 -213.833 -17 -293.5 -51s-144.167 -86.6667 -193.5 -158c-36 -50.6667 -54 -103.333 -54 -158c0 -23.3333 2.83333 -45.8333 8.5 -67.5c5.66667 -21.6667 15 -43 28 -64 s32.1667 -37.8333 57.5 -50.5c25.3333 -12.6667 55.6667 -19 91 -19c72.6667 0 171.667 15.6667 297 47l48 -47c-104.667 -32.6667 -211 -51 -319 -55h-26c-88 9.33333 -147.333 35.3333 -178 78c-30 40.6667 -45 68 -45 82c-4.66666 14 -7 31.6667 -7 53 c0 45.3333 10.5 87.6667 31.5 127c21 39.3333 52.1667 84 93.5 134c95.3333 78.6667 174.333 126.667 237 144c-37.3333 10 -73.5 19 -108.5 27s-70.1667 12 -105.5 12c-34.6667 0 -56 -5.66666 -64 -17l-27 -10c30.6667 32 56 54.5 76 67.5s44.3333 19.5 73 19.5zM497 104 l-53 -53l-52 53l52 51z" />
<glyph glyph-name="uniFE9E" unicode="ج" horiz-adv-x="750" arabic-form="terminal" d="M497 84l-53 -53l-52 53l52 52zM778 192h-45c-43.3333 4 -71.1667 20.8333 -83.5 50.5c-12.3333 29.6667 -18.8333 78.5 -19.5 146.5l8 -10c4 -23.3333 7.16669 -39.8333 9.5 -49.5s6.5 -20 12.5 -31s14 -18.1667 24 -21.5s23.6667 -5 41 -5h56zM337 494 c9.33334 0 46.3333 -5.5 111 -16.5c64.6667 -11 136.333 -16.5 215 -16.5l91 1l-21 -63h-5c-119.333 0 -220 -17 -302 -51s-148.333 -87 -199 -159c-36.6667 -52 -55 -104.667 -55 -158c0 -18 1.66667 -35.6667 5 -53c3.33333 -17.3333 9.33333 -35.3333 18 -54 c8.66667 -18.6667 19.8333 -35 33.5 -49s32 -25.5 55 -34.5s49.1667 -13.5 78.5 -13.5c74.6667 0 180.333 15.6667 317 47l37 -48c-108 -32.6667 -217 -51 -327 -55h-28c-90 9.33333 -151 35.3333 -183 78c-30.6667 41.3333 -46 69.3333 -46 84 c-4.66666 13.3333 -7 31 -7 53c0 45.3333 10.6667 88.1667 32 128.5c21.3333 40.3333 53.3333 85.1667 96 134.5c98.6667 80.6667 180 129.333 244 146c-16 3.33334 -39.5 9 -70.5 17s-57 13.5 -78 16.5s-44.8333 4.5 -71.5 4.5c-35.3333 0 -57 -5.66666 -65 -17l-28 -10 c22 22 38.6667 37.8333 50 47.5s26.1667 18.8333 44.5 27.5s37.8333 13 58.5 13z" />
<glyph glyph-name="uniFE9F" unicode="ج" horiz-adv-x="574" arabic-form="initial" d="M128 383c68.6667 50.6667 117.667 76 147 76c12.6667 0 33.5 -8.83334 62.5 -26.5s54.8333 -36.5 77.5 -56.5c60.6667 -64 123.333 -97.3333 188 -100l2 -76h-585c-15.3333 0 -23 24.6667 -23 74l458 2l-126 88c-13.3333 8.66666 -31 18.1667 -53 28.5 s-39.6667 15.5 -53 15.5c-10 0 -41.6667 -8.33334 -95 -25zM357 44l-53 -53l-52 53l52 52z" />
<glyph glyph-name="uniFEA0" unicode="ج" horiz-adv-x="574" arabic-form="medial" d="M128 383c68.6667 50.6667 117.667 76 147 76c12.6667 0 33.5 -8.83334 62.5 -26.5s54.8333 -36.5 77.5 -56.5c60.6667 -64 123.333 -97.3333 188 -100l2 -76h-585c-15.3333 0 -23 24.6667 -23 74l458 2l-126 88c-13.3333 8.66666 -31 18.1667 -53 28.5 s-39.6667 15.5 -53 15.5c-10 0 -41.6667 -8.33334 -95 -25zM357 44l-53 -53l-52 53l52 52z" />
<glyph glyph-name="uniFEA1" unicode="Ø" horiz-adv-x="748" arabic-form="isolated" d="M330 505c8 0 44.5 -5.33334 109.5 -16s134.833 -16 209.5 -16l89 1l-20 -62h-5c-117.333 0 -216 -16.6667 -296 -50s-145 -85.3333 -195 -156c-36 -50 -54 -101.667 -54 -155c0 -22.6667 2.83333 -44.6667 8.5 -66c5.66667 -21.3333 15 -42.5 28 -63.5 s32.3333 -38 58 -51c25.6667 -13 56.1667 -19.5 91.5 -19.5c76 0 179.333 15 310 45l37 -46c-106 -32 -212.667 -50 -320 -54h-27c-88.6667 9.33333 -148.667 35 -180 77c-30 39.3333 -45 66.6667 -45 82c-4.66666 13.3333 -7 30.6667 -7 52 c0 44.6667 10.6667 86.8333 32 126.5c21.3333 39.6667 52.6667 83.5 94 131.5c96.6667 78.6667 176.333 126.333 239 143c-32.6667 8.66666 -68.1667 17 -106.5 25s-75.1667 12 -110.5 12c-33.3333 0 -54.3333 -5.33334 -63 -16l-27 -10 c34.6667 34.6667 61.8333 57.6667 81.5 69c19.6667 11.3333 42.5 17 68.5 17z" />
<glyph glyph-name="uniFEA2" unicode="Ø" horiz-adv-x="750" arabic-form="terminal" d="M638 389c4 -23.3333 7.16669 -39.8333 9.5 -49.5s6.5 -20 12.5 -31s14 -18.1667 24 -21.5s23.6667 -5 41 -5h56l-3 -80h-45c-18 2 -33.6667 7.16667 -47 15.5s-23.5 18 -30.5 29s-12.5 25.1667 -16.5 42.5s-6.5 33.1667 -7.5 47.5s-1.5 31.8333 -1.5 52.5h8zM337 494 c9.33334 0 46.3333 -5.5 111 -16.5c64.6667 -11 136.333 -16.5 215 -16.5l91 1l-21 -63h-5c-119.333 0 -220 -17 -302 -51s-148.333 -87 -199 -159c-36.6667 -52 -55 -104.667 -55 -158c0 -22.6667 2.83333 -45 8.5 -67s15.1667 -43.8333 28.5 -65.5s33 -39 59 -52 s57 -19.5 93 -19.5c74 0 176.667 15.6667 308 47l37 -58c-102 -26 -207.667 -41 -317 -45h-28c-90 9.33333 -151 35.3333 -183 78c-30.6667 41.3333 -46 69.3333 -46 84c-4.66666 13.3333 -7 31 -7 53c0 45.3333 10.6667 88.1667 32 128.5 c21.3333 40.3333 53.3333 85.1667 96 134.5c98.6667 80.6667 180 129.333 244 146c-16 3.33334 -39.5 9 -70.5 17s-57 13.5 -78 16.5s-44.8333 4.5 -71.5 4.5c-35.3333 0 -57 -5.66666 -65 -17l-28 -10c22 22 38.6667 37.8333 50 47.5s26.1667 18.8333 44.5 27.5 s37.8333 13 58.5 13z" />
<glyph glyph-name="uniFEA3" unicode="Ø" horiz-adv-x="600" arabic-form="initial" d="M148 353c18.6667 25.3333 32.6667 43.6667 42 55s22 22.6667 38 34s32 17 48 17c19.3333 0 47.6667 -12.8333 85 -38.5s75.6667 -57.1667 115 -94.5c20 -23.3333 62.6667 -40 128 -50l2 -76h-586c-15.3333 0 -23 24.6667 -23 74l459 2l-126 88 c-15.3333 10.6667 -32 16 -50 16c-23.3333 0 -62 -10 -116 -30z" />
<glyph glyph-name="uniFEA4" unicode="Ø" horiz-adv-x="600" arabic-form="medial" d="M148 353c18.6667 25.3333 32.6667 43.6667 42 55s22 22.6667 38 34s32 17 48 17c19.3333 0 47.6667 -12.8333 85 -38.5s75.6667 -57.1667 115 -94.5c20 -23.3333 62.6667 -40 128 -50l2 -76h-586c-15.3333 0 -23 24.6667 -23 74l459 2l-126 88 c-15.3333 10.6667 -32 16 -50 16c-23.3333 0 -62 -10 -116 -30z" />
<glyph glyph-name="uniFEA5" unicode="Ø®" horiz-adv-x="701" arabic-form="isolated" d="M308 503c11.3333 0 46.6667 -5.16666 106 -15.5s124.333 -15.5 195 -15.5l84 2l-19 -59h-5c-216.667 0 -371 -65 -463 -195c-34 -46.6667 -51 -95 -51 -145c0 -21.3333 2.66667 -42 8 -62s13.8333 -40 25.5 -60s29.3333 -36.1667 53 -48.5 c23.6667 -12.3333 51.8333 -18.5 84.5 -18.5c70 0 171 19.6667 303 59l29 -60c-100 -30 -200.667 -47 -302 -51h-25c-84.6667 8.66667 -141.333 32.6667 -170 72c-28 38 -42 64 -42 78c-4.66666 12 -7 28.3333 -7 49c0 44 10.1667 84.6667 30.5 122 c20.3333 37.3333 49.8333 78 88.5 122c91.3333 73.3333 166.333 118 225 134c-32 8.66666 -66.1667 16.6667 -102.5 24s-70.8333 11 -103.5 11c-30.6667 0 -50 -5 -58 -15l-25 -9c30 30 54.3333 51 73 63c18.6667 12 41.3333 18 68 18zM379 680l-44 -44l-43 44l43 43z" />
<glyph glyph-name="uniFEA6" unicode="Ø®" horiz-adv-x="775" arabic-form="terminal" d="M474 696l-54 -54l-53 54l53 53zM790 201h-45c-40.6667 4 -68.3333 18.6667 -83 44c-14.6667 25.3333 -22.3333 74.3333 -23 147l9 -11c6.66669 -44 14.8333 -73 24.5 -87s30.8333 -21 63.5 -21h57zM341 499c10.6667 0 49.3333 -5.66666 116 -17 c66.6667 -11.3333 138.667 -17 216 -17l92 2l-20 -65h-5c-121.333 0 -223.833 -17.5 -307.5 -52.5c-83.6667 -35 -151.833 -88.8333 -204.5 -161.5c-36.6667 -52.6667 -55 -106.667 -55 -162c0 -17.3333 1.33333 -34.3333 4 -51c2.66667 -16.6667 8.33333 -34.8333 17 -54.5 c8.66667 -19.6667 20 -36.6667 34 -51c14 -14.3333 33.1667 -26.3333 57.5 -36s52.5 -14.5 84.5 -14.5c78.6667 0 185.667 16.3333 321 49l36 -51c-112 -33.3333 -223 -52 -333 -56h-28c-91.3333 9.33333 -153.667 36 -187 80c-31.3333 42 -47 70.3333 -47 85 c-4.66666 14 -7 32.3333 -7 55c0 46.6667 11 90.6667 33 132c22 41.3333 54.6667 86.6667 98 136c99.3333 81.3333 182 131 248 149c-16 3.33334 -39.1667 8.83334 -69.5 16.5s-56.8333 13.3333 -79.5 17s-48 5.5 -76 5.5c-35.3333 0 -57.3333 -5.66666 -66 -17l-28 -11 c23.3333 23.3333 40.8333 40 52.5 50s26.6667 19.1667 45 27.5s37.8333 12.5 58.5 12.5z" />
<glyph glyph-name="uniFEA7" unicode="Ø®" horiz-adv-x="596" arabic-form="initial" d="M320 618l-50 -49l-48 49l48 48zM147 351c9.33333 13.3333 19.1667 26.3333 29.5 39s20 23.8333 29 33.5s19.3333 17.5 31 23.5s23.8333 9 36.5 9c38 0 104 -44 198 -132c19.3333 -22.6667 62 -39 128 -49l1 -75h-580c-15.3333 0 -23 24.3333 -23 73l455 2l-91 64.5 c-22 15 -38.6667 25.1667 -50 30.5s-22.6667 8 -34 8c-23.3333 0 -61.6667 -10 -115 -30z" />
<glyph glyph-name="uniFEA8" unicode="Ø®" horiz-adv-x="596" arabic-form="medial" d="M320 618l-50 -49l-48 49l48 48zM147 351c9.33333 13.3333 19.1667 26.3333 29.5 39s20 23.8333 29 33.5s19.3333 17.5 31 23.5s23.8333 9 36.5 9c38 0 104 -44 198 -132c19.3333 -22.6667 62 -39 128 -49l1 -75h-580c-15.3333 0 -23 24.3333 -23 73l455 2l-91 64.5 c-22 15 -38.6667 25.1667 -50 30.5s-22.6667 8 -34 8c-23.3333 0 -61.6667 -10 -115 -30z" />
<glyph glyph-name="uniFEA9" unicode="د" horiz-adv-x="397" arabic-form="isolated" d="M382 278c-4 16.6667 -6.5 31 -7.5 43s-3.16666 23.3333 -6.5 34s-5.83334 19.6667 -7.5 27s-5 14.8333 -10 22.5s-9.66666 14.1667 -14 19.5s-10.8333 11.3333 -19.5 18s-17.6667 13.1667 -27 19.5l-36 23.5l2 79c14.6667 -4.66669 26.6667 -9 36 -13 s22.6667 -12.6667 40 -26c17.3333 -13.3333 31.6667 -29.3333 43 -48s22.1667 -45.3333 32.5 -80s16.8333 -74.3333 19.5 -119c0 -52 -18.6667 -78 -56 -78h-202c-36.6667 0 -55 32 -55 96v21l12 1c2.66667 -25.3333 12 -38.6667 28 -40h228z" />
<glyph glyph-name="uniFEAA" unicode="د" horiz-adv-x="397" arabic-form="terminal" d="M382 278c-4 16.6667 -6.5 31 -7.5 43s-3.16666 23.3333 -6.5 34s-5.83334 19.6667 -7.5 27s-5 14.8333 -10 22.5s-9.66666 14.1667 -14 19.5s-10.8333 11.3333 -19.5 18s-17.6667 13.1667 -27 19.5l-36 23.5l2 79c14.6667 -4.66669 26.6667 -9 36 -13 s22.6667 -12.6667 40 -26c17.3333 -13.3333 31.6667 -29.3333 43 -48s22.1667 -45.3333 32.5 -80s16.8333 -74.3333 19.5 -119c0 -52 -18.6667 -78 -56 -78h-202c-36.6667 0 -55 32 -55 96v21l12 1c2.66667 -25.3333 12 -38.6667 28 -40h228z" />
<glyph glyph-name="uniFEAB" unicode="ذ" horiz-adv-x="399" arabic-form="isolated" d="M303 725l-57 -57l-55 57l55 55zM378 277c-6 23.3333 -9.33334 42.3333 -10 57s-3.5 28.3333 -8.5 41l-12 30c-3 7.33334 -9.33334 15.3333 -19 24s-19.6667 16.6667 -30 24s-25.8333 17 -46.5 29l2 78c14 -4.66669 25.6667 -9 35 -13s22.6667 -12.6667 40 -26 c17.3333 -13.3333 31.5 -29.1667 42.5 -47.5s21.6667 -44.6667 32 -79s16.8333 -73.5 19.5 -117.5c0 -51.3333 -18.3333 -77 -55 -77h-200c-36 0 -54 31.6667 -54 95v20l12 2c2.66667 -25.3333 12 -38.6667 28 -40h224z" />
<glyph glyph-name="uniFEAC" unicode="ذ" horiz-adv-x="399" arabic-form="terminal" d="M303 725l-57 -57l-55 57l55 55zM378 277c-6 23.3333 -9.33334 42.3333 -10 57s-3.5 28.3333 -8.5 41l-12 30c-3 7.33334 -9.33334 15.3333 -19 24s-19.6667 16.6667 -30 24s-25.8333 17 -46.5 29l2 78c14 -4.66669 25.6667 -9 35 -13s22.6667 -12.6667 40 -26 c17.3333 -13.3333 31.5 -29.1667 42.5 -47.5s21.6667 -44.6667 32 -79s16.8333 -73.5 19.5 -117.5c0 -51.3333 -18.3333 -77 -55 -77h-200c-36 0 -54 31.6667 -54 95v20l12 2c2.66667 -25.3333 12 -38.6667 28 -40h224z" />
<glyph glyph-name="uniFEAD" unicode="ر" horiz-adv-x="328" arabic-form="isolated" d="M325 447c13.3333 -46 20 -95.3333 20 -148c0 -14.6667 -1.66666 -34 -5 -58s-5.33334 -39.3333 -6 -46l-128 -241c-32 -48 -66.3333 -76 -103 -84l-104 -23l5 21c55.3333 32.6667 90.6667 59.6667 106 81l69 100c46 66.6667 75.1667 113.5 87.5 140.5 c12.3333 27 18.5 53.1667 18.5 78.5c0 30 -6 74 -18 132z" />
<glyph glyph-name="uniFEAE" unicode="ر" horiz-adv-x="328" arabic-form="terminal" d="M325 447c13.3333 -46 20 -95.3333 20 -148c0 -14.6667 -1.66666 -34 -5 -58s-5.33334 -39.3333 -6 -46l-128 -241c-32 -48 -66.3333 -76 -103 -84l-104 -23l5 21c55.3333 32.6667 90.6667 59.6667 106 81l69 100c46 66.6667 75.1667 113.5 87.5 140.5 c12.3333 27 18.5 53.1667 18.5 78.5c0 30 -6 74 -18 132z" />
<glyph glyph-name="uniFEAF" unicode="ز" horiz-adv-x="331" arabic-form="isolated" d="M326 601l-56 -56l-59 56l59 53zM325 447c13.3333 -46 20 -95.3333 20 -148c0 -14.6667 -1.66666 -34 -5 -58s-5.33334 -39.3333 -6 -46l-128 -241c-28.6667 -35.3333 -63 -63.3333 -103 -84l-104 -23l5 21c54 38.6667 89.3333 67.3333 106 86 c48.6667 58 90 116.5 124 175.5s51 105.167 51 138.5c0 30 -6 74 -18 132z" />
<glyph glyph-name="uniFEB0" unicode="ز" horiz-adv-x="331" arabic-form="terminal" d="M326 648l-63 -63l-67 63l67 60zM325 447c13.3333 -46 20 -95.3333 20 -148c0 -14.6667 -1.66666 -34 -5 -58s-5.33334 -39.3333 -6 -46l-128 -241c-28.6667 -35.3333 -63 -63.3333 -103 -84l-104 -23l5 21c54 38.6667 89.3333 67.3333 106 86 c48.6667 58 90 116.5 124 175.5s51 105.167 51 138.5c0 30 -6 74 -18 132z" />
<glyph glyph-name="uniFEB1" unicode="س" horiz-adv-x="951" arabic-form="isolated" d="M882 274c35.3333 0 53 6.33334 53 19c0 17.3333 -13.3333 56 -40 116l23 36c30 -67.3333 45 -118.333 45 -153c0 -36.6667 -6.83331 -60.5 -20.5 -71.5s-34.1667 -16.5 -61.5 -16.5h-19c-21.3333 1.33333 -43 12 -65 32c-16.6667 -22.6667 -37 -34 -61 -34 c-38.6667 0 -74.3333 -0.333328 -107 -1c0 -30 -2.66669 -56.5 -8 -79.5s-11.5 -41 -18.5 -54s-17.6667 -24.8333 -32 -35.5c-14.3333 -10.6667 -26.1667 -18.1667 -35.5 -22.5c-9.33331 -4.33333 -23.6667 -10.1667 -43 -17.5c-42 -16.6667 -92.6667 -25 -152 -25h-33 c-22.6667 1.33333 -42.8333 4 -60.5 8c-17.6667 4 -36.8333 11 -57.5 21s-36.6667 25.8333 -48 47.5c-11.3333 21.6667 -17 48.1667 -17 79.5c0 42.6667 27.3333 117.333 82 224l13 -23c-44.6667 -69.3333 -67 -122 -67 -158c0 -48 9.66667 -80.8333 29 -98.5 c19.3333 -17.6667 52.3333 -30.1667 99 -37.5c17.3333 -3.33333 38.6667 -5 64 -5c42 0 86.1667 6.83333 132.5 20.5c46.3333 13.6667 74.5 27.1667 84.5 40.5c20 32 30 71.6667 30 119s-14 87 -42 119l33 72c21.3333 -37.3333 34.3333 -77.3333 39 -120h107 c26.6667 0 40 23 40 69v15l13 7c8.66669 -36.6667 19 -61.3333 31 -74s35.3333 -19 70 -19z" />
<glyph glyph-name="uniFEB2" unicode="س" horiz-adv-x="951" arabic-form="terminal" d="M882 274c35.3333 0 53 6.33334 53 19c0 17.3333 -13.3333 56 -40 116l23 36c30 -67.3333 45 -118.333 45 -153c0 -36.6667 -6.83331 -60.5 -20.5 -71.5s-34.1667 -16.5 -61.5 -16.5h-19c-21.3333 1.33333 -43 12 -65 32c-16.6667 -22.6667 -37 -34 -61 -34 c-38.6667 0 -74.3333 -0.333328 -107 -1c0 -30 -2.66669 -56.5 -8 -79.5s-11.5 -41 -18.5 -54s-17.6667 -24.8333 -32 -35.5c-14.3333 -10.6667 -26.1667 -18.1667 -35.5 -22.5c-9.33331 -4.33333 -23.6667 -10.1667 -43 -17.5c-42 -16.6667 -92.6667 -25 -152 -25h-33 c-22.6667 1.33333 -42.8333 4 -60.5 8c-17.6667 4 -36.8333 11 -57.5 21s-36.6667 25.8333 -48 47.5c-11.3333 21.6667 -17 48.1667 -17 79.5c0 42.6667 27.3333 117.333 82 224l13 -23c-44.6667 -69.3333 -67 -122 -67 -158c0 -48 9.66667 -80.8333 29 -98.5 c19.3333 -17.6667 52.3333 -30.1667 99 -37.5c17.3333 -3.33333 38.6667 -5 64 -5c42 0 86.1667 6.83333 132.5 20.5c46.3333 13.6667 74.5 27.1667 84.5 40.5c20 32 30 71.6667 30 119s-14 87 -42 119l33 72c21.3333 -37.3333 34.3333 -77.3333 39 -120h107 c26.6667 0 40 23 40 69v15l13 7c8.66669 -36.6667 19 -61.3333 31 -74s35.3333 -19 70 -19z" />
<glyph glyph-name="uniFEB3" unicode="س" horiz-adv-x="600" arabic-form="initial" d="M523 272c22.6667 0 37.8333 2 45.5 6s11.5 12.3333 11.5 25c0 17.3333 -17.3333 53 -52 107l23 54c38 -54 57 -95.6667 57 -125v-83c0 -24 -4 -39.3333 -12 -46s-26.3333 -10 -55 -10c-30 0 -55 12.6667 -75 38c-22 -25.3333 -41.3333 -38 -58 -38h-83 c-19.3333 0 -38 12.6667 -56 38c-18 -25.3333 -37 -38 -57 -38h-197c-10 0 -17 25 -21 75c148 0 228.667 1 242 3c14.6667 2.66666 22 14 22 34c0 14 -5.33333 38.6667 -16 74l14 19c7.33334 -29.3333 12.5 -52.8333 15.5 -70.5s8 -31.1667 15 -40.5 s15.6667 -15.3333 26 -18s26.5 -4 48.5 -4c50.6667 0 76 14.3333 76 43c0 16.6667 -6 40.6667 -18 72l9 18c14 -42.6667 25.5 -73.1667 34.5 -91.5s17.5 -29.8333 25.5 -34.5s19.6667 -7 35 -7z" />
<glyph glyph-name="uniFEB4" unicode="س" horiz-adv-x="600" arabic-form="medial" d="M523 272c22.6667 0 37.8333 2 45.5 6s11.5 12.3333 11.5 25c0 17.3333 -17.3333 53 -52 107l23 54c38 -54 57 -95.6667 57 -125v-83c0 -24 -4 -39.3333 -12 -46s-26.3333 -10 -55 -10c-30 0 -55 12.6667 -75 38c-22 -25.3333 -41.3333 -38 -58 -38h-83 c-19.3333 0 -38 12.6667 -56 38c-18 -25.3333 -37 -38 -57 -38h-197c-10 0 -17 25 -21 75c148 0 228.667 1 242 3c14.6667 2.66666 22 14 22 34c0 14 -5.33333 38.6667 -16 74l14 19c7.33334 -29.3333 12.5 -52.8333 15.5 -70.5s8 -31.1667 15 -40.5 s15.6667 -15.3333 26 -18s26.5 -4 48.5 -4c50.6667 0 76 14.3333 76 43c0 16.6667 -6 40.6667 -18 72l9 18c14 -42.6667 25.5 -73.1667 34.5 -91.5s17.5 -29.8333 25.5 -34.5s19.6667 -7 35 -7z" />
<glyph glyph-name="uniFEB5" unicode="Ø´" horiz-adv-x="949" arabic-form="isolated" d="M876 272c32.6667 0 49 6.66666 49 20c0 17.3333 -13 55 -39 113l23 36c29.3333 -66 44 -116.333 44 -151c0 -33.3333 -6.16669 -56.1667 -18.5 -68.5s-30.5 -18.5 -54.5 -18.5c-4.66669 -0.666672 -10.3333 -0.833328 -17 -0.5s-13.3333 1.16667 -20 2.5 s-14.8333 4.5 -24.5 9.5s-19.5 11.8333 -29.5 20.5c-16.6667 -22 -36.3333 -33 -59 -33c-39.3333 0 -75 -0.333328 -107 -1c0 -36.6667 -3 -67.1667 -9 -91.5c-6 -24.3333 -16.5 -43.8333 -31.5 -58.5c-15 -14.6667 -28.3333 -25.1667 -40 -31.5 c-11.6667 -6.33333 -30.1667 -14.5 -55.5 -24.5c-40 -16.6667 -89.6667 -25 -149 -25h-33c-17.3333 0.666666 -33 2.16667 -47 4.5s-29.8333 6.83333 -47.5 13.5c-17.6667 6.66667 -32.3333 15.1667 -44 25.5c-11.6667 10.3333 -21.6667 25 -30 44s-12.5 41.1667 -12.5 66.5 c0 42 27 115.333 81 220l13 -23c-44 -67.3333 -66 -119 -66 -155v-2c0 -46.6667 9.5 -78.5 28.5 -95.5s51.5 -29.1667 97.5 -36.5c17.3333 -3.33333 38.3333 -5 63 -5c41.3333 0 85.3333 6.83333 132 20.5c46.6667 13.6667 74.3333 27.1667 83 40.5 c19.3333 29.3333 29 69 29 119c0 46 -13.6667 84 -41 114l33 72c20 -37.3333 32.6667 -76.6667 38 -118h106c26.6667 0 40 22.6667 40 68v14l13 7c8 -36.6667 18 -61.1667 30 -73.5s36 -18.5 72 -18.5zM855 553l-47 -45l-49 45l49 45zM774 656l-47 -46l-49 46l49 44z M691 553l-47 -45l-49 45l49 45z" />
<glyph glyph-name="uniFEB6" unicode="Ø´" horiz-adv-x="949" arabic-form="terminal" d="M876 272c32.6667 0 49 6.66666 49 20c0 17.3333 -13 55 -39 113l23 36c29.3333 -66 44 -116.333 44 -151c0 -33.3333 -6.16669 -56.1667 -18.5 -68.5s-30.5 -18.5 -54.5 -18.5c-4.66669 -0.666672 -10.3333 -0.833328 -17 -0.5s-13.3333 1.16667 -20 2.5 s-14.8333 4.5 -24.5 9.5s-19.5 11.8333 -29.5 20.5c-16.6667 -22 -36.3333 -33 -59 -33c-39.3333 0 -75 -0.333328 -107 -1c0 -36.6667 -3 -67.1667 -9 -91.5c-6 -24.3333 -16.5 -43.8333 -31.5 -58.5c-15 -14.6667 -28.3333 -25.1667 -40 -31.5 c-11.6667 -6.33333 -30.1667 -14.5 -55.5 -24.5c-40 -16.6667 -89.6667 -25 -149 -25h-33c-17.3333 0.666666 -33 2.16667 -47 4.5s-29.8333 6.83333 -47.5 13.5c-17.6667 6.66667 -32.3333 15.1667 -44 25.5c-11.6667 10.3333 -21.6667 25 -30 44s-12.5 41.1667 -12.5 66.5 c0 42 27 115.333 81 220l13 -23c-44 -67.3333 -66 -119 -66 -155v-2c0 -46.6667 9.5 -78.5 28.5 -95.5s51.5 -29.1667 97.5 -36.5c17.3333 -3.33333 38.3333 -5 63 -5c41.3333 0 85.3333 6.83333 132 20.5c46.6667 13.6667 74.3333 27.1667 83 40.5 c19.3333 29.3333 29 69 29 119c0 46 -13.6667 84 -41 114l33 72c20 -37.3333 32.6667 -76.6667 38 -118h106c26.6667 0 40 22.6667 40 68v14l13 7c8 -36.6667 18 -61.1667 30 -73.5s36 -18.5 72 -18.5zM855 553l-47 -45l-49 45l49 45zM774 656l-47 -46l-49 46l49 44z M691 553l-47 -45l-49 45l49 45z" />
<glyph glyph-name="uniFEB7" unicode="Ø´" horiz-adv-x="649" arabic-form="initial" d="M570 280c21.3333 0 37.3333 2 48 6s16 12.6667 16 26c0 20 -19 59.3333 -57 118l24 60c42 -58.6667 63 -104.333 63 -137v-91c0 -26 -4.16669 -42.6667 -12.5 -50s-28.5 -11 -60.5 -11c-32.6667 0 -60 13.6667 -82 41c-24 -27.3333 -45 -41 -63 -41h-91 c-20.6667 0 -41 13.6667 -61 41c-19.3333 -27.3333 -40 -41 -62 -41h-215c-10.6667 0 -18.3333 27.3333 -23 82c162 0 250 1 264 3c16 2.66666 24 15.3333 24 38c0 19.3333 -5.66666 46 -17 80l14 21c8.66666 -32.6667 14.5 -58.5 17.5 -77.5s8.5 -33.5 16.5 -43.5 s17.5 -16.5 28.5 -19.5s28.8333 -4.5 53.5 -4.5c55.3333 0 83 16 83 48c0 17.3333 -6.66666 43.3333 -20 78l10 19c20 -62.6667 35.3333 -102.5 46 -119.5c10.6667 -17 29.3333 -25.5 56 -25.5zM585 648l-55 -53l-56 53l56 51zM491 767l-55 -53l-56 53l56 51zM395 648 l-54 -53l-57 53l57 51z" />
<glyph glyph-name="uniFEB8" unicode="Ø´" horiz-adv-x="649" arabic-form="medial" d="M570 280c21.3333 0 37.3333 2 48 6s16 12.6667 16 26c0 20 -19 59.3333 -57 118l24 60c42 -58.6667 63 -104.333 63 -137v-91c0 -26 -4.16669 -42.6667 -12.5 -50s-28.5 -11 -60.5 -11c-32.6667 0 -60 13.6667 -82 41c-24 -27.3333 -45 -41 -63 -41h-91 c-20.6667 0 -41 13.6667 -61 41c-19.3333 -27.3333 -40 -41 -62 -41h-215c-10.6667 0 -18.3333 27.3333 -23 82c162 0 250 1 264 3c16 2.66666 24 15.3333 24 38c0 19.3333 -5.66666 46 -17 80l14 21c8.66666 -32.6667 14.5 -58.5 17.5 -77.5s8.5 -33.5 16.5 -43.5 s17.5 -16.5 28.5 -19.5s28.8333 -4.5 53.5 -4.5c55.3333 0 83 16 83 48c0 17.3333 -6.66666 43.3333 -20 78l10 19c20 -62.6667 35.3333 -102.5 46 -119.5c10.6667 -17 29.3333 -25.5 56 -25.5zM585 648l-55 -53l-56 53l56 51zM491 767l-55 -53l-56 53l56 51zM395 648 l-54 -53l-57 53l57 51z" />
<glyph glyph-name="uniFEB9" unicode="ص" horiz-adv-x="949" arabic-form="isolated" d="M832 466c13.3333 0 26 -1.66666 38 -5s24.3333 -9.33334 37 -18s22.6667 -22.3333 30 -41s11 -41 11 -67c0 -22 -2.33331 -44.3333 -7 -67l-15 -34v-1c0 -20.6667 -62.3333 -31 -187 -31l-150 -1c-0.666687 -44.6667 -7.16669 -82.1667 -19.5 -112.5 c-12.3333 -30.3333 -30.3333 -53.3333 -54 -69c-23.6667 -15.6667 -49.1667 -26.6667 -76.5 -33c-27.3333 -6.33333 -59.6667 -9.5 -97 -9.5c-141.333 0 -212 59 -212 177c2.66667 74 14.3333 139.667 35 197l18 -6c-18.6667 -52.6667 -28 -103.333 -28 -152 c0 -50.6667 13.5 -89.8333 40.5 -117.5c27 -27.6667 76.1667 -42.5 147.5 -44.5c43.3333 1.33333 80.3333 7.5 111 18.5s53.5 25.1667 68.5 42.5s25.6667 34.8333 32 52.5c6.33331 17.6667 9.5 36.5 9.5 56.5c0 47.3333 -21 95.3333 -63 144l34 72 c29.3333 -70 49 -113.667 59 -131l120 120c38.6667 36.6667 74.3333 56.6667 107 60h11zM895 323c0 54.6667 -28 82 -84 82c-54.6667 0 -115.667 -43.6667 -183 -131c4 0 10.3333 -0.166656 19 -0.5s15.3333 -0.5 20 -0.5c19.3333 0 74 1.66666 164 5 c42.6667 11.3333 64 26.3333 64 45z" />
<glyph glyph-name="uniFEBA" unicode="ص" horiz-adv-x="949" arabic-form="terminal" d="M832 466c13.3333 0 26 -1.66666 38 -5s24.3333 -9.33334 37 -18s22.6667 -22.3333 30 -41s11 -41 11 -67c0 -22 -2.33331 -44.3333 -7 -67l-15 -34v-1c0 -20.6667 -62.3333 -31 -187 -31l-150 -1c-0.666687 -44.6667 -7.16669 -82.1667 -19.5 -112.5 c-12.3333 -30.3333 -30.3333 -53.3333 -54 -69c-23.6667 -15.6667 -49.1667 -26.6667 -76.5 -33c-27.3333 -6.33333 -59.6667 -9.5 -97 -9.5c-141.333 0 -212 59 -212 177c2.66667 74 14.3333 139.667 35 197l18 -6c-18.6667 -52.6667 -28 -103.333 -28 -152 c0 -50.6667 13.5 -89.8333 40.5 -117.5c27 -27.6667 76.1667 -42.5 147.5 -44.5c43.3333 1.33333 80.3333 7.5 111 18.5s53.5 25.1667 68.5 42.5s25.6667 34.8333 32 52.5c6.33331 17.6667 9.5 36.5 9.5 56.5c0 47.3333 -21 95.3333 -63 144l34 72 c29.3333 -70 49 -113.667 59 -131l120 120c38.6667 36.6667 74.3333 56.6667 107 60h11zM895 323c0 54.6667 -28 82 -84 82c-54.6667 0 -115.667 -43.6667 -183 -131c4 0 10.3333 -0.166656 19 -0.5s15.3333 -0.5 20 -0.5c19.3333 0 74 1.66666 164 5 c42.6667 11.3333 64 26.3333 64 45z" />
<glyph glyph-name="uniFEBB" unicode="ص" horiz-adv-x="823" arabic-form="initial" d="M724 492c74 -2 114.333 -64.6667 121 -188c0 -69.3333 -14.3333 -104 -43 -104h-416c-32 0 -65 16 -99 48c-31.3333 -32 -62.6667 -48 -94 -48h-169c-16 1.33333 -24 25.3333 -24 72h193c15.3333 10 27.5 19.5 36.5 28.5s15.5 20 19.5 33s6.33333 23.1667 7 30.5 c0.666656 7.33334 1.33334 21 2 41l22 22c30 -103.333 78.6667 -155 146 -155h6c55.3333 83.3333 103.833 140.167 145.5 170.5s90.5 46.8333 146.5 49.5zM777 340c0 45.3333 -27.3333 72 -82 80c-30 -2.66666 -57.5 -9.33334 -82.5 -20s-46.6667 -25 -65 -43 s-31.8333 -32.5 -40.5 -43.5c-8.66666 -11 -18.3333 -24.8333 -29 -41.5h263c24 12 36 34.6667 36 68z" />
<glyph glyph-name="uniFEBC" unicode="ص" horiz-adv-x="823" arabic-form="medial" d="M724 492c74 -2 114.333 -64.6667 121 -188c0 -69.3333 -14.3333 -104 -43 -104h-416c-32 0 -65 16 -99 48c-31.3333 -32 -62.6667 -48 -94 -48h-169c-16 1.33333 -24 25.3333 -24 72h193c15.3333 10 27.5 19.5 36.5 28.5s15.5 20 19.5 33s6.33333 23.1667 7 30.5 c0.666656 7.33334 1.33334 21 2 41l22 22c30 -103.333 78.6667 -155 146 -155h6c55.3333 83.3333 103.833 140.167 145.5 170.5s90.5 46.8333 146.5 49.5zM777 340c0 45.3333 -27.3333 72 -82 80c-30 -2.66666 -57.5 -9.33334 -82.5 -20s-46.6667 -25 -65 -43 s-31.8333 -32.5 -40.5 -43.5c-8.66666 -11 -18.3333 -24.8333 -29 -41.5h263c24 12 36 34.6667 36 68z" />
<glyph glyph-name="uniFEBD" unicode="ض" horiz-adv-x="949" arabic-form="isolated" d="M832 466c13.3333 0 26 -1.66666 38 -5s24.3333 -9.33334 37 -18s22.6667 -22.3333 30 -41s11 -41 11 -67c0 -22 -2.33331 -44.3333 -7 -67l-15 -34v-1c0 -20.6667 -62.3333 -31 -187 -31l-150 -1c-0.666687 -44.6667 -7.16669 -82.1667 -19.5 -112.5 c-12.3333 -30.3333 -30.3333 -53.3333 -54 -69c-23.6667 -15.6667 -49.1667 -26.6667 -76.5 -33c-27.3333 -6.33333 -59.6667 -9.5 -97 -9.5c-141.333 0 -212 59 -212 177c2.66667 74 14.3333 139.667 35 197l18 -6c-18.6667 -52.6667 -28 -103.333 -28 -152 c0 -50.6667 13.5 -89.8333 40.5 -117.5c27 -27.6667 76.1667 -42.5 147.5 -44.5c43.3333 1.33333 80.3333 7.5 111 18.5s53.5 25.1667 68.5 42.5s25.6667 34.8333 32 52.5c6.33331 17.6667 9.5 36.5 9.5 56.5c0 47.3333 -21 95.3333 -63 144l34 72 c29.3333 -70 49 -113.667 59 -131l120 120c38.6667 36.6667 74.3333 56.6667 107 60h11zM895 333c0 54.6667 -28 82 -84 82c-54.6667 0 -115.667 -43.6667 -183 -131c4 0 10.3333 -0.166656 19 -0.5s15.3333 -0.5 20 -0.5c19.3333 0 74 1.66666 164 5 c42.6667 11.3333 64 26.3333 64 45zM747 633l-49 -48l-48 48l48 48z" />
<glyph glyph-name="uniFEBE" unicode="ض" horiz-adv-x="949" arabic-form="terminal" d="M832 466c13.3333 0 26 -1.66666 38 -5s24.3333 -9.33334 37 -18s22.6667 -22.3333 30 -41s11 -41 11 -67c0 -22 -2.33331 -44.3333 -7 -67l-15 -34v-1c0 -20.6667 -62.3333 -31 -187 -31l-150 -1c-0.666687 -44.6667 -7.16669 -82.1667 -19.5 -112.5 c-12.3333 -30.3333 -30.3333 -53.3333 -54 -69c-23.6667 -15.6667 -49.1667 -26.6667 -76.5 -33c-27.3333 -6.33333 -59.6667 -9.5 -97 -9.5c-141.333 0 -212 59 -212 177c2.66667 74 14.3333 139.667 35 197l18 -6c-18.6667 -52.6667 -28 -103.333 -28 -152 c0 -50.6667 13.5 -89.8333 40.5 -117.5c27 -27.6667 76.1667 -42.5 147.5 -44.5c43.3333 1.33333 80.3333 7.5 111 18.5s53.5 25.1667 68.5 42.5s25.6667 34.8333 32 52.5c6.33331 17.6667 9.5 36.5 9.5 56.5c0 47.3333 -21 95.3333 -63 144l34 72 c29.3333 -70 49 -113.667 59 -131l120 120c38.6667 36.6667 74.3333 56.6667 107 60h11zM895 333c0 54.6667 -28 82 -84 82c-54.6667 0 -115.667 -43.6667 -183 -131c4 0 10.3333 -0.166656 19 -0.5s15.3333 -0.5 20 -0.5c19.3333 0 74 1.66666 164 5 c42.6667 11.3333 64 26.3333 64 45zM747 633l-49 -48l-48 48l48 48z" />
<glyph glyph-name="uniFEBF" unicode="ض" horiz-adv-x="805" arabic-form="initial" d="M608 704l-49 -48l-48 48l48 48zM791 443c22.6667 -48 34 -94.3333 34 -139c0 -69.3333 -14.3333 -104 -43 -104h-416c-32 0 -65 16 -99 48c-31.3333 -32 -62.6667 -48 -94 -48h-169c-16 1.33333 -24 28.6667 -24 82h193c23.3333 8 39.6667 19.6667 49 35 s14.6667 44.6667 16 88l22 22c28 -97.3333 72.6667 -146 134 -146c8 0 14 0.333344 18 1c58 78.6667 107.167 132.667 147.5 162s88.5 45.3333 144.5 48c34 -2 63 -18.3333 87 -49zM757 341c0 44.6667 -27.3333 70.6667 -82 78c-82.6667 -6 -155 -51.6667 -217 -137h263 c24 6 36 25.6667 36 59z" />
<glyph glyph-name="uniFEC0" unicode="ض" horiz-adv-x="805" arabic-form="medial" d="M608 704l-49 -48l-48 48l48 48zM791 443c22.6667 -48 34 -94.3333 34 -139c0 -69.3333 -14.3333 -104 -43 -104h-416c-32 0 -65 16 -99 48c-31.3333 -32 -62.6667 -48 -94 -48h-169c-16 1.33333 -24 28.6667 -24 82h193c23.3333 8 39.6667 19.6667 49 35 s14.6667 44.6667 16 88l22 22c28 -97.3333 72.6667 -146 134 -146c8 0 14 0.333344 18 1c58 78.6667 107.167 132.667 147.5 162s88.5 45.3333 144.5 48c34 -2 63 -18.3333 87 -49zM757 341c0 44.6667 -27.3333 70.6667 -82 78c-82.6667 -6 -155 -51.6667 -217 -137h263 c24 6 36 25.6667 36 59z" />
<glyph glyph-name="uniFEC1" unicode="Ø·" horiz-adv-x="557" arabic-form="isolated" d="M165 277c14 11.3333 21 23.6667 21 37c0 87.3333 -28.6667 216 -86 386l63 83l26.5 -146c9.66667 -51.3333 18.5 -107 26.5 -167s12 -107 12 -141c0 -2.66666 -0.166672 -6.5 -0.5 -11.5s-0.5 -8.5 -0.5 -10.5c77.3333 87.3333 150 131 218 131 c33.3333 0 62.1667 -11 86.5 -33c24.3333 -22 36.5 -61.6667 36.5 -119v-4c0 -54 -20.3333 -81 -61 -81h-513l-1 79zM537 304c0 30 -9.66669 51.5 -29 64.5c-19.3333 13 -41 19.5 -65 19.5c-27.3333 0 -57.3333 -9.83334 -90 -29.5s-58.3333 -37.8333 -77 -54.5l-20 -20h279 c1.33331 9.33334 2 16 2 20z" />
<glyph glyph-name="uniFEC5" unicode="ظ" horiz-adv-x="550" arabic-form="isolated" d="M443 612l-46 -46l-47 46l47 47zM165 277c14 11.3333 21 23.6667 21 37c0 87.3333 -28.6667 216 -86 386l63 83l26.5 -146c9.66667 -51.3333 18.5 -107 26.5 -167s12 -107 12 -141c0 -2.66666 -0.166672 -6.5 -0.5 -11.5s-0.5 -8.5 -0.5 -10.5 c77.3333 87.3333 150 131 218 131c33.3333 0 62.1667 -11 86.5 -33c24.3333 -22 36.5 -61.6667 36.5 -119v-4c0 -54 -20.3333 -81 -61 -81h-513l-1 79zM537 304c0 30 -9.66669 51.5 -29 64.5c-19.3333 13 -41 19.5 -65 19.5c-27.3333 0 -57.3333 -9.83334 -90 -29.5 s-58.3333 -37.8333 -77 -54.5l-20 -20h279c1.33331 9.33334 2 16 2 20z" />
<glyph glyph-name="uniFEC9" unicode="ع" horiz-adv-x="625" arabic-form="isolated" d="M130 -67c0 34.6667 10.3333 76.8333 31 126.5c20.6667 49.6667 51.6667 91.8333 93 126.5c-58 50 -98.6667 89 -122 117v32c0 40.6667 21.6667 80 65 118c37.3333 32.6667 79.3333 49 126 49h5c35.3333 -5.33334 75.6667 -22 121 -50c-8.66666 0.666656 -21 1 -37 1 c-51.3333 0 -102.667 -9.33334 -154 -28c-51.3333 -18.6667 -79.6667 -36.6667 -85 -54c1.33333 -24 18.3333 -49.6667 51 -77c32.6667 -27.3333 64.3333 -41 95 -41h6c80 38.6667 158 61 234 67l-35 -67c-94.6667 -10 -167.667 -40 -219 -90 c-87.3333 -83.3333 -131 -148.333 -131 -195c0 -50.6667 120.333 -91.3333 361 -122h111l-104 -65c-149.333 7.33333 -261.667 22 -337 44c-50 14 -75 50 -75 108z" />
<glyph glyph-name="uniFECA" unicode="ع" horiz-adv-x="575" arabic-form="terminal" d="M359 536c8 -0.666687 16.3333 -2 25 -4s18.6667 -5.33331 30 -10s20.6667 -11.6667 28 -21s11 -20.3333 11 -33c0 -21.3333 -12.6667 -45 -38 -71c-16.6667 -8 -37.6667 -23 -63 -45c10.6667 -50.6667 49.3333 -76 116 -76h131l5 -76h-134 c-68 11.3333 -119.333 46.6667 -154 106c-49.3333 -36 -87 -73 -113 -111s-39 -80.6667 -39 -128c0 -28 8.83333 -52.6667 26.5 -74c17.6667 -21.3333 39.5 -37 65.5 -47s49.8333 -17.3333 71.5 -22s40.1667 -7 55.5 -7c34 0 75.6667 14 125 42l43 -51 c-69.3333 -37.3333 -130.667 -56 -184 -56c-69.3333 0 -127.167 20.1667 -173.5 60.5c-46.3333 40.3333 -69.5 93.1667 -69.5 158.5c0 42.6667 9.16667 83.8333 27.5 123.5s39.1667 72.6667 62.5 99s55.6667 58.5 97 96.5c-1.33334 4 -2.5 7.83334 -3.5 11.5 s-2.33334 7.16666 -4 10.5s-3.33334 6.33334 -5 9s-4 4.66666 -7 6s-6.16666 2 -9.5 2c-0.666656 0 -1.66666 -0.166656 -3 -0.5s-2.33334 -0.5 -3 -0.5l-61 -11c2 79.3333 50 119 144 119z" />
<glyph glyph-name="uniFECB" unicode="ع" horiz-adv-x="674" arabic-form="initial" d="M257 429c0 -24 14.3333 -51.3333 43 -82s62.3333 -46 101 -46c67.3333 0 158 8.66666 272 26l-50 -77c-116 -32.6667 -234 -49 -354 -49h-252c-16 0 -24 25.3333 -24 76l276 -1c-42.6667 63.3333 -64 114.333 -64 153c8 35.3333 27.8333 65.1667 59.5 89.5 c31.6667 24.3333 66.8333 36.5 105.5 36.5l56 -5c58 -26 98.3333 -50.3333 121 -73c-64 10.6667 -114 16 -150 16c-34 0 -65.8333 -6.16666 -95.5 -18.5s-44.5 -27.5 -44.5 -45.5z" />
<glyph glyph-name="uniFECC" unicode="ع" horiz-adv-x="550" arabic-form="medial" d="M346 528c37.3333 0 68.6667 -6.66669 94 -20c25.3333 -13.3333 38 -30.6667 38 -52v-1c0 -24.6667 -24 -63.3333 -72 -116c24 -41.3333 52.6667 -62 86 -62h2h74v-77h-76c-48 0 -92.3333 31 -133 93c-54 -62 -112.667 -93 -176 -93h-2l-167 -1 c-14.6667 0.666672 -22.6667 26.6667 -24 78l144 1c3.33333 0 8.33333 -0.166656 15 -0.5s11.3333 -0.5 14 -0.5c101.333 0 152 29.6667 152 89c0 4 -1.33334 9.16666 -4 15.5s-8.66666 13 -18 20s-21 10.5 -35 10.5c-7.33333 0 -14.5 -3 -21.5 -9s-11.5 -14.6667 -13.5 -26 h-9v22c2 41.3333 14 73.1667 36 95.5c22 22.3333 54 33.5 96 33.5z" />
<glyph glyph-name="uniFECD" unicode="غ" horiz-adv-x="602" arabic-form="isolated" d="M130 -62c0 40 10.8333 83.8333 32.5 131.5c21.6667 47.6667 51.8333 87.5 90.5 119.5c-58 49.3333 -98.3333 88 -121 116v29v3c0 40.6667 21.6667 80 65 118c36.6667 32 78 48 124 48h4c34.6667 -5.33334 75 -21.6667 121 -49c-7.33334 0.666656 -18 1 -32 1 c-51.3333 0 -103.167 -9.5 -155.5 -28.5c-52.3333 -19 -81.1667 -36.8333 -86.5 -53.5c2.66667 -24 19.8333 -49.5 51.5 -76.5s62.8333 -40.5 93.5 -40.5h6c79.3333 38.6667 156.333 60.6667 231 66l-35 -66c-95.3333 -10 -167.333 -39.6667 -216 -89 c-86 -80.6667 -129 -145 -129 -193c0 -50.6667 118.667 -91 356 -121h110l-103 -65c-146 7.33333 -257 22 -333 44c-49.3333 14.6667 -74 50 -74 106zM323 720l-48 -48l-49 48l49 48z" />
<glyph glyph-name="uniFECE" unicode="غ" horiz-adv-x="577" arabic-form="terminal" d="M394 674l-49 -50l-50 50l50 49zM359 536c8 -0.666687 16.3333 -2 25 -4s18.6667 -5.33331 30 -10s20.6667 -11.6667 28 -21s11 -20.3333 11 -33c0 -21.3333 -12.6667 -45 -38 -71c-16.6667 -8 -37.6667 -23 -63 -45c10.6667 -50.6667 49.3333 -76 116 -76h131l5 -76h-134 c-68 11.3333 -119.333 46.6667 -154 106c-49.3333 -36 -87 -73 -113 -111s-39 -80.6667 -39 -128c0 -28 8.83333 -52.6667 26.5 -74c17.6667 -21.3333 39.5 -37 65.5 -47s49.8333 -17.3333 71.5 -22s40.1667 -7 55.5 -7c34 0 75.6667 14 125 42l43 -51 c-69.3333 -37.3333 -130.667 -56 -184 -56c-69.3333 0 -127.167 20.1667 -173.5 60.5c-46.3333 40.3333 -69.5 93.1667 -69.5 158.5c0 42.6667 9.16667 83.8333 27.5 123.5s39.1667 72.6667 62.5 99s55.6667 58.5 97 96.5c-1.33334 4 -2.5 7.83334 -3.5 11.5 s-2.33334 7.16666 -4 10.5s-3.33334 6.33334 -5 9s-4 4.66666 -7 6s-6.16666 2 -9.5 2c-0.666656 0 -1.66666 -0.166656 -3 -0.5s-2.33334 -0.5 -3 -0.5l-61 -11c2 79.3333 50 119 144 119z" />
<glyph glyph-name="uniFECF" unicode="غ" horiz-adv-x="578" arabic-form="initial" d="M222 420c0 -20 12.3333 -45.5 37 -76.5c24.6667 -31 56 -46.5 94 -46.5c62 0 144.333 8.66666 247 26l-46 -74c-106 -32 -212.667 -48 -320 -48h-229c-14.6667 0 -22 24.3333 -22 73l251 -1c-39.3333 62.6667 -59 112 -59 148c8 34 26.3333 62.6667 55 86 c28.6667 23.3333 60.3333 35 95 35l51 -5c51.3333 -24 87.6667 -47.3333 109 -70c-52.6667 10 -97.6667 15 -135 15c-30 0 -58.8333 -5.83334 -86.5 -17.5c-27.6667 -11.6667 -41.5 -26.5 -41.5 -44.5zM368 753l-46 -48l-46 48l46 49z" />
<glyph glyph-name="uniFED0" unicode="غ" horiz-adv-x="577" arabic-form="medial" d="M355 522c39.3333 0 71.6667 -6.66669 97 -20c25.3333 -13.3333 38 -30.3333 38 -51v-3c0 -24 -24.6667 -61.3333 -74 -112c25.3333 -40 54.6667 -60 88 -60h2h97v-76h-98c-49.3333 0 -95 30 -137 90c-54.6667 -60 -114.667 -90 -180 -90h-2l-171 -1 c-16 1.33333 -24.3333 27 -25 77l147 1c8 -0.666656 19.3333 -1 34 -1c101.333 0 152 29 152 87c0 8 -5 17.6667 -15 29s-24.6667 17 -44 17c-7.33334 0 -14.5 -3.16666 -21.5 -9.5s-11.5 -15.1667 -13.5 -26.5h-9v23c2 40.6667 14.3333 71.8333 37 93.5 c22.6667 21.6667 55.3333 32.5 98 32.5zM397 703l-49 -50l-49 50l49 50z" />
<glyph glyph-name="uniFED1" unicode="Ù" horiz-adv-x="801" arabic-form="isolated" d="M789 521c14.6667 -64 22 -116.667 22 -158v-66c0 -61.3333 -28.6667 -92 -86 -92l-526 1c-16 2 -28.6667 5.66667 -38 11s-16.3333 14 -21 26s-7.66667 24.1667 -9 36.5s-2.33333 30.1667 -3 53.5c1.33333 36 10 79.3333 26 130l26 -27c-22.6667 -52 -34 -90 -34 -114 c0 -22.6667 11.3333 -36.3333 34 -41c55.3333 -0.666656 138.333 -1 249 -1c27.3333 0 68.6667 0.166656 124 0.5c55.3333 0.333344 96.6667 0.5 124 0.5h5c55.3333 0 83 16 83 48v5c-38.6667 8.66666 -70.6667 15.5 -96 20.5s-44.5 13.5 -57.5 25.5s-19.5 29.6667 -19.5 53 c0 42.6667 11 84.6667 33 126c16 38 39.3333 57 70 57h4c30.6667 0 60.6667 -31.6667 90 -95zM693 529c-24 -6.66669 -36 -30.3333 -36 -71c0 -32.6667 28 -49 84 -49c10 0 17.6667 0.333344 23 1v1c-5.33331 26 -14.5 51.3333 -27.5 76s-27.5 38.6667 -43.5 42zM675 712 l-49 -50l-50 50l50 51z" />
<glyph glyph-name="uniFED2" unicode="Ù" horiz-adv-x="801" arabic-form="terminal" d="M789 521c14.6667 -64 22 -116.667 22 -158v-66c0 -61.3333 -28.6667 -92 -86 -92l-526 1c-16 2 -28.6667 5.66667 -38 11s-16.3333 14 -21 26s-7.66667 24.1667 -9 36.5s-2.33333 30.1667 -3 53.5c1.33333 36 10 79.3333 26 130l26 -27c-22.6667 -52 -34 -90 -34 -114 c0 -22.6667 11.3333 -36.3333 34 -41c55.3333 -0.666656 138.333 -1 249 -1c27.3333 0 68.6667 0.166656 124 0.5c55.3333 0.333344 96.6667 0.5 124 0.5h5c55.3333 0 83 16 83 48v5c-38.6667 8.66666 -70.6667 15.5 -96 20.5s-44.5 13.5 -57.5 25.5s-19.5 29.6667 -19.5 53 c0 42.6667 11 84.6667 33 126c16 38 39.3333 57 70 57h4c30.6667 0 60.6667 -31.6667 90 -95zM693 529c-24 -6.66669 -36 -30.3333 -36 -71c0 -32.6667 28 -49 84 -49c10 0 17.6667 0.333344 23 1v1c-5.33331 26 -14.5 51.3333 -27.5 76s-27.5 38.6667 -43.5 42zM675 712 l-49 -50l-50 50l50 51z" />
<glyph glyph-name="uniFED3" unicode="Ù" arabic-form="initial" d="M296 509c14.6667 -44 22 -95.3333 22 -154v-63c0 -61.3333 -27.6667 -92 -83 -92h-265v74l218 1h5c53.3333 0 80 15.6667 80 47v5c-35.3333 8.66666 -65.5 15.3333 -90.5 20s-44 12.8333 -57 24.5s-19.5 28.8333 -19.5 51.5c0 44 10.6667 85 32 123 c15.3333 37.3333 38 56 68 56h4c16 0 31.6667 -7.83331 47 -23.5c15.3333 -15.6667 28.3333 -38.8333 39 -69.5zM197 753l-49 -50l-48 50l48 50zM196 527c-13.3333 0 -25.6667 -8.33331 -37 -25c-11.3333 -16.6667 -17 -33 -17 -49c0 -9.33334 1.5 -17.6667 4.5 -25 s7.5 -13.1667 13.5 -17.5s12.8333 -8 20.5 -11s16.5 -5.33334 26.5 -7s20.5 -3.16666 31.5 -4.5s22.5 -2.33334 34.5 -3c-2.66666 22 -7 43 -13 63s-14.6667 38.1667 -26 54.5c-11.3333 16.3333 -24 24.5 -38 24.5z" />
<glyph glyph-name="uniFED4" unicode="Ù" arabic-form="medial" d="M296 509c14.6667 -44 22 -95.3333 22 -154v-63c0 -61.3333 -27.6667 -92 -83 -92h-265v74l218 1h5c53.3333 0 80 15.6667 80 47v5c-35.3333 8.66666 -65.5 15.3333 -90.5 20s-44 12.8333 -57 24.5s-19.5 28.8333 -19.5 51.5c0 44 10.6667 85 32 123 c15.3333 37.3333 38 56 68 56h4c16 0 31.6667 -7.83331 47 -23.5c15.3333 -15.6667 28.3333 -38.8333 39 -69.5zM197 753l-49 -50l-48 50l48 50zM196 527c-13.3333 0 -25.6667 -8.33331 -37 -25c-11.3333 -16.6667 -17 -33 -17 -49c0 -9.33334 1.5 -17.6667 4.5 -25 s7.5 -13.1667 13.5 -17.5s12.8333 -8 20.5 -11s16.5 -5.33334 26.5 -7s20.5 -3.16666 31.5 -4.5s22.5 -2.33334 34.5 -3c-2.66666 22 -7 43 -13 63s-14.6667 38.1667 -26 54.5c-11.3333 16.3333 -24 24.5 -38 24.5z" />
<glyph glyph-name="uniFED5" unicode="Ù" horiz-adv-x="696" arabic-form="isolated" d="M709 562l-55 -55l-55 55l55 55zM552 562l-56 -55l-55 55l55 55zM606 417c24 -10.6667 48 -30.1667 72 -58.5s37.6667 -65.8333 41 -112.5v-63c-11.3333 -95.3333 -40.6667 -157.667 -88 -187c-60.6667 -37.3333 -147 -56 -259 -56h-31c-139.333 30 -209 84.3333 -209 163 c0 3.33334 -0.333328 9 -1 17s-1 14 -1 18c0 64 17 136.667 51 218h11c-18.6667 -68.6667 -28 -124.667 -28 -168c0 -26 3.16667 -47.8333 9.5 -65.5c6.33333 -17.6667 18.8333 -34.3333 37.5 -50c18.6667 -15.6667 47 -27.3333 85 -35c38 -7.66667 86.3333 -11.5 145 -11.5 c16.6667 0 43.1667 4.16667 79.5 12.5c36.3333 8.33333 64.8333 16.1667 85.5 23.5c50 24 75 61 75 111c0 13.3333 -2 22.5 -6 27.5s-12.6667 7.5 -26 7.5c-11.3333 0 -27.6667 -2.66667 -49 -8c-63.3333 0 -95 17 -95 51c0 31.3333 10.8333 65.6667 32.5 103 s44.5 58.3333 68.5 63zM605 354c-16.6667 0 -30 -7.83334 -40 -23.5s-15 -28.5 -15 -38.5c0 -13.3333 13.6667 -20 41 -20h9c25.3333 0 40 0.666656 44 2c3.33331 0 5 3 5 9c0 16.6667 -6 32.6667 -18 48l-24 23h-2z" />
<glyph glyph-name="uniFED6" unicode="Ù" horiz-adv-x="696" arabic-form="terminal" d="M709 562l-55 -55l-55 55l55 55zM552 562l-56 -55l-55 55l55 55zM606 417c24 -10.6667 48 -30.1667 72 -58.5s37.6667 -65.8333 41 -112.5v-63c-11.3333 -95.3333 -40.6667 -157.667 -88 -187c-60.6667 -37.3333 -147 -56 -259 -56h-31c-139.333 30 -209 84.3333 -209 163 c0 3.33334 -0.333328 9 -1 17s-1 14 -1 18c0 64 17 136.667 51 218h11c-18.6667 -68.6667 -28 -124.667 -28 -168c0 -26 3.16667 -47.8333 9.5 -65.5c6.33333 -17.6667 18.8333 -34.3333 37.5 -50c18.6667 -15.6667 47 -27.3333 85 -35c38 -7.66667 86.3333 -11.5 145 -11.5 c16.6667 0 43.1667 4.16667 79.5 12.5c36.3333 8.33333 64.8333 16.1667 85.5 23.5c50 24 75 61 75 111c0 13.3333 -2 22.5 -6 27.5s-12.6667 7.5 -26 7.5c-11.3333 0 -27.6667 -2.66667 -49 -8c-63.3333 0 -95 17 -95 51c0 31.3333 10.8333 65.6667 32.5 103 s44.5 58.3333 68.5 63zM605 354c-16.6667 0 -30 -7.83334 -40 -23.5s-15 -28.5 -15 -38.5c0 -13.3333 13.6667 -20 41 -20h9c25.3333 0 40 0.666656 44 2c3.33331 0 5 3 5 9c0 16.6667 -6 32.6667 -18 48l-24 23h-2z" />
<glyph glyph-name="uniFED7" unicode="Ù" horiz-adv-x="650" arabic-form="initial" d="M292 503c14 -40.6667 21 -90.3333 21 -149v-62c0 -60 -27.3333 -90 -82 -90h-261v72l215 1h5c52.6667 0 79 15.3333 79 46v5c-34.6667 8 -64.1667 14 -88.5 18s-43.1667 11.8333 -56.5 23.5c-13.3333 11.6667 -20 29.1667 -20 52.5c0 36.6667 9.33334 74.8333 28 114.5 c18.6667 39.6667 42 59.5 70 59.5h4c16 0 31.6667 -7.66669 47 -23c15.3333 -15.3333 28.3333 -38 39 -68zM147 744l-48 -50l-47 50l47 48zM139 447c0 -12.6667 3.16667 -23.1667 9.5 -31.5s16.3333 -14.6667 30 -19s26.6667 -7.33334 39 -9s29.5 -3.16666 51.5 -4.5 c-4.66666 34 -13.5 65.3333 -26.5 94s-29.5 43 -49.5 43c-13.3333 0 -25.6667 -8.16666 -37 -24.5s-17 -32.5 -17 -48.5zM276 744l-47 -50l-48 50l48 48z" />
<glyph glyph-name="uniFED8" unicode="Ù" horiz-adv-x="650" arabic-form="medial" d="M292 503c14 -40.6667 21 -90.3333 21 -149v-62c0 -60 -27.3333 -90 -82 -90h-261v72l215 1h5c52.6667 0 79 15.3333 79 46v5c-34.6667 8 -64.1667 14 -88.5 18s-43.1667 11.8333 -56.5 23.5c-13.3333 11.6667 -20 29.1667 -20 52.5c0 36.6667 9.33334 74.8333 28 114.5 c18.6667 39.6667 42 59.5 70 59.5h4c16 0 31.6667 -7.66669 47 -23c15.3333 -15.3333 28.3333 -38 39 -68zM147 744l-48 -50l-47 50l47 48zM139 447c0 -12.6667 3.16667 -23.1667 9.5 -31.5s16.3333 -14.6667 30 -19s26.6667 -7.33334 39 -9s29.5 -3.16666 51.5 -4.5 c-4.66666 34 -13.5 65.3333 -26.5 94s-29.5 43 -49.5 43c-13.3333 0 -25.6667 -8.16666 -37 -24.5s-17 -32.5 -17 -48.5zM276 744l-47 -50l-48 50l48 48z" />
<glyph glyph-name="uniFED9" unicode="Ù" horiz-adv-x="757" arabic-form="isolated" d="M948 958l-199 -87c-12.6667 -5.33331 -37.1667 -16.5 -73.5 -33.5s-54.5 -27.8333 -54.5 -32.5c0 -5.33331 4.16669 -12.6667 12.5 -22s19.5 -20.8333 33.5 -34.5s35.1667 -37.8333 63.5 -72.5s58.1667 -74.6667 89.5 -120c26.6667 -42.6667 50 -103 70 -181 c2.66669 -10 4 -35 4 -75c0 -67.3333 -14 -101 -42 -101h-1l-587 2c-52 0 -94.6667 29 -128 87c-10 16.6667 -15 46.3333 -15 89c0 44.6667 6.66666 88.3333 20 131l8 -4c-4.66667 -30 -7 -58.3333 -7 -85c0 -51.3333 13.1667 -88.3333 39.5 -111s72.1667 -34 137.5 -34h11 h529c1.33331 16 2 27.6667 2 35c0 81.3333 -41.6667 176.667 -125 286l-61 65l-11 -14c-22.6667 15.3333 -51.3333 40.3333 -86 75c-2.66669 17.3333 -4 30 -4 38c0 18.6667 2.33331 35 7 49s12.5 27.3333 23.5 40s25.8333 24.5 44.5 35.5s42 23.3333 70 37 s61.3333 28.3333 100 44l135 56.5z" />
<glyph glyph-name="uniFEDA" unicode="Ù" horiz-adv-x="757" arabic-form="terminal" d="M948 958l-199 -87c-12.6667 -5.33331 -37.1667 -16.5 -73.5 -33.5s-54.5 -27.8333 -54.5 -32.5c0 -5.33331 4.16669 -12.6667 12.5 -22s19.5 -20.8333 33.5 -34.5s35.1667 -37.8333 63.5 -72.5s58.1667 -74.6667 89.5 -120c26.6667 -42.6667 50 -103 70 -181 c2.66669 -10 4 -35 4 -75c0 -67.3333 -14 -101 -42 -101h-1l-587 2c-52 0 -94.6667 29 -128 87c-10 16.6667 -15 46.3333 -15 89c0 44.6667 6.66666 88.3333 20 131l8 -4c-4.66667 -30 -7 -58.3333 -7 -85c0 -51.3333 13.1667 -88.3333 39.5 -111s72.1667 -34 137.5 -34h11 h529c1.33331 16 2 27.6667 2 35c0 81.3333 -41.6667 176.667 -125 286l-61 65l-11 -14c-22.6667 15.3333 -51.3333 40.3333 -86 75c-2.66669 17.3333 -4 30 -4 38c0 18.6667 2.33331 35 7 49s12.5 27.3333 23.5 40s25.8333 24.5 44.5 35.5s42 23.3333 70 37 s61.3333 28.3333 100 44l135 56.5z" />
<glyph glyph-name="uniFEDB" unicode="Ù" horiz-adv-x="318" arabic-form="initial" d="M388 912l-199 -82c-2.66667 -1.33331 -16.5 -7.16669 -41.5 -17.5s-45.6667 -19.5 -62 -27.5s-24.5 -13.6667 -24.5 -17c0 -5.33331 35.6667 -44.6667 107 -118c56.6667 -68 98.5 -127.833 125.5 -179.5c27 -51.6667 40.5 -110.5 40.5 -176.5c0 -63.3333 -14 -95 -42 -95 h-1l-306 2l6 78h308c1.33334 13.3333 2 23 2 29c0 70.6667 -41.6667 158.333 -125 263l-61 61l-11 -13c-22.6667 14.6667 -51.3333 38 -86 70c-2.66667 16 -4 28 -4 36c0 20.6667 3.66667 38.5 11 53.5c7.33333 15 19 29.1667 35 42.5s39.3333 27.3333 70 42 c30.6667 14.6667 65.8333 30 105.5 46l152.5 60l6 2z" />
<glyph glyph-name="uniFEDC" unicode="Ù" horiz-adv-x="318" arabic-form="medial" d="M388 912l-199 -82c-2.66667 -1.33331 -16.5 -7.16669 -41.5 -17.5s-45.6667 -19.5 -62 -27.5s-24.5 -13.6667 -24.5 -17c0 -5.33331 35.6667 -44.6667 107 -118c56.6667 -68 98.5 -127.833 125.5 -179.5c27 -51.6667 40.5 -110.5 40.5 -176.5c0 -63.3333 -14 -95 -42 -95 h-1l-306 2l6 78h308c1.33334 13.3333 2 23 2 29c0 70.6667 -41.6667 158.333 -125 263l-61 61l-11 -13c-22.6667 14.6667 -51.3333 38 -86 70c-2.66667 16 -4 28 -4 36c0 20.6667 3.66667 38.5 11 53.5c7.33333 15 19 29.1667 35 42.5s39.3333 27.3333 70 42 c30.6667 14.6667 65.8333 30 105.5 46l152.5 60l6 2z" />
<glyph glyph-name="uniFEDD" unicode="Ù" horiz-adv-x="655" arabic-form="isolated" d="M665 161c0 -56.6667 -3.83331 -103 -11.5 -139s-21.8333 -67.6667 -42.5 -95c-20.6667 -27.3333 -50 -47 -88 -59s-86.6667 -18 -146 -18c-163.333 0 -245 64.3333 -245 193c0 64.6667 20.3333 151.667 61 261l16 -6c-30.6667 -94 -46 -166 -46 -216 c0 -49.3333 25.3333 -91.3333 76 -126c59.3333 -12.6667 113 -19 161 -19c54 0 92.6667 6 116 18c59.3333 30.6667 89 83 89 157c0 176 -12.3333 410.667 -37 704l38 38l52 41l47 -146l-52 -64v-48c0 -114.667 2 -218.5 6 -311.5s6 -147.833 6 -164.5z" />
<glyph glyph-name="uniFEDE" unicode="Ù" horiz-adv-x="655" arabic-form="terminal" d="M665 161c0 -56.6667 -3.83331 -103 -11.5 -139s-21.8333 -67.6667 -42.5 -95c-20.6667 -27.3333 -50 -47 -88 -59s-86.6667 -18 -146 -18c-163.333 0 -245 64.3333 -245 193c0 64.6667 20.3333 151.667 61 261l16 -6c-30.6667 -94 -46 -166 -46 -216 c0 -49.3333 25.3333 -91.3333 76 -126c59.3333 -12.6667 113 -19 161 -19c54 0 92.6667 6 116 18c59.3333 30.6667 89 83 89 157c0 176 -12.3333 410.667 -37 704l38 38l52 41l47 -146l-52 -64v-48c0 -114.667 2 -218.5 6 -311.5s6 -147.833 6 -164.5z" />
<glyph glyph-name="uniFEDF" unicode="Ù" horiz-adv-x="206" arabic-form="initial" d="M210 901l40 -130l-40 9v-391c0 -49.3333 -4.5 -87.3333 -13.5 -114c-9 -26.6667 -21 -44.5 -36 -53.5s-36.8333 -15.8333 -65.5 -20.5l-108 -3l1 77l78 2c61.3333 1.33334 91 38.3333 89 111l-10 452z" />
<glyph glyph-name="uniFEE0" unicode="Ù" horiz-adv-x="206" arabic-form="medial" d="M210 901l40 -130l-40 9v-391c0 -49.3333 -4.5 -87.3333 -13.5 -114c-9 -26.6667 -21 -44.5 -36 -53.5s-36.8333 -15.8333 -65.5 -20.5l-108 -3l1 77l78 2c61.3333 1.33334 91 38.3333 89 111l-10 452z" />
<glyph glyph-name="uniFEE1" unicode="Ù
" horiz-adv-x="549" arabic-form="isolated" d="M280 303c-18 0 -35 -12.6667 -51 -38c-2.66667 10.6667 -4 22 -4 34c0 43.3333 26.6667 65.6667 80 67h27c18.6667 0 45.8333 -5.66666 81.5 -17s70.1667 -28.8333 103.5 -52.5c33.3333 -23.6667 50 -48.5 50 -74.5c0 -17.3333 -9.33331 -36.3333 -28 -57 s-40 -31 -64 -31l-71 24c-46.6667 16 -86.3333 24 -119 24c-40.6667 0 -69.3333 -12 -86 -36c20 -161.333 30 -285.667 30 -373c0 -42 -7.33333 -79 -22 -111c-14.6667 87.3333 -27.3333 157.833 -38 211.5c-10.6667 53.6667 -17.8333 86.6667 -21.5 99 c-3.66667 12.3333 -7 28.5 -10 48.5s-5.83333 52 -8.5 96v11c0 9.33333 2.5 21 7.5 35s12.8333 29.3333 23.5 46s26.5 30.8333 47.5 42.5c21 11.6667 44.8333 17.5 71.5 17.5c14 0 57 -9.33334 129 -28c-63.3333 41.3333 -106 62 -128 62z" />
<glyph glyph-name="uniFEE2" unicode="Ù
" horiz-adv-x="549" arabic-form="terminal" d="M280 303c-18 0 -35 -12.6667 -51 -38c-2.66667 10.6667 -4 22 -4 34c0 43.3333 26.6667 65.6667 80 67h27c18.6667 0 45.8333 -5.66666 81.5 -17s70.1667 -28.8333 103.5 -52.5c33.3333 -23.6667 50 -48.5 50 -74.5c0 -17.3333 -9.33331 -36.3333 -28 -57 s-40 -31 -64 -31l-71 24c-46.6667 16 -86.3333 24 -119 24c-40.6667 0 -69.3333 -12 -86 -36c20 -161.333 30 -285.667 30 -373c0 -42 -7.33333 -79 -22 -111c-14.6667 87.3333 -27.3333 157.833 -38 211.5c-10.6667 53.6667 -17.8333 86.6667 -21.5 99 c-3.66667 12.3333 -7 28.5 -10 48.5s-5.83333 52 -8.5 96v11c0 9.33333 2.5 21 7.5 35s12.8333 29.3333 23.5 46s26.5 30.8333 47.5 42.5c21 11.6667 44.8333 17.5 71.5 17.5c14 0 57 -9.33334 129 -28c-63.3333 41.3333 -106 62 -128 62z" />
<glyph glyph-name="uniFEE3" unicode="Ù
" horiz-adv-x="403" arabic-form="initial" d="M307 430c24.6667 0 51.1667 -20.3333 79.5 -61s42.5 -79.6667 42.5 -117c0 -40.6667 -25.6667 -65 -77 -73c-44.6667 0 -82.6667 10.6667 -114 32l-45 31c-21.3333 -26.6667 -50.6667 -40 -88 -40h-4h-101v76l101 -1c22.6667 0.666656 41.8333 6.33334 57.5 17 s28 23.5 37 38.5s17.5 29.8333 25.5 44.5s18.6667 27.1667 32 37.5c13.3333 10.3333 29.3333 15.5 48 15.5h6zM342 240c18 0 27 11.3333 27 34c0 12.6667 -14 36.3333 -42 71l-19 14l-17 -7c-20.6667 -16.6667 -33.6667 -36 -39 -58c10 -16 23.6667 -29 41 -39 s33.6667 -15 49 -15z" />
<glyph glyph-name="uniFEE4" unicode="Ù
" horiz-adv-x="403" arabic-form="medial" d="M307 430c24.6667 0 51.1667 -20.3333 79.5 -61s42.5 -79.6667 42.5 -117c0 -40.6667 -25.6667 -65 -77 -73c-44.6667 0 -82.6667 10.6667 -114 32l-45 31c-21.3333 -26.6667 -50.6667 -40 -88 -40h-4h-101v76l101 -1c22.6667 0.666656 41.8333 6.33334 57.5 17 s28 23.5 37 38.5s17.5 29.8333 25.5 44.5s18.6667 27.1667 32 37.5c13.3333 10.3333 29.3333 15.5 48 15.5h6zM342 240c18 0 27 11.3333 27 34c0 12.6667 -14 36.3333 -42 71l-19 14l-17 -7c-20.6667 -16.6667 -33.6667 -36 -39 -58c10 -16 23.6667 -29 41 -39 s33.6667 -15 49 -15z" />
<glyph glyph-name="uniFEE5" unicode="Ù" horiz-adv-x="651" arabic-form="isolated" d="M441 451l-59 -55l-58 55l58 55zM362 -20c95.3333 0 164.833 13.5 208.5 40.5s65.5 76.5 65.5 148.5c-0.666687 104 -14.3333 166.667 -41 188l58 96c11.3333 -47.3333 18 -128.333 20 -243l-7 -78c-3.33331 -46.6667 -12 -85.6667 -26 -117 c-14 -31.3333 -33 -54.8333 -57 -70.5c-24 -15.6667 -49.3333 -26.5 -76 -32.5c-26.6667 -6 -58.6667 -9 -96 -9c-21.3333 0 -37.6667 0.333336 -49 1c-90.6667 0 -153.5 17.6667 -188.5 53c-35 35.3333 -52.5 87.3333 -52.5 156c0 61.3333 9.33333 124.333 28 189l21 -4 c-11.3333 -48.6667 -17 -92 -17 -130c0 -4.66667 0.333328 -11.3333 1 -20s1 -15 1 -19c0 -98 69 -147.667 207 -149z" />
<glyph glyph-name="uniFEE6" unicode="Ù" horiz-adv-x="651" arabic-form="terminal" d="M441 451l-59 -55l-58 55l58 55zM362 -20c95.3333 0 164.833 13.5 208.5 40.5s65.5 76.5 65.5 148.5c-0.666687 104 -14.3333 166.667 -41 188l58 96c11.3333 -47.3333 18 -128.333 20 -243l-7 -78c-3.33331 -46.6667 -12 -85.6667 -26 -117 c-14 -31.3333 -33 -54.8333 -57 -70.5c-24 -15.6667 -49.3333 -26.5 -76 -32.5c-26.6667 -6 -58.6667 -9 -96 -9c-21.3333 0 -37.6667 0.333336 -49 1c-90.6667 0 -153.5 17.6667 -188.5 53c-35 35.3333 -52.5 87.3333 -52.5 156c0 61.3333 9.33333 124.333 28 189l21 -4 c-11.3333 -48.6667 -17 -92 -17 -130c0 -4.66667 0.333328 -11.3333 1 -20s1 -15 1 -19c0 -98 69 -147.667 207 -149z" />
<glyph glyph-name="uniFEE7" unicode="Ù" horiz-adv-x="323" arabic-form="initial" d="M278 630l-61 -58l-62 58l62 58zM286 508c30 -40 45 -85.6667 45 -137v-68c0 -68.6667 -17.3333 -103 -52 -103h-282l-9 77h310v9c0 62.6667 -18.6667 111.667 -56 147z" />
<glyph glyph-name="uniFEE8" unicode="Ù" horiz-adv-x="323" arabic-form="medial" d="M278 630l-61 -58l-62 58l62 58zM286 508c30 -40 45 -85.6667 45 -137v-68c0 -68.6667 -17.3333 -103 -52 -103h-282l-9 77h310v9c0 62.6667 -18.6667 111.667 -56 147z" />
<glyph glyph-name="uniFEE9" unicode="Ù" horiz-adv-x="424" arabic-form="isolated" d="M394 315c0 -67.3333 -39 -105 -117 -113c-43.3333 0 -74.6667 3.66667 -94 11s-36 24 -50 50c-4 8 -6 19.3333 -6 34c0 26.6667 10 59.1667 30 97.5s36.6667 67.5 50 87.5l-8 10l52 72h1c40 -45.3333 66.3333 -79.3333 79 -102l51 -87c8 -20.6667 12 -40.6667 12 -60z M274 270c58 0 87 10.6667 87 32c0 18.6667 -10.6667 45.1667 -32 79.5s-52.6667 58.5 -94 72.5v-1c-4.66667 -4.66666 -11 -12 -19 -22l-23 -30c-7.33333 -10 -13.6667 -21.6667 -19 -35s-8 -26 -8 -38c0 -20.6667 11 -35.5 33 -44.5s47 -13.5 75 -13.5z" />
<glyph glyph-name="uniFEEA" unicode="Ù" horiz-adv-x="622" arabic-form="terminal" d="M615 201c-68.6667 0 -117.833 14.1667 -147.5 42.5c-29.6667 28.3333 -52.1667 85.8333 -67.5 172.5c-21.3333 -51.3333 -57 -77 -107 -77c-108.667 2 -163 26.6667 -163 74c0 56.6667 74.3333 116.333 223 179c-2.66666 8.66669 -4 18.6667 -4 30 c0 25.3333 8 50.6667 24 76l74 -337c29.3333 -57.3333 64.6667 -86 106 -86h94l-5 -72c-1.33331 -1.33
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.2-tiny/svg/animate-elem-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-image-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-33-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/linking-a-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/masking-path-05-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-intro-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-units-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-marker-03-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-dom-05-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/shapes-circle-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-align-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/shapes-line-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-15-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-render-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/render-elems-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-11-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-tile-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-27-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-80-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-19-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/fonts-elem-02-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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. An implementation
that passes this test should completely fill the cutout, leaving
a solid black area (some slight antialiasing effects may remain).
</Paragraph>
<Paragraph>
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).
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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
tests_public/svg/svgw3c-1.1-full/svg/text-tspan-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-trans-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/shapes-polyline-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-ws-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-65-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Basic tests on the min attribute" status="accepted" version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-65-t.svg,v $">
<OperatorScript>
<Paragraph>
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.
</Paragraph>
<Paragraph>
Each row in the test shows different rectangles subject to
<
set
>
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.
</Paragraph>
<Paragraph>
On the first row, the
<
set
>
animation has a (0s
<
= t
<
5s) active duration
and no min attribute so the actual active duration is (0s
<
= t
<
5s).
The first row shows a second rectangle with a
<
set
>
animation with
the same configuration except that the min attribute value is set to
'media'. Because the
<
set
>
element does not define a media, the
behavior should be as if the attribute was not specified.
</Paragraph>
<Paragraph>
On the second row, the
<
set
>
animation has a (0s
<
= t
<
5s) active duration
and a min attribute set to '-6s'. That value is invalid for min 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
<
= t
<
5s).
</Paragraph>
<Paragraph>
On the third row, the
<
set
>
animation has a (0s
<
= t
<
5s) active duration
and a min attribute set to '3s'. The min value is less than the active
duration, so the min attribute does not actually constrain the active duration.
</Paragraph>
<Paragraph>
On the fourth row, the
<
set
>
animation has a (0s
<
= t
<
2s) initial active duration,
an indefinite simple duration (dur is set to indefinite) and a min attribute set to '3s'.
Because the initial active duration is less than the min attribute and because the
simple duration is greater than the min value, the animation is active for the
(min constrained) active duration, i.e., (0s
<
= t
<
5s).
</Paragraph>
<Paragraph>
On the fifth row, the
<
set
>
animation has a (0s
<
= t
<
2s) initial active duration,
an (0s
<
= t
<
7s) repeat duration and a 5s min attribute value. Because the initial
active duration is less than the min attribute and because the repeat duration is greater
than the min value, the animation active for the (min constrained) active duration,
i.e., (0s
<
= t
<
5s).
</Paragraph>
<Paragraph>
tests_public/svg/svgw3c-1.1-full/svg/fonts-glyph-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-09-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/interact-order-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-frag-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-text-08-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/styling-css-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-05-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-stroke-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/fonts-kern-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-intro-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-05-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-tselect-02-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-blend-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-13-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-composite-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-36-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-text-04-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" owner="VH" desc="Tests that the viewer can handle the rotate attribute on the text element" status="accepted" version="$Revision: 1.13 $" testname="$RCSfile: text-text-04-t.svg,v $">
<OperatorScript>
<Paragraph>
The purpose of this test is to validate proper handling of
the text element's x and y attributes.
In the various samples, a red 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.
</Paragraph>
<Paragraph>
The first text sample shows a reference piece of text.
</Paragraph>
<Paragraph>
The second text sample (x all) shows a piece of text where
all the glyphs are positioned along the x axis.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
The samples in the right column show combinations of x/y
value sets.
</Paragraph>
<Paragraph>
In all the above tests, blue markers represent the expected glyph
positions. The red markers are showing positions where no glyph
should appear. The glyphs are black squares of increasing sizes.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<defs>
<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>
<text text-anchor="end" x="-30">
Reference
</text>
<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>
<defs>
<rect id="marker" x="-4" y="-4" width="8" height="8" />
</defs>
<text text-anchor="end" x="-30">
x all
</text>
<use xlink:href="#marker" x="0" fill="red" />
<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>
<text text-anchor="end" x="-30">
x more
</text>
<use xlink:href="#marker" x="0" fill="red" />
<use xlink:hre
tests_public/svg/svgw3c-1.1-full/svg/text-align-06-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-10-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-68-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-trans-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-60-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Test on various begin attribute values" status="accepted" version="$Revision: 1.6 $" testname="$RCSfile: animate-elem-60-t.svg,v $">
<OperatorScript>
<Paragraph>
This test performs basic test on the begin attribute,
assuming support for the
<
set
>
element and setting the
fill attribute on a
<
rect
>
element.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
There is one or several
<
set
>
elements for each of the possible begin
values. For each test, the
<
set
>
element(s) has (or have) an indefinite
duration and no other timing attribute specified other than begin
and dur.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
The first
<
set
>
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.
</Paragraph>
<Paragraph>
The second
<
set
>
has its begin attribute set to '2s'. So its
target rectangle should turn green two seconds after the document is
loaded.
</Paragraph>
<Paragraph>
The third
<
set
>
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
<
set
>
target turn green. There are two rectangles
with associated
<
set
>
elements. The left most ones has a simple
value (no offset) and the second one is offset from the event time by 2 seconds.
</Paragraph>
<Paragraph>
The fourth
<
set
>
elements have their begin attributes set to a sync base
value. The first two rectangles have
<
set
>
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
<
set
>
elements synchronized on their sync base end.
The first one (i.e., the third from left to right on that line
tests_public/svg/svgw3c-1.1-full/svg/metadata-example-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/interact-dom-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-text-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/script-handle-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-comptran-01-b.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.6 $" testname="filters-comptran-01-b.svg">
<Paragraph>
Test which verifies the basic facilities of
feComponentTransfer.
</Paragraph>
<Paragraph>
This test uses the following elements : a nested
<
svg
>
with a viewBox attribute,
<
linearGradient
>
,
<
filter
>
,
<
feComponentTransfer
>
.
</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>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 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
tests_public/svg/svgw3c-1.1-full/svg/coords-trans-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-83-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-14-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-09-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/styling-css-05-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/masking-path-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-10-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-altglyph-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/fonts-elem-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-conv-01-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-31-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-frag-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-text-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-marker-01-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-39-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-units-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-77-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="NR" desc="Test on the animation of text properties and inheritance of animated text properties" status="accepted" version="$Revision: 1.10 $" testname="$RCSfile: animate-elem-77-t.svg,v $">
<OperatorScript>
<Paragraph>
This test demonstrates how
<
set
>
elements change
text properties on a
<
text
>
element. For
each of the text properties being tested, 3
<
set
>
elements are set. The first
<
set
>
element acts directly on the
<
text
>
element. The
second
<
set
>
element acts on a
<
g
>
containing
children. The third
<
set
>
element acts on an
<
a
>
containing children. In each case the test validates that
the animated value set on the
<
g
>
and
<
a
>
elements is inherited by the
<
text
>
element.
All the
<
set
>
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.
</Paragraph>
<Paragraph>
The first
<
set
>
validates the transform property. When
applied to the
<
text
>
element, the letter A will be
translated to the right every 1s, in the
<
text
>
column.
When applied to the
<
g
>
element, the letter A inherits the
transform value and is translated to the right every 1s, as
seen in the
<
g
>
column. When applied to the
<
a
>
element, the letter A inherits the transform value and is
translated to the right every 1s, as seen in
<
a
>
column.
</Paragraph>
<Paragraph>
The second
<
set
>
validates the text-anchor attribute.
When applied to the
<
text
>
element, the anchor position
of letter A is moved from start to end. When applied to the
<
g
>
and
<
a
>
element, the property is inherited
and hence the anchor position of letter A is moved from start
to end in the second row.
</Paragraph>
<Paragraph>
The third
<
set
>
validates the font-size attribute.
The font size of letter A is changed from 20 to 30.
When applied to
<
g
>
and
<
a
>
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.
</Paragraph>
<Paragraph>
The fourth
<
set
>
validates the font-family attribute.
The font-family is changed from default to serif.
When applied to
<
g
>
and
<
a
>
elements, the letter
A inherits the font-family attribute and hence in row 4,
letter A has serif font-family in all 3 columns.
</Paragraph>
<Paragraph>
The fifth
<
set
>
validates the font-style attribute.
The font-style is changed from normal to italic.
tests_public/svg/svgw3c-1.1-full/svg/fonts-elem-04-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-align-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-fill-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-cond-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-coord-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-viewattr-02-b.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.5 $" testname="coords-viewattr-02-b.svg">
<Paragraph>
This test verifies the implementation of the preserveAspectRatio attribute on
<
image
>
referencing raster content.
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.
</Paragraph>
<Paragraph>
The rendered picture should match the reference image exactly except for variations in the labeling text.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<text x="10" y="30">
Raster to fit
</text>
<image xlink:href="data:image/jpg;base64,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 1z684WG11HTYysnj1P8ABMPx/O+X3p2
tests_public/svg/svgw3c-1.1-full/svg/masking-mask-01-b.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.7 $" testname="masking-mask-01-b.svg">
<Paragraph>
Test to see if the masking features using the mask element and mask
property are available.
</Paragraph>
<Paragraph>
A red rectangle is displayed in the background to help view the result
of transparency and masking.
</Paragraph>
<Paragraph>
From top to bottom, the tests are as follows.
</Paragraph>
<Paragraph>
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).
</Paragraph>
<Paragraph>
In the second test, a simple 50% opaque rectangle is used as a mask.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
The rendered picture should match the reference image, except
variations are possible in the labelling text (per CSS2 rules).
</Paragraph>
</OperatorScript>
</SVGTestCase>
<defs>
<font horiz-adv-x="313">
<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>
<text font-family="Arial" font-size="14" x="10" y="20">
Test for mask support
</text>
<mask id="mask1" maskUnits="userSpaceOnUse" x="60" y="50" width="100" height="60">
<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>
<text font-family="Arial" font-size="12" x="200" y="65">
Mask with linear gradient from
</text>
<text font-family="Arial" font-size="12" x="200" y="80">
opacity=1 to opactity=0.5
</text>
<mask id="mask2" maskUnits="userSpaceOnUse" x="60" y="120" width="100" height="30">
<rect x="60" y="120" width="100" height="30" fill-opacity="0.5" fill="white" />
</mask>
<text font-family="Arial" font-size="12" x="200" y="135">
Mask with uniform opacity of 0.5
</text>
<text font-family="Arial" font-size="12" x="200" y="175">
Rectangle with uniform opacity of 0.5
</text>
<mask id="mask3" maskUnits="userSpaceOnUse" x="60" y="200" width="200" height="100">
<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-family="Arial" font-size="12" x="200" y="225">
Text with mask containing rectangles
</text>
<text font-family="Arial" font-size="12" x="200" y=
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-08-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/render-elems-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-63-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-dom-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-13-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-displace-01-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/linking-a-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-29-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-40-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Animation of x/y on use, image, rect and text. Animation of width/height on image and rect." status="accepted" version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-40-t.svg,v $">
<OperatorScript>
<Paragraph>
This test validates that the x and y attributes can be animated on
<
use
>
,
<
image
>
,
<
rect
>
and
<
text
>
elements.
The test also validates that the width and height attributes can
be animated on
<
image
>
and
<
rect
>
</Paragraph>
<Paragraph>
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
<
text
>
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').
</Paragraph>
<Paragraph>
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.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<text text-anchor="middle" x="240" y="25" font-size="16">
<
animate
>
of x/y/width/height
</text>
<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
<
use
>
</text>
<image xlink:href="data:image/jpg;base64,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
tests_public/svg/svgw3c-1.1-full/svg/paths-data-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-symbol-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-11-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-17-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-25-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-felem-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-04-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.5 $" testname="struct-image-04-t.svg">
<Paragraph>
The image test case checks to see if the basic image formats allowed in
the tiny profile are supported using the data: URI schema and base64 encoding..
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.
</Paragraph>
<Paragraph>
The rendered picture should match the reference image, except for possible
variations in the labelling text (per CSS2 rules).
</Paragraph>
</OperatorScript>
</SVGTestCase>
<image id="image1JPEG" x="240" y="0" width="240" height="150" xlink:href="data:image/jpg;base64,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" />
<image id="image1PNG" x="240" y="150" width="240" height="150" xlink:href="data:image/png;base64,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 hiS
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
Q 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
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-34-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-fonts-03-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="" reviewed="" owner="MI" desc="Testing font-family attribute" status="created" version="$Revision: 1.5 $" testname="$RCSfile: text-fonts-03-t.svg,v $">
<OperatorScript>
<Paragraph>
Testing font-family attribute.
Two SVG fonts are defined. Various text elements are then
used with varying values for the font-family attribute.
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.
</Paragraph>
<Paragraph>
The rendered picture should match the reference image exactly, except for possible
variations in the labelling text (per CSS2 rules).
</Paragraph>
</OperatorScript>
</SVGTestCase>
<defs>
<font>
<font-face font-family="Haettenschweiler" />
<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="Charlesworth" />
<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-
tests_public/svg/svgw3c-1.1-full/svg/render-elems-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-03-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-path-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/shapes-rect-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/render-groups-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-dom-06-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/linking-a-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-turb-01-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-19-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-12-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-81-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-28-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-diffuse-01-f.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.4 $" testname="filters-diffuse-01-f.svg">
<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>
<text x="145" y="30" fill="black" font-size="12" font-family="Arial" font-weight="bold">
Filters: feDiffuseLighting
</text>
<defs>
<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>
<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>
<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>
<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)" />
<text x="90" y="25">
Various values for diffuseConstants: 0, 1 and 2
</text>
<image xlink:href="../images/bumpMap2.png" x
tests_public/svg/svgw3c-1.1-full/svg/text-deco-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-align-04-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-intro-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-20-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-specular-01-f.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.8 $" testname="filters-specular-01-f.svg">
<Paragraph>
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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
The rendered picture should match the reference image.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<text x="240" y="20" fill="black" font-size="12" font-family="Arial" text-anchor="middle">
Filters: feSpecularLighting
</text>
<defs>
<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>
<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>
<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>
<filter id="lightingColorA" filterUnits="objectBoundingBox" x="0%" y="0%" width="100%" height="100%">
<feSpecularLi
tests_public/svg/svgw3c-1.1-full/svg/fonts-elem-07-b.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" owner="CL" reviewer="BB" desc="Tests the font element using embedded Comic" status="accepted" version="$Revision: 1.7 $" testname="$RCSfile: fonts-elem-07-b.svg,v $">
<OperatorScript>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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).
</Paragraph>
<Paragraph>
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.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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>
<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 1671Q
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/linking-a-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-66-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Basic test on the max attribute and combinations of the min and max attributes" status="accepted" version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-66-t.svg,v $">
<OperatorScript>
<Paragraph>
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.
</Paragraph>
<Paragraph>
Each row in the test shows different rectangles subject to
<
set
>
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.
</Paragraph>
<Paragraph>
On the first row, the
<
set
>
animation has a (0s
<
= t
<
5s) active duration
and no max attribute so the actual active duration is (0s
<
= t
<
5s).
The first row shows a second rectangle with a
<
set
>
animation with
the same configuration except that the max attribute value is set to
'media'. Because the
<
set
>
element does not define a media, the
behavior should be as if the attribute was not specified.
</Paragraph>
<Paragraph>
On the second row, the
<
set
>
animation has a (0s
<
= t
<
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
<
= t
<
5s).
</Paragraph>
<Paragraph>
On the third row, the
<
set
>
animation has a (0s
<
= t
<
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
<
= t
<
5s).
</Paragraph>
<Paragraph>
On the fourth row, the
<
set
>
animation has a (0s
<
= t
<
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
<
= t
<
5s).
</Paragraph>
<Paragraph>
On the fifth row, the
<
set
>
animation has a (0s
<
= t
<
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
<
= t
<
5s).
</Paragraph>
<Paragraph>
On the sixth row, the
<
set
>
animation has
tests_public/svg/svgw3c-1.1-full/svg/paths-data-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-spacing-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/styling-css-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/styling-pres-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/interact-zoom-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-14-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/linking-uri-01-b.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" chapter="linking" section="uri" profile="f" index="01">
<OperatorScript version="$Revision: 1.6 $" testname="linking-uri-01-b.svg">
<Paragraph>
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 internal, i.e., to 'view' elements within the SVG file.
This test is one of a pair, with linking-uri-02-b, which is substantially
identical except that its links target view elements in this test case,
i.e., they are external).
</Paragraph>
<Paragraph>
In the four quadrants of the initial picture are four graphical objects.
Clockwise from upper right, they are
a red rectangle, blue ellipse, green polygon (pentagon), and yellow
circle. Each is labelled and tightly boxes with a rectangular frame.
Each is referenced by an associated 'view' element, with attributes
per the labels in the picture.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
Activating the Rectangle link should cause no change in the picture. Its
'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.
</Paragraph>
<Paragraph>
Activating the Ellipse link should cause the initial picture to be replaced in the
frame by the whole ellipse element, uniformly scaled, with its boxing rect
just inside the frame.
</Paragraph>
<Paragraph>
Assuming that a "back" action has
been requested, activating the Polygon link should cause the initial
picture to remain unchanged within the frame, except that the polygon is
"highlighted" (the meaning of highlighted is not further specified).
</Paragraph>
<Paragraph>
Assuming that a "back" action has been requested,
activating the Circle link should cause the initial picture to be replaced in the
frame by the whole whole element, non-uniformly scaled so that it is stretched
horizontally into an ellipse, with its boxing rect just inside the frame.
</Paragraph>
<Paragraph>
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.)
</Paragraph>
<Paragraph>
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.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<text x="65" y="16" font-size="12">
Link te
tests_public/svg/svgw3c-1.1-full/svg/extend-namespace-01-f.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript>
<Paragraph>
Test mixing a business data namespace with elements in SVG namespace.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
The result should show four 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.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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 < regionCount; regionIndex++)
total = total + Number(RegionResultNodeList.item(regionIndex).firstChild.nodeValue);
// Build a pie chart.
var startAngle = 0;
for (regionIndex = 0; regionIndex < 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,
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-52-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-cond-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/interact-cursor-01-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-trans-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-37-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-text-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-stroke-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/interact-order-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/script-handle-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/fonts-glyph-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-06-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/masking-path-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-text-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-23-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-61-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/interact-events-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-15-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-84-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-use-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-frag-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-69-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-color-01-b.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.6 $" testname="filters-color-01-b.svg">
<Paragraph>
Test which verifies the basic facilities of
feColorMatrix.
</Paragraph>
<Paragraph>
This test uses the following elements : a nested
<
svg
>
with a viewBox attribute,
<
linearGradient
>
,
<
filter
>
,
<
feColorMatrix
>
,
<
feComposite
>
.
</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>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" 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>
tests_public/svg/svgw3c-1.1-full/svg/script-handle-04-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/color-prop-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-tref-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-dom-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/shapes-ellipse-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-gauss-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/fonts-elem-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-32-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-17-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-fonts-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/styling-css-06-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-46-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Animation of text properties: text-anchor, font-size, font-family, font-style and font-weight" status="accepted" version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-46-t.svg,v $">
<OperatorScript>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
Only the animation of font-size should show a continuous change of the font size.
</Paragraph>
<Paragraph>
The following animations have a discrete behavior: text-anchor, font-family,
font-style, font-weight.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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>
<text x="20" y="3">
<
text
>
</text>
<text x="135" y="3">
<
g
>
</text>
<text x="250" y="3">
<
a
>
</text>
<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" />
<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 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>
<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" />
<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 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>
<defs>
<g id="animateTwoRef" font-weight="bold" font-size="30">
<text x="0" y="20" fill="#aaa" font-family="sans-serif">
A
</text>
<text x="30" y="20" fill="#aaa" font-family="serif">
A
</text>
<text x="60" y="20" font-size="30" fill="#aaa" font-family="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="sans-serif;serif;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" />
<animate attributeName="font-family" values="sans-serif;serif;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 font-weight="bold" font-size="30" transform="translate(220,0)">
<animate attributeName="font-family" values="sans-serif;serif;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>
<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" />
<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 transform="translate(220,0)" font-size="30" font-weight="bold">
<animate attributeName="font-styl
tests_public/svg/svgw3c-1.1-full/svg/fonts-desc-02-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="CN" desc="Test the CSS2 font-maching algorithm against a set of SVG fonts." status="accepted" version="$Revision: 1.4 $" testname="$RCSfile: fonts-desc-02-t.svg,v $">
<OperatorScript>
<Paragraph>
This tests the behaviour of CSS font matching based on font-variant attribute.
</Paragraph>
<Paragraph>
The first line of text should be 'square' 'triangle'. The small-caps font should
match the second text element.
</Paragraph>
<Paragraph>
The second line of text should be 'square' 'triangle'. The second line is used
to ensure that the order of font specification does not effect the selection
of these fonts.
</Paragraph>
<Paragraph>
The third line of text should be 'square', 'diamond', 'square', 'diamond'. This
shows 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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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>
<text x="50" y="50" font-family="SVGFont1">
a
</text>
<text x="100" y="50"
tests_public/svg/svgw3c-1.1-full/svg/coords-trans-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/masking-path-04-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/masking-opacity-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-units-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-marker-02-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/linking-a-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-22-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-viewattr-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-dom-04-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-78-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="NR" desc="Test on the animation of graphic properties and the inheritance of animated graphics properties" status="accepted" version="$Revision: 1.10 $" testname="$RCSfile: animate-elem-78-t.svg,v $">
<OperatorScript>
<Paragraph>
This test demonstrates how
<
set
>
elements change
graphics properties on a
<
shape
>
element. For
each of the graphics properties being tested, 3
<
set
>
elements are set. The first
<
set
>
element acts directly on the
<
shape
>
element. The
<
set
>
element acts on a
<
g
>
containing
children. The third
<
set
>
element acts on an
<
a
>
containing children. In each case the test validates that
the animated value set on the
<
g
>
and
<
a
>
elements is inherited by the
<
shape
>
element.
All the
<
set
>
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.
</Paragraph>
<Paragraph>
The first
<
set
>
validates the fill property, with
fill set to orange. When applied directly to the
<
shape
>
element, the
<
rect
>
fill value will change to orange
when it is translated to the right every 1s. When applied
to the
<
g
>
and
<
a
>
elements, the
<
rect
>
inherits the fill value and is orange.
</Paragraph>
<Paragraph>
The second
<
set
>
validates the fill-style property,
with fill-style set to evenodd. When applied to the
<
shape
>
element, the
<
polyline
>
fill-style is
changed from nonzero to evenodd. When applied to the
<
g
>
and
<
a
>
elements, the
<
polyline
>
inherits
the evenodd fill-style.
</Paragraph>
<Paragraph>
the third
<
set
>
validates the stroke property.
In this case fill is set to none. When stroke is applied
to the
<
shape
>
element, the
<
rect
>
on the right
appears with the stroke color. When applied to the
<
g
>
and
<
a
>
elements, the
<
rect
>
inherits the stroke property.
</Paragraph>
<Paragraph>
the fourth
<
set
>
validates the stroke-width property,
with stroke-width set to 4. When stroke-width is applied
to the
<
shape
>
element, the
<
line
>
on the right
has a width of 4. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the stroke-width.
</Paragraph>
<Paragraph>
the fifth
<
set
>
validates the stroke-linecap property,
with stroke-linecap set to round. When stroke-linecap is applied
to the
<
shape
>
element, the
<
line
>
stroke-linecap
value switches from butt to round. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the
square stroke-linecap.
</Paragraph>
<Paragraph>
the sixth
<
set
>
validates the stroke-linejoin property,
with stroke-linejoin set to bevel. When stroke-linejoin is applied
to the
<
shape
>
element, the
<
line
>
stroke-linejoin
value switches from miter to bevel. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the
bevel stroke-linejoin.
</Paragraph>
<Paragraph>
the seventh
<
set
>
validates the stroke-miterlimit property,
with stroke-miterlimit set to 10. When stroke-miterlimit
is applied to the
<
shape
>
element, the miter-length to
stroke-width ratio exceeds the miter-limit and the
<
polyline
>
switches from bevel to miter.When applied
to the
<
g
>
and
<
a
>
elements,the
<
line
>
inherits the stroke-miterlimit.
</Paragraph>
<Paragraph>
the eighth
<
set
>
validates the stroke-dashoffset property,
with stroke-dashoffset set to 5.5. When stroke-dashoffset is applied
to the
<
shape
>
element, the
<
line
>
has a different
dashing pattern. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the property.
</Paragraph>
<Paragraph>
the ninth
<
set
>
validates the display property,
with display set to none. When display is applied
to the
<
shape
>
element, the
<
rect
>
does not
appear on the right. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the display property and
hence is not seen.
</Paragraph>
<Paragraph>
the tenth
<
set
>
validates the visibility property,
with visibility set to hidden. When visibility is applied
to the
<
shape
>
element, the
<
rect
>
is hidden
on the right. When applied to the
<
g
>
and
<
a
>
elements, the
<
line
>
inherits the visibility property
and hence is not seen.
</Paragraph>
<Paragraph>
the eleventh
<
set
>
validates the color property,
with color set to blue. When color is applied to the
<
shape
>
element, the
<
rect
>
on the right
switches from default color of black to blue. When
applied to the
<
g
>
and
<
a
>
elements, the
<
tests_public/svg/svgw3c-1.1-full/svg/paths-data-14-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/render-groups-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-align-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-03-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.10 $" testname="animate-elem-03-t.svg">
<Paragraph>
Test inheritance of animated properties.
</Paragraph>
<Paragraph>
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).
</Paragraph>
<Paragraph>
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.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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=" " 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
tests_public/svg/svgw3c-1.1-full/svg/painting-fill-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/shapes-circle-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/render-elems-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-26-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/fonts-elem-01-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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).
</Paragraph>
<Paragraph>
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.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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" fon
tests_public/svg/svgw3c-1.1-full/svg/coords-coord-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-light-01-f.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.8 $" testname="filters-light-01-f.svg">
<Paragraph>
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.
</Paragraph>
<Paragraph>
The first row shows different settings for feDistantLight. The second row shows
different settings for fePointLight. The last row shows different settings for
feSpotLight.
</Paragraph>
<Paragraph>
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.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<text x="240" y="20" fill="black" font-size="12" font-family="Arial" text-anchor="middle">
Filters: feDistantLight, fePointLight, feSpotLight
</text>
<defs>
<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>
<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>
<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"
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-70-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-09-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-10-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-41-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Animation of the various graphics properties with the animate element." status="accepted" version="$Revision: 1.9 $" testname="$RCSfile: animate-elem-41-t.svg,v $">
<OperatorScript>
<Paragraph>
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.
</Paragraph>
<Paragraph>
For each 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.
</Paragraph>
<Paragraph>
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. In most tests, 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.
</Paragraph>
<Paragraph>
The following animations should show continuous changes: fill, stroke,
stroke-width, stroke-miterlimit, stroke-dashoffset and color. Note that
visually, stroke-miterlimit shows a sharp transition, but that is because
the miter is cut off when the animated miter limit reaches the test sharp
angle's miter value. The stroke-miterlimit value is changed continously
but that is not visible in this test.
</Paragraph>
<Paragraph>
The following animations have a discrete behavior: fill-rule, stroke-linecap,
stroke-linejoin, display and visibility.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<text text-anchor="middle" x="240" y="25" font-size="20">
graphics
</text>
<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>
<text x="20" y="3">
element
</text>
<text x="130" y="3">
<
g
>
</text>
<text x="235" y="3">
<
a
>
</text>
<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" />
<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 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>
<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" />
<polyli
tests_public/svg/svgw3c-1.1-full/svg/filters-offset-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/fonts-glyph-02-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CL" owner="CN" desc="Test on arabic-form" status="accepted" version="$Revision: 1.7 $" testname="$RCSfile: fonts-glyph-02-t.svg,v $">
<OperatorScript>
<Paragraph>
The first subtest tests the arabic-form attribute and should 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.
</Paragraph>
<Paragraph>
The second subtest is the same, but with glyphs for the letter khah.
It should match the reference image.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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 -
tests_public/svg/svgw3c-1.1-full/svg/painting-stroke-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-intro-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-group-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-64-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/linking-a-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-18-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-12-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/types-basicDOM-01-b.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="AE,ED" owner="AN" desc="Tests the interface SVGLocatable" status="accepted" version="$Revision: 1.1 $" testname="$RCSfile: types-basicDOM-01-b.svg,v $">
<OperatorScript>
<Paragraph>
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 red circle.
</Paragraph>
<Paragraph>
For the test to pass, the values generated by script must match the values provided in the png image. The correct values are:
</Paragraph>
<Paragraph>
.getScreenCTM() for id "rotText": 0.42,0.42,-0.42,0.42,70.00,-60.00
</Paragraph>
<Paragraph>
.getCTM() for id "rotText": 0.42,0.42,-0.42,0.42,70.00,-60.00
</Paragraph>
<Paragraph>
.getTransformToElement() between id "rotText" and id "parentGroup": 0.42,0.42,-0.42,0.42,0.00,0.00
</Paragraph>
<Paragraph>
.getBBox() for 'redCircle': .x=-50,.y=-50,.width=100,.height=100
</Paragraph>
<Paragraph>
.farthestViewportElement of redCircle=svg-root
</Paragraph>
<Paragraph>
.nearestViewportElement of redCircle=nestedSVG
</Paragraph>
</OperatorScript>
</SVGTestCase>
<script type="text/ecmascript">
function testSVGLocatable() {
var rotText = document.getElementById("rotatedText");
var redCircle = document.getElementById("redCircle")
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 = redCircle.getBBox();
document.getElementById("result4").firstChild.nodeValue = ".getBBox() for 'redCircle': .x="+bbox.x+",.y="+bbox.y+",.width="+bbox.width+",.height="+bbox.height;
document.getElementById("result5").firstChild.nodeValue = ".farthestViewportElement of redCircle="+redCircle.farthestViewportElement.getAttributeNS(null,"id");
document.getElementById("result6").firstChild.nodeValue = ".nearestViewportElement of redCircle="+redCircle.nearestViewportElement.getAttributeNS(null,"id");
}
</script>
<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="redCircle" cx="0" cy="0" r="50" fill="red" />
</svg>
<text id="result1" x="10" y="200" />
<text id="result2" x="10" y="220" />
<text id="result3" x="10" y="240" />
<text id="result4" x="10" y="260" />
<text id="result5" x="10" y="280" />
<text id="result6" x="10" y="300" />
<text id="revision" x="10" y="340" font-size="
tests_public/svg/svgw3c-1.1-full/svg/masking-intro-01-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-frag-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-ws-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/linking-uri-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-use-05-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-use-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/interact-order-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/render-elems-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-align-05-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-tselect-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-pattern-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-04-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/styling-css-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-group-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-67-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Basic test on restart attribute" status="accepted" version="$Revision: 1.8 $" testname="$RCSfile: animate-elem-67-t.svg,v $">
<OperatorScript>
<Paragraph>
This tests performs basic tests on restart attribute
</Paragraph>
<Paragraph>
Each row in the test shows different rectangles subject to
<
set
>
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.
</Paragraph>
<Paragraph>
On the first row, the
<
set
>
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
<
= t
<
4s) which should be superceeded, at 1s, by a new interval
of (1s
<
= t
<
5s) because the default restart behavior is 'always'.
Consequently, the rectangle should be in the right position during the
(0s
<
= t
<
5s) interval and move to the left position at 5s.
</Paragraph>
<Paragraph>
On the second row, the
<
set
>
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.
</Paragraph>
<Paragraph>
On the third row, the first (left most) rectangle's
<
set
>
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
<
= t
<
5s) and is not superseded by a (1s
<
= t
<
6s) interval
because of the restart value.
The second (right most) red rectangle's
<
set
>
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
<
= t
<
2.5s) which is followed by a (2.5s
<
= t
<
5s) interval. Consequently,
the rectangle stays on its right position for the first five seconds before it definitively
moves to the left position.
</Paragraph>
<Paragraph>
On the fourth row, the
<
set
>
animation has a begin attribute set to
'0s;5s' and a dur attribute set to 5s. This results in a first interval of (0s
<
= t
<
5s).
Because the restart attribute is set to 'never', the following possible interval,
(5s
<
= t
<
10s) does not apply and the animation is only active for the first 5 seconds.
</Paragraph>
<Paragraph>
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.
</Paragraph>
</OperatorScript>
tests_public/svg/svgw3c-1.1-full/svg/shapes-rect-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/linking-uri-02-b.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" chapter="linking" section="uri" profile="f" index="02">
<OperatorScript version="$Revision: 1.7 $" testname="linking-uri-02-b.svg">
<Paragraph>
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 external, i.e., to 'view' elements in another the SVG file.
That file is linking-uri-01-b.svg.
This test is one of a pair, with linking-view-BE-04, which is substantially
identical except that its links are all internal, targeting the same 'view'
elements as the corresponding links in this test case,
i.e., they are external).
</Paragraph>
<Paragraph>
In the four quadrants of the initial picture are four graphical objects.
Clockwise from upper right, they are
a red 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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
Activating the Rectangle link should cause the whole of linking-uri-01-b.svg to be
displayed, which is visually similar similar to linking-uri-02-b.svg. Its
'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.
</Paragraph>
<Paragraph>
Assuming that a "back" action has been requested, activating the Ellipse link
should cause the initial picture to be replaced in the
frame by the whole ellipse element, uniformly scaled, with its boxing rect
just inside the frame.
</Paragraph>
<Paragraph>
Assuming that a "back" action has
been requested, activating the Polygon link should cause the initial
picture to remain unchanged within the frame, except that the polygon is
"highlighted" (the meaning of highlighted is not further specified).
</Paragraph>
<Paragraph>
Assuming that a "back" action has been requested,
activating the Circle link should cause the initial picture to be replaced in the
frame by the whole whole element, non-uniformly scaled so that it is stretched
horizontally into an ellipse, with its boxing rect just inside the frame.
</Paragraph>
<Paragraph>
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
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-21-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-trans-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-08-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-13-b.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" owner="BB" reviewer="CL" desc="Tests the radial gradient focal point" status="accepted" version="$Revision: 1.7 $" testname="$RCSfile: pservers-grad-13-b.svg,v $">
<OperatorScript>
<Paragraph>
The purpose of this file is to test several values for focal points of radial gradients.
The UA should render a result equivalent to the referenced image.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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="red" />
<rect x="45" y="0" width="10" height="60" fill="gold" />
<rect x="60" y="0" width="10" height="60" fill="red" />
<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" />
</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-opaci
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-82-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Test on the animateTransform additive behavior" status="accepted" version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-82-t.svg,v $">
<OperatorScript>
<Paragraph>
This test demonstrates validates the operation of
animateTransform with regards to the rotation center
and with regards to paced animation.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
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).
</Paragraph>
<Paragraph>
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).
</Paragraph>
<Paragraph>
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).
</Paragraph>
<Paragraph>
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).
</Paragraph>
<Paragraph>
The fifth animateTransform has type='scale' and calcMode='paced'.
The animation goes from scale(1,2) to scale(3,2) to
scale(1,1). The total length along the sx component is 2 + 2 = 4.
The total length along the sy component is 0 + 1 = 1.
At 0s, the expected transform is scale(1,2).
At 1.5s, the expected transform is scale(3,1.5) so that a length of
2 has been run on the sx component and a length of 0.5 has been
run on the sy component.
At 3s, the expected transform is scale(3,2).
</Paragraph>
<Paragraph>
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 ex
tests_public/svg/svgw3c-1.1-full/svg/masking-path-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-defs-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-example-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-15-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-44-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/script-handle-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/color-prop-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/filters-morph-01-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-frag-05-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-07-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/shapes-intro-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-30-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/styling-inherit-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-stroke-04-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-cond-02-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/">
<OperatorScript version="$Revision: 1.8 $" testname="struct-cond-02-t.svg">
<Paragraph>
This tests ability to use the 'systemLanguage' as a test attribute within a
switch element. To pass, either
<ol>
<li>
the name (in English) of the current
system language, or
</li>
<li>
the names of the three languages (English, French
Japanese) of W3C
</li>
</ol>
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.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
In addition, the string "Why don't they just speak
<
language
>
" 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).
</Paragraph>
</OperatorScript>
</SVGTestCase>
<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">
<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>
<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>
<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>
<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">
<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">
<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 Mincho',ï¼ï¼³ ææ,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>
<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>
</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">
tests_public/svg/svgw3c-1.1-full/svg/struct-dom-02-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/shapes-ellipse-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/shapes-polygon-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/fonts-elem-03-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-fill-05-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-text-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-intro-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/color-prof-01-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/coords-viewattr-01-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-image-03-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-62-t.svg (ppmraw 600dpi)
<SVGTestCase xmlns:testcase="http://www.w3.org/2000/02/svg/testsuite/description/" xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" reviewer="CN" owner="VH" desc="Test on the various end attribute values" status="accepted" version="$Revision: 1.7 $" testname="$RCSfile: animate-elem-62-t.svg,v $">
<OperatorScript>
<Paragraph>
This test performs basic test on the end attribute,
assuming support for the
<
set
>
element and setting the
fill attribute on a
<
rect
>
element.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
There are one or several
<
set
>
elements for each of the possible end
values. For each test, the
<
set
>
element(s) has (or have) an indefinite
duration and no other timing attribute specified other than end
and dur.
</Paragraph>
<Paragraph>
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.
</Paragraph>
<Paragraph>
The first
<
set
>
has an unspecified end attribute. That value
defaults to an offset of 0s so the animation should apply as soon as
the document is loaded.
</Paragraph>
<Paragraph>
The second
<
set
>
has its end attribute set to '2s'. So its
target rectangle should turn green two seconds after the document is
loaded.
</Paragraph>
<Paragraph>
The third
<
set
>
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
<
set
>
target turn green. There are two rectangles
with associated
<
set
>
elements. The left most ones has a simple
value (no offset) and the second one is offset from the event time by 2 seconds.
</Paragraph>
<Paragraph>
The fourth
<
set
>
elements have their end attributes set to a sync base
value. The first two rectangles have
<
set
>
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
<
set
>
elements synchronized on their sync base end.
The first one (i.e., the third from left to right on that line), has a 2 seco
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-09-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/render-elems-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-12-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-stroke-07-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-fill-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-align-08-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/pservers-grad-16-b.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/color-prop-02-f.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-10-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-24-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/paths-data-06-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/animate-elem-85-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/text-fonts-02-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/struct-group-01-t.svg (ppmraw 600dpi)
tests_public/svg/svgw3c-1.1-full/svg/painting-fill-04-t.svg (ppmraw 600dpi)
More information about the gs-regression
mailing list