Inkscape 0.48

AnnouncePlanning048

Release highlights

Released on 23 August 2010.

The release marks returning to shorter release cycles to speed up availability of new technologies often developed as part of Google Summer of Code projects.

The highlights of this release are:

multipath editing

editing improved text tool: subscript, superscript, numerical input for text kerning, tracking and more

new Spray tool

tool LaTeX export with PDF/PS/EPS

with PDF/PS/EPS JessyInk extension to create presentations

extension to create presentations numerous bugfixes

Node Tool

During Google Summer of Code 2009, the node tool underwent an extensive rewrite. Along with more maintainable code, it brings several new features.

Multi-path editing Any number of paths can be selected for node editing at once. Improved clippath / mask editing The clipping path or mask of an object can be edited at the same time as the object. The clip / mask editing buttons in the node tool are now toggle buttons, rather than mode switch buttons. If the object is transformed after applying a clipping path, the clipping path is no longer offset when editing it in the node tool. If the clipping path is a group, all paths in the group can be edited simultaneously. Improved node join It is now possible to join nodes from different paths. More than two endnodes can be joined at once—the distances between nodes will be used to determine which nodes to join, with the closest pairs being joined first. When nothing can be joined (less than 2 endnodes in selection), each selected stretch of nodes will be joined into one node. Improved segment join It is now possible to create a segment between endnodes from different paths. More than one segment can be created at once—the distances between nodes will be used to determine which nodes to join with a segment, with the closest pairs being joined first. When nothing can be joined (less than 2 endnodes in selection), each selected stretch of nodes will have its middle nodes removed, leaving only one segment. Node transforms It is now possible to transform the nodes using the mouse and transformation handles similar to those in the selector tool. They can be turned on and off using the button in the node toolbar. When the handles are visible, clicking on a selected node will switch between scaling and rotation mode, instead of selecting only that node. You can also use Shift+H to switch the mode. All other operations work normally when transform handles are shown. Path direction tools Little harpoons are optionally shown in the middle of each segment, visualizing the direction of the path. This is useful when preparing a guide path for text, setting markers, and debugging extensions and Inkscape itself. The "Reverse" command (Shift+R) reverses the direction of subpaths that have some selected nodes, or all subpaths if the node selection is empty. To turn on, select "Always show outline" and "Show path direction on outlines" in Node section of the Inkscape Preferences dialog. Customizable path update Two new preferences allow you to specify when the path and its outline should be updated. Turning off live update of paths will improve performance for complex drawings. Improved tips The tips displayed for nodes and handles are more concise and affected by what modifier keys are pressed.

For a detailed feature comparison between the old and new tool, see GSoC2009 Node Tool Rewrite.

Text Tool

The text toolbar has been overhauled with many bug fixes and improvements. One can now directly access a number of text layout parameters:

"Line Spacing:" Distance between baselines of adjacent lines.

"Letter Spacing:" Spacing between letters.

"Word Spacing:" Spacing between words.

"Horizontal kerning"

"Vertical shift"

"Character rotation"

In addition, support has been added for superscripts and subscripts.



This work was sponsored in part by Inkscape users through LinuxFund.org.

Spray Tool

You first need to select one or several items, then select the Spray Tool. To spray, click on the canvas, then move the mouse or scroll the mouse wheel.

Three modes are available.

Spray Copy mode : each sprayed item is independent from the others.

each sprayed item is independent from the others. Spray Clone mode : each sprayed item is a clone of the selected item. Changing the properties of the original item will affect the clones.

each sprayed item is a clone of the selected item. Changing the properties of the original item will affect the clones. Spray Single Path Mode : everything you spray is in a single path. You may need to convert your item into a path to make it work properly.

Spray options

Amount : spray more or less items.

Rotation : randomly rotates items around the original rotation value.

Scale : randomly scales items around the original scale value.

Scatter : low values to spray items under the cursor, high values for a more uniform repartition over the spray zone.

Focus : items are sprayed following a ring. This parameters modifies the radius of the circle. Default at 0 to spray a spot.

Use keys ↑ and ↓ to control the size of of sprayed items. Use ← and → to set the width of the cursor.



The Spray tool is a perfect match for the transforming, duplicating, and deleting modes of the Tweak tool.

Connector Tool

The connector tool can now produce orthogonal connectors (those made up from vertical and horizontal line segments, e.g. as seen in circuit diagrams). There is an additional button on the connector toolbar that can toggle selected connector types between "polyline" and "orthogonal".

