RE: New desired features for SVG

>From the links at http://www.w3.org/Graphics/SVG/IG/wiki/Activities
there is a list of desired new features already being accumulated there.
I suggest just adding it to what is already there. I like most of what I
see here, particularly the ability to specify paths in percentage units.
I know that some have argued that that should be just controlled through
the viewbox and then the units are already relative, but there are
cases, I think where it is not so easy to do that.

The list above is in need of some revision. For example, the WG has
considered the <superpath> idea and found that much of its functionality
can be handled through vector effects, so I wish to remove that while
upping the urgency of the <replicate> tag (like <animate> for for space
rather than time).

Having all these things in one place for proper deliberation makes sense
to me. If the IG can be convinced of the merits of something, then
asking the WG to consider it seems like a good way to proceed.

David

-----Original Message-----
From: public-svg-ig-request@w3.org [mailto:public-svg-ig-request@w3.org]
On Behalf Of David Storey
Sent: Sunday, October 11, 2009 5:01 PM
To: SVG IG List
Subject: New desired features for SVG

As well as torture tests, I think I recall it being brought up at SVG  
Open about new desired features for SVG.  I have my own personal list  
that I'll share here. Some may already be in the process of being  
specced, so for these see it as a validation of the demand for these  
features. Apologies if any of these is possible right now and I've  
just missed them.

* Allow keywords for transforming around a centre point. This is too  
difficult in SVG, especially when using % widths and height. Something  
like:
	transform="rotate(-45 center center)"
could work, but I'll leave it up to the spec guys to work out the best  
way. If we are going to allow transforming around the centre point,  
maybe it would be useful for other keywords like top-left, centre- 
left, etc. I guess it is not always obvious what is the centre point  
of an irregular shape, but maybe the centre of the bounding box would  
be sufficient?

* Allow to specify which point is the anchor when using x and y. For  
shapes like <rect/> this is top left, and for <text/> it is bottom  
left, and for <circle/> it is the centre point. For text you can set  
the text-anchor to middle, etc. It is probably useful to be able to do  
this for other shapes to make it easier to line things up. I know I've  
wanted it before on rects.

* Be able to use % and units for paths and polygons. I often use % in  
rects and other shapes when using them as a css background-image so  
that they fill the HTML element. This can be done with viewBox, but it  
seems more complex to work out to me.

* More predefined filters. It would also be possible to build a filter  
SVG library once the Params spec is implemented, but it would be nice  
to include the most useful ones to save size and possibly to make them  
faster. Ones that I can think would be useful would be:
	- (drop)Shadow. I believe this is in 1.2 already
	- Reflection (duplicate, rotate and add opacity)
	- Black and White
	- Sepia Tone
	- Two colour (such as black and a colour wash). This can
probably  
already be done)
	- Edge detection

* Z co-ordinate. This would probably require the canvas to be able to  
be rotated/transformed in Z space and an individual element, otherwise  
a cube would still look like a square due to seeing it head on.

* Be able to specify the render order of elements. Especially useful  
for games.

* Be able to change the stroke order, so text can be stroked first  
then filled. I think this is already covered with the spec Chris Lily  
is working on (I forget the name right now).

* Some way of being able to make self contained files, so that  
external SVG files, CSS files, images,  fonts and videos can be  
included. This would make sharing and uploading SVG files easier.  
Opera already does something similar for Widgets via a Zip archive  
renamed to .wgt. SVG already has zip files for SVGZ but it only uses  
the compression, not the fact that other files can be contained inside  
a zip archive. Once concern here is what you do about a file that you  
want to reference in multiple files (such as a CSS file), as you'd not  
want to duplicate files. I'd love to be able to use a SVG file in the  
HTML5 video element, where the SVG is a container which holds the  
video and the various synchronised video overlays and subtitles/ 
captions, and audio via SMIL.

* More basic shapes that are not too difficult for beginners to  
understand or find. Common shapes I can think of include stars,  
arrows, triangles (probably already easy enough with the polygon), and  
possibly spirals. The shape tool in Keynote also allows polygons where  
you define the number of sides (3 to 11, defaults to 5), speech bubble  
(no customisation except style and size), Diamond (this is basically  
just a rotated square so doesn't offer much new).

* A way to be able to tell a Screen Reader to ignore SVG text. This is  
needed this is needed because text can be used for decoration, such as  
a repeated text pattern, or for a reflection, mask or such.

This is all I can think of right now.

David Storey

Chief Web Opener / Product Manager, Opera Dragonfly
W3C WG:  Mobile Web Best Practices / SVG Interest Group

Opera Software ASA, Oslo, Norway
Mobile: +47 94 22 02 32

Received on Wednesday, 14 October 2009 13:06:20 UTC