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,&#39;courier new&#39;;font-=
size:16px;line-height:22px"><br></span></div><div><span class=3D"" style=3D=
"color:blue;font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-=
height:22px">&lt;</span><span class=3D"" style=3D"color:rgb(165,42,42);font=
-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">feB=
lend</span><span style=3D"color:rgb(0,0,0);font-family:Consolas,&#39;courie=
r new&#39;;font-size:16px;line-height:22px">=C2=A0</span><span class=3D"" s=
tyle=3D"color:red;font-family:Consolas,&#39;courier new&#39;;font-size:16px=
;line-height:22px">mode=3D</span><span class=3D"" style=3D"color:rgb(0,0,20=
5);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22=
px">&quot;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,&#39;c=
ourier new&#39;;font-size:16px;line-height:22px">=C2=A0( etc.. would be gre=
at) &quot;</span><span class=3D"" style=3D"color:blue;font-family:Consolas,=
&#39;courier new&#39;;font-size:16px;line-height:22px">&gt;</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,&#39;courier new&#39;=
;font-size:16px;line-height:22px"><br></span></div><div><span class=3D"" st=
yle=3D"color:blue;font-family:Consolas,&#39;courier new&#39;;font-size:16px=
;line-height:22px">&lt;</span><span class=3D"" style=3D"color:rgb(165,42,42=
);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22p=
x">feInlineImage</span><span style=3D"color:rgb(0,0,0);font-family:Consolas=
,&#39;courier new&#39;;font-size:16px;line-height:22px">=C2=A0</span><span =
class=3D"" style=3D"color:red;font-family:Consolas,&#39;courier new&#39;;fo=
nt-size:16px;line-height:22px">height=3D</span><span class=3D"" style=3D"co=
lor:rgb(0,0,205);font-family:Consolas,&#39;courier new&#39;;font-size:16px;=
line-height:22px">&quot;50&quot;</span><span style=3D"color:rgb(0,0,0);font=
-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">=C2=
=A0</span><span class=3D"" style=3D"color:red;font-family:Consolas,&#39;cou=
rier new&#39;;font-size:16px;line-height:22px">width=3D</span><span class=
=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,&#39;courier new&#39=
;;font-size:16px;line-height:22px">&quot;50&quot;</span><span class=3D"" st=
yle=3D"color:blue;font-family:Consolas,&#39;courier new&#39;;font-size:16px=
;line-height:22px">&gt;</span><br></div><div><span class=3D"" style=3D"colo=
r:blue;font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-heigh=
t:22px">=C2=A0 &lt;</span><span class=3D"" style=3D"color:rgb(165,42,42);fo=
nt-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">c=
ircle</span><span style=3D"color:rgb(0,0,0);font-family:Consolas,&#39;couri=
er new&#39;;font-size:16px;line-height:22px">=C2=A0</span><span class=3D"" =
style=3D"color:red;font-family:Consolas,&#39;courier new&#39;;font-size:16p=
x;line-height:22px">cx=3D</span><span class=3D"" style=3D"color:rgb(0,0,205=
);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22p=
x">&quot;10&quot;</span><span style=3D"color:rgb(0,0,0);font-family:Consola=
s,&#39;courier new&#39;;font-size:16px;line-height:22px">=C2=A0</span><span=
 class=3D"" style=3D"color:red;font-family:Consolas,&#39;courier new&#39;;f=
ont-size:16px;line-height:22px">cy=3D</span><span class=3D"" style=3D"color=
:rgb(0,0,205);font-family:Consolas,&#39;courier new&#39;;font-size:16px;lin=
e-height:22px">&quot;10&quot;</span><span style=3D"color:rgb(0,0,0);font-fa=
mily:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">=C2=A0=
</span><span class=3D"" style=3D"color:red;font-family:Consolas,&#39;courie=
r new&#39;;font-size:16px;line-height:22px">r=3D</span><span class=3D"" sty=
le=3D"color:rgb(0,0,205);font-family:Consolas,&#39;courier new&#39;;font-si=
ze:16px;line-height:22px">&quot;15&quot;</span><span style=3D"color:rgb(0,0=
,0);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:2=
2px">=C2=A0</span><span class=3D"" style=3D"color:red;font-family:Consolas,=
&#39;courier new&#39;;font-size:16px;line-height:22px">fill=3D</span><span =
class=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,&#39;courier ne=
w&#39;;font-size:16px;line-height:22px">&quot;black&quot;</span><span style=
=3D"color:rgb(0,0,0);font-family:Consolas,&#39;courier new&#39;;font-size:1=
6px;line-height:22px">=C2=A0</span><span class=3D"" style=3D"color:red;font=
-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">/</=
span><span class=3D"" style=3D"color:blue;font-family:Consolas,&#39;courier=
 new&#39;;font-size:16px;line-height:22px">&gt;</span><br></div><div><span =
