Difference between revisions of "Release notes/0.46"
AmyChoiXoXo (talk | contribs) |
AmyChoiXoXo (talk | contribs) |
||
Line 1: | Line 1: | ||
=== XICC Support === | |||
On X11-based systems (i.e. Unix and Mac OSX), use of [[http://www.burtonini.com/computing/x-icc-profiles-spec-latest.html 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 [http://www.gimp.org/ GIMP] support XICC. This allows all aware applications to be adjusted by setting a profile only once. | |||
=== | === Multi-monitor aware === | ||
When | 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: | |||
* There is a <b>new 3D/axonometric grid</b>. It consists of three sets of parallel lines, one vertical and others at angles of +30 and -30 degrees from the horizontal. The angles of these two latter sets and the spacing of the grid are user-settable. | |||
* A new tab in the Document Properties dialog, <b>Grids</b>, is devoted solely to grids; the former grid/guide tab is renamed <b>Guides</b> and is now used only for guides. On the Grids page, you can create and manage grids of various types in your document; so far the two types available are Rectangular (default) and Axonometric, but more types may be added in the future. | |||
* More than one grid can be active at the same time: | |||
:* Each grid can be enabled/disabled separately from the Document Properties dialog. | |||
* For each grid, you can hide it by unchecking the "Visible" checkbox in the grid's tab, or disable snapping to it by unchecking "Enabled". Note that you can have "Enabled" on and "Visible" off (but not vice versa), in which case you snap to the invisible grid. | |||
or | |||
* Multiple views on the same document (i.e. different Inkscape windows with the same document loaded) share the same grids, but the grid can be turned on and off for each view separately. For example, you could have a zoomed-out "overview" view without grids showing. Duplicate that window and zoom in on some detail; then grids can be shown only for that view, and snapping will only happen in those views for which grids are enabled. | |||
* The rectangular grid now has an option to show dots on gridline intersections instead of solid lines. | |||
From developer perspective: | |||
* Implementation of new grids is much easier now by subclassing CanvasGrid. Have a peek at how the rectangular grid is implemented (CanvasXYGrid). | |||
* Note that there is no longer "the grid", there might be several grids active now! | |||
* Grid information is now stored in SVG as a child of sodipodi:namedview. Old files will be converted to this new format automatically. | |||
* An old bug is fixed: apparently the origin of the document coordinate system used to be set to the origin of the grid. For example, in 0.45.1 and before, specifying a grid origin of (20,20) moved the origin or coordinates to that point, and the grid was still starting at (0,0) in this moved coordinate system. This is now disabled, and the coordinate origin is not affected by grid origin. | |||
==Angled guidelines== | |||
Now, Inkscape also provides angled guidelines! Double click on a guide to set its angle. | |||
* When dragging a guideline off the rulers close to the end of the ruler, the guideline will automatically be angled. The angle is set depending on the grid. | |||
** For the rectangular grid, the angle is 45 degrees. | |||
** For the axonometric grid, the angle is matched to the grid. When '''Ctrl''' is pressed, the angle is perpendicular to the grid lines (useful for aligning gradients). | |||
is | |||
== | ==Creating guidelines from objects== | ||
* Selected objects can now be converted to guidelines. To do this, either use the menu command '''"Object->Object to guides"''' or press '''Shift+G''' in Selector tool (this shortcut also works in some other tools, see below). The conversion process recurses into groups, i.e. all objects in the current selection are converted regardless if they are grouped or not. | |||
* Created guides can be quickly deleted by '''Ctrl'''+clicking on them (this is of course not restricted to guides created by the process described above). Note that this only works in Selector and Node tools, i.e., in contexts where guidelines can be manipulated with the mouse. | |||
* '''Paths''' are converted by creating one guide for each straight line segment occurring in the path (whereas curved segments are not taken into account). To make this conveniently accessible, the shortcut '''Shift+G''' works in Pen and Pencil tools, too. | |||
* For | * For all other objects, conversion usually happens by placing the guidelines around the object's bounding box (use the corresponding checkbox in the "Tools" page of Inkscape Preferences to switch between geometric and visual bounding box). | ||
* | *For '''rectangles''' and '''3D boxes''' there is a special option in their preferences pages (checked by default) which instead allows the guidelines to be placed along the object's edges so that they imitate its true shape. This is especially useful when converting rotated or skewed rectangles (to create guidelines in a special position) or for creating 3D scenes containing other objects than just boxes. The shortcut '''Shift+G''' works in these tools as well. | ||
== | ==Snapping== | ||
* | * Snapping has been implemented or improved for: | ||
: | :* '''Newly created shapes''' | ||
* | :* '''Skewing''' of objects | ||
* | :* '''Handles''' of objects, incl. '''gradients''' | ||
* ''' | :* '''Images''', '''ellipses''', and '''clones''' | ||
:* Text boxes, which snap to '''text baselines''' again | |||
* | :* Objects, for which snapping now optionally considers the '''rotation center''' | ||
* | :* Objects, which now allow for '''constrained snapping''' | ||
:* '''Guides''', which now snap while dragging them | |||
* ''' | :* '''Axonometric grids''' | ||
:* '''Angled guide lines''' | |||
* | :* '''Bounding boxes''', of which now all four corners snap | ||
* | * Other snapping fixes and improvements include: | ||
:* It is now possible to snap to '''intersections''' of e.g. gridlines with guidelines, and of line segments. | |||
:* The '''snapping preferences dialog''' has been restyled to make it more intuitive. | |||
:* Inkscape now has a global snapping toggle, which has been added to the view-menu and is accessible through a shortcut | |||
:* Inkscape now allows for controlling the snapping per grid when multiple grids are being used | |||
:* Snapping distance is now set in screen pixels and is therefore '''independent of zoom'''. | |||
:* Snapping of objects has been made more clean, by only snapping '''bounding box corners to bounding boxes''', and '''nodes to other nodes and paths'''. | |||
:* The time it takes to snap to objects using the selector tool has been reduced significantly. | |||
:* The bug where "node-to-node" snapping caused jerky movement of nodes is fixed. | |||
:* The '''aspect ratio''' is correctly preserved while scaling objects with snapping turned on. | |||
:* Only nodes at '''non-smooth parts''' of a path now snap. | |||
:* The confusing "Default transformations origin" option has been removed. Now Inkscape always uses the opposite edge of the object's bounding box as the '''transformation origin''' (though the bounding box itself can now be different, see next item). | |||
:* A new preference option has been added to specify the kind of bounding box to be used for transforming objects (see Inkscape Preferences, Tools, Selector). You can choose between the '''visual bounding box''' (which takes into account the stroke width, markers, and blur margins; this is the default behavior) or '''geometric bounding box''' (which encloses only the path itself, disregarding stroke width). | |||
=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: | |||
* | * the '''page''' to be imported from a multipage PDF; | ||
* | * the overall '''clip region''' (which can be none or set to any of the PDF boxes, e.g. the crop box, the media box, the trim box, etc.); | ||
* | * the '''precision''' for the approximation of '''gradient meshes'''; note that setting this too high may result in a huge SVG file and slow performance when importing files with gradient meshes; | ||
* | * a checkbox controlling whether the '''images''' should be '''embedded''' into the resulting SVG document or saved on the current path; | ||
* | * a '''preview''' of the selected page (shown if poppler-cairo is present on the system or if the selected page has a thumbnail embedded into the PDF document). | ||
'''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== | |||
* | * A new cairo-based PDF exporter has been added to Inkscape (marked as "Cairo PDF" in the export format list). Inkscape 0.46 can export shapes, strokes, transparency, gradients, patterns, text, and images correctly to cairo. Clipping paths and masks are known to be faulty or missing. Also, unlike the old PDF exporter, the cairo-based PDF export produces compressed PDF files that are reasonably compact. cairo will write a PDF with vector graphics when possible and fall back to raster graphics when needed. What can be exported as vectors and how much of the image will be rasterized when the fallback kicks in depends on your version of cairo. cairo version 1.2 with the pdf backend compiled in is the minimum requirement for any cairo-based PDF exports, but it is highly recommended to use at least '''cairo 1.5.2''' for quality PDF export. | ||
* A new cairo-based PostScript exporter has been added (marked as "Cairo PS" in the export format list). The cairo PS backend is not as mature as the PDF backend. It rasterizes a lot of its content. Text output does not work where it works with the PDF backend. | |||
== | ==CDR (CorelDraw) import== | ||
Inkscape can use [http://www.sk1project.org/modules.php?name=Products&product=uniconvertor 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== | ||
* Inkscape can import vector graphics portions of XAML documents, as well as export its documents to XAML. | |||
==Adobe Illustrator SVG clean import== | |||
* Using this new import filter, Inkscape can open an SVG document removing any elements and attributes in the namespaces that Adobe Illustrator uses for its stuff. This will clean out everything except the actual SVG content. | |||
== | ==WMF import== | ||
Now Inkscape uses UniConvertor for opening WMF files, which results in three noticable changes: | |||
# imported files are editable now | |||
# known rendering issues are resolved | |||
# 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== | |||
* '''Batch export''': The Bitmap Export dialog (Ctrl+Shift+E) got a new checkbox, ''Batch export all selected objects''. This checkbox is available when two or more objects are selected. If it is checked, instead of exporting selection as a whole, Inkscape exports each selected object separately into its own PNG file. This uses each object's export hints (i.e. export filename and DPI) if they are remembered from a previous export; otherwise, the filename is created from the object ID and the DPI is 90 pixels per inch. '''Caution:''' Unlike regular export, batch export overwrites all existing PNG files without warning. | |||
:This makes it possible to implement all kinds of '''image slicing''' and automated export scenarios. For example, if you are working on a [http://www.webhostingbreak.com web hosting] 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. | |||
* '''Hide all except selected''': A new checkbox allows you to hide in the exported image everything except selected object(s). | |||
* The Export dialog automatically appends the '''.png''' extension to the export filename you specify. | |||
== Open Clip Art Library import and export == | |||
Inkscape features a preliminary support for importing drawings from [http://openclipart.org/ 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. | |||
* --verb-list will list all the Verb IDs and their names in Inkscape. This makes writing your own menus and hotkeys much easier as you can easily find out what the choices are. | |||
* --verb followed by a verb ID allows you to specify a verb to be called on every document opened by Inkscape initially from the command line. | |||
* --select followed by a node ID will allow you to add a node to the list of selected objects. | |||
* --query-all produces a comma delimited listing of all objects in the document, with their x, y, height, and width values. | |||
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==== | |||
* Some of Inkscape's dialogs are yet to be adapted to allow docking, these include the "Text and Font" dialog, the "Tiled clones" dialog, the "XML editor" and the "Object properties" dialog. | |||
* Floating dialogs that are closed and later reopened might reappear on positions slightly different than their original ones. | |||
* Resizing dialogs that are placed in the dock can be a bit slow and quirky. | |||
* The total height of content the dock will in most cases remain the same when a dialog is closed/iconified, i.e. the remaining docked dialogs will fill the hole. This might not the desired behavior. | |||
====Settings==== | |||
Three settings that control dockable dialogs behavior are present in the <code>preferences.xml</code> file under a <code>options</code> group called <code>dock</code>: | |||
* <code>cancenterdock</code>: controls if dialogs are allowed to be stacked on top of each other to be ordered in groups. Valid values are <code>"0"</code> and <code>"1"</code>. | |||
* <code>dockbarstyle</code>: controls what information is shown for iconified dockable dialogs. <code>"0"</code> = icons only, <code>"1"</code> = text only, <code>"2"</code> = both icons and text. | |||
* <code>switcherstyle</code>: controls what information is shown for grouped dockable dialogs. <code>"0"</code> = icons only, <code>"1"</code> = text only, <code>"2"</code> = both icons and text. | |||
== 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 == | |||
* Right-clicking a color swatch now opens a context menu which allows you to apply the color to the fill or stroke of selection. | |||
* Dragging colors from the color palette has been fixed and improved: | |||
:* Now the dropped color is applied to '''the object on which you drop it''', regardless of whether that object is selected or not. This means you can change the color of only one object from selection without having to select it separately. (If you want to assign color to the entire selection, just click on the color swatch on the palette, not drag it.) | |||
:* If an object has stroke and you '''drop the color over stroke''', the color is applied to stroke and not fill. (Another way to always apply color to stroke is to '''Shift+drag''' it.) | |||
:* When gradient handles are active (e.g. in Gradient or Node tools), you can '''drop a color onto the gradient line''' to create a new gradient mid stop with this color, or '''drop a color onto an existing stop''' to recolor that stop. | |||
:* A new submenu has been added to affect the shape of the displayed swatches, allowing their preferred size to be made thinner or wider. Among other things, this allows for more to be seen on screen at once when made thinner. | |||
:* Sizing of the swatches has been corrected to be properly progressive, and now go form smaller to larger on all platforms. | |||
:* Space reserved for the scrollbar is no longer kept with smaller palettes shown in the bottom of the main UI. This allows for more working space when palettes with not many entries are selected at smaller sizes. | |||
==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: | |||
* Ctrl+drag the swatch to the right and down to paint all selected objects black. | |||
* Ctrl+drag the swatch upwards and to the left to paint all selected objects white. | |||
* Shift+drag the swatch to the right and down to desaturate the color of selected objects. | |||
* Shift+drag the swatch upwards and to the left to maximize saturation of the color of selected objects. | |||
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 == | |||
* '''Print Dialog''': The GTK Unix Print Dialog has been hooked up! From the dialog, you can select any of the Postscript-capable printers known to your system and configure them as with any other GTK application. | |||
== 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 == | |||
* You can now enable Space+mouse drag to pan canvas, as it does in Adobe Illustrator. This mode is enabled by the '''Left mouse button pans when Space is pressed''' checkbox in the Scrolling tab of the Inksape Preferences dialog. By default it is off and pressing the spacebar key switches you to Selector and back, as it always did in Inkscape. | |||
* By default, rotating the mouse wheel scrolls the canvas vertically and Ctrl+wheel zooms in and out. Now, if you turn on the '''Mouse wheel zooms by default''' checkbox in the Scrolling tab of the Inksape Preferences dialog, this behavior is reversed: mouse wheel zooms without Ctrl and scrolls with Ctrl. This new mode should be familiar for users of AutoCAD and CorelDraw. | |||
* In the Zoom tool, right mouse button always zooms out instead of calling the context menu (which is rather useless in this tool anyway). | |||
== Using other keys in place of Alt == | |||
* Many Linux users have found the use of '''Alt-drag''' and '''Alt+click''' in Inkscape problematical because this shortcut is often captured by window managers. In 0.46, instead of disabling of the window manager shortcut as suggested in [http://wiki.inkscape.org/wiki/index.php/FAQ#How_to_make_Alt.2Bclick_and_Alt.2Bdrag_work_on_Linux.3F the FAQ], you can change a setting in your preferences.xml file called <code>mapalt</code> in the <code>options</code> group. This numerical value ranges from 1 to 5; 1 indicates no change, any other value refers to some special key on a keyboard, such as '''Alt Gr''', the '''Windows''' key, etc. The specific mapping of these values to the keys on your keyboard can be viewed and/or editied by '''xkeycaps''', available from [http://www.jwz.org/xkeycaps www.jwz.org]. The value associated with a particular key is shown in that program at the top of the screen beside the word "Modifiers" when the mouse is held over a key on the main display. | |||
== Keyboard profiles == | |||
New profiles have been added: | |||
* '''Corel DRAW X4''' (corel-draw-x4.xml) | |||
* '''Zoner Draw 5''' (zoner-draw.xml) | |||
* '''ACD Systems Canvas 11''' (acd-canvas.xml) | |||
Also, profile for Adobe Illustrator has been fixed and includes bindings for tools now. | |||
(To enable a profile, copy it into <code>default.xml</code> in the same directory, overwriting the old file. To restore the default Inkscape set, copy <code>inkscape.xml</code> into <code>default.xml</code>.) | |||
=Other changes and improvements= | |||
* '''Gnome VFS Improvements''': Gnome VFS Non-Local files are now usable through all of our file choosers in Open, Save and Export. This compile-time option allowed people to open any Gnome-VFS-based URI from the command-line in the past, but not non-local resources (WebDAV, SFTP, etc) and this now allows for all the lovely possibilities Gnome-VFS provides. | |||
* In previous versions, Inkscape didn't allow you to '''group a single object.''' Yet in some cases, this operation is useful (for example, to blur the clipped edged of an object, or apply more than one clippath/mask to an object). Now this limitation is removed; just select any single object and group it to get a single-object group. | |||
* The somewhat cryptic "F:" and "S:" labels in the selected style indicator (at the left end of the statusbar) and in tool's style swatches are now spelled out as '''Fill:''' and '''Stroke:'''. We believe this makes the interface, even if less space-efficient, a bit more friendly for newbies. | |||
* The '''style swatches''' at the right end of object-creating tools' control bars now open the Preferences page of the corresponding tool when clicked. Also, now these swatches display a tooltip explaining its purpose (e.g. "Style of new rectangles", "Style of new calligraphic strokes", etc.) | |||
* On the '''Scale''' tab of the '''Transform dialog''', the numbers now show the current size of selection, not size increment as before. Correspondingly, with the % unit chosen, you see 100% displayed, and to scale it up twice, you enter 200%, not 100% as before. This is a more intuitive behavior and it's more consistent with how the W/H controls work in the Selector tool. | |||
* After dragging a curve segment in Node tool, Inkscape no longer selects the two adjacent nodes if they were not selected before. | |||
* The '''Tile Clones''' dialog now uses the object's defined '''rotation axis''' (which can be freely moved by Selector tool and which is saved separately for each object) for all rotations (including both symmetry rotations and the Rotation tab rotations), scales, and flips. This renders unnecessary the previous workarounds where you had to group an object with another transparent object to affect how it's rotated by the clone tiler. | |||
* The '''Shift''' tab of the '''Tile Clones''' dialog has two new options: '''Cumulate''': when checked, each tile is shifted by the normal amount plus the cumulative shifts of all previous tiles. This is useful when placing tiles that are being scaled by a uniform amount. '''Exlude tile''': when checked, the tile width or height is not automatically included in calculating the tile's shift. This is useful when using the dialog to place clones on a circle or spiral (rather than using a shift of -100%). It is also useful when positioning tiles using the '''Exponent''' parameter. | |||
* The '''Scale''' tab of the '''Tile Clones''' dialog has a new parameter: '''Base''' that allows placing tiles along a logarithmic spiral (as often found in nature). If the value is '''0''', the parameter is not used. Use a value less than one for a converging spiral and a value of greater than one for a diverging spiral. The actual scale is calculated as '''base''' raised to the nominal '''scale''' power. | |||
* In '''Pencil''' and '''Calligraphic''' tools, pressing '''Esc''' or '''Ctrl+Z''' while drawing cancels the currently drawn path or stroke. When not drawing, these keys work as before (Esc deselects, Ctrl+Z undoes last action). (This is the same behavior as in the Pen tool where it was introduced in a previous version.) | |||
* A set of new verbs has been added to allow the user to easily '''unlock all locked objects''' or '''unhide all hidden objects'''. There are two variants one that operates on the current layer and its children and one that operates globally. While searching for hidden or locked object descendants of locked layers are ignored. | |||
* Several more '''rotation snapping increments''' are available in the Steps tab of the Inkscape Preferences dialog: 36, 22.5, 18, 12, and 0.5 degrees. | |||
* The list of folder shortcuts in the '''Open''' dialog includes the folder with Inkscape's SVG '''examples''' for easy access. Similarly, the '''Save''' dialog has a shortcut for the user's own '''templates''' dialog making it easy to save the current document as a template (if saved as <code>default.svg</code>, it will be loaded every time you run Inkscape or create new document with Ctrl+N; with any other name, it will be added to the File > New submenu). | |||
* For time-intensive operations such as Paint Bucket and Simplify, the system's busy wait cursor is displayed to indicate to the user that Inkscape is actively working, and not frozen. | |||
* Several improvements in '''inkview''': busy cursor is shown while loading file, the button window stays on top and responds to keyboard shortcuts; several memleaks stopped and bugs fixed. The "slideshow mode" of the main inkscape application (-s or --slideshow command line option) is removed; use inkview instead. | |||
* In Document Metadata dialog, updated '''Creative Commons Licenses''' to version '''3.0'''. | |||
* Preferences have been added for setting the default metadata and licenses, so this information can be automatically filled in with new documents. | |||
* The built-in '''Potrace''' tracing engine is upgraded to version '''1.8''' with some minor bugs fixed. | |||
* File dialog windows (open/save) now have an '''Enable preview''' checkbox which allows you to disable the preview pane. | |||
* In the Calligraphic pen controls, the toggle button to enable tablet pressure sensitivity is moved to the Width control, and the button for tilt sensitivity is moved to Angle, to better reflect what parameters these toggles affect. | |||
* In Node and Gradient tools, using '''Tab/Shift+Tab''' to select next/previous node or gradient handle scrolls the canvas if necessary to show the selection. | |||
* The option '''Import bitmap as <image>''' is removed; it was added several versions ago to allow optionally importing images as rectangles with image pattern, to make clipping the images easier. Now that you can easily use clipping paths, as well as convert any image to rectangle with pattern with Alt+I, this option is not really necessary and removed to reduce confusion. Bitmaps are always imported into SVG as an <image> element. | |||
* Support has been added for stock patterns, in the same way that stock markers were already supported. Adding patterns to share/patterns/patterns.svg, and giving them a inkscape-stockid attribute as found on the examples already there will make them available in all Inkscape sessions from the patterns tab of the fill & stroke dialog. | |||
* New '''fontforge_glyph.svg''' template is added for font designers who draw glyphs in Inkscape and import them into FontFoge. It is 1000x1000px large and has a horizontal guide at 200px to mark border for descenders. | |||
* Save dialogs have been modified to clarify that they '''Save as SVG''', so people using Inkscape to edit PDF, EPS, and other file formats will be less confused at the default behavior when saving files. | |||
= Mac OS X specific improvements = | |||
* Inkscape 0.46 is officially released as a '''Universal''' (i386/ppc) binary for both OS X '''10.4 Tiger''' and '''10.5 Leopard'''. | |||
* Please note: Leopard users should update X11.app to at least version 2.1.4. X11.app updates can be downloaded from the [http://xquartz.macosforge.org/ Xquartz project]. | |||
* The Inkscape application bundle now contains '''pre-compiled python modules''' (e.g. lxml, numpy, etc.) and uses them without requiring any work from the user. Since Python itself is shipped with Mac OS X, the user only has to drag and drop Inkscape on to their hard-drive and all the extensions will be '''functional immediately'''. | |||
* A GTK theme is now included in Inkscape.app bundle on OS X. If the user does not have any personal customization (e.g. in a .gtkrc-2.0 file) this theme is used. It reflects the OS X settings for "Appearance" and "Highlight Color" set in System Preferences > Appearance. | |||
* If Inkscape.app is already open and a file is dropped on the Inkscape dock icon, or an Inkscape file is double-clicked in the Finder, that document will now be opened, rather than this action being ignored, as happened in 0.45 and prior. | |||
=Notable bugfixes= | |||
These are bugfixes compared to 0.45.1; for a list of fixes in 0.45.1 compared to 0.45, see [[ReleaseNotes045|0.45.1 release notes]]. | |||
* The '''sodipodi:docbase''' attribute is no longer added to the root <svg> element. This attribute used to keep the latest directory that the document was saved to, and thus represented a mild privacy violation (i.e., by sharing your Inkscape SVG files you allowed others to have a peek into your directory structure). Note, however, that Inkscape does not remove this attribute from old documents it opens; if you want you can remove it yourself. Inkscape just no longer creates this attribute in new documents. | |||
* A fix in the blur rendering code made '''exporting blurred objects to bitmap''' much faster and fixed the disappearing of blurred objects in exported bitmaps which happened for large objects in 0.45. The same fix got rid of the rendering artefacts that sometimes appeared on blurred objects during scrolling. | |||
* Inkscape now properly quotes <code>font-family</code> values and therefore can use '''fonts''' with various '''nonalphanumeric characters''' in their names, which previously failed. | |||
* If you have saved documents with a previous version of Inkscape which used '''right-to-left text''' (e.g. Arabic, Hebrew) then the paragraph alignment of non-flowed text has been reversed in this release. This is due to a bug in previous versions - the new behaviour is compliant with the SVG specification and compatible with other editors and viewers. To correct your images, simply reverse the paragraph alignment by selecting the text and clicking the appropriate button on the toolbar. | |||
* A large family of bugs was exterminated where an object's style could only refer other objects (such as gradients, patterns, and filters) that come after it in the document. Now any objects can be referenced from a style regardless of their place in the document. This fixed the '''disappearance of gradients/patterns/filters''' after you undo an effect, as well as lots of assorted crashes and misrenderings (mostly on non-Inkscape SVG files). | |||
* On Windows, '''file opening/saving dialogs''' can no longer sink under the main editor window (they now have the inkscape window set correctly as their parent window). | |||
* A regression in 0.45 caused crashes when '''undo or redo''' was attempted before the previous action could complete (e.g. pressing ctrl+z while you are still drawing a rectangle). This is now fixed. | |||
* Previously, if there was a single '''invalid property''' in a <code>style</code> attribute, the entire attribute was discarded, i.e. the object lost all styling. Now Inkscape's behavior is more compliant to the CSS specification: it ignores only the invalid property but reads in all the rest. | |||
* Several bugs are fixed in '''searching for linked images'''. Now moving SVG documents with their associated images to a different place or a different machine should work more reliably. | |||
* '''Creative Commons Public Domain Declaration URI''' points to the right location now. | |||
* Text objects didn't display the '''pattern editing handles'''; fixed. | |||
* On Windows, the Inkscape uninstaller deleted all files under the install directory. This could lead to removing user-created files, or even other program files not related to inkscape if the install directory was C:\Program Files. The new uninstaller '''tracks all installed files and asks for confirmation before deleting any other files'''. However, installation and uninstallation process is now slower. | |||
* Clones were wrongly unlinked when their original was moved to another layer; fixed. | |||
* Previous versions had a problem on '''Windows Vista''' where selected menu item was invisible. Now our Windows builds use a newer version of GTK library which fixes this problem. | |||
* Duplicating empty text objects that have just been created no longer crashes. Also, the XML editor crash related to empty text objects is fixed. A downside is that the SVG will become cluttered with empty text objects as they are no longer automatically removed. A better fix for the problem is planned. | |||
* In Tile Clones dialog, the PMG symmetry group was created incorrectly; it is now fixed. | |||
* Serious usability issues with the font size field in the Text tool's controls bar have been fixed. | |||
* The rulers are now correctly scaled and will align nicely with document coordinates, with or without the scrollbars displayed. | |||
=Known Issues= | |||
* (LP: #180890) Blend modes do not work correctly over transparent backgrounds. A workaround is to place an opaque rectangle underneath the bottom-most layer. | |||
* (LP # 202704) Blur and other filters are very slow when applied to an object with transform= attribute with rotation or skew. To avoid this slowdown, either do not rotate/skew objects you use with filters, or apply filters only to paths (but not shapes to text) because paths, by default, get no transform= attribute when you rotate or skew them. | |||
* Windows printing has two known issues. In both cases the workaround is to print to bitmap (Print -> Rendering -> Bitmap). | |||
** (LP # 205732) Blurred objects are misaligned when printing. | |||
** (LP # 208217) Masked objects disappear from the page when printing. | |||
= Previous releases = | |||
* [[ReleaseNotes045]] | |||
* [[ReleaseNotes044]] | |||
* [[ReleaseNotes043]] | |||
* [[ReleaseNotes042]] | |||
* [[ReleaseNotes041]] | |||
* [[ReleaseNotes040]] | |||
* [[ReleaseNotes039]] | |||
* [[ReleaseNotes038]] | |||
* [[ReleaseNotes037]] | |||
* [[ReleaseNotes036]] | |||
* [[ReleaseNotes035]] | |||
[[Category:Marketing]] |
Revision as of 07:46, 11 August 2009
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:
- There is a new 3D/axonometric grid. It consists of three sets of parallel lines, one vertical and others at angles of +30 and -30 degrees from the horizontal. The angles of these two latter sets and the spacing of the grid are user-settable.
- A new tab in the Document Properties dialog, Grids, is devoted solely to grids; the former grid/guide tab is renamed Guides and is now used only for guides. On the Grids page, you can create and manage grids of various types in your document; so far the two types available are Rectangular (default) and Axonometric, but more types may be added in the future.
- More than one grid can be active at the same time:
- Each grid can be enabled/disabled separately from the Document Properties dialog.
- For each grid, you can hide it by unchecking the "Visible" checkbox in the grid's tab, or disable snapping to it by unchecking "Enabled". Note that you can have "Enabled" on and "Visible" off (but not vice versa), in which case you snap to the invisible grid.
- Multiple views on the same document (i.e. different Inkscape windows with the same document loaded) share the same grids, but the grid can be turned on and off for each view separately. For example, you could have a zoomed-out "overview" view without grids showing. Duplicate that window and zoom in on some detail; then grids can be shown only for that view, and snapping will only happen in those views for which grids are enabled.
- The rectangular grid now has an option to show dots on gridline intersections instead of solid lines.
From developer perspective:
- Implementation of new grids is much easier now by subclassing CanvasGrid. Have a peek at how the rectangular grid is implemented (CanvasXYGrid).
- Note that there is no longer "the grid", there might be several grids active now!
- Grid information is now stored in SVG as a child of sodipodi:namedview. Old files will be converted to this new format automatically.
- An old bug is fixed: apparently the origin of the document coordinate system used to be set to the origin of the grid. For example, in 0.45.1 and before, specifying a grid origin of (20,20) moved the origin or coordinates to that point, and the grid was still starting at (0,0) in this moved coordinate system. This is now disabled, and the coordinate origin is not affected by grid origin.
Angled guidelines
Now, Inkscape also provides angled guidelines! Double click on a guide to set its angle.
- When dragging a guideline off the rulers close to the end of the ruler, the guideline will automatically be angled. The angle is set depending on the grid.
- For the rectangular grid, the angle is 45 degrees.
- For the axonometric grid, the angle is matched to the grid. When Ctrl is pressed, the angle is perpendicular to the grid lines (useful for aligning gradients).
Creating guidelines from objects
- Selected objects can now be converted to guidelines. To do this, either use the menu command "Object->Object to guides" or press Shift+G in Selector tool (this shortcut also works in some other tools, see below). The conversion process recurses into groups, i.e. all objects in the current selection are converted regardless if they are grouped or not.
- Created guides can be quickly deleted by Ctrl+clicking on them (this is of course not restricted to guides created by the process described above). Note that this only works in Selector and Node tools, i.e., in contexts where guidelines can be manipulated with the mouse.
- Paths are converted by creating one guide for each straight line segment occurring in the path (whereas curved segments are not taken into account). To make this conveniently accessible, the shortcut Shift+G works in Pen and Pencil tools, too.
- For all other objects, conversion usually happens by placing the guidelines around the object's bounding box (use the corresponding checkbox in the "Tools" page of Inkscape Preferences to switch between geometric and visual bounding box).
- For rectangles and 3D boxes there is a special option in their preferences pages (checked by default) which instead allows the guidelines to be placed along the object's edges so that they imitate its true shape. This is especially useful when converting rotated or skewed rectangles (to create guidelines in a special position) or for creating 3D scenes containing other objects than just boxes. The shortcut Shift+G works in these tools as well.
Snapping
- Snapping has been implemented or improved for:
- Newly created shapes
- Skewing of objects
- Handles of objects, incl. gradients
- Images, ellipses, and clones
- Text boxes, which snap to text baselines again
- Objects, for which snapping now optionally considers the rotation center
- Objects, which now allow for constrained snapping
- Guides, which now snap while dragging them
- Axonometric grids
- Angled guide lines
- Bounding boxes, of which now all four corners snap
- Other snapping fixes and improvements include:
- It is now possible to snap to intersections of e.g. gridlines with guidelines, and of line segments.
- The snapping preferences dialog has been restyled to make it more intuitive.
- Inkscape now has a global snapping toggle, which has been added to the view-menu and is accessible through a shortcut
- Inkscape now allows for controlling the snapping per grid when multiple grids are being used
- Snapping distance is now set in screen pixels and is therefore independent of zoom.
- Snapping of objects has been made more clean, by only snapping bounding box corners to bounding boxes, and nodes to other nodes and paths.
- The time it takes to snap to objects using the selector tool has been reduced significantly.
- The bug where "node-to-node" snapping caused jerky movement of nodes is fixed.
- The aspect ratio is correctly preserved while scaling objects with snapping turned on.
- Only nodes at non-smooth parts of a path now snap.
- The confusing "Default transformations origin" option has been removed. Now Inkscape always uses the opposite edge of the object's bounding box as the transformation origin (though the bounding box itself can now be different, see next item).
- A new preference option has been added to specify the kind of bounding box to be used for transforming objects (see Inkscape Preferences, Tools, Selector). You can choose between the visual bounding box (which takes into account the stroke width, markers, and blur margins; this is the default behavior) or geometric bounding box (which encloses only the path itself, disregarding stroke width).
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:
- the page to be imported from a multipage PDF;
- the overall clip region (which can be none or set to any of the PDF boxes, e.g. the crop box, the media box, the trim box, etc.);
- the precision for the approximation of gradient meshes; note that setting this too high may result in a huge SVG file and slow performance when importing files with gradient meshes;
- a checkbox controlling whether the images should be embedded into the resulting SVG document or saved on the current path;
- a preview of the selected page (shown if poppler-cairo is present on the system or if the selected page has a thumbnail embedded into the PDF document).
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
- A new cairo-based PDF exporter has been added to Inkscape (marked as "Cairo PDF" in the export format list). Inkscape 0.46 can export shapes, strokes, transparency, gradients, patterns, text, and images correctly to cairo. Clipping paths and masks are known to be faulty or missing. Also, unlike the old PDF exporter, the cairo-based PDF export produces compressed PDF files that are reasonably compact. cairo will write a PDF with vector graphics when possible and fall back to raster graphics when needed. What can be exported as vectors and how much of the image will be rasterized when the fallback kicks in depends on your version of cairo. cairo version 1.2 with the pdf backend compiled in is the minimum requirement for any cairo-based PDF exports, but it is highly recommended to use at least cairo 1.5.2 for quality PDF export.
- A new cairo-based PostScript exporter has been added (marked as "Cairo PS" in the export format list). The cairo PS backend is not as mature as the PDF backend. It rasterizes a lot of its content. Text output does not work where it works with the PDF backend.
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
- Inkscape can import vector graphics portions of XAML documents, as well as export its documents to XAML.
Adobe Illustrator SVG clean import
- Using this new import filter, Inkscape can open an SVG document removing any elements and attributes in the namespaces that Adobe Illustrator uses for its stuff. This will clean out everything except the actual SVG content.
WMF import
Now Inkscape uses UniConvertor for opening WMF files, which results in three noticable changes:
- imported files are editable now
- known rendering issues are resolved
- 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
- Batch export: The Bitmap Export dialog (Ctrl+Shift+E) got a new checkbox, Batch export all selected objects. This checkbox is available when two or more objects are selected. If it is checked, instead of exporting selection as a whole, Inkscape exports each selected object separately into its own PNG file. This uses each object's export hints (i.e. export filename and DPI) if they are remembered from a previous export; otherwise, the filename is created from the object ID and the DPI is 90 pixels per inch. Caution: Unlike regular export, batch export overwrites all existing PNG files without warning.
- This makes it possible to implement all kinds of image slicing and automated export scenarios. For example, if you are working on a web hosting 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.
- Hide all except selected: A new checkbox allows you to hide in the exported image everything except selected object(s).
- The Export dialog automatically appends the .png extension to the export filename you specify.
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.
- --verb-list will list all the Verb IDs and their names in Inkscape. This makes writing your own menus and hotkeys much easier as you can easily find out what the choices are.
- --verb followed by a verb ID allows you to specify a verb to be called on every document opened by Inkscape initially from the command line.
- --select followed by a node ID will allow you to add a node to the list of selected objects.
- --query-all produces a comma delimited listing of all objects in the document, with their x, y, height, and width values.
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
- Some of Inkscape's dialogs are yet to be adapted to allow docking, these include the "Text and Font" dialog, the "Tiled clones" dialog, the "XML editor" and the "Object properties" dialog.
- Floating dialogs that are closed and later reopened might reappear on positions slightly different than their original ones.
- Resizing dialogs that are placed in the dock can be a bit slow and quirky.
- The total height of content the dock will in most cases remain the same when a dialog is closed/iconified, i.e. the remaining docked dialogs will fill the hole. This might not the desired behavior.
Settings
Three settings that control dockable dialogs behavior are present in the preferences.xml
file under a options
group called dock
:
cancenterdock
: controls if dialogs are allowed to be stacked on top of each other to be ordered in groups. Valid values are"0"
and"1"
.
dockbarstyle
: controls what information is shown for iconified dockable dialogs."0"
= icons only,"1"
= text only,"2"
= both icons and text.
switcherstyle
: controls what information is shown for grouped dockable dialogs."0"
= icons only,"1"
= text only,"2"
= both icons and text.
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
- Right-clicking a color swatch now opens a context menu which allows you to apply the color to the fill or stroke of selection.
- Dragging colors from the color palette has been fixed and improved:
- Now the dropped color is applied to the object on which you drop it, regardless of whether that object is selected or not. This means you can change the color of only one object from selection without having to select it separately. (If you want to assign color to the entire selection, just click on the color swatch on the palette, not drag it.)
- If an object has stroke and you drop the color over stroke, the color is applied to stroke and not fill. (Another way to always apply color to stroke is to Shift+drag it.)
- When gradient handles are active (e.g. in Gradient or Node tools), you can drop a color onto the gradient line to create a new gradient mid stop with this color, or drop a color onto an existing stop to recolor that stop.
- A new submenu has been added to affect the shape of the displayed swatches, allowing their preferred size to be made thinner or wider. Among other things, this allows for more to be seen on screen at once when made thinner.
- Sizing of the swatches has been corrected to be properly progressive, and now go form smaller to larger on all platforms.
- Space reserved for the scrollbar is no longer kept with smaller palettes shown in the bottom of the main UI. This allows for more working space when palettes with not many entries are selected at smaller sizes.
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:
- Ctrl+drag the swatch to the right and down to paint all selected objects black.
- Ctrl+drag the swatch upwards and to the left to paint all selected objects white.
- Shift+drag the swatch to the right and down to desaturate the color of selected objects.
- Shift+drag the swatch upwards and to the left to maximize saturation of the color of selected objects.
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
- Print Dialog: The GTK Unix Print Dialog has been hooked up! From the dialog, you can select any of the Postscript-capable printers known to your system and configure them as with any other GTK application.
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
- You can now enable Space+mouse drag to pan canvas, as it does in Adobe Illustrator. This mode is enabled by the Left mouse button pans when Space is pressed checkbox in the Scrolling tab of the Inksape Preferences dialog. By default it is off and pressing the spacebar key switches you to Selector and back, as it always did in Inkscape.
- By default, rotating the mouse wheel scrolls the canvas vertically and Ctrl+wheel zooms in and out. Now, if you turn on the Mouse wheel zooms by default checkbox in the Scrolling tab of the Inksape Preferences dialog, this behavior is reversed: mouse wheel zooms without Ctrl and scrolls with Ctrl. This new mode should be familiar for users of AutoCAD and CorelDraw.
- In the Zoom tool, right mouse button always zooms out instead of calling the context menu (which is rather useless in this tool anyway).
Using other keys in place of Alt
- Many Linux users have found the use of Alt-drag and Alt+click in Inkscape problematical because this shortcut is often captured by window managers. In 0.46, instead of disabling of the window manager shortcut as suggested in the FAQ, you can change a setting in your preferences.xml file called
mapalt
in theoptions
group. This numerical value ranges from 1 to 5; 1 indicates no change, any other value refers to some special key on a keyboard, such as Alt Gr, the Windows key, etc. The specific mapping of these values to the keys on your keyboard can be viewed and/or editied by xkeycaps, available from www.jwz.org. The value associated with a particular key is shown in that program at the top of the screen beside the word "Modifiers" when the mouse is held over a key on the main display.
Keyboard profiles
New profiles have been added:
- Corel DRAW X4 (corel-draw-x4.xml)
- Zoner Draw 5 (zoner-draw.xml)
- ACD Systems Canvas 11 (acd-canvas.xml)
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
- Gnome VFS Improvements: Gnome VFS Non-Local files are now usable through all of our file choosers in Open, Save and Export. This compile-time option allowed people to open any Gnome-VFS-based URI from the command-line in the past, but not non-local resources (WebDAV, SFTP, etc) and this now allows for all the lovely possibilities Gnome-VFS provides.
- In previous versions, Inkscape didn't allow you to group a single object. Yet in some cases, this operation is useful (for example, to blur the clipped edged of an object, or apply more than one clippath/mask to an object). Now this limitation is removed; just select any single object and group it to get a single-object group.
- The somewhat cryptic "F:" and "S:" labels in the selected style indicator (at the left end of the statusbar) and in tool's style swatches are now spelled out as Fill: and Stroke:. We believe this makes the interface, even if less space-efficient, a bit more friendly for newbies.
- The style swatches at the right end of object-creating tools' control bars now open the Preferences page of the corresponding tool when clicked. Also, now these swatches display a tooltip explaining its purpose (e.g. "Style of new rectangles", "Style of new calligraphic strokes", etc.)
- On the Scale tab of the Transform dialog, the numbers now show the current size of selection, not size increment as before. Correspondingly, with the % unit chosen, you see 100% displayed, and to scale it up twice, you enter 200%, not 100% as before. This is a more intuitive behavior and it's more consistent with how the W/H controls work in the Selector tool.
- After dragging a curve segment in Node tool, Inkscape no longer selects the two adjacent nodes if they were not selected before.
- The Tile Clones dialog now uses the object's defined rotation axis (which can be freely moved by Selector tool and which is saved separately for each object) for all rotations (including both symmetry rotations and the Rotation tab rotations), scales, and flips. This renders unnecessary the previous workarounds where you had to group an object with another transparent object to affect how it's rotated by the clone tiler.
- The Shift tab of the Tile Clones dialog has two new options: Cumulate: when checked, each tile is shifted by the normal amount plus the cumulative shifts of all previous tiles. This is useful when placing tiles that are being scaled by a uniform amount. Exlude tile: when checked, the tile width or height is not automatically included in calculating the tile's shift. This is useful when using the dialog to place clones on a circle or spiral (rather than using a shift of -100%). It is also useful when positioning tiles using the Exponent parameter.
- The Scale tab of the Tile Clones dialog has a new parameter: Base that allows placing tiles along a logarithmic spiral (as often found in nature). If the value is 0, the parameter is not used. Use a value less than one for a converging spiral and a value of greater than one for a diverging spiral. The actual scale is calculated as base raised to the nominal scale power.
- In Pencil and Calligraphic tools, pressing Esc or Ctrl+Z while drawing cancels the currently drawn path or stroke. When not drawing, these keys work as before (Esc deselects, Ctrl+Z undoes last action). (This is the same behavior as in the Pen tool where it was introduced in a previous version.)
- A set of new verbs has been added to allow the user to easily unlock all locked objects or unhide all hidden objects. There are two variants one that operates on the current layer and its children and one that operates globally. While searching for hidden or locked object descendants of locked layers are ignored.
- Several more rotation snapping increments are available in the Steps tab of the Inkscape Preferences dialog: 36, 22.5, 18, 12, and 0.5 degrees.
- The list of folder shortcuts in the Open dialog includes the folder with Inkscape's SVG examples for easy access. Similarly, the Save dialog has a shortcut for the user's own templates dialog making it easy to save the current document as a template (if saved as
default.svg
, it will be loaded every time you run Inkscape or create new document with Ctrl+N; with any other name, it will be added to the File > New submenu).
- For time-intensive operations such as Paint Bucket and Simplify, the system's busy wait cursor is displayed to indicate to the user that Inkscape is actively working, and not frozen.
- Several improvements in inkview: busy cursor is shown while loading file, the button window stays on top and responds to keyboard shortcuts; several memleaks stopped and bugs fixed. The "slideshow mode" of the main inkscape application (-s or --slideshow command line option) is removed; use inkview instead.
- In Document Metadata dialog, updated Creative Commons Licenses to version 3.0.
- Preferences have been added for setting the default metadata and licenses, so this information can be automatically filled in with new documents.
- The built-in Potrace tracing engine is upgraded to version 1.8 with some minor bugs fixed.
- File dialog windows (open/save) now have an Enable preview checkbox which allows you to disable the preview pane.
- In the Calligraphic pen controls, the toggle button to enable tablet pressure sensitivity is moved to the Width control, and the button for tilt sensitivity is moved to Angle, to better reflect what parameters these toggles affect.
- In Node and Gradient tools, using Tab/Shift+Tab to select next/previous node or gradient handle scrolls the canvas if necessary to show the selection.
- The option Import bitmap as <image> is removed; it was added several versions ago to allow optionally importing images as rectangles with image pattern, to make clipping the images easier. Now that you can easily use clipping paths, as well as convert any image to rectangle with pattern with Alt+I, this option is not really necessary and removed to reduce confusion. Bitmaps are always imported into SVG as an <image> element.
- Support has been added for stock patterns, in the same way that stock markers were already supported. Adding patterns to share/patterns/patterns.svg, and giving them a inkscape-stockid attribute as found on the examples already there will make them available in all Inkscape sessions from the patterns tab of the fill & stroke dialog.
- New fontforge_glyph.svg template is added for font designers who draw glyphs in Inkscape and import them into FontFoge. It is 1000x1000px large and has a horizontal guide at 200px to mark border for descenders.
- Save dialogs have been modified to clarify that they Save as SVG, so people using Inkscape to edit PDF, EPS, and other file formats will be less confused at the default behavior when saving files.
Mac OS X specific improvements
- Inkscape 0.46 is officially released as a Universal (i386/ppc) binary for both OS X 10.4 Tiger and 10.5 Leopard.
- Please note: Leopard users should update X11.app to at least version 2.1.4. X11.app updates can be downloaded from the Xquartz project.
- The Inkscape application bundle now contains pre-compiled python modules (e.g. lxml, numpy, etc.) and uses them without requiring any work from the user. Since Python itself is shipped with Mac OS X, the user only has to drag and drop Inkscape on to their hard-drive and all the extensions will be functional immediately.
- A GTK theme is now included in Inkscape.app bundle on OS X. If the user does not have any personal customization (e.g. in a .gtkrc-2.0 file) this theme is used. It reflects the OS X settings for "Appearance" and "Highlight Color" set in System Preferences > Appearance.
- If Inkscape.app is already open and a file is dropped on the Inkscape dock icon, or an Inkscape file is double-clicked in the Finder, that document will now be opened, rather than this action being ignored, as happened in 0.45 and prior.
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.
- The sodipodi:docbase attribute is no longer added to the root <svg> element. This attribute used to keep the latest directory that the document was saved to, and thus represented a mild privacy violation (i.e., by sharing your Inkscape SVG files you allowed others to have a peek into your directory structure). Note, however, that Inkscape does not remove this attribute from old documents it opens; if you want you can remove it yourself. Inkscape just no longer creates this attribute in new documents.
- A fix in the blur rendering code made exporting blurred objects to bitmap much faster and fixed the disappearing of blurred objects in exported bitmaps which happened for large objects in 0.45. The same fix got rid of the rendering artefacts that sometimes appeared on blurred objects during scrolling.
- Inkscape now properly quotes
font-family
values and therefore can use fonts with various nonalphanumeric characters in their names, which previously failed.
- If you have saved documents with a previous version of Inkscape which used right-to-left text (e.g. Arabic, Hebrew) then the paragraph alignment of non-flowed text has been reversed in this release. This is due to a bug in previous versions - the new behaviour is compliant with the SVG specification and compatible with other editors and viewers. To correct your images, simply reverse the paragraph alignment by selecting the text and clicking the appropriate button on the toolbar.
- A large family of bugs was exterminated where an object's style could only refer other objects (such as gradients, patterns, and filters) that come after it in the document. Now any objects can be referenced from a style regardless of their place in the document. This fixed the disappearance of gradients/patterns/filters after you undo an effect, as well as lots of assorted crashes and misrenderings (mostly on non-Inkscape SVG files).
- On Windows, file opening/saving dialogs can no longer sink under the main editor window (they now have the inkscape window set correctly as their parent window).
- A regression in 0.45 caused crashes when undo or redo was attempted before the previous action could complete (e.g. pressing ctrl+z while you are still drawing a rectangle). This is now fixed.
- Previously, if there was a single invalid property in a
style
attribute, the entire attribute was discarded, i.e. the object lost all styling. Now Inkscape's behavior is more compliant to the CSS specification: it ignores only the invalid property but reads in all the rest.
- Several bugs are fixed in searching for linked images. Now moving SVG documents with their associated images to a different place or a different machine should work more reliably.
- Creative Commons Public Domain Declaration URI points to the right location now.
- Text objects didn't display the pattern editing handles; fixed.
- On Windows, the Inkscape uninstaller deleted all files under the install directory. This could lead to removing user-created files, or even other program files not related to inkscape if the install directory was C:\Program Files. The new uninstaller tracks all installed files and asks for confirmation before deleting any other files. However, installation and uninstallation process is now slower.
- Clones were wrongly unlinked when their original was moved to another layer; fixed.
- Previous versions had a problem on Windows Vista where selected menu item was invisible. Now our Windows builds use a newer version of GTK library which fixes this problem.
- Duplicating empty text objects that have just been created no longer crashes. Also, the XML editor crash related to empty text objects is fixed. A downside is that the SVG will become cluttered with empty text objects as they are no longer automatically removed. A better fix for the problem is planned.
- In Tile Clones dialog, the PMG symmetry group was created incorrectly; it is now fixed.
- Serious usability issues with the font size field in the Text tool's controls bar have been fixed.
- The rulers are now correctly scaled and will align nicely with document coordinates, with or without the scrollbars displayed.
Known Issues
- (LP: #180890) Blend modes do not work correctly over transparent backgrounds. A workaround is to place an opaque rectangle underneath the bottom-most layer.
- (LP # 202704) Blur and other filters are very slow when applied to an object with transform= attribute with rotation or skew. To avoid this slowdown, either do not rotate/skew objects you use with filters, or apply filters only to paths (but not shapes to text) because paths, by default, get no transform= attribute when you rotate or skew them.
- Windows printing has two known issues. In both cases the workaround is to print to bitmap (Print -> Rendering -> Bitmap).
- (LP # 205732) Blurred objects are misaligned when printing.
- (LP # 208217) Masked objects disappear from the page when printing.