Tools for editing vector graphics in GNU/Linux

2169

Author: Bruce Byfield

Over the last decade, vector graphics have gone from being a revolutionary format to a standard method of rendering computer images — so much so that they are standard in the KDE 4 desktops. This popularity is based on the fact that, because they represent images as mathematical equations — usually in SVG format — vector graphics open faster, render better on screen, and can be resized more readily than raster graphics, in which an image is created pixel by pixel. Free software includes a number of options for working with vector graphics, including several simple ones: OpenOffice.org’s Draw, KOffice’s Karbon14, and Inkscape, which is currently the premier vector graphic editor in free software.

The easiest way to edit vector graphics is to import them into the GIMP, the standard raster graphics editor in free software. As you open an .SVG file in the GIMP, you can set the width and height of the file, as well as its resolution. If you plan to print the file, you will almost certainly want to increase the resolution, but, that done, you can then edit the file using the GIMP’s complete collection of tools. The drawback is that the GIMP does not save to .SVG format, so you should only resort to it if you are willing to give up the advantages of the format.

If your needs are simple, you might also get by with Sodipodi, which Inkscape originally forked from. Sodipodi is no longer in development, but its code is still available to run on modern distributions. It opens with a floating window with seven collapsible views. Although it never reached more than 0.34 release, its basic functionality is reasonably complete, and includes basic object manipulation and grouping, text, and the editing of nodes or key points. It has weaknesses — notably a limited set of primitives (that is, basic shapes), a lack of support for layers, and a reliance on lpr, rather than CUPS, for printing — but it is still adequate for basic editing.

Another basic editor is Skencil, formerly known as Sketch. While Skencil development is slow, it is more complete than Sodipodi, with controls for layers and object styles, as well as tools for fine-tuning gradients and managing user-added guidelines and simple color separation for those doing high-end printing. Unfortunately, this functionality is handicapped by an interface that positions features in non-standard places. The View menu, for example, is placed seven menus from the left instead of the more standard three, and Layer controls are under Windows. These arrangements might make some users decide that learning Skencil takes more time that it is worth.

OpenOffice.org Draw

Draw is probably the most underestimated application in OpenOffice.org. Its node editing is hidden in a right-click menu, and, like OpenOffice.org as a whole, its color selection, definition, and manipulation is weak compared to other graphics editors. However, for all these weaknesses, Draw is ideal for several types of documents.

To start with, because Draw shares a common code base with Impress, OpenOffice.org’s slideshow program, it handles multipage documents more easily than any other vector graphics program. With the Pages pane on the left of the screen, you can easily add new pages and move between them, making it a sort of basic desktop publishing program slightly above the level of Microsoft Publisher.

Just as importantly, like the rest of OpenOffice.org, Draw has a strong collection of primitives in its toolbar. Besides the usual collection of rectangles, ovals, and curves, Draw’s collection includes arrows, flow chart shapes, and callouts, making it suitable for various types of diagrams.

Other strong features in Draw are character and paragraph settings and spellchecking for text and extensive object styles that are especially well-suited to documents with many similar objects, such as an organizational chart, or those with long passages of text.

Karbon14

Karbon14 (often known simply as Karbon) is overlooked almost as often as Draw, although it does have a group of loyal users.

Karbon opens in a window full of panes. On closer investigation, you’ll find that these panes are actually docked floating palettes, and that, by dragging on their top edges, you can position them anywhere on the desktop, giving you more room for viewing the actual document in the editing window. If you have a wide monitor, this arrangement can be ideal, with tools such as the ones for stroke and fill or layers always available. On anything less than a 19-inch standard screen, though, you are likely to find that using Karbon involves too much flipping back and forth between windows. Fortunately, you can select which palettes to display from the View menu.

Unlike Draw, Karbon lacks strong text or multipage support, and has a relatively small set of primitives. Nor can you save in more than a few formats: besides the native format, only SVG, .EPS, and PostScript are available. However, it does boast several convenient features, such as a split view in the editing window, and an Undo history palette that makes reverting to an earlier version of a file as easy as a mouse click.

Karbon is currently undergoing a major revision to take advantage of KDE 4, as is the rest of KOffice. Since Karbon already has a convenient workflow and some sound fundamentals, the new version should be well worth investigating.

Inkscape

Don’t be deceived by the fact that Inkscape is only at version 0.46. The truth is that Inkscape is one of the most conservatively numbered applications ever, and is more than ready for serious work.

On opening Inkscape, you can choose between several dozen different document formats, including letter, A4, business cards, icons, Web banners, and various desktop sizes — far more than any other vector graphics program discussed here.

When the editing window opens, you should have little trouble navigating if you have ever worked with any other graphics editor. If you do run into difficulties, Inkscape is well-designed for trial and error discovery; with the basic toolkit on the left side of the window and the color picker on the bottom for objects’ fill and strokes, you can quickly learn some of the basics, although you may want to read some of the documentation on the project site first.

Although many of Inkscape’s tools are standard ones, such as the node editor and the selection of primitives, at least two are standouts. Its calligraphic tool, with settings for brush width, angle (which imitates the way a real brush would be held), and thinning (the amount that the width of a line varies on a curve) is actually a freehand drawing tool that is the next best thing to a drawing tablet. Another standout is the text tool, which allows text to be easily placed upon an angled or curved path, and supports pixel-by-pixel kerning of letters.

The only serious problem with Inkscape is that it supports object styles (that is, storage of a set of attributes for later re-use) only indirectly in duplicating objects, and, unlike Draw, has no ability to store them independently. Some, too, might miss the diagram-building primitives of Draw — although, with the recent addition of connectors for charts, Inkscape seems to be slowly adding this capacity. However, with its ease of use, Inkscape seems destined to be the free vector graphics editor of choice within a few years. For many, it has reached that stage already.

Problems with the SVG format

No matter which vector graphics program you use, you should note that saving graphics to .SVG format can cause problems when you go to use them. For one thing, Internet Explorer does not support the format, which prevents it from being used extensively in Web graphics, though it is ideally suited for them.

For another, because the SVG specification is still being developed, each editor interprets it in slightly different ways. That means that you cannot assume that saving to the format in one graphics editor will allow you to open it without problems in another. For instance, text added in Inkscape may lose its alignment when opened in the GIMP. Similarly, a graphic created in Draw may be inverted, with various elements scattered about the canvas, when you open it in Karbon. For this reason, if you are sharing a vector graphic file between editors, you may be better off converting it to PostScript or another more standardized format, even at the expense of changing to a raster format.

These caveats aside, among all the available editors, you should find working with vector graphics is, if not flawless, much easier than it was a few years ago. You may have to try more than one to find the best program for your purposes, but at least with all the available choices, you have a good chance of finding the features that you need.

Categories:

  • Reviews
  • Graphics & Multimedia