Added initial support for DST. Rules are defined in constants.php and are extensible.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="face-glasses.svg"
sodipodi:docbase="/home/jimmac/gfx/ximian/tango-icon-theme/scalable/emotes"
inkscape:version="0.43+devel"
sodipodi:version="0.32"
id="svg4376"
height="48px"
width="48px">
<defs
id="defs3">
<linearGradient
id="linearGradient4467">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop4469" />
<stop
style="stop-color:#ffffff;stop-opacity:0.24761905;"
offset="1.0000000"
id="stop4471" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4467"
id="radialGradient5122"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.913572,-5.717108e-24,-4.217183e-24,1.662023,4.360788,-11.71828)"
cx="15.414371"
cy="13.078408"
fx="15.414371"
fy="13.078408"
r="6.6562500" />
<linearGradient
id="linearGradient4454">
<stop
style="stop-color:#729fcf;stop-opacity:0.20784314;"
offset="0.0000000"
id="stop4456" />
<stop
style="stop-color:#729fcf;stop-opacity:0.67619050;"
offset="1.0000000"
id="stop4458" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4454"
id="radialGradient4460"
cx="18.240929"
cy="21.817987"
fx="18.240929"
fy="21.817987"
r="8.3085051"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3290">
<stop
id="stop3292"
offset="0.0000000"
style="stop-color:#fffcde;stop-opacity:1.0000000;" />
<stop
style="stop-color:#f6e76a;stop-opacity:1.0000000;"
offset="0.64485979"
id="stop3294" />
<stop
id="stop3296"
offset="1.0000000"
style="stop-color:#ffb738;stop-opacity:1.0000000;" />
</linearGradient>
<radialGradient
r="8.9020796"
fy="15.755712"
fx="29.158466"
cy="15.720984"
cx="29.288071"
gradientUnits="userSpaceOnUse"
id="radialGradient2714"
xlink:href="#linearGradient3290"
inkscape:collect="always" />
<linearGradient
id="linearGradient2509">
<stop
style="stop-color:#fffbd5;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop2511" />
<stop
style="stop-color:#edd400;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop2513" />
</linearGradient>
<radialGradient
gradientTransform="matrix(0.617019,0,0,0.617019,9.054796,7.969543)"
id="aigrd2"
cx="25.0527"
cy="39.5928"
r="15.7572"
fx="25.0527"
fy="39.5928"
gradientUnits="userSpaceOnUse">
<stop
offset="0.0000000"
style="stop-color:#777777;stop-opacity:1.0000000;"
id="stop8602" />
<stop
offset="1"
style="stop-color:#000000"
id="stop8604" />
</radialGradient>
<linearGradient
id="linearGradient4565"
inkscape:collect="always">
<stop
id="stop4567"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
id="stop4569"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient3824">
<stop
id="stop3826"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
id="stop3828"
offset="1.0000000"
style="stop-color:#c9c9c9;stop-opacity:1.0000000;" />
</linearGradient>
<linearGradient
id="linearGradient3800">
<stop
id="stop3802"
offset="0.0000000"
style="stop-color:#ffeed6;stop-opacity:1.0000000;" />
<stop
style="stop-color:#e49c2f;stop-opacity:1.0000000;"
offset="0.50000000"
id="stop8664" />
<stop
id="stop3804"
offset="1.0000000"
style="stop-color:#ffc66c;stop-opacity:1.0000000;" />
</linearGradient>
<radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,0.000000,25.71429)"
r="19.714285"
fy="38.571430"
fx="24.714285"
cy="38.571430"
cx="24.714285"
id="radialGradient4571"
xlink:href="#linearGradient4565"
inkscape:collect="always" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4454"
id="radialGradient5150"
gradientUnits="userSpaceOnUse"
cx="18.240929"
cy="21.817987"
fx="18.240929"
fy="21.817987"
r="8.3085051" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4467"
id="radialGradient5152"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.913572,-5.717108e-24,-4.217183e-24,1.662023,-20.16955,-11.71828)"
cx="15.414371"
cy="13.078408"
fx="15.414371"
fy="13.078408"
r="6.6562500" />
</defs>
<sodipodi:namedview
inkscape:window-y="282"
inkscape:window-x="571"
inkscape:window-height="739"
inkscape:window-width="872"
inkscape:showpageshadow="false"
inkscape:document-units="px"
inkscape:grid-bbox="true"
showgrid="false"
inkscape:current-layer="layer1"
inkscape:cy="34.650275"
inkscape:cx="46.379937"
inkscape:zoom="5.6568542"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="0.19607843"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
fill="#edd400" />
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Face - Happy</dc:title>
<dc:subject>
<rdf:Bag>
<rdf:li>emoticon</rdf:li>
<rdf:li>emote</rdf:li>
<rdf:li>smiley</rdf:li>
<rdf:li>happy</rdf:li>
<rdf:li>:)</rdf:li>
<rdf:li>:-)</rdf:li>
</rdf:Bag>
</dc:subject>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://jimmac.musichall.cz</dc:source>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Attribution" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
inkscape:label="Layer 1"
id="layer1">
<path
d="M 44.428570 38.571430 A 19.714285 6.5714288 0 1 1 5.0000000,38.571430 A 19.714285 6.5714288 0 1 1 44.428570 38.571430 z"
sodipodi:ry="6.5714288"
sodipodi:rx="19.714285"
sodipodi:cy="38.571430"
sodipodi:cx="24.714285"
id="path4563"
style="opacity:0.53164557;color:#000000;fill:url(#radialGradient4571);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:0.40487173;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
transform="matrix(2.083142,0.000000,0.000000,2.083142,-40.54715,-16.49224)"
d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
sodipodi:ry="8.6620579"
sodipodi:rx="8.6620579"
sodipodi:cy="19.008621"
sodipodi:cx="31.112698"
id="path4320"
style="overflow:visible;display:inline;visibility:visible;stroke-opacity:1.0000000;stroke-dashoffset:0.0000000;stroke-dasharray:none;stroke-miterlimit:4.0000000;marker-end:none;marker-mid:none;marker-start:none;marker:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:0.48004404;stroke:#9c8c0a;fill-rule:evenodd;fill-opacity:1.0000000;fill:url(#radialGradient2714);color:#000000;opacity:1.0000000"
sodipodi:type="arc" />
<g
id="g5201">
<path
transform="translate(-2.875,-0.625)"
d="M 38.375 19.1875 A 2.375 0.5625 0 1 1 33.625,19.1875 A 2.375 0.5625 0 1 1 38.375 19.1875 z"
sodipodi:ry="0.5625"
sodipodi:rx="2.375"
sodipodi:cy="19.1875"
sodipodi:cx="36"
id="path5197"
style="opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999946;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
sodipodi:type="arc"
style="opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999946;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path5199"
sodipodi:cx="36"
sodipodi:cy="19.1875"
sodipodi:rx="2.375"
sodipodi:ry="0.5625"
d="M 38.375 19.1875 A 2.375 0.5625 0 1 1 33.625,19.1875 A 2.375 0.5625 0 1 1 38.375 19.1875 z"
transform="translate(-20.25,-0.625)" />
</g>
<path
transform="matrix(1.979782,0.000000,0.000000,1.979782,-37.33128,-14.52746)"
sodipodi:type="arc"
style="opacity:0.67721519;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50510627;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
id="path4322"
sodipodi:cx="31.112698"
sodipodi:cy="19.008621"
sodipodi:rx="8.6620579"
sodipodi:ry="8.6620579"
d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" />
<path
sodipodi:nodetypes="czczc"
id="path2659"
d="M 30.657426,26.772382 C 29.168451,29.351362 27.427451,31.210005 24.328216,31.210005 C 21.317153,31.210005 19.112903,29.067863 17.737227,26.685122 C 18.995657,28.193572 20.83858,29.926356 24.197327,29.926356 C 28.210521,29.926356 28.912231,28.491487 30.657426,26.772382 z "
style="opacity:0.36000001;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
style="fill:url(#aigrd2);fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
d="M 30.657426,26.423345 C 29.168451,29.002324 27.427451,30.860968 24.328216,30.860968 C 21.317153,30.860968 19.112903,28.718826 17.737227,26.336085 C 18.995657,27.844534 20.83858,29.577318 24.197327,29.577318 C 28.210521,29.577318 28.912231,28.14245 30.657426,26.423345 z "
id="path8606"
sodipodi:nodetypes="czczc" />
<g
id="g1506"
transform="translate(0.375,2.75)"
style="stroke:#414141;stroke-opacity:1">
<path
d="M 21.036428 12.467883 A 9.5459423 9.5459423 0 1 1 1.9445438,12.467883 A 9.5459423 9.5459423 0 1 1 21.036428 12.467883 z"
sodipodi:ry="9.5459423"
sodipodi:rx="9.5459423"
sodipodi:cy="12.467883"
sodipodi:cx="11.490486"
id="path1500"
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#414141;stroke-width:0.99999946;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc" />
<path
transform="translate(24.57196,0)"
sodipodi:type="arc"
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#414141;stroke-width:0.99999946;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
id="path1502"
sodipodi:cx="11.490486"
sodipodi:cy="12.467883"
sodipodi:rx="9.5459423"
sodipodi:ry="9.5459423"
d="M 21.036428 12.467883 A 9.5459423 9.5459423 0 1 1 1.9445438,12.467883 A 9.5459423 9.5459423 0 1 1 21.036428 12.467883 z" />
<path
sodipodi:open="true"
sodipodi:end="1.3891474"
sodipodi:start="0"
d="M 21.036428,12.467883 A 9.5459423,9.5459423 0 0 1 13.214976,21.856767"
sodipodi:ry="9.5459423"
sodipodi:rx="9.5459423"
sodipodi:cy="12.467883"
sodipodi:cx="11.490486"
id="path1504"
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#414141;stroke-width:1.59850872;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
sodipodi:type="arc"
transform="matrix(-0.40175,-0.479532,0.479532,-0.40175,22.40521,22.90045)" />
</g>
<path
transform="matrix(1.032158,0,0,1.032158,18.26107,-3.8646)"
d="M 25.897786 18.478292 A 8.3085051 8.3085051 0 1 1 9.280776,18.478292 A 8.3085051 8.3085051 0 1 1 25.897786 18.478292 z"
sodipodi:ry="8.3085051"
sodipodi:rx="8.3085051"
sodipodi:cy="18.478292"
sodipodi:cx="17.589281"
id="path4452"
style="color:#000000;fill:url(#radialGradient4460);fill-opacity:1;fill-rule:evenodd;stroke:#3063a3;stroke-width:0.968844;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dashoffset:0;stroke-opacity:1;visibility:visible"
sodipodi:type="arc" />
<path
id="path4462"
d="M 36.254111,7.7185784 C 32.41098,7.7185784 29.298923,10.830635 29.298923,14.673768 C 29.298923,15.783682 29.609104,16.804907 30.071721,17.736342 C 30.99596,18.077005 31.977761,18.308785 33.019806,18.308785 C 37.573888,18.308785 41.210928,14.720961 41.491971,10.237329 C 40.214543,8.7277552 38.385018,7.7185784 36.254111,7.7185784 z "
style="opacity:0.83422457;color:#000000;fill:url(#radialGradient5122);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
<path
sodipodi:type="arc"
style="color:#000000;fill:url(#radialGradient5150);fill-opacity:1;fill-rule:evenodd;stroke:#3063a3;stroke-width:0.968844;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dashoffset:0;stroke-opacity:1;visibility:visible"
id="path5146"
sodipodi:cx="17.589281"
sodipodi:cy="18.478292"
sodipodi:rx="8.3085051"
sodipodi:ry="8.3085051"
d="M 25.897786 18.478292 A 8.3085051 8.3085051 0 1 1 9.280776,18.478292 A 8.3085051 8.3085051 0 1 1 25.897786 18.478292 z"
transform="matrix(1.032158,0,0,1.032158,-6.269258,-3.8646)" />
<path
style="opacity:0.83422457;color:#000000;fill:url(#radialGradient5152);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 11.723783,7.7185784 C 7.8806502,7.7185784 4.7685932,10.830635 4.7685932,14.673768 C 4.7685932,15.783682 5.0787742,16.804907 5.5413912,17.736342 C 6.4656302,18.077005 7.4474312,18.308785 8.4894762,18.308785 C 13.04356,18.308785 16.6806,14.720961 16.961643,10.237329 C 15.684215,8.7277552 13.85469,7.7185784 11.723783,7.7185784 z "
id="path5148" />
</g>
</svg>