リリースノート

Note: The download files for this Inkscape version are provided for historical reasons only. As most of them do not have a checksum or valid/secure GPG signature, be very careful if you download or install them on your computer.

Highlights in this release:

Speed and interactivity

Exporting drawings with blur was particularly slow in 0.45; some files could take hours to export. Now this is fixed, in part by the faster algorithm mentioned above and in part by a bugfix in the export code. Now even the quite complex files with large blurs export at high resolution in at most a few minutes.

Tools

Paint Bucket tool

The new Paint Bucket tool works exactly as you would expect: click in any area bounded on all sides and it will fill it with color . Being a vector tool, however, Inkscape's Paint Bucket just creates a new path that "fills in" the area in which you clicked.

How it works

It is important to note that the tool is perceptual , not geometric. That is, when looking for the boundaries around the point you clicked, it takes for such boundaries any visible color changes. This means that filling will stop at gradients, blurs, and even the color boundaries in imported bitmaps, but will ignore any paths or other objects that are fully (or almost) transparent or for any other reason do not stand out from the background. In short, it will work exactly as if you were filling a rasterized version of your image in a bitmap editor like Photoshop or GIMP - but will give you a vector object to work with.

For example, now you can scan a pencil sketch, import the bitmap into Inkscape, and quickly fill all its cells with colors even without tracing the bitmap first. This is a very convenient and interactive way of digitizing your paper drawings, making the traditional bitmap tracing unnecessary in many cases.

Internally, the tool works by performing a bitmap-based flood fill on a rendered version of the visible canvas, then tracing the resulting fill using potrace and placing the traced path into the document.

It places the rendered path onto the current layer, so you can have a layer on top (for example, "Inks") and select the layer below ("Colors") and do the fills so that they always appear below the Inks.

The resolution of the bitmap image used to perform the trace is dependent upon your current zoom level -- the more zoomed in to an area that you are, the higher the resolution of the bitmap-based flood fill. So, if you are got a fill that is too imprecise, has rough corners, or don't go into small nooks and appendices where it is supposed to go, just undo, zoom in closer and repeat filling from the same point. Conversely, if the fill leaks out through a small gap, zoom out to make the gap less visible and fill again (or use the auto gap closing parameter, see below).

Style

Like all object-creating tools, the Paint Bucket may use the last-set style for the objects it creates (this is the default), or it can use its own fixed style . You can switch between these modes on this tool's page in Inkscape Preferences (Ctrl+Shift+P). As in all other tools, the style swatch on the far right of the Controls bar shows the style that will be used for the next fill object you create.

Controls

In the tool's Controls bar :

Shortcuts

The tool's shortcuts are:

Tweak tool

The Tweak tool is an exciting new way to edit drawings which largely blurs the distinction between vector and raster editing. Instead of meticulously selecting some objects and then performing an action on the selection, you can now select all objects (or all objects you are interested in) and apply the Tweak tool's brush to smoothly and naturally change the shape or style of only those objects (or parts thereof) that the brush touches .

The area of the tool's action - its brush - is marked by an orange-colored circular outline that moves with your mouse cursor. However, that area actually has no sharp boundaries; the power of the tool's action falls off gradually, following a smooth bell-shaped profile. This makes the tool act softly and smoothly.

The tool will work on any number of selected objects; for example, you can select all (Ctrl+A) and "smear" your entire drawing by Push mode or paint it by Color Paint mode. You can also apply it to groups of objects; it will go into groups and act on individual objects inside groups. If you're trying to use it without anything selected, a message will appear in the statusbar reminding you to select some objects.

Width

The width of the tool's brush, in the range from 1 to 100, can be changed by the Width control in the tool's controls bar above the canvas. You can also change width by Left and Right arrow keys (same as in the Calligraphy tool) at any time (including during action) as well as Home and End . Also, as in Calligraphy tool, the visible width of the brush is independent of zoom; simply zooming in or out is often easier than adjusting the width if you want to cover a smaller or larger area of the drawing.

Force

The next control is Force which adjusts the power of the action, also in the range from 1 to 100. You can also change width by Up and Down arrow keys at any time (including during action).

If you have a pressure-sensitive tablet and your "Use pressure" button on the right-hand end of the controls bar is on, then the force will also depend on how hard you actually press your pen into your tablet, changing in the range from zero to whatever you set in the Force control. If all you have is a mouse, then the force will be constant but still settable by the Force control.

Path editing modes

The Tweak tool has a number of modes , selectable by toggle buttons in the tool's Controls bar and by keyboard shortcuts. Some of these modes change the shapes of paths while others affect the colors of objects. All these modes share the Width and Force controls but otherwise are quite different. Let's look at the path editing modes first.

Unlike the Node tool, to edit paths with the Tweak tool you don't need to worry about where the nodes of a path are and how to manipulate them. You just apply the tool's brush to any point, and the selected paths at that point will reshape smoothly and naturally - as if made of soft jelly - regardless of where its nodes lie. If applied to a shape or text object, the tool converts them to paths automatically.