class=3D"" style=3D"color:blue;font-family:Consolas,&#39;courier new&#39;;f=
ont-size:16px;line-height:22px">&lt;</span><span style=3D"color:rgb(255,0,0=
);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22p=
x">/</span><span class=3D"" style=3D"color:rgb(165,42,42);font-family:Conso=
las,&#39;courier new&#39;;font-size:16px;line-height:22px">feInlineImage</s=
pan><span class=3D"" style=3D"color:blue;font-family:Consolas,&#39;courier =
new&#39;;font-size:16px;line-height:22px">&gt;</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&#39;s filter nod=
es, and therefore combine multiple filters into one far more powerful filte=
r. Maybe a &quot;feUse&quot; or &quot;feCombine&quot;, e.g. in this very si=
mple example :</div><div><span class=3D"" style=3D"color:blue;font-family:C=
onsolas,&#39;courier new&#39;;font-size:16px;line-height:22px"><br></span><=
/div><div><span class=3D"" style=3D"color:blue;font-family:Consolas,&#39;co=
urier new&#39;;font-size:16px;line-height:22px">&lt;</span><span class=3D""=
 style=3D"color:rgb(165,42,42);font-family:Consolas,&#39;courier new&#39;;f=
ont-size:16px;line-height:22px">defs</span><span class=3D"" style=3D"color:=
blue;font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:=
22px">&gt;</span><br style=3D"color:rgb(0,0,0);font-family:Consolas,&#39;co=
urier new&#39;;font-size:16px;line-height:22px"><span style=3D"color:rgb(0,=
0,0);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:=
22px">=C2=A0=C2=A0</span><span class=3D"" style=3D"color:blue;font-family:C=
onsolas,&#39;courier new&#39;;font-size:16px;line-height:22px">&lt;</span><=
span class=3D"" style=3D"color:rgb(165,42,42);font-family:Consolas,&#39;cou=
rier new&#39;;font-size:16px;line-height:22px">filter</span><span style=3D"=
color:rgb(0,0,0);font-family:Consolas,&#39;courier new&#39;;font-size:16px;=
line-height:22px">=C2=A0</span><span class=3D"" style=3D"color:red;font-fam=
ily:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">id=3D</=
span><span class=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,&#39=
;courier new&#39;;font-size:16px;line-height:22px">&quot;blur&quot;</span><=
span class=3D"" style=3D"color:blue;font-family:Consolas,&#39;courier new&#=
39;;font-size:16px;line-height:22px">&gt;</span><br style=3D"color:rgb(0,0,=
0);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22=
px"><span style=3D"color:rgb(0,0,0);font-family:Consolas,&#39;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,&#39;courier new&#39;;font-s=
ize:16px;line-height:22px">&lt;</span><span class=3D"" style=3D"color:rgb(1=
65,42,42);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-he=
ight:22px">feGaussianBlur</span><span style=3D"color:rgb(0,0,0);font-family=
:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">=C2=A0</sp=
an><span class=3D"" style=3D"color:red;font-family:Consolas,&#39;courier ne=
w&#39;;font-size:16px;line-height:22px">stdDeviation=3D</span><span class=
=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,&#39;courier new&#39=
;;font-size:16px;line-height:22px">&quot;10&quot;</span><span style=3D"colo=
r:rgb(0,0,0);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line=
-height:22px">=C2=A0</span><span class=3D"" style=3D"color:red;font-family:=
Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">/</span><sp=
an class=3D"" style=3D"color:blue;font-family:Consolas,&#39;courier new&#39=
;;font-size:16px;line-height:22px">&gt;</span><br style=3D"color:rgb(0,0,0)=
;font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px=
"><span style=3D"color:rgb(0,0,0);font-family:Consolas,&#39;courier new&#39=
;;font-size:16px;line-height:22px">=C2=A0=C2=A0</span><span class=3D"" styl=
e=3D"color:blue;font-family:Consolas,&#39;courier new&#39;;font-size:16px;l=
ine-height:22px">&lt;</span><span class=3D"" style=3D"color:rgb(165,42,42);=
font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px"=
>/filter</span><span class=3D"" style=3D"color:blue;font-family:Consolas,&#=
39;courier new&#39;;font-size:16px;line-height:22px">&gt;</span></div><div>=
<span class=3D"" style=3D"color:blue;font-family:Consolas,&#39;courier new&=
#39;;font-size:16px;line-height:22px"><span style=3D"color:rgb(0,0,0)">=C2=
=A0 </span><span class=3D"">&lt;</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)">&quot;hue_rotate&quot;</span><span class=3D"">&gt;</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"">&lt;</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)">&quot;hueRotate&quot; values=3D&quot;180&quot;</=
span><span style=3D"color:rgb(0,0,0)">=C2=A0</span><span class=3D"" style=
=3D"color:red">/</span><span class=3D"">&gt;</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""=
>&lt;</span><span class=3D"" style=3D"color:rgb(165,42,42)">/filter</span><=
span class=3D"">&gt;</span><br></span></div><div><span style=3D"color:rgb(0=
,0,0);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height=
:22px">=C2=A0 </span><span class=3D"" style=3D"color:blue;font-family:Conso=
las,&#39;courier new&#39;;font-size:16px;line-height:22px">&lt;</span><span=
 class=3D"" style=3D"color:rgb(165,42,42);font-family:Consolas,&#39;courier=
 new&#39;;font-size:16px;line-height:22px">filter</span><span style=3D"colo=
