Future SVG Filter Ideas
"James Churchman [email protected] [svg-developers]" <[email protected]> Sun, 13 Dec 2015 00:45:15 +0000
| Newsgroups | gmane.text.xml.svg.devel |
|---|---|
| Message-ID | <CAE0yOYmQXsEF3TTLtEKCx1EOY3Vdi11yovgUvQZd+Wp1bYB8mQ@mail.gmail.com> |
--001a114701eab8fc8c0526bcdeee
Content-Type: text/plain; charset=UTF-8
Hi List, I have several things that bug be when using filters, so i thought
i would document my thoughts :
*A) Combine feBlend spec with the CSS Blend modes*
CSS Blend modes currently allow the very powerful : *normal ( reset
), **screen,
overlay, darken, lighten, color-dodge, color-burn, hard-light, soft-light,
difference, exclusion, hue, saturation, color,luminosity*
However the blend modes offered in feBlend are very limited only
offering : *normal,
multiply, screen, darken, lighten*
Given that browsers already offer these very powerful blend modes these
could be combined and offered to the user in feBlend as well. e.g. :
<feBlend mode="color | saturation ( etc.. would be great) ">
*B) Inline feImage*
One of the most powerful features of SVG filters is feImage, especially
when importing other referenced parts of the document. This is still often
quite a verbose experience as you have to place external parts in a defs
tag, give them an id, reference that id etc...
It would be far cleaner if you could inline svg directly inside a special
filter tag. Maybe simply :
<feInlineImage height="50" width="50">
<circle cx="10" cy="10" r="15" fill="black" />
</feInlineImage>
*C) Importing / Referencing other filters in a filter*
It would be incredibly useful to be able to, like you can with an feImage
or a use element for graphical nodes, pull in another filter's filter
nodes, and therefore combine multiple filters into one far more powerful
filter. Maybe a "feUse" or "feCombine", e.g. in this very simple example :
<defs>
<filter id="blur">
<feGaussianBlur stdDeviation="10" />
</filter>
<filter id="hue_rotate">
<feColorMatrix type="hueRotate" values="180" />
</filter>
<filter id="blur_and_hue_rotate">
<feCombine input="url(#hue_rotate)"/>
<feCombine input="url(#blur)"/>
</filter>
</defs>
*D) Multiple filters per element*
Currently if you wish to apply multiple filters to an element, you
currently have to wrap the element in multiple group G elements, and place
each filter in turn on each element. The experience could be a lot better
if the filter attribute could contain a list of filters separated by spaces
maybe ( and with a definition of which order to apply them in) e.g. :
<elem filter="url(#filter_1) url(#filter_2) url(#filter_1)" />
Would very much welcome your comments!
James
--001a114701eab8fc8c0526bcdeee
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<head>
<style type=3D"text/css">
<!--
/* start of attachment style */
.ygrp-photo-title{
clear: both;
font-size: smaller;
height: 15px;
overflow: hidden;
text-align: center;
width: 75px;
}
div.ygrp-photo{
background-position: center;
background-repeat: no-repeat;
background-color: white;
border: 1px solid black;
height: 62px;
width: 62px;
}
div.photo-title=20
a,
div.photo-title a:active,
div.photo-title a:hover,
div.photo-title a:visited {
text-decoration: none;=20
}
div.attach-table div.attach-row {
clear: both;
}
div.attach-table div.attach-row div {
float: left;
/* margin: 2px;*/
}
p {
clear: both;
padding: 15px 0 3px 0;
overflow: hidden;
}
div.ygrp-file {
width: 30px;
valign: middle;
}
div.attach-table div.attach-row div div a {
text-decoration: none;
}
div.attach-table div.attach-row div div span {
font-weight: normal;
}
div.ygrp-file-title {
font-weight: bold;
}
/* end of attachment style */
-->
</style>
</head>
<html>
<head>
<style type=3D"text/css">
<!--
#ygrp-mkp {
border: 1px solid #d8d8d8;
font-family: Arial;
margin: 10px 0;
padding: 0 10px;
}
#ygrp-mkp hr {
border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd {
color: #628c2a;
font-size: 85%;
font-weight: 700;
line-height: 122%;
margin: 10px 0;
}
#ygrp-mkp #ads {
margin-bottom: 10px;
}
#ygrp-mkp .ad {
padding: 0 0;
}
#ygrp-mkp .ad p {
margin: 0;
}
#ygrp-mkp .ad a {
color: #0000ff;
text-decoration: none;
}
-->
</style>
</head>
<body>
<!-- |**|begin egp html banner|**| -->
<br><br>
<!-- |**|end egp html banner|**| -->
<div dir=3D"ltr">Hi List, I have several things that bug be when using filt=
ers, so i thought i would document my thoughts :<div><br></div><div><u>A) C=
ombine feBlend spec with the CSS Blend modes</u></div><div>CSS Blend modes =
currently allow the very powerful : =C2=A0<i>normal ( reset ),=C2=A0</i><i>=
screen, overlay, darken, lighten, color-dodge, color-burn, hard-light, soft=
-light, difference, exclusion, hue, saturation, color,luminosity</i></div><=
div>However the blend modes offered in feBlend are very limited only offeri=
ng : <i>normal, multiply, screen, darken, lighten</i></div><div>Given that =
browsers already offer these very powerful blend modes these could be combi=
ned and offered to the user in feBlend as well. e.g. :</div><div><span clas=
s=3D"" style=3D"color:blue;font-family:Consolas,'courier new';font-=
size:16px;line-height:22px"><br></span></div><div><span class=3D"" style=3D=
"color:blue;font-family:Consolas,'courier new';font-size:16px;line-=
height:22px"><</span><span class=3D"" style=3D"color:rgb(165,42,42);font=
-family:Consolas,'courier new';font-size:16px;line-height:22px">feB=
lend</span><span style=3D"color:rgb(0,0,0);font-family:Consolas,'courie=
r new';font-size:16px;line-height:22px">=C2=A0</span><span class=3D"" s=
tyle=3D"color:red;font-family:Consolas,'courier new';font-size:16px=
;line-height:22px">mode=3D</span><span class=3D"" style=3D"color:rgb(0,0,20=
5);font-family:Consolas,'courier new';font-size:16px;line-height:22=
px">"color |</span><font color=3D"#0000cd" face=3D"Consolas, courier n=
ew" size=3D"3"><span style=3D"line-height:22px">=C2=A0saturation</span></fo=
nt><span class=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,'c=
ourier new';font-size:16px;line-height:22px">=C2=A0( etc.. would be gre=
at) "</span><span class=3D"" style=3D"color:blue;font-family:Consolas,=
'courier new';font-size:16px;line-height:22px">></span></div><di=
v><br></div><div><u>B) Inline feImage</u></div><div>One of the most powerfu=
l features of SVG filters is feImage, especially when importing other refer=
enced parts of the document. This is still often quite a verbose experience=
as you have to place external parts in a defs tag, give them an id, refere=
nce that id etc...=C2=A0</div><div>It would be far cleaner if you could inl=
ine svg directly inside a special filter tag. Maybe simply :</div><div><spa=
n class=3D"" style=3D"color:blue;font-family:Consolas,'courier new'=
;font-size:16px;line-height:22px"><br></span></div><div><span class=3D"" st=
yle=3D"color:blue;font-family:Consolas,'courier new';font-size:16px=
;line-height:22px"><</span><span class=3D"" style=3D"color:rgb(165,42,42=
);font-family:Consolas,'courier new';font-size:16px;line-height:22p=
x">feInlineImage</span><span style=3D"color:rgb(0,0,0);font-family:Consolas=
,'courier new';font-size:16px;line-height:22px">=C2=A0</span><span =
class=3D"" style=3D"color:red;font-family:Consolas,'courier new';fo=
nt-size:16px;line-height:22px">height=3D</span><span class=3D"" style=3D"co=
lor:rgb(0,0,205);font-family:Consolas,'courier new';font-size:16px;=
line-height:22px">"50"</span><span style=3D"color:rgb(0,0,0);font=
-family:Consolas,'courier new';font-size:16px;line-height:22px">=C2=
=A0</span><span class=3D"" style=3D"color:red;font-family:Consolas,'cou=
rier new';font-size:16px;line-height:22px">width=3D</span><span class=
=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,'courier new'=
;;font-size:16px;line-height:22px">"50"</span><span class=3D"" st=
yle=3D"color:blue;font-family:Consolas,'courier new';font-size:16px=
;line-height:22px">></span><br></div><div><span class=3D"" style=3D"colo=
r:blue;font-family:Consolas,'courier new';font-size:16px;line-heigh=
t:22px">=C2=A0 <</span><span class=3D"" style=3D"color:rgb(165,42,42);fo=
nt-family:Consolas,'courier new';font-size:16px;line-height:22px">c=
ircle</span><span style=3D"color:rgb(0,0,0);font-family:Consolas,'couri=
er new';font-size:16px;line-height:22px">=C2=A0</span><span class=3D"" =
style=3D"color:red;font-family:Consolas,'courier new';font-size:16p=
x;line-height:22px">cx=3D</span><span class=3D"" style=3D"color:rgb(0,0,205=
);font-family:Consolas,'courier new';font-size:16px;line-height:22p=
x">"10"</span><span style=3D"color:rgb(0,0,0);font-family:Consola=
s,'courier new';font-size:16px;line-height:22px">=C2=A0</span><span=
class=3D"" style=3D"color:red;font-family:Consolas,'courier new';f=
ont-size:16px;line-height:22px">cy=3D</span><span class=3D"" style=3D"color=
:rgb(0,0,205);font-family:Consolas,'courier new';font-size:16px;lin=
e-height:22px">"10"</span><span style=3D"color:rgb(0,0,0);font-fa=
mily:Consolas,'courier new';font-size:16px;line-height:22px">=C2=A0=
</span><span class=3D"" style=3D"color:red;font-family:Consolas,'courie=
r new';font-size:16px;line-height:22px">r=3D</span><span class=3D"" sty=
le=3D"color:rgb(0,0,205);font-family:Consolas,'courier new';font-si=
ze:16px;line-height:22px">"15"</span><span style=3D"color:rgb(0,0=
,0);font-family:Consolas,'courier new';font-size:16px;line-height:2=
2px">=C2=A0</span><span class=3D"" style=3D"color:red;font-family:Consolas,=
'courier new';font-size:16px;line-height:22px">fill=3D</span><span =
class=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,'courier ne=
w';font-size:16px;line-height:22px">"black"</span><span style=
=3D"color:rgb(0,0,0);font-family:Consolas,'courier new';font-size:1=
6px;line-height:22px">=C2=A0</span><span class=3D"" style=3D"color:red;font=
-family:Consolas,'courier new';font-size:16px;line-height:22px">/</=
span><span class=3D"" style=3D"color:blue;font-family:Consolas,'courier=
new';font-size:16px;line-height:22px">></span><br></div><div><span =
class=3D"" style=3D"color:blue;font-family:Consolas,'courier new';f=
ont-size:16px;line-height:22px"><</span><span style=3D"color:rgb(255,0,0=
);font-family:Consolas,'courier new';font-size:16px;line-height:22p=
x">/</span><span class=3D"" style=3D"color:rgb(165,42,42);font-family:Conso=
las,'courier new';font-size:16px;line-height:22px">feInlineImage</s=
pan><span class=3D"" style=3D"color:blue;font-family:Consolas,'courier =
new';font-size:16px;line-height:22px">></span></div><div><br></div><=
div><u>C) Importing / Referencing other filters in a filter</u></div><div>I=
t would be incredibly useful to be able to, like you can with an feImage or=
a use element for graphical nodes, pull in another filter's filter nod=
es, and therefore combine multiple filters into one far more powerful filte=
r. Maybe a "feUse" or "feCombine", e.g. in this very si=
mple example :</div><div><span class=3D"" style=3D"color:blue;font-family:C=
onsolas,'courier new';font-size:16px;line-height:22px"><br></span><=
/div><div><span class=3D"" style=3D"color:blue;font-family:Consolas,'co=
urier new';font-size:16px;line-height:22px"><</span><span class=3D""=
style=3D"color:rgb(165,42,42);font-family:Consolas,'courier new';f=
ont-size:16px;line-height:22px">defs</span><span class=3D"" style=3D"color:=
blue;font-family:Consolas,'courier new';font-size:16px;line-height:=
22px">></span><br style=3D"color:rgb(0,0,0);font-family:Consolas,'co=
urier new';font-size:16px;line-height:22px"><span style=3D"color:rgb(0,=
0,0);font-family:Consolas,'courier new';font-size:16px;line-height:=
22px">=C2=A0=C2=A0</span><span class=3D"" style=3D"color:blue;font-family:C=
onsolas,'courier new';font-size:16px;line-height:22px"><</span><=
span class=3D"" style=3D"color:rgb(165,42,42);font-family:Consolas,'cou=
rier new';font-size:16px;line-height:22px">filter</span><span style=3D"=
color:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;=
line-height:22px">=C2=A0</span><span class=3D"" style=3D"color:red;font-fam=
ily:Consolas,'courier new';font-size:16px;line-height:22px">id=3D</=
span><span class=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,'=
;courier new';font-size:16px;line-height:22px">"blur"</span><=
span class=3D"" style=3D"color:blue;font-family:Consolas,'courier new&#=
39;;font-size:16px;line-height:22px">></span><br style=3D"color:rgb(0,0,=
0);font-family:Consolas,'courier new';font-size:16px;line-height:22=
px"><span style=3D"color:rgb(0,0,0);font-family:Consolas,'courier new&#=
39;;font-size:16px;line-height:22px">=C2=A0 =C2=A0=C2=A0</span><span class=
=3D"" style=3D"color:blue;font-family:Consolas,'courier new';font-s=
ize:16px;line-height:22px"><</span><span class=3D"" style=3D"color:rgb(1=
65,42,42);font-family:Consolas,'courier new';font-size:16px;line-he=
ight:22px">feGaussianBlur</span><span style=3D"color:rgb(0,0,0);font-family=
:Consolas,'courier new';font-size:16px;line-height:22px">=C2=A0</sp=
an><span class=3D"" style=3D"color:red;font-family:Consolas,'courier ne=
w';font-size:16px;line-height:22px">stdDeviation=3D</span><span class=
=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,'courier new'=
;;font-size:16px;line-height:22px">"10"</span><span style=3D"colo=
r:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;line=
-height:22px">=C2=A0</span><span class=3D"" style=3D"color:red;font-family:=
Consolas,'courier new';font-size:16px;line-height:22px">/</span><sp=
an class=3D"" style=3D"color:blue;font-family:Consolas,'courier new'=
;;font-size:16px;line-height:22px">></span><br style=3D"color:rgb(0,0,0)=
;font-family:Consolas,'courier new';font-size:16px;line-height:22px=
"><span style=3D"color:rgb(0,0,0);font-family:Consolas,'courier new'=
;;font-size:16px;line-height:22px">=C2=A0=C2=A0</span><span class=3D"" styl=
e=3D"color:blue;font-family:Consolas,'courier new';font-size:16px;l=
ine-height:22px"><</span><span class=3D"" style=3D"color:rgb(165,42,42);=
font-family:Consolas,'courier new';font-size:16px;line-height:22px"=
>/filter</span><span class=3D"" style=3D"color:blue;font-family:Consolas,&#=
39;courier new';font-size:16px;line-height:22px">></span></div><div>=
<span class=3D"" style=3D"color:blue;font-family:Consolas,'courier new&=
#39;;font-size:16px;line-height:22px"><span style=3D"color:rgb(0,0,0)">=C2=
=A0 </span><span class=3D""><</span><span class=3D"" style=3D"color:rgb(=
165,42,42)">filter</span><span style=3D"color:rgb(0,0,0)">=C2=A0</span><spa=
n class=3D"" style=3D"color:red">id=3D</span><span class=3D"" style=3D"colo=
r:rgb(0,0,205)">"hue_rotate"</span><span class=3D"">></span><b=
r style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">=C2=A0 =C2=A0=
=C2=A0</span><span class=3D""><</span><span class=3D"" style=3D"color:rg=
b(165,42,42)">feColorMatrix</span><span style=3D"color:rgb(0,0,0)">=C2=A0</=
span><span class=3D"" style=3D"color:red">type=3D</span><span class=3D"" st=
yle=3D"color:rgb(0,0,205)">"hueRotate" values=3D"180"</=
span><span style=3D"color:rgb(0,0,0)">=C2=A0</span><span class=3D"" style=
=3D"color:red">/</span><span class=3D"">></span><br style=3D"color:rgb(0=
,0,0)"><span style=3D"color:rgb(0,0,0)">=C2=A0=C2=A0</span><span class=3D""=
><</span><span class=3D"" style=3D"color:rgb(165,42,42)">/filter</span><=
span class=3D"">></span><br></span></div><div><span style=3D"color:rgb(0=
,0,0);font-family:Consolas,'courier new';font-size:16px;line-height=
:22px">=C2=A0 </span><span class=3D"" style=3D"color:blue;font-family:Conso=
las,'courier new';font-size:16px;line-height:22px"><</span><span=
class=3D"" style=3D"color:rgb(165,42,42);font-family:Consolas,'courier=
new';font-size:16px;line-height:22px">filter</span><span style=3D"colo=
r:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;line=
-height:22px">=C2=A0</span><span class=3D"" style=3D"color:red;font-family:=
Consolas,'courier new';font-size:16px;line-height:22px">id=3D</span=
><span class=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,'cou=
rier new';font-size:16px;line-height:22px">"blur_and_hue_rotate&qu=
ot;</span><span class=3D"" style=3D"color:blue;font-family:Consolas,'co=
urier new';font-size:16px;line-height:22px">></span><br style=3D"col=
or:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;lin=
e-height:22px"><span style=3D"color:rgb(0,0,0);font-family:Consolas,'co=
urier new';font-size:16px;line-height:22px">=C2=A0 =C2=A0=C2=A0</span><=
span class=3D"" style=3D"color:blue;font-family:Consolas,'courier new&#=
39;;font-size:16px;line-height:22px"><</span><span class=3D"" style=3D"c=
olor:rgb(165,42,42);font-family:Consolas,'courier new';font-size:16=
px;line-height:22px">feCombine</span><span style=3D"color:rgb(0,0,0);font-f=
amily:Consolas,'courier new';font-size:16px;line-height:22px">=C2=
=A0</span><span class=3D"" style=3D"color:red;font-family:Consolas,'cou=
rier new';font-size:16px;line-height:22px">input=3D</span><span class=
=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,'courier new'=
;;font-size:16px;line-height:22px">"url(#</span><span style=3D"color:r=
gb(0,0,205);font-family:Consolas,'courier new';font-size:16px;line-=
height:22px">hue_rotate</span><span class=3D"" style=3D"color:rgb(0,0,205);=
font-family:Consolas,'courier new';font-size:16px;line-height:22px"=
>)"</span><span class=3D"" style=3D"color:red;font-family:Consolas,=
9;courier new';font-size:16px;line-height:22px">/</span><span class=3D"=
" style=3D"color:blue;font-family:Consolas,'courier new';font-size:=
16px;line-height:22px">></span></div><div><span class=3D"" style=3D"colo=
r:blue;font-family:Consolas,'courier new';font-size:16px;line-heigh=
t:22px"><span class=3D""><span style=3D"color:rgb(0,0,0)">=C2=A0 =C2=A0=C2=
=A0</span><</span><span class=3D"" style=3D"color:rgb(165,42,42)">feComb=
ine</span><span style=3D"color:rgb(0,0,0)">=C2=A0</span><span class=3D"" st=
yle=3D"color:red">input=3D</span><span class=3D"" style=3D"color:rgb(0,0,20=
5)">"url(#</span><span class=3D"" style=3D"color:rgb(0,0,205)">blur)&q=
uot;</span><span class=3D"" style=3D"color:red">/</span><span class=3D"">&g=
t;</span><br></span></div><div><span style=3D"color:rgb(0,0,0);font-family:=
Consolas,'courier new';font-size:16px;line-height:22px">=C2=A0=C2=
=A0</span><span class=3D"" style=3D"color:blue;font-family:Consolas,'co=
urier new';font-size:16px;line-height:22px"><</span><span class=3D""=
style=3D"color:rgb(165,42,42);font-family:Consolas,'courier new';f=
ont-size:16px;line-height:22px">/filter</span><span class=3D"" style=3D"col=
or:blue;font-family:Consolas,'courier new';font-size:16px;line-heig=
ht:22px">></span><font color=3D"#0000ff"><br style=3D"font-family:Consol=
as,'courier new';font-size:16px;line-height:22px"></font><span clas=
s=3D"" style=3D"color:blue;font-family:Consolas,'courier new';font-=
size:16px;line-height:22px"><</span><span class=3D"" style=3D"color:rgb(=
165,42,42);font-family:Consolas,'courier new';font-size:16px;line-h=
eight:22px">/defs</span><span class=3D"" style=3D"color:blue;font-family:Co=
nsolas,'courier new';font-size:16px;line-height:22px">></span><b=
r></div><div><br></div><div><br></div><div><br></div><div><u>D) Multiple fi=
lters per element</u></div><div>Currently if you wish to apply multiple fil=
ters to an element, you currently have to wrap the element in multiple grou=
p G elements, and place each filter in turn on each element. The experience=
could be a lot better if the filter attribute could contain a list of filt=
ers separated by spaces maybe ( and with a definition of which order to app=
ly them in) e.g. :</div><div><br></div><div><span class=3D"" style=3D"color=
:blue;font-family:Consolas,'courier new';font-size:16px;line-height=
:22px"><</span><span class=3D"" style=3D"font-family:Consolas,'couri=
er new';font-size:16px;line-height:22px"><font color=3D"#a52a2a">elem=
=C2=A0</font></span><span class=3D"" style=3D"color:red;font-family:Consola=
s,'courier new';font-size:16px;line-height:22px">filter=3D</span><s=
pan class=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,'courie=
r new';font-size:16px;line-height:22px">"url(#filter_1)=C2=A0</spa=
n><span style=3D"color:rgb(0,0,205);font-family:Consolas,'courier new&#=
39;;font-size:16px;line-height:22px">url(#filter_2)=C2=A0</span><span style=
=3D"color:rgb(0,0,205);font-family:Consolas,'courier new';font-size=
:16px;line-height:22px">url(#filter_1)</span><span class=3D"" style=3D"colo=
r:rgb(0,0,205);font-family:Consolas,'courier new';font-size:16px;li=
ne-height:22px">"</span><span style=3D"color:rgb(0,0,0);font-family:Co=
nsolas,'courier new';font-size:16px;line-height:22px">=C2=A0</span>=
<span class=3D"" style=3D"color:red;font-family:Consolas,'courier new&#=
39;;font-size:16px;line-height:22px">/</span><span class=3D"" style=3D"colo=
r:blue;font-family:Consolas,'courier new';font-size:16px;line-heigh=
t:22px">></span></div><div><br></div><div><br></div><div><br></div><div>=
Would very much welcome your comments!</div><div><br></div><div>James</div>=
</div>
<!-- |**|begin egp html banner|**| -->
<br>
<br>
<!-- |**|end egp html banner|**| -->
<div width=3D"1" style=3D"color: white; clear: both;"/>__._,_.___</div>
=20=20=20=20=20=20
=20=20
=20=20=20=20
<div id=3D"fromDMARC" style=3D"clear:both; margin-top: 10px;">
<hr style=3D"height:2px ; border-width:0; color:#E3E3E3; backgroun=
d-color:#E3E3E3;">
Posted by: James Churchman <[email protected]> =
<hr style=3D"height:2px ; border-width:0; color:#E3E3E3; background-color=
:#E3E3E3;">
</div>
<!-- Start Recommendations -->
<!-- End Recommendations -->
<!-- |**|begin egp html banner|**| -->
<br><br>
<tt>
-----<BR>
To unsubscribe send a message to: [email protected]=
m<BR>
-or-<BR>
visit <a href=3D"http://groups.yahoo.com/group/svg-developers">http://group=
s.yahoo.com/group/svg-developers</a> and click "edit my membership&quo=
t;<BR>
----</tt>
<br><br>
<!-- |**|end egp html banner|**| -->
<!-- |**|begin egp html banner|**| -->
<img src=3D"http://geo.yahoo.com/serv?s=3D97476590/grpId=3D1298421/grpspI=
d=3D1706030390/msgId=3D66506/stime=3D1449967524" width=3D"1" height=3D"1"> =
<br>
<!-- |**|end egp html banner|**| -->
=20=20
<!-- |**|begin egp html banner|**| -->
<br>
=20=20=20
=20=20=20=20=20
=20
<!-- |**|begin egp html banner|**| -->
<div id=3D"ygrp-vital" style=3D"background-color: #f2f2f2; font-fam=
ily: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">
<span id=3D"vithd" style=3D"font-weight: bold; color: #333; text-tr=
ansform: uppercase; "><a href=3D"https://groups.yahoo.com/neo/groups/svg-de=
velopers/info;_ylc=3DX3oDMTJlMWM1cmg1BF9TAzk3MzU5NzE0BGdycElkAzEyOTg0MjEEZ3=
Jwc3BJZAMxNzA2MDMwMzkwBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTQ0OTk2NzUyNA--" sty=
le=3D"text-decoration: none;">Visit Your Group</a></span>
<ul style=3D"list-style-type: none; margin: 0; padding: 0; display: in=
line;">
</ul>
</div>
<div id=3D"ft" style=3D"font-family: Arial; font-size: 11px; margin-top: 5p=
x; padding: 0 2px 0 0; clear: both;">
<a href=3D"https://groups.yahoo.com/neo;_ylc=3DX3oDMTJkYTJkaWlkBF9TAzk3ND=
c2NTkwBGdycElkAzEyOTg0MjEEZ3Jwc3BJZAMxNzA2MDMwMzkwBHNlYwNmdHIEc2xrA2dmcARzd=
GltZQMxNDQ5OTY3NTI0" style=3D"float: left;"><img src=3D"http://l.yimg.com/r=
u/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height=3D"15"=
width=3D"137" alt=3D"Yahoo! Groups" style=3D"border: 0;"/></a>
<div style=3D"color: #747575; float: right;"> • <a href=3D"https://i=
nfo.yahoo.com/privacy/us/yahoo/groups/details.html" style=3D"text-decoratio=
n: none;">Privacy</a> • <a href=3D"mailto:svg-developers-unsubscribe@y=
ahoogroups.com?subject=3DUnsubscribe" style=3D"text-decoration: none;">Unsu=
bscribe</a> • <a href=3D"https://info.yahoo.com/legal/us/yahoo/utos/te=
rms/" style=3D"text-decoration: none;">Terms of Use</a> </div>
</div>
<!-- |**|end egp html banner|**| -->
</div> <!-- ygrp-msg -->
=20=20=20
<br>
<!-- |**|end egp html banner|**| -->
<div style=3D"color: white; clear: both;"/>__,_._,___</div>
</body>
</html>
--001a114701eab8fc8c0526bcdeee--