While not very useful for technical drawings, tweaking paths will be indispensable for artistic uses of Inkscape - cartoons, drawings, sketches, anime, etc. This new functionality is somewhat similar to the tools such as "Pucker" and "Bloat" in the latest versions of Adobe Illustrator.

There are currently six path editing modes in the Tweak tool: Push , Shrink , Grow , Attract , Repel , and Roughen .

For example, the visible lightness/darkness of an engraving hatching may not exactly correspond to your artistic intention. Also, the ends of Calligraphy pen strokes are often far from ideal - they may be too blunt or have unsightly bends or blobs. This is where the Tweak tool may help. Select all the strokes in a hatching pattern and apply a light Shrink action where you want the lines to become thinner (and the hatching to become lighter), up until total disappearance. If you press hard, shrinking works as an eraser, so you can easily clean the strokes' ends to make them thin, sharp, and uniform. Conversely, applying Grow makes strokes wider (i.e. the hatching becomes darker). Of course, shrinking and growing are useful not only for calligraphic strokes. Same as with Push, with Shrink and Grow you can sculpt any path, spawning smooth treacle-like appendages with Grow and carving holes with Shrink. Unlike the "node sculpting" mode in the Node tool, however, this does not require adding new nodes to the shape.

See the screenshot at [1] for a few examples of using the path editing modes of the Tweak tool.

Fidelity

Any tweaking of a path slightly distorts the entire path, including even those parts that you didn't touch. These distortions are similar to those that a Simplify command produces. The Fidelity value (also in the range from 1 to 100, default is 50) allows you to control the amount of these distortions. With a higher fidelity, the distortions are less noticeable, but the path may end up having a lot of nodes which inflates up the SVG size and slows down Inkscape.

The best value of Fidelity depends on the nature of your artwork. If you're sculpting an amorphous blob, you can do with low fidelity of about 20. If, however, you are pushing or inflating a text string (as a single path) and want the letters outside the distorted area to remain crisp and clean, you will need to raise fidelity to 80 or more.

Known problems

Known problems with the path editing modes in Tweak tool:

  1. they don't work on open paths (an open path becomes closed if you tweak it);
  2. they are rather slow;
  3. they quickly eat memory; and
  4. they are sometimes buggy - thin calligraphic strokes may suddenly disappear or change their shape drastically as you're shrinking or growing them.

For (4), it helps to increase Fidelity. Also, you can undo the bad change and try again with less pressure on the pen - if you do your thinning in several light touches instead of one heavy press, usually you will be able to get the desired result without the buggy behavior.

Also, sometimes after roughening, further tweaking of a path becomes impossible with this diagnostic:

 WARNING **: Shape error in ConvertToShape: directedEulerian(a) == false

All these problems stem from the livarot library that we use for geometric manipulation of paths. Fortunately, livarot is scheduled for replacement by lib2geom, a new library now in development, so hopefully these issues will be addressed then.

Color editing modes

The Color Paint and Color Jitter modes, unlike the path editing modes, change the colors of objects instead of their shapes. Yet they share enough common features with the path editing modes to be part of the same tool: These modes also use a circular soft-edged brush controlled by the Width and Force parameters on the Controls bar and affected by the pen pressure (if you have a pressure-sensitive tablet).

The fill from the tool's style applies to the fills of the painted objects, and the stroke applies to the strokes. If the tool's style has no fill or no stroke, it won't affect fills or strokes, correspondingly. For example, if you want to color the fills of objects blue but leave their strokes untouched, assign blue fill to the tool's style (just click blue on the palette) but set its stroke to None (middle-click the Stroke swatch in the statusbar). Similarly, master opacity in the tool's style affects master opacities of the touched objects (if the O channel is on, see below). This mode allows you to literally paint over objects, shifting their colors towards the target style of the tool. For example, if you paint with yellow fill over a blue-filled object, the object will become greenish blue, then green, then yellowish green, and end up being exactly the yellow color you're painting with. This speed of this gradual transition depends on both Force parameter and pen pressure; also, objects touched by the periphery of the brush are less affected than those hit by the brush center. Overall, using this tool is very similar to a soft brush in a raster editor such as Gimp or Photoshop.

Both modes work on flat fills and gradients; for gradients, the tool takes into account not only the position of the entire object with gradient, but also the position of each gradient stop relative to the brush. This means that, for example, you can change the blue color only in an object filled with blue-red gradient simply by painting over its blue end with a brush small enough to not touch the red. (Note that color tweaking does not create gradients on objects that used flat color before, but only adjusts existing gradients in the drawing.)

See the screenshot at [2] for a few examples of using the color editing modes of the Tweak tool.

Channels

Color Paint and Color Jitter honor the Channels control. This control comprises the four buttons: H , S , L , and O , which allow you to turn on and off the tool's action on the object's hue, saturation, lightness, and opacity, correspondingly. For example, if you want to raise the saturation of some part of your drawing without changing the hue, select some maximum-saturation color (e.g. pure red) and turn off all Channels buttons except S. Similarly, you can replace the hues without affecting saturation or lightness (only H pressed), or lighten/darken all colors without changing their hues and saturation (only L pressed). Pressing O allows you to apply the master opacity from the tool's style to the master opacity of objects (but not fill or stroke opacity).

