By Nathan Willis
December 19, 2012
The Inkscape vector graphics
editor is approaching its next milestone release, version 0.49. As
always, the update rolls together a wealth of new tools and features.
This development cycle is relatively light on large-scale additions,
but there is a long list of small usability enhancements that will add
up to a smoother design experience for most users.
The project just released a bugfix to the stable 0.48 series, and
although Inkscape is decidedly a "released when ready" application, the
murmuring is that Inkscape 0.49 could hit virtual shelves as soon as
January 2013. In the meantime, there are fairly stable
nightly
builds available from the trunk for those who wish to
experiment.
Drawing
Two new tools debut in Inkscape 0.49. The first is the measure tool,
a long-awaited addition that has applications in computer-aided
drafting (CAD) and other drawing tasks that require precision object
placement. As is the case with most graphics applications, one can
measure an object by clicking with the tool and dragging out a line.
However, where a raster application like Gimp can only measure the
length of the line segment defined by the mouse movement, Inkscape
measures the distance between drawing objects. Wherever the measure
tool's line intersects a path or object, an "x" appears, and the tool
overlays the distance in pixels between intersections, the total
distance if there are multiple intersections, and the angle of the
line.
The other new tool is the PowerStroke pen previewed at Libre Graphics
Meeting (LGM) 2012, which we discussed
in May. PowerStroke is an effect that produces calligraphy-like
lines that change width, much like hand-inked pen or brush strokes.
Of course, the advantage of using an Inkscape tool rather than
actual ink is that the paths drawn as well as their
attributes are fully adjustable after the fact. PowerStroke is better
integrated now than it was at LGM, with improvements to the sometimes
tricky joints at sharp corners.
Several of the existing tools pick up noteworthy features in this
release. The node editor (which allows the user to adjust and edit
the on-curve points and control points of Bézier splines) can now
automatically add points at the curve's maxima and minima. Not every
design task is improved by ensuring that a curve has points at its
extrema, but there are a lot of scenarios where it makes calculations
easier — consider calculating the bounding box of a path, for
example. Consequently, having curve points at the extrema is
sometimes required, and having Inkscape create them with one click is
a genuine time-saver.
The gradient editor has been reworked. In previous releases,
editing a gradient opened a floating window in which one could add or
remove gradient stops and adjust colors. The new editor works
on-canvas, with add/remove buttons and a color selection widget on the
toolbar. The "snap to" functionality is not a tool in its own right, but over
the past few releases, Inkscape's snapping has evolved into a complex
beast. New in this release is the ability to set
snap-to-path-intersection and snap-to-guide-intersection, plus the
ability to snap a path perpendicularly or tangentially while drawing
it. Snapping to text is also improved.
Similarly, Inkscape's new "symbols library" is not a tool per
se, though it does add functionality. The library is based on
SVG's <symbol> element, which is used to define
reusable graphical objects. One could always duplicate a normal SVG
object, of course, but the idea is that SVG can be used to create
common collections of frequently-referenced symbols, in the same way
that named colors can simplify SVG documents that need to reuse
identical color in multiple spots. Whether one finds that idea
enticing or not, Inkscape can now take advantage of it, providing
access to "libraries" of symbols and enabling users to create their
own. Two symbol libraries are built in: one with logic gates,
and the other with international road and travel symbols.
Beyond the basic tools, a handful of new extensions is included
that also offer new functionality. Inkscape extensions
tend to be more task-centric, so not every user will find them
helpful, but they can also offer surprisingly sophisticated
features. For example, one new extension allows N-up page layout for
printing large documents. Another allows converting drawings to the
G-code format used
by computer-controlled cutting machines. There are also extensions
for generating QR codes, isometric grids, and Voronoi
diagrams, plus smaller extensions to replace fonts in a document,
extract text, and the "guillotine," which can split a drawing up with
guide lines to export it as multiple PNG images.
Environmental and usability tweaks
In practice, Inkscape's tool set is extensive enough that it can be
mind-boggling to hear that some users still find it lacking, but such
is the lot of the general-purpose creative application. On the other
hand, the diverse tool set can frequently result in enough complexity
that the application begins to get in the way. On that front, the
project is making frequent small improvements that fix minor
annoyances.
For instance, layers have often felt like an afterthought in
Inkscape. The layer controls are small and tucked away at the bottom
of the window. Changing layer visibility or order was not intuitive.
Inkscape 0.49 improves things by allowing the user to re-order layers
with a simple drag-and-drop. Gimp and Krita still provide a nicer
layers interface (in Inkscape, a drawing's layers are listed in a
drop-down selection widget, rather than a list with all layers visible
at once), but the fix is an improvement.
Selecting the right object from a position where multiple objects
are stacked or overlap has been another pain point; Inkscape 0.49
allows the user to cycle through the options at the cursor point using
the mouse scroll-wheel. Users can also increase the size of the
"handles" shown for grabbing and manipulating path nodes, toggle the
visibility of guides, and edit keyboard shortcuts. Inkscape will now
remember from session to session which tool palettes are open and
their various screen positions, too, eliminating the need to reconfigure
the application at every start-up.
A particularly novel feature is the ability to enter arithmetic
operations into spinboxes. For example, if a rectangle is 1071 pixels
wide and needs to be shrunk to 1/7 of that size, the user can simply
enter /7 into the width box and hit Return, rather
than waste precious minutes hunting for a pencil or searching for the
calculator in GNOME Shell's "Activities overview." The Inkscape wiki
does not provide a canonical list of which calculations are supported,
but it does provide
examples with nested parentheses and even physical units (e.g., mm
instead of pixels). No word yet on logarithms, infinite series, or
complex numbers — mathematicians take note; this is clearly a
feature in need of serious stress-testing....
There are also several improvements aimed at using Inkscape for
print work. The background display color of the canvas can be changed
without changing the color of the document itself. That would be
useful, for example, if designing a flyer that will be printed on tan
paper — one needs to see how the design will look against tan,
but adding a solid-color rectangle as a background object is a
kludge. The interface can be toggled between normal full-color
display and grayscale, which again allows the user to preview output
— although this feature has other uses; it is often a good idea to
design a logo in grayscale first, to establish contrast and
readability, and grayscale is important for supporting people
color-impaired vision.
PDF and TeX export have been improved, which can benefit print or
electronic output. The PDF exporter can now automatically add a "bleed"
margin, and TeX export now supports text styles — including,
font nerds will be happy to learn, distinguishing between oblique and
italic styles. In addition, support for export to Gimp's XCF format
has been improved, and it is now possible to export drawings to Flash
XML Graphics (FXG), XAML, and to the native format for the open source
vector animation application Synfig.
Over and out
The new Inkscape series is not all bling, however. There are a number
of performance and rendering improvements rolled into 0.49, too. The
first is the long-awaited merging of Google Summer of Code work from
2010 and 2011 that ported the rendering engine to the Cairo raster graphics
library. This results in improved responsiveness when editing and
closes a number of outstanding rendering bugs. Responsiveness is also
improved through caching, and memory usage is reduced; the release
notes cite a four-fold reduction in the memory required over
Inkscape 0.48. Cairo is also responsible for the grayscale preview
mode mentioned earlier, and is used as the PNG export engine.
The other under-the-hood change of significance is the addition of
multithreading through OpenMP. This
change is primarily felt through speed improvements when using
filters; the OpenMP parallelization can take advantage of all CPU
cores on the system. Inkscape implements many effects through SVG
filters even when they are not labeled as such explicitly (such as the
"blur" slider available on every object). In addition, each release
adds more live previews to path effects and extensions. The upshot is
that multithreading is likely to benefit a lot of users even if they
do not employ complex filters in their normal workflow.
Overall, Inkscape 0.49 is shaping up to be a solid improvement. It
is hard to generalize about the impact of features like Cairo
rendering and multithreading; some users may feel no improvement at
all, while others may be ecstatic. The same goes for the new tools
and features — if you use G-code or TeX the benefits are clear,
if you have some other design needs you might not even notice the new
features. On the other hand, the usability improvements (particularly
to selection and window management) are more or less universal. But
the truly interesting aspect of any new Inkscape release is seeing how
users will take to a new drawing mode like PowerStroke, because that
is ultimately unpredictable. Inkscape is a "creative" application:
its biggest enhancements are in how it allows end users to think, and
act, a little more creatively with every new release.
(
Log in to post comments)