21 Oct 2005 cinamod   » (Master)

librsvg

So Caleb is some sort of coding machine. In the matter of a few days, we've (read: mostly Caleb) (mostly) finished the Cairo backend for librsvg. In honor of this work, I've just released version 2.13.0 (may take a few minutes for the FTP mirrors to sync).

What's the big deal? Well:

  • It doesn't use libart.
  • It can generate more formats than just PNG - drawing to PDF, X11, Win32, Quartz, PS should all be possible now.
  • More conformant output - with the exception of some CSS and text, we nearly pass the W3C SVG 1.1 conformance test. We even beat Batik's conformance for a few tests...
  • It is significantly faster than its libart-based counterpart - on some tests, it's 6x faster than the libart backend. Using pre-multiplied RGBA clearly has some performance penalties.
  • It has the beginnings of a DOM API.
  • Did I mention that it doesn't use libart?

The library is stable - it can handle our own test suite, the W3C suite, and Batik's suite without incident. Only in 1 of the 182 W3C conformance tests did I notice any appreciable memory leakage directly responsible by librsvg (which we'll be correcting shortly). All told, this is one rockin' release. Carl, Caleb, Chris - you all rock. Thanks.

I will warn consumers of the library that the API and ABI have changed to accomodate this work. It's mostly backward-compatible, but there are some changes to be aware of. I expect the API and ABI to change further during the release cycle as things get ironed out and the DOM API formalizes. Caveat emptor.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!