Usage notes

Color painting with Tweak tool is similar, but not exactly analogous to bitmap painting. Even though the tool itself works as a soft brush, it still applies its color to vector objects, which behave as vector objects usually do. For example, if you want to change the tint of the face in your drawing, and if a hand in the drawing is part of the same object as the face, that hand will change its tint too even if it's located far from the point you are painting. (We foresee a "fracture" command in one of the next versions of Inkscape which will help you turn a monolithic object into a mosaic of small fragments that will be then easy to paint with Tweak tool.) Still, even with this limitation, color painting is a novel way of dealing with vector drawings which allows you to quickly and intuitively make adjustments which would be awkward and slow with traditional approach.

Drawings containing patterns or scatterings of small independent objects are best suited for color painting with Tweak tool. Examples include:

Moreover, color tweaking can be useful for compositions with a few objects or even for single objects. Unlike all other color selection methods, painting with the Tweak tool implements the color mixing metaphor which is much more familiar to traditional artists than RGB sliders or even the color wheel. For example, start with a rectagle of pure blue color; then, pick different colors by Color Paint and apply light touches with minimum Force and minimum pen pressure: add a little green, a little brown, a little yellow, etc. until you have the exact hue you need. Similarly, you can whiten or blacken any hue by admixing white or black.

You can also use color tweaking to add a tint, darken/lighten, saturate/desaturate, or color jitter your entire drawing. Just select all in all layers, zoom out, choose a large brush width so it covers all of the drawing, and apply a little color tweaking (with minimum Force) that will therefore affect all visible objects.

Keyboard shortcuts

3D Box tool

Inkscape is a two-dimensional drawing tool. However, very often it is used to create drawings or objects that appear three-dimensional. The new 3D box tool helps you create such drawings by automating the most common operation: creating a box in a given 3D perspective. The tool automatically ensures that all sides of the box lie on the corresponding perspective lines. We're not going to compete with Blender - but even simple things can go a long way.

Currently in the 3D Box tool you can:

When several boxes are selected, all vanishing points of their associated perspectives are shown on the canvas. If vanishing points of different perspectives coincide, they are combined in a single "dragger". Moving this dragger moves all the vanishing points simultaneously and transforms the associated boxes accordingly. Note that some non-selected boxes may also be reshaped if their perspectives share the same vanishing point. Pressing Shift while moving the dragger can be used to only transform the selected boxes, separating their perspectives from the non-selected ones'. On the other hand, when a vanishing point being dragged comes close enough to another one, both snap together and are combined in a single dragger.