r:rgb(0,0,0);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line=
-height:22px">=C2=A0</span><span class=3D"" style=3D"color:red;font-family:=
Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">id=3D</span=
><span class=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,&#39;cou=
rier new&#39;;font-size:16px;line-height:22px">&quot;blur_and_hue_rotate&qu=
ot;</span><span class=3D"" style=3D"color:blue;font-family:Consolas,&#39;co=
urier new&#39;;font-size:16px;line-height:22px">&gt;</span><br style=3D"col=
or:rgb(0,0,0);font-family:Consolas,&#39;courier new&#39;;font-size:16px;lin=
e-height:22px"><span style=3D"color:rgb(0,0,0);font-family:Consolas,&#39;co=
urier 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,&#39;courier new&#=
39;;font-size:16px;line-height:22px">&lt;</span><span class=3D"" style=3D"c=
olor:rgb(165,42,42);font-family:Consolas,&#39;courier new&#39;;font-size:16=
px;line-height:22px">feCombine</span><span style=3D"color:rgb(0,0,0);font-f=
amily:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px">=C2=
=A0</span><span class=3D"" style=3D"color:red;font-family:Consolas,&#39;cou=
rier new&#39;;font-size:16px;line-height:22px">input=3D</span><span class=
=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,&#39;courier new&#39=
;;font-size:16px;line-height:22px">&quot;url(#</span><span style=3D"color:r=
gb(0,0,205);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-=
height:22px">hue_rotate</span><span class=3D"" style=3D"color:rgb(0,0,205);=
font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-height:22px"=
>)&quot;</span><span class=3D"" style=3D"color:red;font-family:Consolas,&#3=
9;courier new&#39;;font-size:16px;line-height:22px">/</span><span class=3D"=
" style=3D"color:blue;font-family:Consolas,&#39;courier new&#39;;font-size:=
16px;line-height:22px">&gt;</span></div><div><span class=3D"" style=3D"colo=
r:blue;font-family:Consolas,&#39;courier new&#39;;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>&lt;</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)">&quot;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,&#39;courier new&#39;;font-size:16px;line-height:22px">=C2=A0=C2=
=A0</span><span class=3D"" style=3D"color:blue;font-family:Consolas,&#39;co=
urier new&#39;;font-size:16px;line-height:22px">&lt;</span><span class=3D""=
 style=3D"color:rgb(165,42,42);font-family:Consolas,&#39;courier new&#39;;f=
ont-size:16px;line-height:22px">/filter</span><span class=3D"" style=3D"col=
or:blue;font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-heig=
ht:22px">&gt;</span><font color=3D"#0000ff"><br style=3D"font-family:Consol=
as,&#39;courier new&#39;;font-size:16px;line-height:22px"></font><span clas=
s=3D"" style=3D"color:blue;font-family:Consolas,&#39;courier new&#39;;font-=
size:16px;line-height:22px">&lt;</span><span class=3D"" style=3D"color:rgb(=
165,42,42);font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-h=
eight:22px">/defs</span><span class=3D"" style=3D"color:blue;font-family:Co=
nsolas,&#39;courier new&#39;;font-size:16px;line-height:22px">&gt;</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,&#39;courier new&#39;;font-size:16px;line-height=
:22px">&lt;</span><span class=3D"" style=3D"font-family:Consolas,&#39;couri=
er new&#39;;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,&#39;courier new&#39;;font-size:16px;line-height:22px">filter=3D</span><s=
pan class=3D"" style=3D"color:rgb(0,0,205);font-family:Consolas,&#39;courie=
r new&#39;;font-size:16px;line-height:22px">&quot;url(#filter_1)=C2=A0</spa=
n><span style=3D"color:rgb(0,0,205);font-family:Consolas,&#39;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,&#39;courier new&#39;;font-size=
:16px;line-height:22px">url(#filter_1)</span><span class=3D"" style=3D"colo=
r:rgb(0,0,205);font-family:Consolas,&#39;courier new&#39;;font-size:16px;li=
ne-height:22px">&quot;</span><span style=3D"color:rgb(0,0,0);font-family:Co=
nsolas,&#39;courier new&#39;;font-size:16px;line-height:22px">=C2=A0</span>=
<span class=3D"" style=3D"color:red;font-family:Consolas,&#39;courier new&#=
39;;font-size:16px;line-height:22px">/</span><span class=3D"" style=3D"colo=
r:blue;font-family:Consolas,&#39;courier new&#39;;font-size:16px;line-heigh=
t:22px">&gt;</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 &lt;[email protected]&gt;       =
  <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 &quot;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;"> &bull; <a href=3D"https://i=
nfo.yahoo.com/privacy/us/yahoo/groups/details.html" style=3D"text-decoratio=
n: none;">Privacy</a> &bull; <a href=3D"mailto:svg-developers-unsubscribe@y=
ahoogroups.com?subject=3DUnsubscribe" style=3D"text-decoration: none;">Unsu=
bscribe</a> &bull; <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--