Jared has gotten a nice start on an SVG backend, but there are a few
more things that need to be done and other work has overtaken him.
There has been a lot of interest in an SVG backend, generally, and
Eric and Paul have both expressed some interest in the past in
developing this backend, so I thought I could corral some of that
interest into finishing it off.
Here are the areas I'm aware of
* font support - currently font support in svg is broken. This is a
natural one for you Paul, if you still have any hair left after the
cmex fonts in ps mathtext.
* mathtext support - shouldn't be too bad after fixing above for
truetype fonts. Probably involves some issues of how to get svg
renderers to handle unknown fonts (cm*). Paul?
* image support - Jared and I discussed this earlier and SVG
apparently doesn't handle bitmaps as direct includes. So we can't
use the same trick that worked for PS. But you can include PNG
files by filename. I just added a "write_png" method to the _image
module, and implemented a stub draw_image in backend svg that calls
this method. What's left is to handle the offsets and generate the
appropriate svg. Eric?
* numarray broken - for reasons not clear to me I get a "ValueError:
function not supported' error on the SVG backend on the call to
y = self.height - y
in draw_lines running with rc numarray and a matplotlib compiled
with numerix. Haven't had time to debug this further.
* is there a figure centering issue in svg as their is in ps, so that
the image appears in the center of the page, when, for example,
loaded into a web browser with the svg plugin?
* docs - document the backend in backends.html.template, links to svg
* dpi - is SVG properly setup to ignore dpi calls?
Jared, I had already made some changes to the backend before the diff
you sent me with your latest version so I can't merge. If you could
resend a complete file, I can manually merge with ediff.
Ideally, Paul could fixup the text related stuff since he already has
a lot of expertise there and Eric could take the rest. Let me know...