In SVG, a 3D box is represented as a group (svg:g) with a special extension attribute (in Inkscape's namespace); this group contains the 6 quadrilateral paths representing the sides of the box. Only the 3D box tool treats this object as a box; for all other tools it is just a group, so you can select any of the paths by Ctrl+click, apply any style to it, delete it, etc. You can of course transform the entire box or any face in it using Selector or Node tools.

Keyboard shortcuts

Gradient Tool

Selecting multiple stops

More than one gradient stop can be selected at a time. Shortcuts for working with multiple stop selections are generally modeled on the Node tool.

Multiple selected stops:

An always up-to-date description of the current handle selection is provided in the statusbar in the Gradient tool, including the number of selected handles (and the type of the single selected handle), as well as the total number of handles and selected objects.

Editing intermediate stops

Intermediate stops in gradients can be added, deleted, and edited on canvas (previously this was only possible in the Gradient Editor dialog).

Style of gradient stops

Automatic duplication of gradients

When copy/pasting or duplicating an object with gradient, it now automatically gets a copy of the original gradient, so modifying it does not affect the source object's gradient anymore (before, you had to press the Duplicate button on the Gradient controls bar for this). The Duplicate button is therefore removed.

However, to accommodate the needs of users who have relied on sharing the same gradient definition across objects, this behavior can be optionally suppressed. The Prevent sharing of gradient definitions checkbox on the Misc tab of Inkscape Preferences is by default checked; if you uncheck it, Inkscape does not automatically copy gradient definitions for new objects, which means that copy/pasting, duplicating, pasting style, and explicit assignment of a gradient to an object via the Gradient tool controls results in a shared gradient definition, so that changing the colors or mid-stop positions of the gradient on one object (but not changing the coordinates of the end handles) affects all other objects that share the same definition.

Calligraphy tool: Engraver's Toolbox

Several new features were added to the Calligraphic pen to make Inkscape capable of the ancient art of line engraving . Traditional engraving is a very labour-intensive process, and while for a long time it was the only practical way of reproducing lifelike images in black-and-white print, about a century ago it was almost completely displaced by automatic halftone screens. However, line engravings have their characteristic charm, and there's no reason not to try to resurrect this art form with the help of Inkscape.

A brief visual guide to the new functionality can be seen on these screenshots:

[Link no longer available] http://inkscape.org/screenshots/gallery/inkscape-0.46-engraving1.png

[Link no longer available] http://inkscape.org/screenshots/gallery/inkscape-0.46-engraving2.png

Tracking a guide path with Ctrl

One of the most common operations in line engraving is hatching (or sometimes cross-hatching when several hatching grids cross): filling a space with many parallel straight or variously curved lines (usually of varying width to represent a gradual shading). You could try to achieve a similar effect with e.g. path interpolation (blending), but it is rather cumbersome and limited; manual drawing of hatch lines, on the other hand, is tedious and nearly impossible to do uniformly. Now Inkscape provides "assisted hatching" by tracking a guide path , allowing you to hatch quickly and uniformly and at the same time giving you sufficient manual control over the process.

Here's how to do this. First, select the guide path that you will track. It may be another calligraphic stroke, any path or shape, or even a letter of a text object. Then switch to Calligraphic pen, select the desired parameters (line width, angle, fixation etc.) and, before starting to draw, press Ctrl. You will see a gray track circle centered at your mouse pointer and touching the closest point on the selected guide path. (If you have no guide path selected, a statusbar message will tell you to select it.)

Now move your mouse close to the guide path, so that the track circle radius is equal to the desired spacing of your hatch pattern, and start drawing along the guide path. At that moment, the radius of the circle gets locked; now the circle slides along the guide path - and the actual stroke is drawn by the center of the tracking circle, not by your mouse point. As a result, you are getting a smooth stroke going parallel to the guide path and always at the same distance from it.

When the stroke is ready, release your mouse button (or lift your tablet pen) but do not let go of the Ctrl key because as long as you have it pressed, the tool remembers the hatch spacing you set when you started drawing. Now, you have just created a new stroke and, as usual with Inkscape tools, it gets selected instead of what was selected before. In our case, this means that the newly drawn stroke itself becomes the new guide path. Next, you can draw a second stroke along the first one, then a third one along the second, etc. Eventually you can fill any desired space with uniform hatching.

Alternatively, if you uncheck "Select new path" in the Calligraphy tool preferences, newly created strokes will not be selected, so your original guide path will be kept selected. In this mode, Inkscape will increase the tracking distance after each created stroke so that you can create uniformly spaced hatching by tracking a single guide path.

The attachment to the guide path is not absolute. If you stray your mouse pointer far enough from the guide path, you will be able to tear it off (the track circle turns from green to red) and move freely. This is intentional; this feature allows you, for example, to continue drawing a stroke past the end of a guide stroke, thus making your hatching cover a wider area than the initial guide path. Special care is taken to make such tearing off as smooth as possible and to suppress violent jerks, but this is not always possible; the general advice is to not try to hatch too fast. If jerking and unintended tearoffs still bother you, try increasing the Mass parameter.

Also, special code is in place to prevent flipovers - accidental jumps to the other side of the guide path. Brief flipovers are suppressed, but if you intentionally go over to the other side and stay there, eventually Inkscape will obey and your tracking stroke will also flip over to follow you.

Tracking a guide also allows some slight feedback by gradually changing the tracking distance in response to your drawing behavior. Thus, if you're consistently trying to draw closer or farther from the guide than the current tracking distance, the distance will correspondingly decrease or increase, so you will get a hatching that is slightly spacing in or out. (The effect is very slight, however, so as not to become a nuisance.) Also, note that since tracking follows the edge of the stroke, strokes of varying width (such as those tracing background, see below) will result in gradual bending of the hatching pattern as you proceed.

Tracing background by stroke width

There is a new toggle button on the Calligraphy tool's controls bar, Trace background . When on, the width of your pen depends on the lightness of the background under the stroke in each point, so that white translates into the minimum stoke width (1) and black translates to the maximum (which is set by the Width parameter). This can work alone or in combination with pressure sensitivity, depending on whether the "Use pressure" button is also toggled.

This feature allows you to not only hatch over an imported bitmap image or any drawing, but to do so automatically reproducing the highlights and shades of the background with your strokes becoming lighter and heavier as needed.

Misc features

Selector

To activate selecting by touch, whenever you are drawing a rubberband rectangle, just press Alt to switch it to the touch mode. The rectangle will disappear and a red touch path will be shown instead. When dragging from an empty space, you can press Alt first and then start to drag to get the touch mode (note that your selection must be empty, otherwise Alt+dragging will move the selected objects instead). To start a touch selection from a point over an object, or to add to existing selection by touching, press Shift+Alt and then start to drag.

Node tool

Rectangle Tool

Ellipse Tool

Pen/Pencil Tools

These tools can now create single dots by Ctrl+click on the canvas. This creates a small circle filled with the current stroke color. The radius can be set in the Preferences of the respective tools (it is specified as a multiple of the current stroke width). Shift+Ctrl+click creates a dot twice the specified size, and Alt+Ctrl+click varies the size of the created dots randomly.

Dropper Tool

The shortcut 'D' is now used to toggle (not just switch to) the dropper tool - much like space is used to toggle the selector tool. That is, pressing 'D' a second time switches back to the tool used before.

SVG features

The tref element

Inkscape can now correctly open files with tref elements, and new tref elements can be created manually in the XML editor.

The actual character data contained in a text element can either be embedded directly, or it can be the character content of an element referenced by a tref .

While the textual content from the referenced element will be stripped of any markup before being used by the tref , the tref element can itself have the same attributes as a tspan . In fact, when rendered, it is as though the tref element is replaced by a tspan with the same attributes, and the referenced character data is embedded in that tspan .

The property xlink:href is used to refer to another element whose character data will be used. Any element can be referred to except an ancestor of the tref . When any of the text contained in the referred element changes, the tref will immediately be updated to display the new data.

Existing tref elements can be converted into tspan elements with Edit > Clone > Unlink Clone . If more than one tref is contained within a selection, all trefs will be converted into tspans . All attributes applied to the tref will be retained in the new tspan .

A tref element can be mixed with any other elements allowed to be contained by a text element.

The cloned character data rendered by the tref may not be edited, but any characters surrounding it can be changed. Styles cannot be applied to a subset of the cloned characters, but if all are selected, a style can be applied to the tref .

SVG filters

New filters supported

See also wiki page Filter Effects for more info on filters in Inkscape in general.

Filters UI

Live Path Effects (LPE)

Live path effects (not to be confused with extension effects or SVG filters) are a new way to non-destructively modify path and shape objects . Path effects affect the path data of an object but not its style. The original path is preserved and can be edited directly on-canvas, and the path effect applied to it will be updated live.

In this version, we include several path effects that are analogous to the corresponding extension effects (such as Path along Path effect and Pattern along Path that replaces the extension of the same name). The most important advantage of path effects is that they are, indeed, live - you can still edit the original path and the effect will update in real time (unlike the extension effects which were one-time one-way transformations). In the future, we plan to reimplement most if not all of path-changing extensions as live path effects.

Live path effects were developed by Johan Engelen as part of the GSoC 2007.

Details about operation

The following schematic tries to explain how LPE work.

   original style  ------------>  output style
   original path   -->  LPE  -->  output path
                         ^
                         |
                     parameters

The original style and path are from the path that the effect is applied on. The output is what is visible on screen. What is very important to notice is that output style equals original style .

The parameters can be paths, numbers, points, text, in principle anything.

Applying effects

Path effects are applied through the Path Effects dialog (opened from the Path menu, or by pressing Ctrl+Shift+7. This dialog is also used for controlling the effect's parameters and for removing effects.

When a path with a path effect applied is selected, the statusbar description mentions that, for example " Path (4 nodes, path effect)".

There is a special Paste Path Effect command (Ctrl+7) that can be used to copy effects from one path to another.

Editing effect parameters

When switching to the node edit tool ( F2 ), the original path can be edited. The original path is shown as a red helper path. Normal path operations, like simplify, still work.

Some parameters of effects can be edited on-canvas. For example, path parameters can be node-edited, by pressing the "edit on-canvas" button in the Path Effects dialog. Press "7" to cycle through the different on-canvas editable parameters. This way, one can edit the parameters without opening the Path Effects dialog. The statusbar tells the name of the parameters that is currently being shown.

Available effects

Path along path

The Path along Path effect can curve a path along another path. When this effect is applied to a path, it can be bend along another path (called bend path ). With the node edit tool, both the original path and the bend path can be changed on-canvas and the result is updated live . This provides a direct equivalent of "vector brushes" or "skeletal strokes" features in other vector editors.

In the effect's control panel in the Path Effects dialog, you can select how many copies of the original path are put along the bend path (either single or repeated ) and whether it is stretched to fill the bend path. In this dialog you'll also find a button to edit the bend path on-canvas and a button to paste a new bend path from clipboard. A possible workflow is this: you select and copy the new bend path to the clipboard, then select the path you want to bend, apply the Path along path effect, and paste the bend path with the paste button next to 'bend path'.

Example file: live-path-effects-pathalongpath.svg

Pattern along path

The Pattern along Path effect can curve a path along another path. When this effect is applied to path A (called skeleton ), another path B (called pattern ) can then be passed as a parameter. The result is that path B is bent along path A. With the node edit tool, path A can be changed on-canvas and the result is updated live . This provides a direct equivalent of "vector brushes" or "skeletal strokes" features in other vector editors.

In the effect's control panel in the Path Effects dialog, you can select how many copies of the pattern are attached (either single or repeated ) and whether the pattern is stretched to fill the skeleton path. You can also choose the pattern for the selected skeleton [either directly or] by pasting it from clipboard (that is, you select and copy to the clipboard the pattern, then select the skeleton, apply the Path along path effect, and paste the pattern). The Scale width parameter allows you to change the width of the pattern applied to the path.

[[Example file: live-path-effects-pathalongpath.svg]]

Stitch Subcurves

The Stitch Subcurves effect connects points from two subpaths of the path with straight line or curved segments, i.e. the stitches . It looks a lot like the Effect Lines from Expression 3. The result is also referred to as "String Art". For some examples of string art, see http://members.shaw.ca/jillbritton/string_art/jbstringart.htm .

The shape of the connecting paths can controlled by the stroke path parameter. This could be used to draw 'hair-shaped' connecting paths with sharp end-tips. Other controls include the number of paths , the variation in spacing between the connecting paths ( clustering ) and also whether the start and end points of the stitches should like exactly on the original subcurves or can stray randomly around them. Finally the width of the stroke path can be varied.

Note that this effect can only be applied to a path with two subpaths in it, hence ' sub curve' in the name. Use Path > Combine to create such a path from two separate paths.

Example file: live-path-effects-curvestitch.svg

Gears

The Gears effect is a toy effect. It generates a chain of interconnected gears from the path that has the effect applied to it. The nodes of the path define the centers of the gears. The first 3 nodes are special; the first defines the start angle of the chain, the second defines the center of the first gear and the third knot specifies the radius of the first gear. That is, to create a chain of 2 gears, you will need a path with 4 nodes; for 3 gears, 5 nodes, and so on.

Example file: live-path-effects-gears.svg

Development of new effects

One of the goals of the Summer of Code project was to make it easy to create new effects. There is a framework that greatly simplifies effect implementation; very little code is needed to get the effect hooked into Inkscape. This leaves valuable time for the actual effect to be implemented. See the http://wiki.inkscape.org/wiki/index.php/MakingLivePathEffects wiki page for an explanation of how to get started with your own effect!

Extension effects

Live preview

New and improved effects

XSLT effects

ImageMagick effects

New raster operations available through the effects drop-down menu, powered by the ImageMagick library. For any of these effects to work, you need to have an image object selected in the drawing.

These effects are part of the Google Summer of Code 2007, coded by Christopher Brown.

Misc

Stock patterns

Since a few versions ago, Inkscape supports patterns in fill and stroke. However, up to now the only way to apply a pattern was by creating it in the document using the Object(s) to Pattern command, which wasn't very convenient. Now, if you switch an object's fill or stroke to pattern using the Fill&Stroke dialog, you will get a drop-down list with a number of predefined stock patterns that you can apply simply by selecting them from the list:

After applying a stock pattern, switch to Node tool to edit the location, scale, and rotation of the pattern via on-canvas handles.

All stock patterns are stored in the file patterns/patterns.svg in Inkscape's share directory (typically /usr/share/inkscape on Linux, inkscape-dir /share on Windows). You can add your own patterns to this file or replace it with any other SVG file containing the patterns you need.

Markers

Color management

Calibrated SVG color including CMYK

Inkscape now supports color-managed color definitions that use a colorspace other than sRGB (for example Adobe RGB, or calibrated CMYK colors). In the SVG file, this is done using the optional "icc-color(...)" paint components as described in section 11.2 "Specifying paint" of the SVG 1.1 specification [3] . A fallback sRGB value will be used, for non color-managed workflows. This allows for the use of calibrated color spaces, including using CMYK values that are preserved across applications.

The new CMS color selector tab allows these colors to be edited.

Display adjustment

In Inkscape Preferences, Color Management tab, there's are new options for enabling display adjustment; you can select any calibration profile (an ICC file) suitable for your display. Options for rendering intent can also be chosen.

Per-window adjustment

Display adjustment is enabled and disabled per each editing window. This allows for simultaneous viewing of adjusted and unadjusted views of a single document by using multiple windows. There is a toggle at the bottom-right corner of the scrollbars that allows for turning on and off display adjustment. It also will be disabled to provide visible feedback when no profile is set to be available for adjustment.

XICC Support

On X11-based systems (i.e. Unix and Mac OSX), use of [ ICC Profiles In X Specification ] (or XICC) can be enabled. Support for version 0.2 of this specification has been implemented. Enabling this option by choosing to retrieve profiles from the display will switch Inkscape to using profiles attached to screens at runtime. These allow display adjustment to be changed on the fly, and to be set and cleared per-monitor. This is especially helpful with more than a single monitor.

Other Open Source software such as GIMP support XICC. This allows all aware applications to be adjusted by setting a profile only once.

Multi-monitor aware

When XICC support is enabled, windows will adjust to the proper profile as they are moved across monitors. Also, as the windows are moved onto monitors with no profile attached, the adjustment toggle will become disabled. When the windows are moved onto screens that do have profiles, the toggle will become enabled.

Soft Proofing

In Inkscape Preferences, Color Management tab, there's a new option for enabling output device preview; you can select any calibration profile (an ICC file) suitable for your output device. Options for rendering intent can also be chosen, along with out of gamut warnings.

OS support

?olor management is supported in Linux and Mac OS X only at this time.

Grids, guides, snapping

Grids

Grids have undergone some big changes under-the-hood. These are the visible changes:

From developer perspective:

Angled guidelines

Now, Inkscape also provides angled guidelines! Double click on a guide to set its angle.

Creating guidelines from objects

Snapping

Import/Export

PDF and AI import

In this version, Inkscape can natively (i.e. without any additional software) import PDF files and the newer PDF-based Adobe Illustrator files (starting from AI version 9.0).

Implemented features : The new import extension can import paths , text , clippaths , masked or non-masked images , and softmasks . It supports pattern fills (XStep and YStep attributes are ignored) as well as linear and radial gradients (only those using sampled or exponential functions). Gradient meshes are imported, but they get converted to groups of small tiles (flat-colored paths) that approximate the mesh; the user can adjust the precision of this approximation.

PDF import settings : After opening a PDF or AI document, the PDF Import Settings dialog shows up. Here you can select:

Text editing tips : Any text imported from PDF or AI has each letter's precise place on the page fixed . While this preserves the exact appearance (e.g. justification of text blocks) of the imported document, it makes editing such text difficult: deleting text fails to contract the text line and inserting text fails to expand it, i.e. typed letters overlay the existing letters. (However, you still can replace a letter with another letter of about the same width, although you may need to kern it into place with Alt+arrows.)

To work around this, select the text object you want to edit and use Text > Remove manual kerns command. This will remove the exact positioning information, so if the text block was justified it will lose justification, but instead you will be able to edit it as usual.

Note that there is a way to select even a single line in a text block. For this, open the XML editor, expand the <svg:text> tree branch corresponding to your text, and select any of the <svg:tspan> objects under it. Now you can remove manual kerns from this line only. After you finish editing the line, you can manually justify it back, for example by adding spaces, manual kerns (Alt+arrows), or by adjusting letterspacing (select the whole line and use Alt+> or Alt+<).

The native PDF/AI importer is based on the poppler library and was implemented by Miklós Erdélyi as part of the Google Summer of Code 2007.

PDF export

CDR (CorelDraw) import

Inkscape can use UniConvertor if it's installed on your system to import documents in CDR format (CorelDraw). This feature is Unix-only at this time and requires that you have Python and UniConvertor installed. As of UniConvertor 1.1.1, versions from 7 to X4 of the CDR format are supported, and text objects are not converted.

XAML import/export

Adobe Illustrator SVG clean import

WMF import

Now Inkscape uses UniConvertor for opening WMF files, which results in three noticable changes:

  1. imported files are editable now
  2. known rendering issues are resolved
  3. WMF import works on all platforms where UniConvertor works (including Windows)

Text objects are not supported by UniConvertor as of version 1.1.1.

Bitmap export

This makes it possible to implement all kinds of image slicing and automated export scenarios. For example, if you are working on a web site design, you can create a separate "export" layer. In that layer, "slice" your web page image into separate areas by creating invisible rectangles with no fill and no stroke. Select each rectangle (by Tab/Shift+Tab, or by switching to Outline mode where even an invisible rectangle can be selected by clicking on its outline) and export it into the corresponding filename (which gets saved as that object's export hint). After that, if you do any changes to your graphics, it's very easy to reexport all the slices: just switch to the "export" layer, select all in that layer (Ctrl+A), and export with the Batch export selected objects checkbox on.

Open Clip Art Library import and export

Inkscape features a preliminary support for importing drawings from Open Clip Art Library .

After specifying account details in Preferences dialog (Import/Export tab) use 'File > Import From Open Clip Art Library' command to open a dialog, then search for tags and pick one of the results to merge this found drawing into your document.

Command line

Several new command line options are added that make Inkscape even more scriptable and automatable than before.

These options can be used, for example, for performance testing. You could do something like this:

$ time inkscape --verb=FileClose my_complex_file.svg

to measure the time it takes to load and display the file.

Of course, with the ability to select objects, it can be much more useful than that. You can call extension effects, or any other verb, then FileSave and FileClose to automate all kinds of operations on your drawings.

User interface

Dockable dialogs

Inkscape's dialog handling has been reworked in this release to allow dialogs to behave like dockable panels . The dock area that holds the user's dialogs is located right of the canvas.

Dialogs placed in the dock can easily be rearranged, resized, stacked in groups or iconified. Furthermore, a dialog can be dragged of the dock to become a floating dock in itself—this allows other dialogs to be dragged and dropped on it to form a floating group of dialogs.

The old dialog behavior (used in releases before 0.46) has been preserved as an option, and if it is preferred, one can select it under Windows > Dialog behavior in the Inkscape preferences dialog.

Known issues

Settings

Three settings that control dockable dialogs behavior are present in the preferences.xml file under a options group called dock :

Toolbars

Main toolbar on the left can now optionally use smaller buttons . With the several new tools added in this version, this may help users with small screens where the toolbar otherwise may not fit vertically. The toggle is on the Misc tab of the Inkscape Preferences dialog.

Switching to stock GTK+ toolbars. This allows for the main window to be made narrower, with toolbar items flowing into a popup menu as it is resized.

Swatches panel, color drag-and-drop

Color gestures

A new method for quick and precise adjustment of colors is added in this version: color gestures. It works on the selected objects by grabbing the fill or stroke color swatch in the selected style indicator (on the left of the statusbar) and dragging it in various directions as described below. Note that this only works when the swatch displays a flat color ; it does not work for a swatch showing "None", "N/A", or displaying a gradient (although you can select one or more gradient stops in Gradient tool and color-adjust them by color gestures just as you would do for objects). Color gestures can work on fill or stroke , depending on which swatch in the selected color indicator you drag.

Color gestures work in HSL color space. Dragging without any keyboard modifiers adjusts the hue channel, dragging with Shift adjusts saturation , and dragging with Ctrl adjusts lightness .

The adjustment is done by "rotating" the color swatch away from the original direction which is assumed to be NE at 45 degrees (i.e. from the swatch diagonally into the document window). Once you click and drag the color swatch, imagine a diagonal line going from the point where you clicked in the NE direction, across the entire Inkscape window. By dragging below or to the right of that line, you decrease the corresponding color channel, to the minimum at the lower edge of the window; by dragging it above or to the left, you increase it, to the maximum at the left edge of the window. If you hover your mouse exactly over the 45 degrees line, the change will be zero.

Note that you can easily vary the precision of your adjustment. If you drag close enough to the swatch, each small movement results in a big change of the color. If you need a finer adjustment, just drag farther away from the swatch, towards the center of the Inkscape window or even to its upper right corner, where minute movements will produce very small changes in the color. In fact, this method gives you more color precision than even the color wheel in the Fill and Stroke dialog, unless you expand that dialog to fill the entire screen which is rarely practical.

The mouse cursor changes when you're doing color gestures, reflecting the channel currently adjusted and indicating the directions for increasing and decreasing the value. Also, watch the statusbar which will indicate, as you drag, the channel you are adjusting, the original value of that channel, the new value, and the difference.

You can switch channels while you drag . That is, you don't need to drag it again and again from the swatch if you want to adjust all three channels - you can do it all in one drag, by pressing and releasing Ctrl and Shift as necessary. Note that when you change the keyboard modifiers during drag, the position of the zero-change line is temporarily changed to go through the current mouse position; this is done so that there are no sudden changes in color if you are switching modifiers away from the original 45-degree line.

The Alt modifier is special. Pressing Alt means "do nothing"; this allows you to move the mouse, without releasing, to a more convenient place from where to continue tweaking the color after letting go of Alt. As with the other modifiers, releasing Alt temporarily redefines the zero-change axis to go through the point where Alt was released. For example, imagine you made your color darker by Ctrl+dragging towards the bottom edge of the window and you now need to make it less saturated. You cannot however Shift+drag it any lower because there's just not enough room for that. In that situation, without releasing the mouse, Alt+drag it upwards to a convenient spot and then Shift+drag downwards as needed. Also, you can start dragging from the swatch with Alt pressed to avoid changing the color while you take a more convenient position for adjustments.

For example, you can select a green rectangle and first turn it into greenish-blue by dragging away from the Fill swatch and slightly above the 45 degrees line; then, without releasing the mouse, press Ctrl and drag a bit to the right to darken the color; then press Shift, release Ctrl, and adjust saturation. You can press or release Ctrl and Shift as many times as necessary during a single drag; when you are finally satisfied with your color, release the mouse to commit the change.

Apart from precise adjustments, you can use color gestures to very quickly perform some common color transformations:

Note that when several objects or gradient stops with different colors are selected, the selected style indicator shows their averaged color. If you adjust that color by gesturing, the changed color will be assigned back to all selected objects/stops, in effect eliminating any difference between them. If you want to adjust many different-colored objects preserving their relative differences, use the color modes of the Tweak tool or color adjustment extension effects.

This new technique requires some getting used to, but once you get the idea it is quite convenient, fast, and precise.

Print dialog integration

Saving window geometry globally

Previously, window geometry (size and position of document windows) could only be saved into the document (so that each document stored its own window geometry). Now, a new option is added to save the geometry of the last used window to the preferences and apply this geometry to all new windows. Thus, with the "Save geometry to preferences" option enabled, new windows will open with the shape of the most recent previous window. This mode also remembers and restores the maximized/fullscreen state (unlike geometry saved to documents).

Preserving zoom/view of reverted documents

When reverting files to their previously saved state, the current zoom factor/panning is now retained (as opposed to reverted to the saved state, too, as it was the case before). This less interrupts the workflow when one is working on some detail in the drawing.

Bounding box option moved

The preferences option to select between "visual" and "geometric" bounding box was moved in Inkscape Preferences dialog from the "Selector" page to "Tools" page (since it applies more globally than just in Selector tool).

New ways to scroll and zoom

Using other keys in place of Alt

Keyboard profiles

New profiles have been added:

Also, profile for Adobe Illustrator has been fixed and includes bindings for tools now.

(To enable a profile, copy it into default.xml in the same directory, overwriting the old file. To restore the default Inkscape set, copy inkscape.xml into default.xml .)

Other changes and improvements

Mac OS X specific improvements

Notable bugfixes

These are bugfixes compared to 0.45.1; for a list of fixes in 0.45.1 compared to 0.45, see 0.45.1 release notes .

Known Issues