More SVG Fun

Feb 1 2005

As I’ve mentioned before, I started to incorporate Inkscape into my workflow. At times it’s quite masochistic compared to Illustrator or GIMP, but some things are easier than what I was used to. One of the things is making sure the outline “snaps” to the final rendering grid. That was tough with Illustrator, not because it didn’t have sophisticated aids to do that, but because it used a different renderer than the GNOME desktop.

One thing that totally rocks is that in trunk (0.41) you can work pixel-precise at the target resolution and it’s truly WYSIWYG. It may not have Illustrator’s pixel-preview so that you can see the bitmap rendering even when working on zoomed canvas, but simply having another view at 1:1 works ok[1]. Librsvg then reders it exactly the same as inkscape. I need to see about cairo/xsvg.


Original bitmap on the left. Traced and pixel positioned on the right. Renders just like that with librsvg.

I had an idea how to overcome the complexity of creating icons at multiple resolutions that I wrote about earlier. SVG rocks for theme maintanance - you can save all the work with exporting, since you can just save your working inkscape SVG and that’s it.



Now while I don’t think automatic hinting can help making the icons readable for 16x16, what if I could have layers in the SVG for individual target render size? RSVG would render a layer similarly to how the icon theme engine picks appropriate bitmap version. No need to maintain multiple images. I think doing bitmaps for 16x16 and 24x24 is still going to take less time than doing them in vector, but nothing prevents me having a bitmap in the SVG ;)

Alternatively it could have the layers toggled invisible for regular rendering. But if we had some switch in inkscape to “solo” particular layer, 16x16 and 24x24 bitmap rendering could be automated with a script and still maintain a single file.

[1] I also noticed the simplification wrt grid functionality really makes sense. I haven’t missed not being able to see the grid without snapping to it at all. If I want to see the grid, I mostly want to snap to it too. If I don’t, I just hide it.

On the other hand I found out I really miss being able to node select from multiple objects. I’m a consistant shape tweaker and not being able to move a bunch of nodes from multiple overlaid objects is a pain.