
One might imagine using Skencil as a drawing engine within Inkscape scripts, and this has been done, but today, the library of choice for this kind of scripting is probably Cairo, which has bindings for many languages, including Python. Sadly, Skencil's scripting interface also offered some frustrations (such as non-serializable drawing objects), and so I was sort of stuck in the middle for awhile on my scripting ideas. It also handled multi-line text far-and-away better than Skencil (or Xfig or Dia).īeing a Python scripter, I was a little disappointed at the poorer scripting interface (Skencil, being written in Python, has a tighter, more capable Python binding which allows both script-invocation from the program and program-invocation from the script, while Inkscape essentially allows only the former). I was wooed into using Inkscape by its slick interface and responsive drawing, relative to the somewhat clunkier-feeling Skencil (which was called "Sketch" at that time). Instead, I'll just try to be as complete as I can about the more unique features of the program.

Since I use Inkscape every day and it's clearly my favorite vector graphics tool, there's really no way my review of it can be unbiased. On modern systems, it is reasonably responsive (though not the fastest), and the interface layout is well-balanced and fairly intuitive. It uses the now-standard SVG vector format as its native format, and it has become very extensible through a simple "stream-based", language-agnostic scripting system. It can do a wide variety of vector drawing tasks with relatively little effort. Inkscape is my vector graphics application of choice.
