Skip navigation

Monthly Archives: February 2008

Two weeks ago, I had the privilege to work on a fun project using company time – it was Novell HackWeek again. So I teamed up with friend & colleague Fridrich to finally get OOo its long-deserved built-in SVG import – in fact, this is the most voted-for feature of the whole project.

So we started off of kendy’s work in ooo-build, and hacked up a native C++ component (the external implementation unfortunately has strong dependencies on Java5 and Batik, and is GPL-licensed – but great work, and a piece still superior in import quality) that sucks in a DOM tree from the SVG file, subverts that into a temporary container for ODF styles (which, unfortunately, needs to be written before referencing them in a flat ODF file), and then pushes out events for a SAX parser, which has the nice side effect of making standalone svg-odf conversion trivial (in fact, a svg2odf command line tool is on my disk). This stuff has been committed to ooo-build.

What’s working? See for yourself:



What’s missing yet: text and gradients are clearly very noticeably lacking – though this is luckily totally unapparent from the screenshots 😉

We’ll keep working on this in our spare time, so there’ll hopefully be updates soonish. It would just be great to take advantage of the vast amount of svg cliparts out there – without needing to convert them to png, as OOo currently does…


While updating the OOo coding standards in late 2006, especially the IncGuards item sparked some discussion about why not removing all those existing external guards. Kendy quickly came up with a removal script, but a few tests showed that builds using the old wntmsci10 (MSVC 2003) compiler became significantly slower (external header guards had originally been put there for performance reasons). Since Hamburg RelEng, as the main victim of increased build times, now switched to MSVC 2005, it’s about time to bin these warts – currently committing the bulk of the changes to CWS incguards01.

Having changed my employer, I found it appropriate to move away from the company facility. I liked the WordPress engine the most, so I’m here now – with the help of this little XSLT script (took this feed), even my old postings followed me, without the comments, but WTH.