blob: 690b552adab338576bbbd7bbd9495d81dd4e3993 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Id: if-architecture-overview.svg 746664 2009-02-22 12:40:44Z jeremias $ -->
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.46"
sodipodi:docbase="C:\Dev\FOP\main\docs"
sodipodi:docname="if-architecture-overview.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<defs
id="defs4">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="744.09448 : 526.18109 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective129" />
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Lend"
style="overflow:visible;">
<path
id="path3213"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(1.1) rotate(180) translate(1,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.5311603"
inkscape:cx="520.07452"
inkscape:cy="881.552"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
grid_units="mm"
gridtolerance="10000"
guidetolerance="10000"
showguides="true"
inkscape:guide-bbox="true"
inkscape:grid-points="true"
inkscape:window-width="1280"
inkscape:window-height="975"
inkscape:window-x="1280"
inkscape:window-y="22">
<inkscape:grid
id="GridFromPre046Settings"
type="xygrid"
originx="0px"
originy="0px"
spacingx="1mm"
spacingy="1mm"
color="#0000ff"
empcolor="#0000ff"
opacity="0.2"
empopacity="0.4"
empspacing="2" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g2901"
transform="translate(85.03936,43.01968)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<rect
ry="0"
y="95.664871"
x="177.66095"
height="20.883432"
width="49.615047"
id="rect1872"
style="fill:#9cbaf1;fill-opacity:1;stroke:black;stroke-width:0.99119538;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
id="text1874"
y="110.58022"
x="202.47726"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
y="110.58022"
x="202.47726"
id="tspan1876"
sodipodi:role="line">fo:root</tspan></text>
<rect
style="fill:#9cbaf1;fill-opacity:1;stroke:black;stroke-width:1.59498918;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect1878"
width="133.05069"
height="20.164854"
x="254.84074"
y="81.793541"
ry="0" />
<text
sodipodi:linespacing="125%"
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="321.37488"
y="95.186516"
id="text1880"><tspan
sodipodi:role="line"
id="tspan1882"
x="321.37488"
y="95.186516"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans">fo:layout-master-set</tspan></text>
<rect
ry="0"
y="110.14"
x="254.84074"
height="20.164854"
width="133.05069"
id="rect1884"
style="fill:#9cbaf1;fill-opacity:1;stroke:black;stroke-width:1.59498918;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
id="text1886"
y="123.53297"
x="321.37488"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"
sodipodi:linespacing="125%"><tspan
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
y="123.53297"
x="321.37488"
id="tspan1888"
sodipodi:role="line">fo:page-sequence</tspan></text>
<path
inkscape:connection-end="#rect1878"
inkscape:connection-start="#rect1872"
inkscape:connector-type="polyline"
id="path1890"
d="M 227.7716,103.0781 L 254.04326,99.933702"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connection-end="#rect1884"
inkscape:connection-start="#rect1872"
inkscape:connector-type="polyline"
id="path1892"
d="M 227.7716,109.11064 L 254.04326,112.22968"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<rect
style="fill:#9cbaf1;fill-opacity:1;stroke:black;stroke-width:0.74172068;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect2889"
width="27.604736"
height="21.018122"
x="425.56772"
y="88.953514"
ry="0" />
<rect
ry="0"
y="116.79997"
x="425.56772"
height="21.018122"
width="27.604736"
id="rect2891"
style="fill:#9cbaf1;fill-opacity:1;stroke:black;stroke-width:0.74172068;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="fill:#9cbaf1;fill-opacity:1;stroke:black;stroke-width:0.74172068;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect2893"
width="27.604736"
height="21.018122"
x="425.56772"
y="145.14642"
ry="0" />
<path
inkscape:connection-end="#rect2889"
inkscape:connection-start="#rect1884"
inkscape:connector-type="polyline"
id="path2895"
d="M 383.21018,109.3425 L 425.19686,101.956"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connection-end="#rect2891"
inkscape:connection-start="#rect1884"
inkscape:connector-type="polyline"
id="path2897"
d="M 388.68893,124.26543 L 425.19686,126.45787"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connection-end="#rect2893"
inkscape:connection-start="#rect1884"
inkscape:connector-type="polyline"
id="path2899"
d="M 357.59989,131.10235 L 425.19686,151.39969"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
id="g2998"
transform="translate(219.685,121.0872)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<g
id="g2843">
<rect
ry="0"
y="195.09483"
x="128.27205"
height="20.448639"
width="104.87323"
id="rect1911"
style="fill:#9cf1cd;fill-opacity:1;stroke:black;stroke-width:1.42598891;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
id="text1913"
y="208.6297"
x="181.22136"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
y="208.6297"
x="181.22136"
id="tspan1915"
sodipodi:role="line">AreaTreeModel</tspan></text>
</g>
<g
transform="translate(-21.25984,4.782451e-6)"
id="g2848">
<rect
style="fill:#9cf1cd;fill-opacity:1;stroke:black;stroke-width:1.42598891;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect2831"
width="104.87322"
height="20.448639"
x="270.00433"
y="194.98007"
ry="0" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="322.17142"
y="208.40947"
id="text2833"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan2835"
x="322.17142"
y="208.40947"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans">PageSequence</tspan></text>
</g>
<g
id="g2943">
<rect
ry="0"
y="194.72183"
x="368.95871"
height="20.965132"
width="41.610195"
id="rect2837"
style="fill:#9cf1cd;fill-opacity:1;stroke:black;stroke-width:0.909495;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
id="text2839"
y="208.33037"
x="389.49426"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Bitstream Vera Sans"
y="208.33037"
x="389.49426"
id="tspan2841"
sodipodi:role="line">Page</tspan></text>
</g>
<path
inkscape:connection-end="#g2848"
inkscape:connection-start="#g2843"
inkscape:connector-type="polyline"
id="path2858"
d="M 233.85827,205.26852 L 248.0315,205.25502"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connection-start="#g2848"
inkscape:connector-type="polyline"
id="path2860"
d="M 354.33071,205.2044 L 368.50396,205.2044"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<rect
ry="0"
y="187.55232"
x="439.74191"
height="21.130945"
width="27.602772"
id="rect2937"
style="fill:#9cf1cd;fill-opacity:1;stroke:black;stroke-width:0.74368227;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<rect
style="fill:#9cf1cd;fill-opacity:1;stroke:black;stroke-width:0.74368227;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect2939"
width="27.602772"
height="21.130945"
x="439.74191"
y="215.89877"
ry="0" />
<rect
ry="0"
y="244.24522"
x="439.74191"
height="21.130945"
width="27.602772"
id="rect2941"
style="fill:#9cf1cd;fill-opacity:1;stroke:black;stroke-width:0.74368227;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
inkscape:connection-end="#rect2937"
inkscape:connection-start="#g2943"
inkscape:connector-type="polyline"
id="path2948"
d="M 411.02365,202.8422 L 439.37007,199.6926"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connection-end="#rect2939"
inkscape:connection-start="#g2943"
inkscape:connector-type="polyline"
id="path2950"
d="M 411.02365,212.29102 L 439.37007,221.73983"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connection-end="#rect2941"
inkscape:connection-start="#g2943"
inkscape:connector-type="polyline"
id="path2952"
d="M 403.82606,216.14171 L 439.48105,243.87338"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
id="g3253"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<rect
style="fill:#f1de9c;fill-opacity:1;stroke:black;stroke-width:2.24847627;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect2996"
width="132.39719"
height="40.27121"
x="50.730537"
y="68.447052"
ry="0" />
<text
sodipodi:linespacing="125%"
id="text3020"
y="93.801895"
x="116.34612"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="93.801895"
x="116.34612"
id="tspan3022"
sodipodi:role="line">FOTreeBuilder</tspan></text>
</g>
<g
id="g3247"
transform="translate(141.7323,12.20033)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<rect
ry="0"
y="217.29221"
x="50.756805"
height="42.191582"
width="132.34465"
id="rect3031"
style="fill:#f1de9c;fill-opacity:1;stroke:black;stroke-width:2.30100584;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
xml:space="preserve"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="116.88812"
y="233.50031"
id="text3033"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3035"
x="116.88812"
y="233.50031">AreaTreeHandler</tspan><tspan
id="tspan3040"
sodipodi:role="line"
x="116.88812"
y="251.00031">(Layout Engine)</tspan></text>
</g>
<rect
style="fill:#ae9cf1;fill-opacity:1;stroke:black;stroke-width:1.77165354;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3045"
width="110.05285"
height="20.705212"
x="262.48203"
y="39.253674"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<text
sodipodi:linespacing="125%"
id="text3047"
y="53.974442"
x="317.62564"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008"><tspan
y="53.974442"
x="317.62564"
id="tspan3049"
sodipodi:role="line">SAX Stream</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
d="M 248.0315,53.149584 L 191.33858,74.409427"
id="path3059"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<path
id="path3241"
d="M 191.43839,109.27294 L 255.09931,138.99007"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
sodipodi:nodetypes="cc"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<path
id="path3243"
d="M 261.55988,166.75554 L 245.20176,224.44681"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
sodipodi:nodetypes="cc"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<path
sodipodi:nodetypes="cc"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 250.3891,277.42379 L 338.12078,314.94766"
id="path3245"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<path
sodipodi:nodetypes="cc"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 255.46357,165.63116 L 168.19427,225.27411"
id="path3258"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<text
xml:space="preserve"
style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="257.95044"
y="195.39291"
id="text3260"
sodipodi:linespacing="125%"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008"><tspan
sodipodi:role="line"
id="tspan3262"
x="257.95044"
y="195.39291">Interface:</tspan><tspan
sodipodi:role="line"
x="257.95044"
y="207.89291"
id="tspan3264">FOEventHandler</tspan></text>
<g
id="g3282"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<rect
style="fill:#f1de9c;fill-opacity:1;stroke:black;stroke-width:2.30100584;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3268"
width="132.34465"
height="42.191582"
x="50.756802"
y="229.49254"
ry="0" />
<text
sodipodi:linespacing="125%"
id="text3270"
y="255.80757"
x="116.24895"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="255.80757"
x="116.24895"
sodipodi:role="line"
id="tspan3274">RTFHandler</tspan></text>
</g>
<g
id="g3294"
transform="translate(14.40538,-35.26891)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<path
sodipodi:nodetypes="ccccc"
id="rect3287"
d="M 63.383779,357.70983 L 127.3269,357.70983 L 127.3269,421.65409 C 118.19217,394.73019 81.653243,418.2886 63.383779,401.46117 L 63.383779,357.70983 z "
style="fill:#f8ffb7;fill-opacity:1;stroke:black;stroke-width:0.98149604;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
id="text3290"
y="382.34586"
x="83.824089"
style="font-size:12px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="382.34586"
x="83.824089"
id="tspan3292"
sodipodi:role="line">RTF</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 113.38583,279.92124 L 113.38583,315.35431"
id="path3299"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<g
id="g3390"
transform="translate(89.82496,0)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<rect
style="fill:#f1de9c;fill-opacity:1;stroke:black;stroke-width:2.30100584;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3303"
width="132.34465"
height="42.191582"
x="242.0954"
y="427.91769"
ry="0" />
<text
sodipodi:linespacing="125%"
id="text3305"
y="454.23273"
x="308.06607"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="454.23273"
x="308.06607"
sodipodi:role="line"
id="tspan3309">XMLRenderer</tspan></text>
</g>
<g
id="g3395"
transform="translate(89.82496,0)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<rect
ry="0"
y="428.74014"
x="389.76379"
height="42.191582"
width="132.34465"
id="rect3317"
style="fill:#f1de9c;fill-opacity:1;stroke:black;stroke-width:2.30100584;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
xml:space="preserve"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="455.73447"
y="455.05518"
id="text3319"
sodipodi:linespacing="125%"><tspan
id="tspan3321"
sodipodi:role="line"
x="455.73447"
y="455.05518">IFRenderer</tspan></text>
</g>
<path
id="path3331"
d="M 545.66929,478.34643 L 481.88976,627.16533"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
sodipodi:nodetypes="cc"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<path
id="path3333"
d="M 418.11024,343.70077 L 503.14961,421.65352"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
sodipodi:nodetypes="cc"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<path
sodipodi:nodetypes="cc"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 396.85039,343.70077 L 389.76378,421.65352"
id="path3335"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<g
id="g3371"
transform="translate(89.82496,0)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<path
sodipodi:nodetypes="ccccc"
id="path3339"
d="M 276.8687,520.21064 L 340.81182,520.21064 L 340.81182,584.1549 C 331.67709,557.231 295.13816,580.78941 276.8687,563.96198 L 276.8687,520.21064 z "
style="fill:#f8ffb7;fill-opacity:1;stroke:black;stroke-width:0.98149604;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
id="text3341"
y="542.12598"
x="310.29745"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="542.12598"
x="310.29745"
id="tspan3343"
sodipodi:role="line">Area Tree</tspan><tspan
y="557.12598"
x="310.29745"
sodipodi:role="line"
id="tspan3345">XML</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 394.54937,478.34643 L 394.54937,513.7795"
id="path3369"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<g
id="g3385"
transform="translate(89.82496,0)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<rect
ry="0"
y="428.74014"
x="80.253777"
height="42.191582"
width="132.34465"
id="rect3379"
style="fill:#f1de9c;fill-opacity:1;stroke:black;stroke-width:2.30100584;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
xml:space="preserve"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="146.22444"
y="455.05518"
id="text3381"
sodipodi:linespacing="125%"><tspan
id="tspan3383"
sodipodi:role="line"
x="146.22444"
y="455.05518">AreaTreeParser</tspan></text>
</g>
<path
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 394.54937,577.55903 C 394.54937,655.51179 233.85827,612.9921 233.85827,478.34643"
id="path3402"
sodipodi:nodetypes="cc"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<path
sodipodi:nodetypes="cc"
id="path3404"
d="M 233.85827,421.65352 C 233.85827,357.87399 276.37795,329.52754 340.15748,329.52754"
style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<text
sodipodi:linespacing="125%"
id="text3406"
y="379.13385"
x="474.80316"
style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008"><tspan
y="379.13385"
x="474.80316"
id="tspan3408"
sodipodi:role="line">Interface:</tspan><tspan
id="tspan3410"
y="391.63385"
x="474.80316"
sodipodi:role="line">Renderer</tspan></text>
<g
id="g3498"
transform="translate(-89.635853,104.63778)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<path
sodipodi:nodetypes="ccccc"
id="path3483"
d="M 651.31418,542.61673 L 715.2573,542.61673 L 715.2573,606.56099 C 706.12257,579.63709 669.58364,603.1955 651.31418,586.36807 L 651.31418,542.61673 z"
style="fill:#f8ffb7;fill-opacity:1;stroke:#000000;stroke-width:0.98149604;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="125%"
id="text3485"
y="572.13385"
x="683.05139"
style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="572.13385"
x="683.05139"
id="tspan3487"
sodipodi:role="line">IF</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="602.36218"
y="627.16534"
id="text3489"
sodipodi:linespacing="125%"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008"><tspan
sodipodi:role="line"
id="tspan3491"
x="602.36218"
y="627.16534">Interface:</tspan><tspan
sodipodi:role="line"
x="602.36218"
y="639.66534"
id="tspan3493">ContentHandler (SAX)</tspan></text>
<g
id="g2555">
<rect
style="fill:#f1de9c;fill-opacity:1;stroke:#000000;stroke-width:2.30100584;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3505"
width="132.34465"
height="42.191582"
x="552.75592"
y="740.55115"
ry="0" />
<text
sodipodi:linespacing="125%"
id="text3507"
y="766.86621"
x="618.24805"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="766.86621"
x="618.24805"
sodipodi:role="line"
id="tspan3509">IFParser</tspan></text>
</g>
<text
sodipodi:linespacing="125%"
id="text3520"
y="522.43549"
x="590.3725"
style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008"><tspan
y="522.43549"
x="590.3725"
id="tspan3522"
sodipodi:role="line">Interfaces:</tspan><tspan
id="tspan3524"
y="534.93549"
x="590.3725"
sodipodi:role="line">IFDocumentHandler/</tspan><tspan
y="547.43549"
x="590.3725"
sodipodi:role="line"
id="tspan2551">IFPainter</tspan></text>
<g
id="g2536">
<g
id="g3323"
transform="translate(353.51182,368.6681)">
<path
sodipodi:nodetypes="ccccc"
id="path3325"
d="M 63.383779,357.70983 L 127.3269,357.70983 L 127.3269,421.65409 C 118.19217,394.73019 81.653243,418.2886 63.383779,401.46117 L 63.383779,357.70983 z"
style="fill:#f8ffb7;fill-opacity:1;stroke:#000000;stroke-width:0.98149604;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
id="text3327"
y="382.34586"
x="83.824089"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="382.34586"
x="83.824089"
id="tspan3329"
sodipodi:role="line">PDF</tspan></text>
</g>
<g
id="g2530">
<rect
style="fill:#f1de9c;fill-opacity:1;stroke:#000000;stroke-width:2.58850002;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect3514"
width="168.63074"
height="41.904087"
x="364.55179"
y="635.05115"
ry="0" />
<text
sodipodi:linespacing="125%"
id="text3516"
y="652.47241"
x="448.18698"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"><tspan
y="652.47241"
x="448.18698"
sodipodi:role="line"
id="tspan3518">PDFDocumentHandler/</tspan><tspan
y="669.97241"
x="448.18698"
sodipodi:role="line"
id="tspan2528">PDFPainter</tspan></text>
</g>
<path
id="path3526"
d="M 448.84954,684.51367 L 448.84954,719.94674"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
sodipodi:nodetypes="cc" />
</g>
<path
id="path3528"
d="M 595.27559,620.07872 L 595.27559,641.33856"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
sodipodi:nodetypes="cc"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<path
sodipodi:nodetypes="czszc"
id="path3530"
d="M 595.27559,790.15746 C 595.27559,811.4173 680.31495,811.4173 701.5748,790.15746 C 722.83465,768.89762 722.83465,708.6614 722.83465,641.33856 C 722.83465,566.92911 722.83465,520.86612 701.5748,499.60628 C 680.31496,478.34643 616.53543,471.25982 588.18898,513.77951"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<g
id="g3317"
transform="translate(-11.872214,-169.75063)"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008">
<rect
ry="0"
y="740.55115"
x="566.92914"
height="42.191582"
width="132.34465"
id="rect3308"
style="fill:#f1de9c;fill-opacity:1;stroke:#000000;stroke-width:2.30100584;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
xml:space="preserve"
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="632.42126"
y="766.86621"
id="text3310"
sodipodi:linespacing="125%"><tspan
id="tspan3312"
sodipodi:role="line"
x="632.42126"
y="766.86621">IFSerializer</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 545.66929,478.34643 L 595.27559,563.3858"
id="path3322"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<path
sodipodi:nodetypes="cc"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 595.27559,705.11809 L 595.27559,733.46454"
id="path3324"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008" />
<text
sodipodi:linespacing="125%"
id="text3326"
y="719.29132"
x="602.36218"
style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
xml:space="preserve"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008"><tspan
y="719.29132"
x="602.36218"
id="tspan3328"
sodipodi:role="line">Interface:</tspan><tspan
id="tspan3330"
y="731.79132"
x="602.36218"
sodipodi:role="line">ContentHandler (SAX)</tspan></text>
<text
xml:space="preserve"
style="font-size:10px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="560.98297"
y="812.41168"
id="text3332"
sodipodi:linespacing="125%"
inkscape:export-filename="C:\Dev\FOP\main\docs\renderer-design-new-v2.png"
inkscape:export-xdpi="95.985008"
inkscape:export-ydpi="95.985008"><tspan
sodipodi:role="line"
id="tspan3334"
x="560.98297"
y="812.41168">Interfaces:</tspan><tspan
sodipodi:role="line"
x="560.98297"
y="824.91168"
id="tspan3336">IFDocumentHandler/</tspan><tspan
sodipodi:role="line"
x="560.98297"
y="824.91168"
id="tspan2553">IFPainter</tspan></text>
</g>
</svg>