[PATCH 02/48] Added new icon build rule

Joel Holdsworth joel at airwebreathe.org.uk
Tue Mar 23 08:20:22 CDT 2010


Ok, I have good news and bad news.

The good news is that multipage is standard now in SVG 1.2, and it is possible
to embed a raster image in the SVG if you encode it in base64. Embedded images
are partially supported in inkscape via python extensions.

The bad news is that you can't set the canvas sizes of individual pages - only
the orientation. Ideally we would set the bounding box of each page.

One solution would be to set the canvas size to some arbitrary size, then tag
the individual pages with custom attributes from some kind of wine namespace
extension, that would tell the renderer what boundary box to draw with, and what
bit depth to sample to.

The alternative solution (which I favour) would be a one canvas workflow, which
some Tango artists are using. This was the approach I took when I was making
icons for Lumiera:
http://www.lumiera.org/gitweb?p=lumiera/ichthyo;a=blob_plain;f=icons/svg/tool-arrow.svg;hb=HEAD

In this solution you have a single page with multiple icon images present. You
then place on top of these images "magic" invisible rectangles which have been
tagged so that the renderer script knows to treat these as boundary boxes. For
wine's purposes, you would then need embed to the canvas any raster images and
tag these in a similar way which instructs the renderer to decode the base64
into a files. Multiple vector rendering would then combine together with
multiple raster images unpacked, and these would be bundled into an ico.

The great advantage is that inkscape supports this stuff today, so it's not so
bad for artists. 

How does that sound?

Joel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20100323/b8d01aee/attachment-0001.htm>


More information about the wine-devel mailing list