Also included are several bug and crash fixes to the connector routing code.

Import/Export

Improved bitmap image import

Bitmaps are now always embedded when pixel data is pasted or dragged into Inkscape's window (for example when copying parts of an image from GIMP). Files with automatically generated names like "inkscape_pasted_image_..." are no longer created in the document directory. When importing or opening bitmap images, a dialog is displayed that asks whether you want to link the image or embed it.

New LaTeX export for PDF/EPS/PS

Similar to GNUPlot's `epslatex' output terminal and Xfig's combined PDF/LaTeX output, Inkscape can now export graphics to PDF with an accompanying LaTeX file that overlays the text over the PDF when inputted in LaTeX. The image's text is typeset by LaTeX, so for example mathematical expressions are rendered correctly, and all text will be in the font and style of the LaTeX document (even when changing the document's font afterwards).

(the following description assumes export to PDF, but will work the same for EPS and PS) Two files will be created: a PDF file containing all graphics, without text; and a LaTeX file with the same name (with extension ".pdf_tex"), containing all text, and code to include the PDF and overlay the text. To include the exported image in LaTeX, one writes

\begin{figure} \centering \def\svgwidth{\columnwidth} % sets the image width, this is optional \input{image.pdf_tex} \end{figure}

A more thorough description of how to use the new feature (and automate the exporting/inclusion of the image in LaTeX) is given in this document: svg-inkscape on CTAN.

From the GUI

When exporting to PDF/EPS/PS from Inkscape's GUI, the usual dialog pops up after selecting to which PDF/EPS/PS file to export to. In this dialog, you can find the PDF/EPS/PS+LaTeX option.

Command line option

When exporting to PDF/EPS/PS from the command line, adding --export-latex will turn the LaTeX export on. For example

inkscape image.svg -z -D --export-pdf=image.pdf --export-latex

Fixed PDF/EPS/PS export of non-integer sized documents

The long standing bug 168275 has now been fixed. Documents with a non-integer height or width are now correctly exported to PDF, EPS and PS.

Extensions

New and improved extensions

The new Generate from Path > Voronoi Pattern extension creates a random pattern of Voronoi cells. The pattern will be accessible from the Fill and Stroke dialog. The pattern can be made to be smooth at the edges by choosing a positive border, or sparse at the edges by using a negative border.

extension creates a random pattern of Voronoi cells. The pattern will be accessible from the Fill and Stroke dialog. The pattern can be made to be smooth at the edges by choosing a positive border, or sparse at the edges by using a negative border. The new Render > Wireframe Sphere extension draws the globe as a collection of ellipses representing a sphere's latitude and longitude lines. The number of lines is adjustable, as well as the tilt and rotation. There is an option to hide the lines at the back of the sphere.

extension draws the globe as a collection of ellipses representing a sphere's latitude and longitude lines. The number of lines is adjustable, as well as the tilt and rotation. There is an option to hide the lines at the back of the sphere. The new Render > Barcode - Datamatrix extension renders a DataMatrix 2D barcode, as specified in BS ISO/IEC 16022:2006. The number of rows and columns of the DataMatrix is adjustable. If more data is given than can be contained in one DataMatrix, more than one DataMatrix will be produced.

extension renders a DataMatrix 2D barcode, as specified in BS ISO/IEC 16022:2006. The number of rows and columns of the DataMatrix is adjustable. If more data is given than can be contained in one DataMatrix, more than one DataMatrix will be produced. The new Modify Path > Pixelsnap extension aligns rectangles and paths to pixel boundaries, to create sharp web and digital graphics.

extension aligns rectangles and paths to pixel boundaries, to create sharp web and digital graphics. The new Color > Black and White extension turns the selection colors into black and white.

extension turns the selection colors into black and white. The new Text > Split Text extension splits texts into different lines, words or letters.

extension splits texts into different lines, words or letters. The new JessyInk extension for creating presentations viewable in browsers, See https://launchpad.net/jessyink.

extension for creating presentations viewable in browsers, See https://launchpad.net/jessyink. The new Web > Slicer extensions to slice web layouts into multiple images and help the HTML+CSS creation.

extensions to slice web layouts into multiple images and help the HTML+CSS creation. Images > Extract Image : all relative paths (or filenames without path) are now relative to the user's home directory.

: all relative paths (or filenames without path) are now relative to the user's home directory. Visualize Path > Measure Path: new option to calculate area.





SVG Support

The baseline-shift attribute is supported! The Text toolbar uses the "super" and "sub" values for implementing superscripts and subscripts. At the moment there is no other GUI access to the attribute.





Other features

Arch paper sizes are added in the Document Properties dialog

Displaying the font samples in the drop-down list of the Text tool is now optional. In Inkscape Preferences, go to Tools, Text, and uncheck "Show font samples in the drop-down list" if you don't want to see the samples. This will speed up displaying the list the first time you open it

in the drop-down list of the Text tool is now optional. In Inkscape Preferences, go to Tools, Text, and uncheck "Show font samples in the drop-down list" if you don't want to see the samples. This will speed up displaying the list the first time you open it Items in the File > Open Recent menu, when mouseovered, show tooltips with the full URI of each file in the list. Also, files that are in the list but are missing or unaccessible are automatically hidden

When a flowed text is truncated (i.e. the frame is too small for the entire text), the frame is shown red, and the statusbar hint includes [truncated] . You need to resize the frame to see the truncated end of the text. Analogously, if the path of a text-on-path object is too short to display the entire text, the statusbar will report it as [truncated]

. You need to resize the frame to see the truncated end of the text. Analogously, if the path of a text-on-path object is too short to display the entire text, the statusbar will report it as Clicking the text alignment buttons (Left, Center, Right) on the Text tool's controls bar now does not let the text jump: it stays within the same bounding box as before, only changing the alignment

The position of text's baseline anchor (the small square) is now dependent of the alignment: for left-aligned text it is, as before, at the left end, for centered text in the middle, and for the right-aligned text it is at the right end of the text's first line (this is for horizontal text; for vertical, it is correspondingly at top, middle, or bottom of the first column). This allows snapping, aligning and distributing of text relative the side to which it's aligned

Snapping of gradient handles has been improved and now behaves similar to the snapping of all other handles and objects

When snapping to a bounding box, that bounding box will be shown for a moment (tied to the snap indicator)

If a new object is being created on the canvas with snapping enabled, then a snap indicator will also be shown for the first point

There are now options for Margins when resizing a document to a selection or the drawing in Document Properties

Preferences have been added to allow automatic grouping when setting a Clippath or Mask

Bitmap copies created using the Make a Bitmap Copy command (Alt+B) are now embedded. Previously they were saved in an automatically generated file and linked

The file preview size limit (in the File > Open and File > Import dialog box) is now 10 MB (1.3 MB in 0.47)

Blur, transformation, and layer visibility and opacity support in XAML export

Added preference in Filters section of Preferences for multi-threaded gaussian blur.

Extended input device configuration

The stock Input Devices dialog has been replaced with a completely redone version that provides a more useful representation of settings. It also contains a simple area for testing different inputs of different devices.

Additionally hardware setup itself has been separated from general settings to allow for easier dynamic switching of settings appropriate to the task at hand.

User interface

Adaptive UI

Initial implementation of adaptive user interface has been introduced. This has internal work done to collect system and runtime information on the user and allow for decisions on how best to assist the user in working. The visible control is a menu to pick from different arrangements, including one optimized for wide-screen computers such as netbooks. Currently the system will detect the screen layout and set the appropriate default. Other minor internals are also run by this.

Custom Swatches

Custom swatches can be created and used on a per-document basis. An "Auto" color palette will track swatches in the current document and allow them to be set and used. The use is "live" with changes to the swatch being applied automatically to all objects set to it. The swatches can also be gradients and not just simple colors.

This iteration has been implemented via single-stop gradients. This results in fully SVG 1.1 compliant files that remain editable.

CMYK and ICC support

Support for using icc-color has been extended to more areas of the UI, including the use in gradient stops. This helps preserve custom colors, including CMYK.

Icon Dialog

The icon preview dialog has gone through a round of refinement. The newer functionality has been set to the most common defaults, but some behavior can be modified via preference settings.

Auto Refresh. The icon preview dialog will now auto-refresh as the document is edited.

Holding initial selection. When the "Selection" checkbox is enabled, the currently selected item selected will be remembered and tracked. Inkscape will use this item's bounding box as an area to be included in the Icon Preview dialog. To change the preview to track a new selection, uncheck and recheck the "Selection" checkbox.

Layout refinements. The icon previews have been updated, including the addition of visual frames and defaulting to a more compact arrangement.

Preferences

You can change the following attributes in group id="iconpreview" in your preferences.xml file:

autoRefresh (default 1) to enable (1) or disable (0) automatic refresh of preview.

(default 1) to enable (1) or disable (0) automatic refresh of preview. pack (default 1) to arrange preview thumbnails in a more compact manner (1) to to force the previous vertical stacking (0)

(default 1) to arrange preview thumbnails in a more compact manner (1) to to force the previous vertical stacking (0) selectionHold (default 1) to keep preview locked to the initial selection (1) or switch to each newly selected item (0)

(default 1) to keep preview locked to the initial selection (1) or switch to each newly selected item (0) showFrames (default 1) to paint outlines around thumbnails (1) or to suppress them (0)

Glyphs Dialog

A basic glyph selection dialog has been added. This allows for viewing which Unicode codepoints are represented in a given font, and to allow individual glyphs to be selected and included. Characters can be selected and inserted via copy and paste or inserted directly using the append button in the dialog. Text will be appended to the currently selected text object on the active canvas.

The range of glyphs/characters being viewed can be filtered by Unicode range and/or language 'script'. When an individual glyph is selected, the dialog status area shows the glyph's Unicode value and script name.

There is a known limitation where the list of glyphs in the dialog are not yet rendered in the selected font, but still in the system font (this mainly is an issue for fonts non-standard characters). When a font with a large character repertoire is selected for viewing, such as a CJK font set to show 'all', the display may pause momentarily as previews are generated.

New cursors in Selector

Selector tool has a new mouse cursor (arrow with an open hand) for when your mouse is over a selectable object, and another (arrow with clinched hand) for when you're dragging an object. This improves precision of selection and UI consistency (previously, the mouse cursor over a selectable object was different across platforms, e.g. hand icon on Linux or four-way arrow on Windows).

Translations

New Farsi (fa) and Telugu (te_IN) translations (in progress).

Tutorials

SVG files are now optimized with Scour (filesize reduced by 40%).

Bitstream Vera fonts replaced with generic sans and serif fonts (solves many font substitution issues).

New Interpolate tutorial (Help > Tutorials > Inkscape: Interpolate).

New translations in Belarussian, Dutch, Farsi and Indonesian.

Windows port improvements

The quality of the Windows port was improved substantially.

Command line interface

Command line functionality on Windows is now on par with Unix.

Single executable

It's no longer needed to compile Inkscape with special flags or use third-party wrapper executables to see the command line output. Just type "inkscape" (without any extension) in the command prompt. This is made possible by a command-line wrapper named inkscape.com .

Relative paths

You can now specify relative paths to files in options like --export-png . Commands like this will now execute correctly:

C:\svg> inkscape tiger.svgz --export-png=tiger.png

Stability improvements

Thanks to library updates, Inkscape should no longer randomly crash when editing documents. Most of them were caused by a GDI resource leak in Pango. It will also no longer crash when trying to import a corrupted image.

Unicode compatibility

Inkscape will now work correctly regardless of installation path. Previously, it was unusable when installed into a directory that contains characters not representable in the system codepage (icons were not shown in the UI, and no language files were found).

Notable bug fixes

The 3D tool no longer inserts an inkscape:perspective element into SVG when it is not needed (i.e. when the document has no 3D box objects).

Wrong clippaths and masks with cyclic recursion (i.e. clippaths or masks that refer to themselves via other clippaths or masks) no longer crash Inkscape.

Default unit setting for the XY grid is now respected when creating a new grid.

Pasting Live Path Effect stacks now works. It adds the stack of the copied object to the end of the LPE stack (if present) of the object it is pasted to.

The accuracy of the bounding box calculation has been significantly improved when converting objects to patterns or markers. This should make it much easier to create patterns where the tiles should 'connect' to each other, e.g. a tile with a plus sign to create a hatched pattern.

The default font has been changed to Sans , eliminating problems when the former default font, Bitstream Vera Sans , is not available. ( Sans is a Pango pseudo-font.)

, eliminating problems when the former default font, , is not available. ( is a Pango pseudo-font.) The Text toolbar bold and italic/oblique buttons are more likely to work as expected.

Bitmaps with transparency are now shown (and exported) correctly.

The emergency save function no longer mangles the file names (which used to make it fail quite often).

Known issues

Floating Toolbars

Floating toolbars had been found to present problems on a few window managers. By default floating has been turned off in response on MS Windows and the default KDE window manager. To re-enable, the preferences.xml file has an options group called workarounds with a setting called floatallowed . Setting this to "1" will re-enable floating on these problematic systems. Valid values are "0" and "1" .